IDA Disassemblies Gallery

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