Function at 0x100320b0
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x2c8
push ebx
mov ebx, dword [esp + 0x2d4]
push ebp
mov ebp, dword [esp + 0x2d4]
mov dword [ebx], 0
mov ecx, dword [0x107ab964]
push esi
push edi
mov eax, dword [ecx]
push 0
push 0x8002
push ebp
call dword [eax + 4]
mov esi, eax
cmp esi, 0xffffffff
je 0x100323e1
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x20]
test eax, eax
mov dword [esp + 0x14], eax
jg 0x10032119
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c8
ret
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x50]
lea edx, [esp + 0x50]
rep stosd dword es:[edi], eax
xor ecx, ecx
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], ecx
push edx
mov dword [esp + 0x24], ecx
push eax
mov byte [esp + 0x2c], cl
mov ecx, dword [0x107ab964]
push esi
push ecx
call fcn.10010a00
add esp, 0x10
test eax, eax
je 0x100323d5
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add eax, ecx
test eax, eax
jle 0x100323d5
mov edi, dword [esp + 0x14]
cmp eax, edi
jg 0x100323d5
add eax, 0x400
cmp edi, eax
jg 0x100321aa
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
mov eax, dword [0x107ab964]
push ebx
push ebp
push eax
call fcn.1002bac0
add esp, 0xc
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x2c8
ret
mov ecx, dword [0x107ab964]
push esi
push ecx
call fcn.100100f0
add esp, 8
test eax, eax
jle 0x10032529
cmp eax, edi
jg 0x10032529
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x278]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
mov eax, dword [0x107ab964]
push edx
push esi
push eax
call fcn.1000fc50
add esp, 0xc
test eax, eax
je 0x100323d5
mov edx, dword [esp + 0x288]
mov ebx, dword [esp + 0x14]
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x78]
push eax
mov eax, dword [0x107ab964]
push ecx
push 0x30
push edx
push ebx
push esi
push eax
call fcn.10025360
add esp, 0x1c
test eax, eax
je 0x100323d5
cmp dword [esp + 0x10], 0x30
jne 0x100323d5
cmp dword [esp + 0x78], 0x83ec8b55
jne 0x10032529
cmp byte [esp + 0x7c], 0xc4
jne 0x10032529
cmp byte [esp + 0x7e], 0xb8
jne 0x10032529
mov cl, byte [esp + 0x83]
mov al, 0xe8
cmp cl, al
jne 0x10032529
cmp word [esp + 0x88], 0x1b0
jne 0x10032529
cmp byte [esp + 0x8a], al
jne 0x10032529
cmp byte [esp + 0x8f], al
jne 0x10032529
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x10032529
mov edx, dword [0x107ab964]
lea ecx, [esp + 0x28]
push ecx
push 1
push esi
push edx
call fcn.10010f80
add esp, 0x10
test eax, eax
jne 0x100322e3
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c8
ret
mov eax, dword [esp + 0x38]
cmp eax, 0x200
jb 0x100323d5
cmp eax, 0x400
ja 0x100323d5
mov ecx, dword [esp + 0x4c]
and ecx, 0xc0000040
cmp ecx, 0xc0000040
jne 0x100323d5
lea edx, [esp + 0x28]
push 0x10265018
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x100323d5
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x8b]
lea edi, [esp + 0x78]
lea edx, [ecx + eax + 0x17]
mov ecx, 0x80
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x78]
push eax
push ecx
push 0x60
push edx
mov edx, dword [0x107ab964]
push ebx
push esi
push edx
call fcn.10025360
add esp, 0x1c
test eax, eax
je 0x10032529
cmp dword [esp + 0x10], 0x60
jne 0x10032529
mov ebp, dword [esp + 0x294]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
xor eax, eax
cmp byte [esp + eax + 0x78], 0xa1
jne 0x100323cf
cmp byte [esp + eax + 0x7d], 0x8b
jne 0x100323cf
cmp byte [esp + eax + 0x80], 0x89
jne 0x100323cf
mov cl, byte [esp + eax + 0x7e]
test cl, 7
jne 0x100323cf
mov bl, byte [esp + eax + 0x81]
xor bl, cl
test bl, 0x38
jne 0x100323cf
mov ecx, dword [esp + eax + 0x79]
sub ecx, ebp
cmp ecx, edi
jb 0x100323cf
lea ebx, [edx + edi]
cmp ecx, ebx
jb 0x100323ee
inc eax
cmp eax, 0x50
jl 0x1003238f
mov ecx, dword [0x107ab964]
mov edx, dword [ecx]
push esi
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c8
ret
mov edx, dword [esp + eax + 0x79]
mov cl, byte [esp + eax + 0x7f]
sub edx, ebp
mov byte [esp + 0x18], cl
je 0x100323d5
cmp eax, 0x50
jge 0x100323d5
mov ebp, dword [esp + 0x14]
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x78]
push eax
mov ebx, 4
push ecx
push ebx
push edx
mov edx, dword [0x107ab964]
push ebp
push esi
push edx
call fcn.10025360
add esp, 0x1c
test eax, eax
je 0x10032529
cmp dword [esp + 0x10], ebx
jne 0x10032529
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x294]
and eax, 0xff
add edx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], edx
sub edx, edi
cmp edx, eax
jae 0x1003247c
mov ecx, dword [esp + 0x30]
lea eax, [ecx + eax - 4]
cmp edx, eax
jae 0x100323d5
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x78]
push eax
push ecx
push ebx
push edx
mov edx, dword [0x107ab964]
push ebp
push esi
push edx
call fcn.10025360
add esp, 0x1c
test eax, eax
je 0x100323d5
cmp dword [esp + 0x10], ebx
jne 0x100323d5
mov eax, dword [esp + 0x78]
test eax, eax
mov ebx, eax
jle 0x10032529
cmp eax, ebp
jge 0x10032529
mov ecx, dword [0x107ab964]
push 0
push eax
push esi
mov edx, dword [ecx]
call dword [edx + 8]
cmp eax, ebx
je 0x100324f2
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c8
ret
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x78]
push 0x200
rep stosd dword es:[edi], eax
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x7c]
push eax
push esi
mov edx, dword [ecx]
call dword [edx + 0xc]
cmp eax, 0x200
jne 0x100323d5
cmp word [esp + 0x78], 0x5a4d
je 0x10032542
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c8
ret
mov eax, dword [esp + 0xb4]
test eax, eax
jl 0x100323d5
cmp eax, 0x1fc
ja 0x100323d5
cmp dword [esp + eax + 0x78], 0x4550
jne 0x100323d5
mov eax, dword [0x107ab964]
push ebx
push esi
push eax
call fcn.10029b90
mov ecx, dword [0x107ab964]
add esp, 0xc
test eax, eax
je 0x100323db
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2c8
ret