Function at 0x458208
Capabilities:
Parse pe header

Disassembly:
push 0x184
push 0x57ccd0
call fcn.00518dd0
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x164], ebx
push ebx
push ebx
push 3
push ebx
push 1
push 0x80000000
push eax
call dword [0x52b160]
mov edi, eax
cmp edi, 0xffffffff
je 0x458365
push ebx
lea eax, [ebp - 0x160]
push eax
push 0x40
lea eax, [ebp - 0x158]
push eax
push edi
mov esi, dword [0x52b1c0]
call esi
test eax, eax
je 0x45835e
cmp dword [ebp - 0x160], 0x40
jne 0x45835e
mov eax, 0x5a4d
cmp word [ebp - 0x158], ax
jne 0x45835e
push ebx
push ebx
push dword [ebp - 0x11c]
push edi
call dword [0x52b1cc]
cmp eax, dword [ebp - 0x11c]
jne 0x45835e
push ebx
lea eax, [ebp - 0x160]
push eax
push 0xf8
lea eax, [ebp - 0x118]
push eax
push edi
call esi
test eax, eax
je 0x45835e
cmp dword [ebp - 0x160], 0xf8
jne 0x45835e
cmp dword [ebp - 0x118], 0x4550
jne 0x45835e
cmp word [ebp - 0x112], bx
je 0x45835e
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x16c], ecx
cmp eax, ebx
je 0x45835e
push ebx
push edi
call dword [0x52b1bc]
mov dword [ebp - 0x160], eax
push 4
push 0x1000
push eax
push ebx
call dword [0x52b3e4]
mov dword [ebp - 0x15c], eax
cmp eax, ebx
je 0x45835e
push ebx
push ebx
push ebx
push edi
call dword [0x52b1cc]
push ebx
lea eax, [ebp - 0x160]
push eax
push dword [ebp - 0x160]
push dword [ebp - 0x15c]
push edi
call esi
test eax, eax
jne 0x45836d
push 0x8000
push ebx
push dword [ebp - 0x15c]
call dword [0x52b21c]
push edi
call dword [0x52b17c]
xor eax, eax
call fcn.00518e18
ret
push edi
call dword [0x52b17c]
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x15c]
lea edi, [esi + eax]
push dword [ebp - 0x170]
mov ecx, edi
call fcn.00458196
pop ecx
add eax, esi
lea edx, [eax + 0x10]
movzx ecx, word [eax + 0xe]
movzx esi, word [eax + 0xc]
add ecx, esi
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], edx
mov esi, ecx
dec ecx
mov dword [ebp - 0x178], ecx
test esi, esi
je 0x4584a8
test dword [edx], 0x80000000
jne 0x4584b9
cmp word [edx], 0xa
jne 0x4584b9
mov ecx, dword [edx + 4]
and ecx, 0x7fffffff
lea esi, [ecx + eax + 0x10]
movzx edx, word [ecx + eax + 0xe]
movzx ecx, word [ecx + eax + 0xc]
add edx, ecx
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x168], esi
mov ecx, edx
dec edx
mov dword [ebp - 0x17c], edx
test ecx, ecx
je 0x4584a8
mov ecx, 0x360
cmp word [esi], cx
jne 0x4584b1
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x45842f
and ecx, 0x7fffffff
mov esi, dword [ecx + eax + 0x14]
add esi, eax
jmp 0x458432
lea esi, [ecx + eax]
mov dword [edi + 0x58], ebx
mov dword [edi + 0x98], ebx
mov dword [edi + 0x9c], ebx
mov dword [ebp - 0x194], 0x18
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x190], eax
push dword [ebp - 0x170]
mov ecx, edi
call fcn.00458196
pop ecx
mov dword [ebp - 0x18c], eax
mov eax, 0x53a410
mov dword [ebp - 0x188], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x180], eax
push dword [esi]
mov ecx, edi
call fcn.00458196
pop ecx
add eax, dword [ebp - 0x15c]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x194]
push eax
call fcn.004584f6
pop ecx
mov dword [ebp - 0x164], eax
mov dword [ebp - 4], 0xfffffffe
jmp 0x4584d1
add esi, 8
jmp 0x4583f5
add edx, 8
jmp 0x4583a9
cmp dword [ebp - 0x15c], ebx
je 0x4584eb
push 0x8000
push ebx
push dword [ebp - 0x15c]
call dword [0x52b21c]
mov eax, dword [ebp - 0x164]
jmp 0x458367