Function at 0x10040260
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x19064
call fcn.102244a0
push ebx
push ebp
push esi
mov ebx, dword [esp + 0x19074]
push edi
mov edi, dword [esp + 0x1907c]
push 0
push 0x8002
mov dword [edi], 0
mov ecx, dword [0x107ab964]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x10], ebp
je 0x10040805
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x20]
mov esi, eax
test esi, esi
jle 0x100407f9
mov ecx, dword [0x107ab964]
push 0x40b074
push ebp
push ecx
call fcn.100100a0
add esp, 0xc
test eax, eax
jle 0x100407f9
cmp esi, eax
jl 0x100407f9
lea edx, [esp + 0x14]
push 1
lea ecx, [esp + 0x78]
push edx
mov edx, dword [0x107ab964]
push ecx
push 0x1000
push 2
push eax
push esi
push ebp
push edx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10040469
cmp dword [esp + 0x14], 2
jne 0x10040469
mov eax, dword [esp + 0x74]
and eax, 0xffff
cmp eax, 0xea20
jne 0x100407f9
mov ecx, dword [0x107ab964]
push 0x40b08c
push ebp
push ecx
call fcn.100100a0
add esp, 0xc
test eax, eax
jle 0x100407f9
cmp esi, eax
jl 0x100407f9
lea edx, [esp + 0x14]
push 1
lea ecx, [esp + 0x78]
push edx
mov edx, dword [0x107ab964]
push ecx
push 0x1000
push 2
push eax
push esi
push ebp
push edx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10040469
cmp dword [esp + 0x14], 2
jne 0x10040469
mov eax, dword [esp + 0x74]
and eax, 0xffff
cmp eax, 0x4a6d
jne 0x100407f9
cmp esi, 0x1348d
jl 0x100407f9
jne 0x100403d7
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
mov eax, dword [0x107ab964]
push edi
push ebx
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, 0x19064
ret
mov ecx, dword [0x107ab964]
push 0x1348d
push esi
push ebp
push ecx
call fcn.1002b090
mov ecx, dword [0x107ab964]
add esp, 0x10
test eax, eax
jne 0x1004040a
mov edx, dword [ecx]
push ebp
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret
mov eax, dword [ecx]
push ebp
call dword [eax + 0x20]
xor ebx, ebx
mov dword [esp + 0x3c], eax
cmp eax, ebx
jg 0x10040433
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x4c]
lea edx, [esp + 0x40]
rep stosd dword es:[edi], eax
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x44], eax
push ecx
mov byte [esp + 0x4c], al
mov eax, dword [0x107ab964]
push edx
push ebp
push eax
call fcn.10010ab0
add esp, 0x10
test eax, eax
jne 0x10040482
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edi, eax
mov byte [esp + 0x1c], 0x55
lea esi, [ecx + eax]
mov byte [esp + 0x1d], 0x8b
cmp eax, esi
mov dword [esp + 0x24], esi
mov byte [esp + 0x1e], 0xec
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
jge 0x100406d7
jmp 0x100404bc
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x28], 0x50
jge 0x100406d7
cmp dword [esp + 0x18], 0x400
jge 0x100406d7
lea edx, [edi + 0x1000]
cmp edx, esi
jle 0x100405ba
sub esi, edi
cmp esi, 0x1000
ja 0x10040469
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x14]
push 1
lea ecx, [esp + 0x78]
push eax
mov eax, dword [0x107ab964]
push ecx
push 0x1000
push esi
push edi
push edx
push ebp
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x100407f9
cmp dword [esp + 0x14], esi
jne 0x100407f9
push 0
lea ecx, [esp + 0x1078]
push 0x400
push ecx
lea edx, [esp + 0x80]
push 0x1000
push edx
call fcn.10024c10
mov ecx, eax
add esp, 0x14
test ecx, ecx
mov dword [esp + 0x30], ecx
jle 0x100407f9
xor esi, esi
test ecx, ecx
mov dword [esp + 0x2c], esi
jle 0x100406a2
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x18], 0x400
jge 0x100406a2
test esi, esi
jne 0x10040612
mov edx, dword [esp + 0x1074]
cmp edx, 2
jl 0x1004068d
xor ecx, ecx
dec edx
test edx, edx
jle 0x1004068d
cmp ecx, eax
jge 0x1004068d
cmp word [esp + ecx + 0x74], 0xffff
je 0x100405c4
inc ecx
cmp ecx, edx
jl 0x1004059f
jmp 0x1004068d
mov esi, 0x1000
jmp 0x100404f1
lea eax, [ecx + edi]
mov ecx, dword [esp + 0x60]
add eax, ebx
cmp eax, ecx
jl 0x100407f9
cmp eax, dword [esp + 0x24]
jg 0x100407f9
mov edx, dword [0x107ab964]
push 3
lea ecx, [esp + 0x20]
push 3
push ecx
push eax
push ebp
push edx
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x10040469
mov eax, dword [esp + 0x18]
inc eax
add ebx, 3
mov dword [esp + 0x18], eax
jmp 0x10040757
lea ecx, [esi + esi*2]
shl ecx, 5
mov edi, dword [esp + ecx + 0x101c]
mov edx, dword [esp + ecx + 0x1014]
lea ebp, [esp + ecx + 0x1074]
lea ecx, [esp + ecx + 0x101c]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp]
sub ecx, edi
sub ecx, edx
cmp ecx, 2
jl 0x1004079d
lea esi, [edx + ecx]
add esi, ebx
cmp esi, eax
jg 0x100407a6
xor esi, esi
dec ecx
test ecx, ecx
mov dword [esp + 0x38], ecx
jle 0x10040685
cmp esi, eax
jge 0x10040685
lea ecx, [edi + edx]
add ecx, esi
add ecx, ebx
cmp ecx, eax
jg 0x100407a6
cmp word [esp + ecx + 0x74], 0xffff
je 0x100406f3
mov ecx, dword [esp + 0x38]
inc esi
cmp esi, ecx
jl 0x10040660
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
inc esi
cmp esi, ecx
mov dword [esp + 0x2c], esi
jl 0x1004056e
lea eax, [ecx + ecx*2]
shl eax, 5
mov ecx, dword [esp + eax + 0x101c]
mov edx, dword [esp + eax + 0x1014]
mov eax, dword [esp + 0x24]
add ecx, edx
add ecx, ebx
xor ebx, ebx
add edi, ecx
mov ecx, dword [esp + 0x28]
inc ecx
cmp edi, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ecx
jl 0x100404b8
mov ecx, dword [0x107ab964]
push ebp
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x19064
ret
mov ecx, dword [esp + 0x60]
lea eax, [edi + edx]
mov edi, dword [esp + 0x20]
add eax, esi
add eax, edi
add eax, ebx
cmp eax, ecx
jl 0x100407dc
cmp eax, dword [esp + 0x24]
jg 0x100407dc
mov edi, dword [esp + 0x10]
push 3
lea edx, [esp + 0x20]
push 3
push edx
push eax
mov eax, dword [0x107ab964]
push edi
push eax
call fcn.10029d90
add esp, 0x18
test eax, eax
je 0x100407c3
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
inc eax
mov edx, dword [ecx]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x60]
add edx, esi
add edx, eax
mov ebp, edi
lea ebx, [ebx + edx + 3]
mov eax, dword [esp + 0x14]
cmp ebx, eax
jg 0x100407f9
push 0
lea ecx, [esp + 0x1078]
push 0x400
sub eax, ebx
push ecx
lea edx, [esp + ebx + 0x80]
push eax
push edx
call fcn.10024c10
add esp, 0x14
mov dword [esp + 0x30], eax
test eax, eax
jle 0x10040469
mov eax, dword [esp + 0x14]
or esi, 0xffffffff
jmp 0x1004068d
mov ebp, dword [esp + 0x10]
jmp 0x1004068d
mov ecx, dword [0x107ab964]
mov eax, dword [esp + 0x10]
push eax
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret
mov ecx, dword [0x107ab964]
push edi
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret
mov ecx, dword [0x107ab964]
mov edx, dword [esp + 0x10]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret
mov ecx, dword [0x107ab964]
push ebp
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x19064
ret