## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# 80×86 Architecture: Windows Portable Executable Format

Assembler code

    .text:00401236
    .text:00401236 ; =============== S U B R O U T I N E =======================================
    .text:00401236
    .text:00401236 ; Attributes: bp-based frame
    .text:00401236
    .text:00401236 ; void __cdecl sub_401236()
    .text:00401236 sub_401236      proc near               ; DATA XREF: start+DB↑o
    .text:00401236
    .text:00401236 var_1C          = dword ptr -1Ch
    .text:00401236 ms_exc          = CPPEH_RECORD ptr -18h
    .text:00401236
    .text:00401236 ; __unwind { // __SEH_prolog
    .text:00401236                 push    0Ch
    .text:00401238                 push    offset stru_402078
    .text:0040123D                 call    __SEH_prolog
    .text:00401242                 mov     [ebp+var_1C], offset unk_4020E0
    .text:00401249
    .text:00401249 loc_401249:                             ; CODE XREF: sub_401236+3C↓j
    .text:00401249                 cmp     [ebp+var_1C], offset unk_4020E0
    .text:00401250                 jnb     short loc_401274
    .text:00401252 ;   __try { // __except at loc_401267
    .text:00401252                 and     [ebp+ms_exc.registration.TryLevel], 0
    .text:00401256                 mov     eax, [ebp+var_1C]
    .text:00401259                 mov     eax, [eax]
    .text:0040125B                 test    eax, eax
    .text:0040125D                 jz      short loc_40126A
    .text:0040125F                 call    eax
    .text:00401261                 jmp     short loc_40126A
    .text:00401263 ; ---------------------------------------------------------------------------
    .text:00401263
    .text:00401263 loc_401263:                             ; DATA XREF: .rdata:stru_402078↓o
    .text:00401263 ;   __except filter // owned by 401252
    .text:00401263                 xor     eax, eax
    .text:00401265                 inc     eax
    .text:00401266                 retn