Function at 0x1002f980
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100b6140
push 0x10058390
mov eax, dword fs:[0]
push eax
sub esp, 0xbbc
mov eax, dword [0x100c3074]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, edx
mov edi, ecx
xor bl, bl
mov byte [ebp - 0xbad], bl
push 0x208
push 0
lea eax, [ebp - 0x364]
push eax
call fcn.100592d0
add esp, 0xc
mov dword [ebp - 4], 0
push 0x206
lea eax, [ebp - 0x364]
push eax
push esi
call dword [0x1009321c]
test eax, eax
je 0x1002fca1
mov eax, 0x5a4d
cmp ax, word [esi]
je 0x1002fa15
mov dword [ebp - 4], 0xfffffffe
xor al, al
mov ebx, dword [esi + 0x3c]
add ebx, esi
cmp dword [ebx], 0x4550
jne 0x1002fa07
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea eax, [ebp - 0x364]
push eax
call dword [0x10093234]
mov esi, eax
mov byte [ebp - 0x15c], 0
mov dword [ebp - 0x24], 0
cmp esi, 0xffffffff
je 0x1002fa99
push 0
push esi
call dword [0x10093238]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xbc8]
push eax
push 0
push 0
push esi
call dword [0x1009323c]
test eax, eax
je 0x1002fa92
push dword [ebp - 0xbc4]
push dword [ebp - 0xbc8]
lea ecx, [ebp - 0x15c]
call fcn.1002f900
add esp, 8
push esi
call dword [0x10093088]
push dword [ebp + 8]
push 0x100a8118
push edi
call fcn.1002f8a0
add esp, 0xc
lea eax, [ebp - 0x364]
push eax
push 0x100a8124
push edi
call fcn.1002f8a0
add esp, 0xc
push dword [ebx + 0x50]
push dword [ebx + 0x34]
push 0x100a812c
push edi
call fcn.1002f8a0
push dword [ebx + 8]
push dword [ebx + 0x58]
push 0x100a8158
push edi
call fcn.1002f8a0
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x24]
push 0x100a8184
push edi
call fcn.1002f8a0
push 0x100a81a8
push edi
call fcn.1002f8a0
add esp, 0x38
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0xbac]
call fcn.1002f530
push 0xc7
push 0
lea eax, [ebp - 0xf4]
push eax
call fcn.100592d0
add esp, 0xc
push 0xc6
lea eax, [ebp - 0x97c]
push eax
lea eax, [ebp - 0xf4]
push eax
mov esi, dword [0x10093220]
call esi
lea eax, [ebp - 0xf4]
push eax
push 0x100a81c0
push edi
call fcn.1002f8a0
add esp, 0xc
push 0xc7
push 0
lea eax, [ebp - 0xf4]
push eax
call fcn.100592d0
add esp, 0xc
push 0xc6
lea eax, [ebp - 0x774]
push eax
lea eax, [ebp - 0xf4]
push eax
call esi
lea eax, [ebp - 0xf4]
push eax
push 0x100a81d4
push edi
call fcn.1002f8a0
add esp, 0xc
push 0xc7
push 0
lea eax, [ebp - 0xf4]
push eax
call fcn.100592d0
add esp, 0xc
push 0xc6
lea eax, [ebp - 0x56c]
push eax
lea eax, [ebp - 0xf4]
push eax
call esi
lea eax, [ebp - 0xf4]
push eax
push 0x100a81e8
push edi
call fcn.1002f8a0
add esp, 0xc
lea edx, [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0xbb8], ecx
mov dword [ebp - 0xbb4], edx
cmp ecx, 4
jge 0x1002fc03
mov ax, word [ebp + ecx*2 - 0xba4]
mov word [edx], ax
add edx, 2
inc ecx
jmp 0x1002fbe1
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x26]
push eax
movzx eax, word [ebp - 0x28]
push eax
push 0x100a81fc
push edi
call fcn.1002f8a0
add esp, 0x18
lea edx, [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0xbc0], ecx
mov dword [ebp - 0xbbc], edx
cmp ecx, 4
jge 0x1002fc4c
mov ax, word [ebp + ecx*2 - 0xb9c]
mov word [edx], ax
add edx, 2
inc ecx
jmp 0x1002fc2a
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x26]
push eax
movzx eax, word [ebp - 0x28]
push eax
push 0x100a821c
push edi
call fcn.1002f8a0
add esp, 0x18
mov eax, dword [ebp - 0xbac]
test eax, eax
je 0x1002fc81
push eax
call fcn.100568ab
add esp, 4
mov dword [ebp - 0xbac], 0
push 0x100a823c
push edi
call fcn.1002f8a0
add esp, 8
mov bl, 1
mov byte [ebp - 0xbad], bl
mov dword [ebp - 4], 0xfffffffe
jmp 0x1002fcc0
mov al, bl