Function at 0x10177bde
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2c0
mov eax, dword [0x10285008]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0x14]
mov esi, ecx
mov dword [ebp - 0x2a4], ebx
mov dword [ebp - 0x2a8], edi
mov dword [ebp - 0x2b4], 0x454c
call fcn.100d4da1
test edi, edi
je 0x10177c23
xor edi, edi
xor ebx, ebx
jmp 0x10177c31
test ebx, ebx
je 0x10177f69
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x29c]
mov ecx, dword [ebp - 0x2a4]
push 0x40
push eax
push ebx
push edi
call fcn.10167790
test eax, eax
je 0x10177f69
mov eax, 0x5a4d
cmp word [ebp - 0x29c], ax
jne 0x10177c6e
mov eax, dword [ebp - 0x260]
cdq
add edi, eax
adc ebx, edx
mov edx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x2b4]
mov ecx, dword [ebp - 0x2a4]
push 4
push eax
push ebx
push edi
call fcn.10167790
test eax, eax
je 0x10177f69
cmp dword [ebp - 0x2b4], 0x4550
mov edx, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
je 0x10177d05
push 0x4c
lea eax, [ebp - 0x5c]
push eax
push ebx
push edi
call fcn.10167790
test eax, eax
je 0x10177f69
mov eax, 0x107
cmp word [ebp - 0x48], ax
jne 0x10177f69
mov eax, dword [ebp - 0x58]
movzx edi, word [ebp - 0x5c]
or dword [esi], 0xc2
mov ecx, edi
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x20], eax
call fcn.10170065
cmp eax, 0xb
je 0x10177f69
or dword [esi], 0x20
mov dword [esi + 0x18], edi
jmp 0x10177f69
push 0xf8
lea eax, [ebp - 0x154]
push eax
push ebx
push edi
call fcn.10167790
test eax, eax
je 0x10177f69
and dword [ebp - 0x2a0], 0
xor eax, eax
mov dword [ebp - 0x2ac], eax
mov eax, 0x20b
cmp word [ebp - 0x13c], ax
jne 0x10177e11
mov edx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x25c]
mov ecx, dword [ebp - 0x2a4]
push 0x108
push eax
push ebx
push edi
call fcn.10167790
test eax, eax
je 0x10177f69
mov eax, dword [ebp - 0x204]
add edi, 0x108
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x254]
adc ebx, 0
cmp dword [ebp - 0x1d8], 0xe
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x20c]
mov dword [esi + 0xc], eax
movzx eax, word [ebp - 0x218]
mov dword [esi + 0x10], eax
movzx eax, word [ebp - 0x216]
mov dword [esi + 0x14], eax
movzx eax, word [ebp - 0x258]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x240]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x23c]
mov dword [esi + 0x20], eax
jbe 0x10177de0
xor eax, eax
inc eax
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x164]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x160]
mov dword [esi + 0x28], eax
cmp dword [ebp - 0x1d8], 6
movzx eax, word [ebp - 0x256]
mov dword [ebp - 0x2b0], eax
jbe 0x10177ebb
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x1a0]
jmp 0x10177eab
mov eax, dword [ebp - 0xfc]
add edi, 0xf8
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x14c]
adc ebx, 0
cmp dword [ebp - 0xe0], 0xe
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x104]
mov dword [esi + 0xc], eax
movzx eax, word [ebp - 0x110]
mov dword [esi + 0x10], eax
movzx eax, word [ebp - 0x10e]
mov dword [esi + 0x14], eax
movzx eax, word [ebp - 0x150]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x138]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x134]
mov dword [esi + 0x20], eax
jbe 0x10177e83
xor eax, eax
inc eax
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x68]
mov dword [esi + 0x28], eax
cmp dword [ebp - 0xe0], 6
movzx eax, word [ebp - 0x14e]
mov dword [ebp - 0x2b0], eax
jbe 0x10177ebb
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2a0], 1
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [esi + 0x18]
neg eax
sbb eax, eax
and eax, 0x100
or eax, 0xdf
or dword [esi], eax
call fcn.10170065
cmp eax, 0xb
je 0x10177ee3
or dword [esi], 0x20
jmp 0x10177ee7
and dword [esi + 0x18], 0
test dword [ebp + 0x18], 0x200
je 0x10177f69
cmp dword [ebp - 0x2a0], 0
je 0x10177f69
imul eax, dword [ebp - 0x2b0], 0x28
push eax
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [ebp - 0x2a0], eax
pop ecx
test eax, eax
je 0x10177f69
push dword [ebp - 0x2ac]
push eax
push ebx
mov ebx, dword [ebp - 0x2a4]
mov ecx, ebx
push edi
mov edi, dword [ebp - 0x2a8]
mov edx, edi
call fcn.10167790
test eax, eax
je 0x10177f5c
lea eax, [ebp - 0x2bc]
mov ecx, esi
push eax
push dword [ebp - 0x2a0]
push dword [ebp - 0x2b0]
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.10177f83
push dword [ebp - 0x2a0]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10236010
mov esp, ebp
pop ebp
ret 0x14