Function at 0x31eb888
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x31eb890
push ecx
push ebx
push esi
xor eax, eax
push ebp
push 0x31ebcb9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x31fbccc]
push dword [eax]
mov eax, dword [0x31fbbc4]
push dword [eax]
call fcn.031a66d4
lea edx, [ebp - 0xc]
call fcn.031e78a4
push dword [ebp - 0xc]
lea eax, [ebp - 8]
mov edx, 3
call fcn.031a3858
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.031a7e34
mov eax, dword [ebp - 4]
call fcn.031a395c
push eax
push 0
push 0
call fcn.031a664c
call fcn.031a670c
cmp eax, 0xb7
jne 0x31eb906
or eax, 0xffffffff
call fcn.031e10a4
jmp 0x31eb8fc
push 0x31fc930
call fcn.031a6784
mov eax, 0x31fc928
xor edx, edx
call fcn.031a3acc
call fcn.031e6b20
mov edx, eax
cmp word [edx], 0x5a4d
jne 0x31eb964
mov ecx, eax
mov ebx, ecx
add ebx, dword [edx + 0x3c]
mov edx, ebx
cmp dword [edx], 0x4550
jne 0x31eb964
mov ebx, dword [edx + 0x50]
add ebx, ecx
mov esi, ebx
add esi, 4
mov edx, dword [ebx]
mov eax, 0x31fc928
call fcn.031a3acc
mov eax, 0x31fc928
call fcn.031a3968
mov ecx, dword [ebx]
mov edx, esi
call fcn.031a6a00
push 0x31fc904
lea ecx, [ebp - 0x10]
mov edx, 0x31ebcd0
mov eax, 0x31ebcdc
call fcn.031e681c
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov edx, 0x31ebcf4
mov eax, 0x31ebd00
call fcn.031e681c
mov eax, dword [ebp - 0x14]
mov ecx, 0x31eaed0
pop edx
call fcn.031a6d8c
push 0x31fc908
lea ecx, [ebp - 0x18]
mov edx, 0x31ebd18
mov eax, 0x31ebd24
call fcn.031e681c
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
mov edx, 0x31ebcf4
mov eax, 0x31ebd00
call fcn.031e681c
mov eax, dword [ebp - 0x1c]
mov ecx, 0x31eafa0
pop edx
call fcn.031a6d8c
push 0x31fc900
lea ecx, [ebp - 0x20]
mov edx, 0x31ebd3c
mov eax, 0x31ebd48
call fcn.031e681c
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0x24]
mov edx, 0x31ebcf4
mov eax, 0x31ebd00
call fcn.031e681c
mov eax, dword [ebp - 0x24]
mov ecx, 0x31eb2c4
pop edx
call fcn.031a6d8c
push 0x31fc8f0
lea ecx, [ebp - 0x28]
mov edx, 0x31ebd58
mov eax, 0x31ebd64
call fcn.031e681c
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2c]
mov edx, 0x31ebd7c
mov eax, 0x31ebd88
call fcn.031e681c
mov eax, dword [ebp - 0x2c]
mov ecx, 0x31eb044
pop edx
call fcn.031a6d8c
push 0x31fc8f4
lea ecx, [ebp - 0x30]
mov edx, 0x31ebd9c
mov eax, 0x31ebda8
call fcn.031e681c
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x34]
mov edx, 0x31ebd7c
mov eax, 0x31ebd88
call fcn.031e681c
mov eax, dword [ebp - 0x34]
mov ecx, 0x31eb104
pop edx
call fcn.031a6d8c
push 0x31fc8f8
lea ecx, [ebp - 0x38]
mov edx, 0x31ebdc0
mov eax, 0x31ebdcc
call fcn.031e681c
mov eax, dword [ebp - 0x38]
push eax
lea ecx, [ebp - 0x3c]
mov edx, 0x31ebd7c
mov eax, 0x31ebd88
call fcn.031e681c
mov eax, dword [ebp - 0x3c]
mov ecx, 0x31eb198
pop edx
call fcn.031a6d8c
push 0x31fc8fc
lea ecx, [ebp - 0x40]
mov edx, 0x31ebde4
mov eax, 0x31ebdf0
call fcn.031e681c
mov eax, dword [ebp - 0x40]
push eax
lea ecx, [ebp - 0x44]
mov edx, 0x31ebd7c
mov eax, 0x31ebd88
call fcn.031e681c
mov eax, dword [ebp - 0x44]
mov ecx, 0x31eb244
pop edx
call fcn.031a6d8c
push 0x31fc924
lea ecx, [ebp - 0x48]
mov edx, 0x31ebe08
mov eax, 0x31ebe14
call fcn.031e681c
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0x4c]
mov edx, 0x31ebe2c
mov eax, 0x31ebe38
call fcn.031e681c
mov eax, dword [ebp - 0x4c]
mov ecx, 0x31eb3ac
pop edx
call fcn.031a6d8c
push 0x31fc90c
lea ecx, [ebp - 0x50]
mov edx, 0x31ebe4c
mov eax, 0x31ebe58
call fcn.031e681c
mov eax, dword [ebp - 0x50]
push eax
lea ecx, [ebp - 0x54]
mov edx, 0x31ebe78
mov eax, 0x31ebe84
call fcn.031e681c
mov eax, dword [ebp - 0x54]
mov ecx, 0x31eaa6c
pop edx
call fcn.031a6d8c
push 0x31fc910
lea ecx, [ebp - 0x58]
mov edx, 0x31ebe9c
mov eax, 0x31ebea8
call fcn.031e681c
mov eax, dword [ebp - 0x58]
push eax
lea ecx, [ebp - 0x5c]
mov edx, 0x31ebe78
mov eax, 0x31ebe84
call fcn.031e681c
mov eax, dword [ebp - 0x5c]
mov ecx, 0x31eab40
pop edx
call fcn.031a6d8c
push 0x31fc918
lea ecx, [ebp - 0x60]
mov edx, 0x31ebec8
mov eax, 0x31ebed4
call fcn.031e681c
mov eax, dword [ebp - 0x60]
push eax
lea ecx, [ebp - 0x64]
mov edx, 0x31ebe78
mov eax, 0x31ebe84
call fcn.031e681c
mov eax, dword [ebp - 0x64]
mov ecx, 0x31eac90
pop edx
call fcn.031a6d8c
push 0x31fc914
lea ecx, [ebp - 0x68]
mov edx, 0x31ebef4
mov eax, 0x31ebf00
call fcn.031e681c
mov eax, dword [ebp - 0x68]
push eax
lea ecx, [ebp - 0x6c]
mov edx, 0x31ebe78
mov eax, 0x31ebe84
call fcn.031e681c
mov eax, dword [ebp - 0x6c]
mov ecx, 0x31eabe8
pop edx
call fcn.031a6d8c
push 0x31fc920
lea ecx, [ebp - 0x70]
mov edx, 0x31ebf20
mov eax, 0x31ebf2c
call fcn.031e681c
mov eax, dword [ebp - 0x70]
push eax
lea ecx, [ebp - 0x74]
mov edx, 0x31ebe78
mov eax, 0x31ebe84
call fcn.031e681c
mov eax, dword [ebp - 0x74]
mov ecx, 0x31eae04
pop edx
call fcn.031a6d8c
push 0x31fc91c
lea ecx, [ebp - 0x78]
mov edx, 0x31ebf4c
mov eax, 0x31ebf58
call fcn.031e681c
mov eax, dword [ebp - 0x78]
push eax
lea ecx, [ebp - 0x7c]
mov edx, 0x31ebe78
mov eax, 0x31ebe84
call fcn.031e681c
mov eax, dword [ebp - 0x7c]
mov ecx, 0x31ead64
pop edx
call fcn.031a6d8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x31ebcc0
lea eax, [ebp - 0x7c]
mov edx, 0x1f
call fcn.031a359c
ret