Function at 0x402230
Capabilities:
Parse pe header

Disassembly:
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
cmp ax, 0x5a4d
je 0x401767
mov eax, 0
jmp 0x401dfd
mov edx, dword [ebp + 8]
jmp 0x401d86
test al, al
jne 0x402406
jmp 0x401afa
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x50]
jmp 0x40187a
mov dword [esp], eax
call fcn.004020f6
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
test eax, eax
jmp 0x401e66
mov dword [esp + 8], 0x2000
mov dword [esp + 4], eax
mov dword [esp], 0
jmp 0x401bdf
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x2000
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
jmp 0x402089
call fcn.00401d6b
mov eax, 0
jmp 0x401dfd
mov eax, 0
jmp 0x401dfd
jmp 0x40181a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4024d1
mov eax, dword [eax + 0x54]
lea eax, [edx + eax]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
jmp 0x40191e
mov dword [ebp - 0x20], eax
jmp 0x402176
mov dword [esp], eax
mov eax, dword [ebp - 0x10]
call eax
sub esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40259d
jmp 0x401db1
mov eax, dword [ebp - 0x28]
jmp 0x401834
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
jmp 0x401cd3
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x40218b
mov eax, 0
jmp 0x401dfd
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0040179d
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0040194e
jmp 0x401d2e
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x3c]
mov edx, eax
mov eax, dword [ebp - 0x20]
jmp 0x401932
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x50]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
jmp 0x40233c
test eax, eax
sete al
jmp 0x40180d
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x3c]
lea eax, [edx + eax]
jmp 0x4019a9
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x10], 1
mov eax, dword [ebp - 0x28]
jmp 0x401dfd
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x20]
mov dword [esp + 4], edx
jmp 0x402104
leave
ret
je 0x401cc6
mov eax, dword [ebp - 0x14]
jmp 0x401cb7
je 0x401dbb
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
jmp 0x402366
mov dword [esp], eax
jmp 0x4018bb
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
jmp 0x401a78
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], 0
jmp 0x401d02
mov ebp, esp
sub esp, 0x38
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
jmp 0x401751
sub esp, 0x10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x40218b
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x50]
mov dword [esp + 0xc], 4
jmp 0x401862
mov dword [esp], eax
call fcn.004015e8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x34]
neg eax
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jmp 0x401e58
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
cmp eax, 0x4550
je 0x4018ed
jmp 0x4018e3
call sub.KERNEL32.dll_GetProcessHeap
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.KERNEL32.dll_HeapAlloc
sub esp, 0xc
jmp 0x40231f
push ebp
jmp 0x40203c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
jmp 0x401fa1
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x54]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
jmp 0x401b68
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
lea eax, [edx + eax]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x40240c
jmp 0x401f12
nop
jmp 0x40259e
jmp 0x402442
nop
jmp 0x40259b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x3c]
add edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
jmp 0x401de1
jmp 0x40259e
nop
mov eax, dword [ebp - 0x28]
jmp 0x401ece