Function at 0x100048de
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov ebp, 0x1000
mov edi, ecx
push ebp
push ecx
call fcn.10003e51
push 0x40
xor ebx, ebx
pop eax
mov esi, eax
mov ecx, edi
sub esi, ebx
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.10003edf
test eax, eax
je 0x10004bca
push esi
push eax
lea eax, [edi + 0x214e]
add eax, ebx
push eax
call fcn.100065f3
add esp, 0xc
add ebx, esi
push 0x40
pop eax
cmp ebx, eax
jne 0x100048f8
mov eax, 0x5a4d
cmp ax, word [edi + 0x214e]
jne 0x10004bc6
xor ebx, ebx
mov esi, 0x90
mov ecx, edi
sub esi, ebx
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.10003edf
test eax, eax
je 0x10004bca
push esi
push eax
lea eax, [edi + 0x2190]
add eax, ebx
push eax
call fcn.100065f3
add ebx, esi
add esp, 0xc
cmp ebx, 0x90
jne 0x10004941
push 0
push dword [edi + 0x218a]
mov ecx, edi
call fcn.10004219
test al, al
jne 0x10004994
push 0xc
jmp 0x10004bcc
xor ebx, ebx
push 4
pop esi
sub esi, ebx
mov ecx, edi
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.10003edf
test eax, eax
je 0x10004bca
push esi
push eax
lea eax, [esp + 0x20]
add eax, ebx
push eax
call fcn.100065f3
add ebx, esi
add esp, 0xc
cmp ebx, 4
jne 0x10004996
cmp dword [esp + 0x18], 0x4550
jne 0x10004bc6
xor ebx, ebx
push 0x14
pop esi
sub esi, ebx
mov ecx, edi
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.10003edf
test eax, eax
je 0x10004bca
push esi
push eax
lea eax, [edi + 0x2220]
add eax, ebx
push eax
call fcn.100065f3
add ebx, esi
add esp, 0xc
cmp ebx, 0x14
jne 0x100049d8
push ebx
lea eax, [edi + 0x2220]
push eax
lea esi, [edi + 0x2234]
push esi
call fcn.100065f3
movzx eax, word [esi]
mov ecx, 0x14c
add esp, 0xc
cmp ax, cx
je 0x10004a3e
mov ecx, 0x8664
cmp ax, cx
jne 0x10004bc6
push 0x40
pop eax
cmp word [edi + 0x2236], ax
ja 0x10004bc6
movzx eax, word [edi + 0x2244]
test ax, ax
je 0x10004bc2
mov ecx, 0xf0
cmp ax, cx
jne 0x10004abc
xor ebx, ebx
mov esi, ecx
mov ecx, edi
sub esi, ebx
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.10003edf
test eax, eax
je 0x10004bca
push esi
push eax
lea eax, [edi + 0x2328]
add eax, ebx
push eax
call fcn.100065f3
add ebx, esi
mov ecx, 0xf0
add esp, 0xc
cmp ebx, ecx
jne 0x10004a6a
mov eax, 0x20b
cmp ax, word [edi + 0x2328]
jne 0x10004bc2
mov byte [edi + 0x214d], 1
jmp 0x10004b13
mov ecx, 0xe0
cmp ax, cx
jne 0x10004bc2
xor ebx, ebx
mov esi, ecx
mov ecx, edi
sub esi, ebx
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.10003edf
test eax, eax
je 0x10004bca
push esi
push eax
lea eax, [edi + 0x2248]
add eax, ebx
push eax
call fcn.100065f3
add ebx, esi
mov ecx, 0xe0
add esp, 0xc
cmp ebx, ecx
jne 0x10004acc
lea eax, [ecx + 0x2b]
cmp ax, word [edi + 0x2248]
jne 0x10004bc2
movzx ebx, word [edi + 0x2236]
imul ecx, ebx, 0x28
mov dword [esp + 0x20], ebx
call fcn.100064c6
and dword [esp + 0x14], 0
mov dword [edi + 0x2418], eax
test ebx, ebx
je 0x10004b89
xor ebx, ebx
mov eax, dword [edi + 0x2418]
add eax, ebx
xor esi, esi
mov dword [esp + 0x1c], eax
push 0x28
pop ebp
mov eax, 0x1000
sub ebp, esi
cmp ebp, eax
mov ecx, edi
cmovg ebp, eax
push ebp
call fcn.10003edf
test eax, eax
je 0x10004bca
push ebp
push eax
mov eax, dword [esp + 0x24]
add eax, esi
push eax
call fcn.100065f3
add esi, ebp
add esp, 0xc
cmp esi, 0x28
jne 0x10004b45
mov eax, dword [esp + 0x14]
add ebx, esi
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x20]
jl 0x10004b37
cmp byte [edi + 0x214d], 0
je 0x10004ba0
mov eax, dword [edi + 0x2340]
mov ecx, dword [edi + 0x2344]
jmp 0x10004ba8
mov eax, dword [edi + 0x2264]
xor ecx, ecx
push 0
mov dword [edi + 0x2138], eax
mov dword [edi + 0x213c], ecx
push ecx
mov ecx, edi
call fcn.10003e51
xor eax, eax
jmp 0x10004bcd
push 0x15
jmp 0x10004bcc
push 0x14
jmp 0x10004bcc
push 0xd
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret