Function at 0x1005e6e0
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x32c
mov ecx, dword [0x107ab964]
push ebx
mov ebx, dword [esp + 0x334]
push ebp
mov eax, dword [ecx]
push esi
push edi
push ebx
call dword [eax + 0x20]
mov esi, eax
test esi, esi
mov dword [esp + 0x20], esi
jle 0x1005ebe7
mov eax, dword [0x107ab964]
xor ecx, ecx
mov dword [esp + 0x38], ecx
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], ecx
push edx
mov dword [esp + 0x44], ecx
push ebx
mov dword [esp + 0x4c], ecx
push eax
mov dword [esp + 0x54], ecx
call fcn.1000fbb0
add esp, 0xc
test eax, eax
je 0x1005ebe7
mov eax, dword [esp + 0x3a]
mov edx, dword [0x107ab964]
and eax, 0xffff
lea ecx, [esp + 0xb4]
mov dword [esp + 0x30], eax
add eax, 0xfffffffe
push ecx
push eax
push ebx
push edx
call fcn.10010f80
add esp, 0x10
test eax, eax
je 0x1005ebe7
cmp dword [esp + 0xc4], 0xa00
jb 0x1005ebe7
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x10]
push 1
lea edx, [esp + 0x140]
push ecx
push edx
add eax, 0x900
push 0x200
push 0x200
mov dword [esp + 0x40], eax
push eax
mov eax, dword [0x107ab964]
push esi
push ebx
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005ebe7
cmp dword [esp + 0x10], 0x200
jne 0x1005ebe7
xor esi, esi
mov eax, dword [esp + esi + 0x13c]
cmp eax, 0x5a4d
je 0x1005ebe7
cmp eax, 0x4550
je 0x1005e7f3
inc esi
cmp esi, 0x108
jl 0x1005e7d1
cmp esi, 0x1fc
jge 0x1005ebe7
cmp esi, 0x108
jge 0x1005ebe7
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x74]
lea edx, [esp + 0x9c]
rep stosd dword es:[edi], eax
mov eax, dword [0x107ab964]
lea ecx, [esp + 0x74]
push ecx
push edx
push ebx
push eax
call fcn.10010ab0
add esp, 0x10
test eax, eax
je 0x1005ebe7
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x4c]
lea edx, [esp + 0xa8]
rep stosd dword es:[edi], eax
mov eax, dword [0x107ab964]
lea ecx, [esp + 0x4c]
push ecx
push edx
push ebx
push eax
call fcn.10010a00
mov ecx, dword [0x107ab964]
push ebx
push ecx
call fcn.1000fb70
mov edx, dword [esp + 0x44]
mov ecx, 0x18
add edx, esi
lea esi, [esp + esi + 0x16c]
lea edi, [esp + 0xf4]
mov ebp, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x104]
add esp, 0x18
cmp ecx, eax
mov dword [esp + 0x1c], ebp
ja 0x1005ebe7
cmp dword [esp + 0xf0], eax
jbe 0x1005e8bf
cmp dword [esp + 0xf4], eax
ja 0x1005ebe7
cmp dword [esp + 0x138], 0x10
jne 0x1005ebe7
mov eax, dword [0x107ab964]
push ebp
push 0xf8
push edx
push ebx
push eax
call fcn.1002b820
add esp, 0x14
test eax, eax
je 0x1005ebe7
mov eax, dword [esp + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x5c]
cmp eax, 0x1000
lea ebp, [ebp + ecx*8 + 0x58]
ja 0x1005e975
mov edi, 0x102310b4
lea esi, [esp + 0x4c]
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x1005e932
test al, al
je 0x1005e92e
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x1005e932
add esi, 2
add edi, 2
test al, al
jne 0x1005e90a
xor eax, eax
jmp 0x1005e937
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1005e975
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x20]
mov edx, dword [0x107ab964]
sub eax, ecx
push eax
push ecx
push ebx
push edx
call fcn.100014d0
mov eax, dword [0x107ab964]
push 0xa0
push ebp
push ebx
push eax
call fcn.100014d0
mov esi, dword [esp + 0x3c]
add esp, 0x20
jmp 0x1005ebbe
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push 1
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [0x107ab964]
push edx
push 4
lea eax, [esi + 0xa0]
push 4
push eax
push edi
push ebx
push ecx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005ebe7
cmp dword [esp + 0x10], 4
jne 0x1005ebe7
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x10]
push 1
lea eax, [esp + 0x1c]
push edx
push eax
push 4
add esi, 0xa4
push 4
push esi
push edi
push ebx
push ecx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005ebe7
cmp dword [esp + 0x10], 4
jne 0x1005ebe7
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x5c]
mov edx, edi
mov dword [esp + 0x34], eax
sub edx, eax
sub edx, esi
push edx
push eax
mov eax, dword [0x107ab964]
push ebx
push eax
call fcn.100014d0
mov ecx, dword [0x107ab964]
push 0x78
push ebp
push ebx
push ecx
call fcn.100014d0
mov edx, dword [0x107ab964]
lea esi, [ebp + 0x78]
push ebp
push 0x28
push esi
push ebx
push edx
call fcn.1002b820
add esp, 0x34
test eax, eax
je 0x1005ebe7
mov eax, dword [0x107ab964]
push 0x28
push esi
push ebx
push eax
call fcn.10001200
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [0x107ab964]
push edx
push eax
push ebx
push ecx
call fcn.1002b820
add esp, 0x24
test eax, eax
je 0x1005ebe7
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov ecx, dword [0x107ab964]
push edx
push eax
push ebx
push ecx
call fcn.10001200
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
add eax, edx
lea ecx, [esp + 0x20]
push 1
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [0x107ab964]
mov dword [esp + 0x2c], eax
push edx
push 4
lea eax, [esi + 0x38]
push 4
push eax
push edi
push ebx
push ecx
call fcn.100253e0
add esp, 0x34
test eax, eax
je 0x1005ebe7
cmp dword [esp + 0x10], 4
jne 0x1005ebe7
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1005ebe7
mov edi, dword [esp + 0x14]
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x1005eb05
mov eax, edi
cdq
idiv ecx
inc eax
imul eax, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [0x107ab964]
push 4
lea edx, [esp + 0x18]
push 4
lea eax, [esi + 0x50]
push edx
push eax
push ebx
push ecx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x1005ebe7
mov edx, dword [esp + 0x10]
mov ecx, dword [0x107ab964]
push edx
lea eax, [esp + 0x1c]
add ebp, 8
push 4
push eax
push ebp
push ebx
push ecx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x1005ebe7
mov edx, dword [esp + 0x10]
mov ecx, dword [0x107ab964]
push edx
lea eax, [esp + 0x28]
add ebp, 4
push 4
push eax
push ebp
push ebx
push ecx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x1005ebe7
mov edx, dword [esp + 0x10]
mov ecx, dword [0x107ab964]
push edx
lea eax, [esp + 0x1c]
add ebp, 4
push 4
push eax
push ebp
push ebx
push ecx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x1005ebe7
mov edx, dword [esp + 0x10]
mov ecx, dword [0x107ab964]
push edx
lea eax, [esp + 0x38]
push 4
add ebp, 4
push eax
push ebp
push ebx
push ecx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x1005ebe7
mov edx, dword [0x107ab964]
add esi, 0xd0
push 0x10
push esi
push ebx
push edx
call fcn.10001200
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x32c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x32c
ret