Function at 0x1009b910
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.10116350
mov esi, eax
test esi, esi
js 0x1009c00f
xor eax, eax
inc eax
cmp dword [ebp + 0x28], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x20], eax
je 0x1009ba2a
push ebp
push dword [esp + 0x2c]
call fcn.100a6361
mov ebp, dword [ebp + 0x28]
test eax, eax
je 0x1009b9d1
push 0
push 0x28
lea ecx, [esp + 0x68]
push ecx
push dword [eax + 0x28]
push ebx
call fcn.1003c5f0
mov esi, eax
test esi, esi
js 0x1009c00f
mov ecx, dword [esp + 0x80]
jmp 0x1009ba26
xor eax, eax
inc eax
cmp dword [ebp], eax
jne 0x1009ba1a
push 0
push 0x28
lea eax, [esp + 0x68]
push eax
push dword [ebp + 0x28]
push ebx
call fcn.1003c5f0
mov esi, eax
test esi, esi
js 0x1009c00f
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 0x1009ba2a
mov eax, dword [ebp + 4]
test eax, eax
je 0x1009ba2a
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 0x1009ba99
push eax
push 5
xor ecx, ecx
test ebp, ebp
pop eax
cmovne eax, ecx
push eax
push 0x64
call fcn.100963b5
push edx
push eax
push ebp
call fcn.100963b5
push edx
push eax
push ebx
call fcn.1008f43d
mov esi, eax
test esi, esi
js 0x1009c00d
push dword [esp + 0x20]
push edi
push dword [esp + 0x30]
call fcn.1009cb2e
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 0x1009baff
cmp dword [esp + 0xa0], 0
je 0x1009baff
cmp dword [esp + 0x14], 0
je 0x1009baff
mov eax, dword [esp + 0x34]
imul edx, dword [eax + 0x34], 0x14
mov ecx, dword [eax + 0x30]
add edx, ecx
jmp 0x1009bad1
mov eax, dword [ecx]
and eax, 0x1ff
cmp eax, 2
jne 0x1009baff
add ecx, 0x14
cmp ecx, edx
jb 0x1009bac2
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.1009b2ce
mov esi, eax
mov eax, dword [esp + 0x18]
jmp 0x1009c062
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 0x1009bbbb
mov edi, dword [esp + 0x40]
cmp dword [ecx], 4
jne 0x1009bba0
push 9
push 0x18
lea eax, [esp + 0x68]
push eax
push edi
push dword [esp + 0xa8]
push ebx
call fcn.1003c4a0
mov esi, eax
test esi, esi
js 0x1009bb98
test byte [esp + 0x74], 0x10
je 0x1009bb98
mov eax, dword [edi]
push 7
push dword [esp + 0x9c]
mov dword [esp + 0x38], eax
push ebx
call fcn.1003c9e0
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 0x1009bb4a
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
and dword [esp + 0x10], 0
test edx, edx
jne 0x1009bbcd
and dword [esp + 0x48], edx
jmp 0x1009bd76
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 0x1009bcd8
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.1018dfd3
mov esi, eax
test esi, esi
jns 0x1009bc78
cmp esi, 0xfffffbf7
je 0x1009bd58
cmp esi, 0xfffffc0d
je 0x1009bd58
cmp esi, 0xfffffc0a
je 0x1009bd58
cmp esi, 0xfffff8ec
je 0x1009bd58
cmp esi, 0xfffff8f0
je 0x1009bd58
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x1009bc92
cmp dword [esp + 0x2c], eax
jne 0x1009bc92
cmp esi, 0xfffff9bd
je 0x1009bdfb
test esi, esi
js 0x1009bfb7
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
cmp dword [ecx], eax
jne 0x1009bcbb
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x1c]
jle 0x1009bcbb
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 0x1009bbfa
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x1009bd10
test dword [edi + 0x80], 0x100
je 0x1009bea9
test byte [edi + 0x34], 8
jne 0x1009bea9
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0xa4]
push ebx
call fcn.1003cfb0
mov esi, eax
test esi, esi
jns 0x1009be95
cmp esi, 0xfffffbf7
je 0x1009bd58
cmp esi, 0xfffffc0d
je 0x1009bd58
cmp esi, 0xfffffc0a
je 0x1009bd58
cmp esi, 0xfffff8ec
je 0x1009bd58
cmp esi, 0xfffff8f0
jne 0x1009be6f
push dword [esp + 0x98]
lea eax, [esp + 0x4c]
push esi
push eax
push edi
push ebx
call fcn.1009c3a4
mov esi, eax
test esi, esi
js 0x1009bfe7
push 0
push dword [esp + 0x9c]
push ebx
call fcn.1003c9e0
mov esi, eax
test esi, esi
jns 0x1009bdb3
cmp esi, 0xfffffbf7
je 0x1009bd58
cmp esi, 0xfffffc0d
je 0x1009bd58
cmp esi, 0xfffffc0a
je 0x1009bd58
cmp esi, 0xfffff8ec
je 0x1009bd58
cmp esi, 0xfffff8f0
je 0x1009bd58
cmp esi, 0xfffffbb2
je 0x1009bea5
cmp esi, 0xfffffbad
je 0x1009bea5
cmp esi, 0xffffec76
je 0x1009bea5
cmp esi, 0xfffffc07
je 0x1009bea5
cmp esi, 0xfffff9b5
je 0x1009bea5
test esi, esi
jns 0x1009bbcd
mov eax, dword [esp + 0x24]
xor ebp, ebp
inc ebp
push 0xfffffffffffffffe
pop ecx
cmp ecx, dword [esp + 0x30]
je 0x1009c062
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x1009c062
test esi, esi
jns 0x1009be27
cmp esi, 0xfffff9bd
jne 0x1009c04f
push 0xb
push 0xc
lea eax, [esp + 0x68]
push eax
push 0
push dword [esp + 0xa8]
push ebx
call fcn.1003c4a0
test eax, eax
js 0x1009c031
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 0x1009c027
cmp ecx, eax
jle 0x1009c035
jmp 0x1009c02b
cmp esi, 0xfffff9bb
jne 0x1009be9c
push 3
push dword [esp + 0x9c]
push ebx
call fcn.1003c9e0
mov esi, eax
test esi, esi
js 0x1009bfe7
mov esi, 0xfffff9bb
and dword [esp + 0x18], 0
jmp 0x1009bea9
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
jmp 0x1009bea9
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x1009beb1
test esi, esi
jns 0x1009beca
push esi
push dword [esp + 0x14]
push edi
push dword [esp + 0x34]
call fcn.1009b1d6
mov esi, eax
test esi, esi
js 0x1009bfe7
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009bf2d
mov ebp, dword [esp + 0x2c]
inc ebp
mov dword [esp + 0x2c], ebp
cmp ebp, 0x32
jb 0x1009bf2d
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 0x1009bf00
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.100963b5
push edx
push eax
lea eax, [esi + ebp]
push eax
call fcn.100963b5
push edx
push eax
push ebx
call fcn.1008f43d
mov esi, eax
test esi, esi
js 0x1009bfe7
and dword [esp + 0x48], 0
xor ebp, ebp
push 0
inc ebp
push ebp
push dword [esp + 0xa4]
push ebx
call fcn.1003c7f0
mov edx, dword [esp + 0x18]
mov esi, eax
test esi, esi
jns 0x1009bbbb
cmp esi, 0xfffffbf7
je 0x1009bf7b
cmp esi, 0xfffffc0d
je 0x1009bf7b
cmp esi, 0xfffffc0a
je 0x1009bf7b
cmp esi, 0xfffff8ec
je 0x1009bf7b
cmp esi, 0xfffff8f0
jne 0x1009bfa6
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x50]
push eax
push edi
push ebx
call fcn.1009c3a4
mov esi, eax
test esi, esi
js 0x1009bfea
push 0
push ebp
push dword [esp + 0xa4]
push ebx
call fcn.1003c7f0
mov esi, eax
test esi, esi
js 0x1009bf53
test esi, esi
jns 0x1009bbb7
mov eax, dword [esp + 0x24]
jmp 0x1009bdfe
cmp esi, 0xfffffbe8
jne 0x1009bfe7
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.100377a0
xor ebp, ebp
inc ebp
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009bffc
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.10116350
mov eax, esi
mov ecx, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011720d
add esp, 0x7c
ret 0x1c
cmp ecx, eax
jge 0x1009c035
mov dword [esp + 0x1c], ecx
jmp 0x1009c035
inc dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push dword [esp + 0xa4]
push ebx
call fcn.1003c790
test eax, eax
cmovs esi, eax
push 6
push dword [esp + 0x9c]
push ebx
call fcn.1003c9e0
mov eax, dword [esp + 0x24]
cmp esi, 0xfffff9bd
jne 0x1009bfe7
mov ebp, dword [esp + 0x2c]
add ebp, eax
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009c0a1
push eax
push 6
push ebp
call fcn.100963b5
push edx
push eax
push ebp
call fcn.100963b5
push edx
push eax
push ebx
call fcn.1008f43d
mov esi, eax
test esi, esi
js 0x1009bfe7
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1009c0cf
push eax
push 2
push ebp
call fcn.100963b5
push edx
push eax
push 0
call fcn.100963b5
push edx
push eax
push ebx
call fcn.1008f43d
mov esi, eax
test esi, esi
js 0x1009bfe7
lea eax, [esp + 0x54]
mov dword [edi + 0xd4], ebp
push eax
push dword [esp + 0x50]
push dword [edi + 0x14]
call fcn.10116350
push edi
push dword [esp + 0x2c]
push ebx
call fcn.1009b287
jmp 0x1009c00f