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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
push ebx
push ebp
push esi
push edi
lea edi, [eax + 0x18]
mov dword [esp + 0x28], eax
mov ebp, dword [edi + 0x48]
xor ebx, ebx
push 0xfffffffffffffffe
mov eax, ebx
mov dword [esp + 0x3c], edi
pop ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x4c]
push eax
push dword [edi + 8]
mov dword [esp + 0x3c], ebp
push dword [edi + 0x14]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], Ordinal_2
mov dword [esp + 0x68], ebx
mov dword [esp + 0x58], ebx
call fcn.101161a0
mov esi, eax
test esi, esi
js 0x1009be0f
xor eax, eax
inc eax
cmp dword [ebp + 0x28], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x20], eax
je 0x1009b82a
push ebp
push dword [esp + 0x2c]
call fcn.100a6161
mov ebp, dword [ebp + 0x28]
test eax, eax
je 0x1009b7d1
push 0
push 0x28
lea ecx, [esp + 0x68]
push ecx
push dword [eax + 0x28]
push ebx
call fcn.1003c530
mov esi, eax
test esi, esi
js 0x1009be0f
mov ecx, dword [esp + 0x80]
jmp 0x1009b826
xor eax, eax
inc eax
cmp dword [ebp], eax
jne 0x1009b81a
push 0
push 0x28
lea eax, [esp + 0x68]
push eax
push dword [ebp + 0x28]
push ebx
call fcn.1003c530
mov esi, eax
test esi, esi
js 0x1009be0f
test dword [ebp + 0xa0], 0x800
mov eax, dword [esp + 0x14]
push 1
pop ecx
cmovne eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
jmp 0x1009b82a
mov eax, dword [ebp + 4]
test eax, eax
je 0x1009b82a
imul ecx, eax, 3
shr ecx, 1
mov dword [esp + 0x20], ecx
mov eax, dword [edi + 0xc0]
mov ebp, dword [esp + 0xa8]
test eax, eax
je 0x1009b899
push eax
push 5
xor ecx, ecx
test ebp, ebp
pop eax
cmovne eax, ecx
push eax
push 0x64
call fcn.100961b5
push edx
push eax
push ebp
call fcn.100961b5
push edx
push eax
push ebx
call fcn.1008f23d
mov esi, eax
test esi, esi
js 0x1009be0d
push dword [esp + 0x20]
push edi
push dword [esp + 0x30]
call fcn.1009c92e
and dword [esp + 0x2c], 0
xor eax, eax
mov dword [esp + 0x24], eax
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
imul eax, ebp
push 0x64
pop ecx
sub ecx, ebp
div ecx
mov dword [esp + 0x58], eax
cmp dword [edi + 0x8c], 2
jne 0x1009b8ff
cmp dword [esp + 0xa0], 0
je 0x1009b8ff
cmp dword [esp + 0x14], 0
je 0x1009b8ff
mov eax, dword [esp + 0x34]
imul edx, dword [eax + 0x34], 0x14
mov ecx, dword [eax + 0x30]
add edx, ecx
jmp 0x1009b8d1
mov eax, dword [ecx]
and eax, 0x1ff
cmp eax, 2
jne 0x1009b8ff
add ecx, 0x14
cmp ecx, edx
jb 0x1009b8c2
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x28]
push ebp
push dword [esp + 0xa8]
push dword [esp + 0x3c]
push ebx
call fcn.1009b0ce
mov esi, eax
mov eax, dword [esp + 0x18]
jmp 0x1009be62
mov eax, dword [esp + 0x34]
xor edx, edx
mov ecx, dword [edi + 0xa4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x34]
lea ebp, [ecx + eax*4]
mov eax, dword [edi + 0xa0]
mov dword [esp + 0x50], ebp
sub ebp, ecx
add ebp, 3
mov dword [esp + 0x40], eax
xor eax, eax
shr ebp, 2
and dword [esp + 0x3c], eax
cmp ecx, dword [esp + 0x50]
mov dword [esp + 0x14], eax
cmova ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x1009b9bb
mov edi, dword [esp + 0x40]
cmp dword [ecx], 4
jne 0x1009b9a0
push 9
push 0x18
lea eax, [esp + 0x68]
push eax
push edi
push dword [esp + 0xa8]
push ebx
call fcn.1003c3e0
mov esi, eax
test esi, esi
js 0x1009b998
test byte [esp + 0x74], 0x10
je 0x1009b998
mov eax, dword [edi]
push 7
push dword [esp + 0x9c]
mov dword [esp + 0x38], eax
push ebx
call fcn.1003c920
test eax, eax
mov eax, dword [esp + 0x30]
push 0xfffffffffffffffe
pop ecx
cmovs eax, ecx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ecx, 4
add edi, 4
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp eax, ebp
jb 0x1009b94a
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
and dword [esp + 0x10], 0
test edx, edx
jne 0x1009b9cd
and dword [esp + 0x48], edx
jmp 0x1009bb76
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0xa0]
mov edx, dword [edi + 0xa8]
and dword [esp + 0x14], 0
mov eax, dword [eax + 0x30]
mov ebp, dword [edi + 0xac]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0xa4]
jmp 0x1009bad8
push dword [esp + 0xa4]
lea esi, [esp + 0x58]
push 4
push esi
push dword [ecx]
push dword [esp + 0xa8]
push dword [esp + 0x28]
push dword [esp + 0xb4]
push dword [ebp]
push dword [edx]
push dword [eax]
lea eax, [esp + 0x38]
push dword [esp + 0x6c]
push dword [esp + 0x54]
push eax
push ebx
call fcn.1009a3fe
mov esi, eax
test esi, esi
jns 0x1009ba78
cmp esi, 0xfffffbf7
je 0x1009bb58
cmp esi, 0xfffffc0d
je 0x1009bb58
cmp esi, 0xfffffc0a
je 0x1009bb58
cmp esi, 0xfffff8ec
je 0x1009bb58
cmp esi, 0xfffff8f0
je 0x1009bb58
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x1009ba92
cmp dword [esp + 0x2c], eax
jne 0x1009ba92
cmp esi, 0xfffff9bd
je 0x1009bbfb
test esi, esi
js 0x1009bdb7
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
cmp dword [ecx], eax
jne 0x1009babb
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x1c]
jle 0x1009babb
mov dword [esp + 0x1c], eax
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
add ecx, 4
mov edx, dword [esp + 0x3c]
add eax, 4
add dword [esp + 0x44], 0x14
add edx, 4
inc dword [esp + 0x14]
add ebp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
cmp eax, dword [esp + 0x50]
jb 0x1009b9fa
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x1009bb10
test dword [edi + 0x80], 0x100
je 0x1009bca9
test byte [edi + 0x34], 8
jne 0x1009bca9
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0xa4]
push ebx
call fcn.1003cef0
mov esi, eax
test esi, esi
jns 0x1009bc95
cmp esi, 0xfffffbf7
je 0x1009bb58
cmp esi, 0xfffffc0d
je 0x1009bb58
cmp esi, 0xfffffc0a
je 0x1009bb58
cmp esi, 0xfffff8ec
je 0x1009bb58
cmp esi, 0xfffff8f0
jne 0x1009bc6f
push dword [esp + 0x98]
lea eax, [esp + 0x4c]
push esi
push eax
push edi
push ebx
call fcn.1009c1a4
mov esi, eax
test esi, esi
js 0x1009bde7
push 0
push dword [esp + 0x9c]
push ebx
call fcn.1003c920
mov esi, eax
test esi, esi
jns 0x1009bbb3
cmp esi, 0xfffffbf7
je 0x1009bb58
cmp esi, 0xfffffc0d
je 0x1009bb58
cmp esi, 0xfffffc0a
je 0x1009bb58
cmp esi, 0xfffff8ec
je 0x1009bb58
cmp esi, 0xfffff8f0
je 0x1009bb58
cmp esi, 0xfffffbb2
je 0x1009bca5
cmp esi, 0xfffffbad
je 0x1009bca5
cmp esi, 0xffffec76
je 0x1009bca5
cmp esi, 0xfffffc07
je 0x1009bca5
cmp esi, 0xfffff9b5
je 0x1009bca5
test esi, esi
jns 0x1009b9cd
mov eax, dword [esp + 0x24]
xor ebp, ebp
inc ebp
push 0xfffffffffffffffe
pop ecx
cmp ecx, dword [esp + 0x30]
je 0x1009be62
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x1009be62
test esi, esi
jns 0x1009bc27
cmp esi, 0xfffff9bd
jne 0x1009be4f
push 0xb
push 0xc
lea eax, [esp + 0x68]
push eax
push 0
push dword [esp + 0xa8]
push ebx
call fcn.1003c3e0
test eax, eax
js 0x1009be31
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x68]
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
jl 0x1009be27
cmp ecx, eax
jle 0x1009be35
jmp 0x1009be2b
cmp esi, 0xfffff9bb
jne 0x1009bc9c
push 3
push dword [esp + 0x9c]
push ebx
call fcn.1003c920
mov esi, eax
test esi, esi
js 0x1009bde7
mov esi, 0xfffff9bb
and dword [esp + 0x18], 0
jmp 0x1009bca9
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
jmp 0x1009bca9
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x1009bcb1
test esi, esi
jns 0x1009bcca
push esi
push dword [esp + 0x14]
push edi
push dword [esp + 0x34]
call fcn.1009afd6
mov esi, eax
test esi, esi
js 0x1009bde7
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009bd2d
mov ebp, dword [esp + 0x2c]
inc ebp
mov dword [esp + 0x2c], ebp
cmp ebp, 0x32
jb 0x1009bd2d
mov esi, dword [esp + 0x24]
and dword [esp + 0x2c], 0
add esi, ebp
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], esi
cmp esi, ecx
jbe 0x1009bd00
add ecx, 0x64
mov dword [esp + 0x20], ecx
mov ebp, dword [esp + 0x58]
push eax
push 0
lea eax, [ecx + ebp]
push eax
call fcn.100961b5
push edx
push eax
lea eax, [esi + ebp]
push eax
call fcn.100961b5
push edx
push eax
push ebx
call fcn.1008f23d
mov esi, eax
test esi, esi
js 0x1009bde7
and dword [esp + 0x48], 0
xor ebp, ebp
push 0
inc ebp
push ebp
push dword [esp + 0xa4]
push ebx
call fcn.1003c730
mov edx, dword [esp + 0x18]
mov esi, eax
test esi, esi
jns 0x1009b9bb
cmp esi, 0xfffffbf7
je 0x1009bd7b
cmp esi, 0xfffffc0d
je 0x1009bd7b
cmp esi, 0xfffffc0a
je 0x1009bd7b
cmp esi, 0xfffff8ec
je 0x1009bd7b
cmp esi, 0xfffff8f0
jne 0x1009bda6
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x50]
push eax
push edi
push ebx
call fcn.1009c1a4
mov esi, eax
test esi, esi
js 0x1009bdea
push 0
push ebp
push dword [esp + 0xa4]
push ebx
call fcn.1003c730
mov esi, eax
test esi, esi
js 0x1009bd53
test esi, esi
jns 0x1009b9b7
mov eax, dword [esp + 0x24]
jmp 0x1009bbfe
cmp esi, 0xfffffbe8
jne 0x1009bde7
sub ebp, dword [edi + 0xac]
xor eax, eax
push eax
push eax
push eax
push 0xffffe062
push eax
push eax
mov eax, dword [esp + 0x4c]
sar ebp, 2
mov eax, dword [eax + 0x49c]
push dword [eax + ebp*4]
push ebx
call fcn.10037730
xor ebp, ebp
inc ebp
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009bdfc
push 0
push 3
push ebp
push ebx
call eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x50]
push dword [edi + 0x14]
call fcn.101161a0
mov eax, esi
mov ecx, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
add esp, 0x7c
ret 0x1c
cmp ecx, eax
jge 0x1009be35
mov dword [esp + 0x1c], ecx
jmp 0x1009be35
inc dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push dword [esp + 0xa4]
push ebx
call fcn.1003c6d0
test eax, eax
cmovs esi, eax
push 6
push dword [esp + 0x9c]
push ebx
call fcn.1003c920
mov eax, dword [esp + 0x24]
cmp esi, 0xfffff9bd
jne 0x1009bde7
mov ebp, dword [esp + 0x2c]
add ebp, eax
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009bea1
push eax
push 6
push ebp
call fcn.100961b5
push edx
push eax
push ebp
call fcn.100961b5
push edx
push eax
push ebx
call fcn.1008f23d
mov esi, eax
test esi, esi
js 0x1009bde7
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009becf
push eax
push 2
push ebp
call fcn.100961b5
push edx
push eax
push 0
call fcn.100961b5
push edx
push eax
push ebx
call fcn.1008f23d
mov esi, eax
test esi, esi
js 0x1009bde7
lea eax, [esp + 0x54]
mov dword [edi + 0xd4], ebp
push eax
push dword [esp + 0x50]
push dword [edi + 0x14]
call fcn.101161a0
push edi
push dword [esp + 0x2c]
push ebx
call fcn.1009b087
jmp 0x1009be0f