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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
xor ebx, ebx
push edi
xor ebp, ebp
mov dword [esp + 0x10], ebx
or edi, 0xffffffff
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x54], ebx
je 0x100016b9
push dword [esp + 0x54]
mov eax, dword [esi]
push esi
call dword [eax + 0x2ac]
push 8
mov ebx, eax
pop ecx
mul ecx
mov dword [esp + 0x10], ebx
cmovb eax, edi
push eax
call fcn.1000cf9b
mov ebp, eax
xor edi, edi
mov dword [esp + 0x18], ebp
pop ecx
test ebx, ebx
jle 0x100016b9
mov eax, dword [esi]
push edi
push dword [esp + 0x58]
push esi
call dword [eax + 0x2b4]
push eax
push esi
call fcn.1000a99e
pop ecx
pop ecx
push edi
push dword [esp + 0x5c]
mov dword [ebp + edi*8], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x2b4]
push eax
push esi
call fcn.1000a99e
mov dword [ebp + edi*8 + 4], eax
inc edi
pop ecx
pop ecx
cmp edi, ebx
jl 0x1000167e
and dword [esp + 0x54], 0
xor edi, edi
mov dword [esp + 0x58], edi
cmp dword [esp + 0x60], edi
je 0x10001728
push dword [esp + 0x60]
mov eax, dword [esi]
push esi
call dword [eax + 0x2ac]
push 4
pop ecx
mov dword [esp + 0x54], eax
mul ecx
push 0xffffffffffffffff
pop ecx
cmovb eax, ecx
push eax
call fcn.1000cf9b
pop ecx
mov dword [esp + 0x58], eax
cmp dword [esp + 0x54], edi
jle 0x10001724
mov ebp, dword [esp + 0x54]
mov ebx, eax
mov ecx, dword [esi]
push edi
push dword [esp + 0x64]
push esi
call dword [ecx + 0x2b4]
push eax
push esi
call fcn.1000a99e
mov dword [ebx + edi*4], eax
inc edi
pop ecx
pop ecx
cmp edi, ebp
jl 0x100016fd
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x64], 0
je 0x10001744
mov eax, dword [esi]
push 0
push dword [esp + 0x68]
push esi
call dword [eax + 0x2dc]
mov dword [esp + 0x60], eax
jmp 0x10001749
and dword [esp + 0x60], 0
push dword [esp + 0x34]
push esi
call fcn.1000a99e
push dword [esp + 0x40]
mov dword [esp + 0x28], eax
push esi
call fcn.1000a99e
push dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
push esi
call fcn.1000a99e
push dword [esp + 0x58]
mov dword [esp + 0x54], eax
push esi
call fcn.1000a99e
push dword [esp + 0x70]
mov dword [esp + 0x58], eax
push esi
call fcn.1000a99e
push dword [esp + 0x88]
cmp byte [esp + 0x78], 0
push edi
push dword [esp + 0x84]
setne cl
mov dword [esp + 0x70], eax
push dword [esp + 0x90]
push ebp
push ebx
push eax
movzx eax, cl
push eax
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x84]
push dword [esp + 0x8c]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x8c]
call fcn.10001341
mov ebx, eax
add esp, 0x64
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100017fb
push 2
push eax
call fcn.1000cf4a
pop ecx
pop ecx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1000180d
push 2
push eax
call fcn.1000cf4a
pop ecx
pop ecx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1000181f
push 2
push eax
call fcn.1000cf4a
pop ecx
pop ecx
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10001831
push 2
push eax
call fcn.1000cf4a
pop ecx
pop ecx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10001843
push 2
push eax
call fcn.1000cf4a
pop ecx
pop ecx
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1000185b
mov eax, dword [esi]
push 0
push ecx
push dword [esp + 0x6c]
push esi
call dword [eax + 0x2fc]
test edi, edi
je 0x10001897
xor edi, edi
cmp dword [esp + 0x54], edi
jle 0x10001888
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
push 2
push dword [esi + edi*4]
call fcn.1000cf4a
inc edi
pop ecx
pop ecx
cmp edi, ebp
jl 0x1000186f
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
push 4
pop eax
push eax
push dword [esp + 0x5c]
call fcn.1000cf4a
pop ecx
pop ecx
test ebp, ebp
je 0x100018d5
xor edi, edi
cmp dword [esp + 0x10], edi
jle 0x100018c9
mov esi, dword [esp + 0x10]
push 2
push dword [ebp + edi*8]
call fcn.1000cf4a
push 2
push dword [ebp + edi*8 + 4]
call fcn.1000cf4a
add esp, 0x10
inc edi
cmp edi, esi
jl 0x100018a7
mov esi, dword [esp + 0x24]
push 8
pop eax
push eax
push ebp
call fcn.1000cf4a
pop ecx
pop ecx
xor ebp, ebp
test ebx, ebx
je 0x10001996
mov eax, dword [esi]
push str.java_lang_String
push esi
call dword [eax + 0x18]
mov edi, eax
test edi, edi
je 0x10001990
mov ecx, dword [ebx]
lea eax, [esp + 0x54]
push eax
push ebx
call dword [ecx + 0x1c]
test eax, eax
js 0x10001990
mov eax, dword [esi]
push ebp
push edi
push dword [esp + 0x5c]
push esi
call dword [eax + 0x2b0]
xor edi, edi
mov ebp, eax
cmp dword [esp + 0x54], edi
jbe 0x10001990
mov ecx, dword [ebx]
lea eax, [esp + 0x60]
push eax
push edi
push ebx
call dword [ecx + 0x20]
test eax, eax
js 0x10001989
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x4c]
and dword [esp + 0x4c], 0
push edx
push 0x80058000
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
test eax, eax
js 0x1000197f
push dword [esp + 0x4c]
call fcn.10014ace
pop ecx
test eax, eax
jle 0x10001975
mov ecx, dword [esi]
push eax
push dword [esp + 0x50]
push esi
call dword [ecx + 0x28c]
mov ecx, dword [esi]
push eax
push edi
push ebp
push esi
call dword [ecx + 0x2b8]
push dword [esp + 0x4c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [esp + 0x60]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
inc edi
cmp edi, dword [esp + 0x54]
jb 0x10001920
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x10
ret 0x44