Function at 0x101037e0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x9c
push ebx
mov eax, edx
mov dword [esp + 0x14], eax
push ebp
mov ebp, ecx
cdq
xor eax, edx
mov dword [esp + 0x10], ebp
push esi
sub eax, edx
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x64]
movzx eax, ax
mov dword [ebp + 0x84], 0
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x30], ecx
push edi
test eax, eax
je 0x1010383f
push 0
push 0
push 0
push esi
call eax
add esp, 0x10
test eax, eax
je 0x1010383f
mov edi, 0x55
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
lea eax, [esp + 0x14]
mov dword [esi + 8], 0
push eax
mov edx, 0x10179458
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
lea edi, [eax + 2]
mov eax, 0x5a4d
cmp word [esp + 0x14], ax
jne 0x10103f40
movzx ebx, word [esp + 0x16]
mov ecx, esi
mov edx, ebx
call fcn.100cee20
mov edi, eax
test edi, edi
jne 0x10103fad
lea eax, [esp + 0x2c]
mov edx, 0x10179440
push eax
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
lea edi, [eax + 2]
mov ecx, 0x454e
mov ax, word [esp + 0x2c]
cmp ax, cx
jne 0x10103a96
movzx ebp, word [esp + 0x2e]
mov ecx, esi
lea edx, [ebx + ebp]
call fcn.100cee20
mov edi, eax
test edi, edi
jne 0x10103fad
movzx edx, word [esp + 0x30]
mov ecx, esi
sub edx, ebp
call fcn.100cebb0
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
jne 0x10103fad
mov ecx, esi
call fcn.100cead0
movzx eax, ax
mov dword [esp + 0x28], eax
cmp eax, 0x10
ja 0x10103efa
mov ebp, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
lea eax, [edx + 1]
xor ebx, ebx
cmp eax, ebp
jae 0x10103933
movzx ecx, byte [edx + 1]
add edx, 2
shl cx, 8
movzx eax, byte [edx - 2]
or cx, ax
movzx ebx, cx
mov dword [esi + 0x20], edx
test bx, bx
je 0x10103a7d
lea eax, [edx + 1]
xor ecx, ecx
cmp eax, ebp
jae 0x1010395d
movzx ecx, byte [edx + 1]
add edx, 2
shl cx, 8
movzx eax, byte [edx - 2]
or cx, ax
movzx ecx, cx
mov eax, 0x8008
mov dword [esi + 0x20], edx
cmp bx, ax
movzx eax, cx
je 0x1010397b
lea eax, [eax + eax*2]
lea edx, [edx + eax*4]
add edx, 4
mov dword [esi + 0x20], edx
jmp 0x10103915
mov ebx, dword [esi + 8]
mov ecx, esi
sub ebx, ebp
mov dword [esp + 0x24], eax
add ebx, 4
add ebx, edx
call fcn.100ceb70
mov eax, dword [esp + 0x24]
test ax, ax
je 0x10103efa
test ebx, ebx
je 0x10103efa
movzx edx, ax
imul eax, edx, 0x76
cmp eax, dword [esi + 4]
ja 0x10103efa
cmp dword [esp + 0x20], 0
mov ebp, dword [esp + 0x18]
mov dword [ebp], edx
jl 0x10103fad
cmp dword [esp + 0x1c], edx
jae 0x10103f2a
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x14]
push eax
mov edx, 0xac
call fcn.100ce340
mov edi, dword [esp + 0x18]
add esp, 4
mov dword [ebp + 0x84], eax
test edi, edi
jne 0x10103fad
mov eax, dword [esp + 0x1c]
mov ecx, esi
lea eax, [eax + eax*2]
lea edx, [ebx + eax*4]
call fcn.100cee20
mov edi, eax
test edi, edi
jne 0x10103f40
lea edx, [eax + 0xc]
mov ecx, esi
call fcn.100cebb0
mov edi, eax
test edi, edi
jne 0x10103f40
mov eax, dword [esp + 0x28]
mov ecx, esi
movzx edi, ax
call fcn.100cead0
movzx edx, ax
mov ecx, edi
mov eax, dword [ebp + 0x84]
shl edx, cl
mov ecx, esi
mov dword [eax], edx
call fcn.100cead0
movzx edx, ax
mov ecx, edi
mov eax, dword [ebp + 0x84]
shl edx, cl
mov ecx, esi
mov dword [eax + 0xa4], edx
add dword [esi + 0x20], 8
call fcn.100ceb70
mov ecx, dword [ebp + 0x84]
mov edx, esi
call fcn.10103fc0
mov edi, eax
jmp 0x10103ef3
mov ecx, esi
call fcn.100ceb70
mov edi, 3
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, 0x4550
cmp ax, cx
jne 0x10103ef3
mov edx, ebx
mov ecx, esi
call fcn.100cee20
mov edi, eax
test edi, edi
jne 0x10103fad
lea eax, [esp + 0x50]
mov edx, 0x1017949c
push eax
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
cmp dword [esp + 0x50], 0x4550
jne 0x10103efa
mov eax, 0x14c
cmp word [esp + 0x54], ax
jne 0x10103efa
mov eax, 0xe0
cmp word [esp + 0x58], ax
jne 0x10103efa
mov eax, 0x10b
cmp word [esp + 0x5a], ax
jne 0x10103efa
mov dword [ebp], edi
xor eax, eax
mov bp, word [esp + 0x56]
xor ebx, ebx
cmp ax, bp
jae 0x10103efa
nop dword [eax + eax]
lea eax, [esp + 0x64]
mov edx, 0x1017947c
push eax
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x5c], eax
je 0x10103b70
inc ebx
cmp bx, bp
jb 0x10103b30
mov edi, 3
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ebx, dword [esp + 0x74]
mov ecx, esi
mov edx, ebx
call fcn.100cee20
mov edi, eax
test edi, edi
jne 0x10103fad
lea eax, [esp + 0x78]
mov edx, 0x10179568
push eax
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
movzx ecx, word [esp + 0x86]
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0x84]
add eax, ecx
mov dword [esp + 0x2c], eax
je 0x10103eef
xor eax, eax
lea eax, [eax + 2]
lea edi, [ebx + eax*8]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10103be9
push 0
push 0
push edi
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x1010382d
jmp 0x10103bf2
cmp edi, dword [esi + 4]
ja 0x1010382d
lea eax, [esp + 0x40]
mov dword [esi + 8], edi
push eax
mov edx, 0x1017946c
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
mov eax, dword [esp + 0x44]
test eax, eax
jns 0x10103efa
and eax, 0x7fffffff
mov dword [esp + 0x44], eax
lea ebp, [eax + ebx]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x3c], ebp
test eax, eax
je 0x10103c49
push edi
push edi
push ebp
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x1010382d
jmp 0x10103c52
cmp ebp, dword [esi + 4]
ja 0x1010382d
lea eax, [esp + 0x88]
mov dword [esi + 8], ebp
push eax
mov edx, 0x10179568
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
movzx ecx, word [esp + 0x96]
mov dword [esp + 0x20], eax
movzx eax, word [esp + 0x94]
add eax, ecx
mov dword [esp + 0x38], eax
je 0x10103ed9
xor eax, eax
nop dword [eax + eax]
lea eax, [eax + 2]
lea edi, [eax*8]
mov eax, dword [esi + 0x14]
add edi, ebp
test eax, eax
je 0x10103cc8
push 0
push 0
push edi
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x1010382d
jmp 0x10103cd1
cmp edi, dword [esi + 4]
ja 0x1010382d
lea eax, [esp + 0x48]
mov dword [esi + 8], edi
push eax
mov edx, 0x1017946c
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jns 0x10103efa
mov eax, dword [esi + 0x14]
and ebp, 0x7fffffff
add ebx, ebp
mov dword [esp + 0x4c], ebp
test eax, eax
je 0x10103d24
push edi
push edi
push ebx
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x1010382d
jmp 0x10103d2d
cmp ebx, dword [esi + 4]
ja 0x1010382d
lea eax, [esp + 0x98]
mov dword [esi + 8], ebx
push eax
mov edx, 0x10179568
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
movzx ecx, word [esp + 0xa6]
xor ebx, ebx
movzx eax, word [esp + 0xa4]
add eax, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], eax
je 0x10103ebb
xor eax, eax
mov ecx, dword [esp + 0x74]
lea eax, [eax + 2]
add ecx, ebp
lea edi, [ecx + eax*8]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10103d9d
push 0
push 0
push edi
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x1010382d
jmp 0x10103da6
cmp edi, dword [esi + 4]
ja 0x1010382d
lea eax, [esp + 0x78]
mov dword [esi + 8], edi
push eax
mov edx, 0x1017946c
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
test ebp, ebp
js 0x10103efa
cmp dword [esp + 0x40], 8
jne 0x10103ea9
mov edi, dword [esp + 0x7c]
add edi, dword [esp + 0x74]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10103dfe
push 0
push 0
push edi
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x1010382d
jmp 0x10103e07
cmp edi, dword [esi + 4]
ja 0x1010382d
lea eax, [esp + 0x50]
mov dword [esi + 8], edi
push eax
mov edx, 0x1017958c
mov ecx, esi
call fcn.100ce5a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10103fad
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp]
jne 0x10103ea2
mov eax, dword [esp + 0x34]
push 0xac
push eax
mov eax, dword [eax + 4]
call eax
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10103f0c
push 0xa8
lea ecx, [ebx + 4]
push edi
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x5c]
add esp, 0xc
sub eax, dword [esp + 0x6c]
mov edx, esi
add eax, dword [esp + 0x74]
mov dword [ebp + 0x84], ebx
mov dword [ebx], eax
mov ecx, dword [ebp + 0x84]
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa4], eax
mov ecx, dword [ebp + 0x84]
call fcn.10103fc0
mov edi, eax
test edi, edi
jne 0x10103f40
mov ebx, dword [esp + 0x14]
inc dword [ebp]
mov ebp, dword [esp + 0x4c]
inc ebx
movzx eax, bx
mov dword [esp + 0x14], ebx
cmp eax, dword [esp + 0x28]
jb 0x10103d75
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x74]
inc edx
mov ebp, dword [esp + 0x3c]
movzx eax, dx
mov dword [esp + 0x20], edx
cmp eax, dword [esp + 0x38]
jb 0x10103ca0
mov edx, dword [esp + 0x24]
inc edx
movzx eax, dx
mov dword [esp + 0x24], edx
cmp eax, dword [esp + 0x2c]
jb 0x10103bc7
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp]
test eax, eax
jne 0x10103f24
mov edi, 3
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edi, 0x40
mov dword [ebp + 0x84], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
cmp dword [esp + 0x1c], eax
jl 0x10103f3c
mov edi, 6
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
test edi, edi
je 0x10103fad
mov esi, dword [ebp + 0x84]
mov ebx, dword [ebp + 0x64]
test esi, esi
je 0x10103fad
mov ecx, dword [esi + 0xa0]
test ecx, ecx
je 0x10103f7b
mov eax, dword [ebp + 0x68]
test eax, eax
je 0x10103f71
cmp dword [eax + 0x14], 0
je 0x10103f71
mov eax, dword [eax + 0x1c]
push ecx
push eax
mov eax, dword [eax + 8]
call eax
add esp, 8
mov dword [esi + 0xa0], 0
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x10103f8f
push eax
mov eax, dword [ebx + 8]
push ebx
call eax
add esp, 8
mov dword [esi + 0xa8], 0
mov eax, dword [ebx + 8]
push esi
push ebx
call eax
add esp, 8
mov dword [ebp + 0x84], 0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret