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

Disassembly:
sub esp, 0x58
mov eax, dword [0x100146f8]
push esi
xor esi, esi
mov dword [esp + 0x20], 1
cmp dword [eax + 0x22c], esi
je 0x1000b9c2
xor eax, eax
pop esi
add esp, 0x58
ret
push edi
mov edi, dword [eax + 0x1c]
inc edi
mov dword [eax + 0x1c], edi
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1c]
cmp ecx, 0x18
jge 0x1000b9f6
mov dword [eax + ecx*4 + 0x20], 0x1e
mov eax, dword [0x100146f8]
cmp dword [eax + 0x240], esi
je 0x1000b9f6
call fcn.10007080
mov eax, dword [0x100146f8]
mov eax, dword [eax + 0x1d8]
mov ecx, dword [esp + 0x64]
push ebx
push ebp
push eax
push ecx
call fcn.10007e70
mov edx, dword [0x100146f8]
mov ecx, dword [esp + 0x78]
mov eax, dword [edx + 0x1dc]
push eax
push ecx
call fcn.10007e70
mov edx, dword [0x100146f8]
mov eax, dword [edx + 0x1d8]
push eax
call fcn.10007c70
mov ecx, dword [0x100146f8]
mov dword [esp + 0x48], eax
mov edx, dword [ecx + 0x1d8]
push edx
push 1
call fcn.10007c90
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1dc]
push ecx
push 1
call fcn.10007c90
mov edx, dword [0x100146f8]
mov eax, dword [edx + 0x1e0]
push eax
push 1
call fcn.10007210
mov ecx, dword [0x100146f8]
mov edx, dword [ecx + 0x1e4]
push edx
call fcn.100071e0
mov eax, dword [0x100146f8]
xor edi, edi
mov dword [esp + 0x60], esi
xor ebp, ebp
mov ecx, dword [eax + 0x1dc]
xor ebx, ebx
push ecx
mov dword [esp + 0x4c], edi
call fcn.100080a0
add esp, 0x34
test eax, eax
je 0x1000c1d4
jmp 0x1000babf
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov eax, dword [0x100146f8]
test edi, edi
jne 0x1000bb74
mov edx, dword [eax + 0x1e8]
mov ecx, dword [eax + 0x1dc]
push edx
mov edx, dword [eax + 0x1d8]
push ecx
push edx
call fcn.1000a740
mov eax, dword [0x100146f8]
mov edx, dword [eax + 0x1dc]
mov ecx, dword [eax + 0x1d8]
mov dword [eax + 0x1d8], edx
mov eax, dword [0x100146f8]
mov dword [eax + 0x1dc], ecx
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1d4]
mov edx, dword [eax + 0x1e8]
mov eax, dword [eax + 0x1e4]
push ecx
push edx
push eax
call fcn.1000a1d0
mov ecx, dword [0x100146f8]
mov eax, dword [ecx + 0x1e0]
mov ecx, dword [ecx + 0x1d4]
push eax
push ecx
push eax
call fcn.10009990
mov eax, dword [0x100146f8]
add esp, 0x24
mov edx, dword [eax + 0x1e4]
mov ecx, dword [eax + 0x1e0]
mov dword [eax + 0x1e0], edx
mov eax, dword [0x100146f8]
mov dword [eax + 0x1e4], ecx
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x1000bce3
mov ecx, dword [eax + 0x1e8]
mov edx, dword [eax + 0x1d8]
push ecx
push ebx
push edx
call fcn.10008620
mov eax, dword [0x100146f8]
mov eax, dword [eax + 0x1d8]
push eax
push esi
push eax
call fcn.10008620
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1d4]
mov edx, dword [eax + 0x1dc]
push ecx
push edi
push edx
call fcn.10008620
mov eax, dword [0x100146f8]
mov eax, dword [eax + 0x1dc]
push eax
push ebp
push eax
call fcn.10008620
mov eax, dword [esp + 0x5c]
mov ecx, dword [0x100146f8]
add esp, 0x30
test eax, eax
mov eax, dword [ecx + 0x1d8]
push eax
jne 0x1000bc03
mov ecx, dword [ecx + 0x1d4]
push eax
push ecx
call fcn.10009880
mov ecx, dword [0x100146f8]
mov eax, dword [ecx + 0x1dc]
mov edx, dword [ecx + 0x1e8]
push eax
push eax
push edx
jmp 0x1000bc25
mov ecx, dword [ecx + 0x1d4]
push ecx
push eax
call fcn.10009880
mov ecx, dword [0x100146f8]
mov eax, dword [ecx + 0x1dc]
mov edx, dword [ecx + 0x1e8]
push eax
push edx
push eax
call fcn.10009880
mov eax, dword [0x100146f8]
add esp, 0x18
mov ecx, dword [eax + 0x1e8]
mov edx, dword [eax + 0x1e0]
push ecx
push ebx
push edx
call fcn.10008620
mov eax, dword [0x100146f8]
mov eax, dword [eax + 0x1e0]
push eax
push esi
push eax
call fcn.10008620
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1d4]
mov edx, dword [eax + 0x1e4]
push ecx
push edi
push edx
call fcn.10008620
mov eax, dword [0x100146f8]
mov eax, dword [eax + 0x1e4]
push eax
push ebp
push eax
call fcn.10008620
add esp, 0x30
test esi, esi
jne 0x1000bca9
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1e0]
mov edx, dword [eax + 0x1d4]
push ecx
push edx
call fcn.10007e70
add esp, 8
jmp 0x1000bcc6
mov ecx, dword [0x100146f8]
mov eax, dword [ecx + 0x1e0]
mov ecx, dword [ecx + 0x1d4]
push eax
push ecx
push eax
call fcn.10009720
add esp, 0xc
mov ecx, dword [0x100146f8]
mov eax, dword [ecx + 0x1e4]
mov edx, dword [ecx + 0x1e8]
push eax
push edx
push eax
call fcn.10009720
add esp, 0xc
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x22c]
test ecx, ecx
jne 0x1000c1d9
mov eax, dword [eax + 0x1dc]
push eax
call fcn.100080a0
add esp, 4
test eax, eax
je 0x1000c1d4
mov edx, dword [0x100146f8]
mov eax, dword [edx + 0x1d8]
mov esi, dword [eax]
cmp esi, 1
mov dword [esp + 0x28], esi
jne 0x1000bd41
mov edx, dword [edx + 0x1dc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], esi
xor ebp, ebp
mov eax, dword [edx + 4]
mov ebx, dword [ecx]
xor edi, edi
mov esi, dword [eax]
jmp 0x1000bf64
mov eax, dword [eax + 4]
mov ecx, dword [edx]
test ecx, ecx
mov ebp, dword [eax + esi*4 - 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ecx
lea edi, [ebp + 1]
mov dword [esp + 0x24], edi
jne 0x1000be27
cmp esi, 2
jle 0x1000be02
test edi, edi
je 0x1000be02
mov edx, dword [eax + esi*4 - 8]
lea ecx, [esp + 0x10]
push ecx
push edi
push edx
push ebp
call fcn.10009700
mov ecx, dword [0x100146f8]
mov ebp, eax
lea eax, [esp + 0x20]
mov edx, dword [ecx + 0x1d8]
push eax
push edi
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + esi*4 - 0xc]
push ecx
push edx
call fcn.10009700
mov ebx, eax
mov eax, dword [0x100146f8]
lea edx, [esp + 0x30]
mov ecx, dword [eax + 0x1dc]
push edx
push edi
mov eax, dword [ecx + 4]
mov ecx, dword [eax + esi*4 - 8]
mov edx, dword [eax + esi*4 - 4]
push ecx
push edx
call fcn.10009700
mov edx, dword [0x100146f8]
mov ecx, dword [esp + 0x54]
mov edi, eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [edx + 0x1dc]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + esi*4 - 0xc]
push edx
push eax
call fcn.10009700
add esp, 0x40
mov esi, eax
jmp 0x1000bf64
mov ecx, dword [edx + 0x1dc]
mov ebx, dword [eax + esi*4 - 8]
mov eax, dword [ecx + 4]
mov edi, dword [eax + esi*4 - 4]
mov esi, dword [eax + esi*4 - 8]
cmp dword [esp + 0x28], 2
jne 0x1000bf64
jmp 0x1000bf5c
cmp esi, 2
jle 0x1000bf06
mov eax, dword [eax + esi*4 - 8]
lea edx, [esp + 0x10]
push edx
push edi
push eax
push ecx
push ebp
call fcn.100096e0
mov dword [esp + 0x64], eax
mov eax, dword [0x100146f8]
lea edx, [esp + 0x24]
mov ecx, dword [eax]
push edx
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x1d8]
push edi
mov edx, dword [ecx + 4]
mov ecx, dword [edx + esi*4 - 0xc]
mov edx, dword [eax]
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.100096e0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x54]
add esp, 0x28
mov ebx, eax
xor eax, eax
xor ebp, ebp
push eax
push ecx
push eax
push edx
call fcn.10006df0
add ebx, eax
mov eax, dword [0x100146f8]
adc ebp, edx
lea edx, [esp + 0x10]
mov ecx, dword [eax + 0x1dc]
push edx
mov edx, dword [esp + 0x30]
push edi
mov eax, dword [ecx + 4]
mov ecx, dword [eax + esi*4 - 8]
mov eax, dword [eax + esi*4 - 4]
push ecx
push edx
push eax
call fcn.100096e0
mov dword [esp + 0x6c], eax
mov eax, dword [0x100146f8]
lea ecx, [esp + 0x24]
mov edx, dword [eax + 0x1dc]
mov eax, dword [eax]
push ecx
push edi
mov ecx, dword [edx + 4]
mov edx, dword [ecx + esi*4 - 0xc]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
call fcn.100096e0
mov edx, dword [0x100146f8]
add esp, 0x28
mov esi, eax
xor eax, eax
mov ecx, dword [edx]
mov edx, dword [esp + 0x58]
push eax
push edx
push eax
push ecx
xor edi, edi
call fcn.10006df0
add esi, eax
adc edi, edx
jmp 0x1000bf64
xor edi, edi
push edi
push ecx
push edi
push ebp
call fcn.10006df0
mov ebx, eax
mov eax, dword [esp + 0x20]
mov ebp, edx
xor edx, edx
mov ecx, dword [eax + esi*4 - 8]
mov eax, dword [0x100146f8]
add ebx, ecx
push edi
mov ecx, dword [eax + 0x1dc]
adc ebp, edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], eax
mov edx, dword [eax + esi*4 - 4]
mov eax, dword [esp + 0x30]
push eax
push edi
push edx
call fcn.10006df0
mov ecx, dword [esp + 0x30]
mov edi, edx
mov edx, dword [esp + 0x28]
mov esi, eax
mov eax, dword [ecx + edx*4 - 8]
xor ecx, ecx
add esi, eax
adc edi, ecx
mov dword [esp + 0x30], 1
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1000bfae
mov edx, esi
or edx, edi
je 0x1000c1a3
push edi
push esi
push ebp
push ebx
call fcn.1000c2e0
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000c1a3
jmp 0x1000c0d7
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1000c048
mov eax, esi
xor edx, edx
sub eax, ecx
mov ecx, edi
sbb ecx, edx
mov edx, eax
or edx, ecx
mov dword [esp + 0x64], ecx
je 0x1000c1a3
mov ecx, dword [esp + 0x14]
mov edx, 0
add ecx, esi
adc edx, edi
mov dword [esp + 0x38], ecx
or ecx, edx
mov dword [esp + 0x3c], edx
je 0x1000c1a3
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x20]
push ecx
push eax
xor eax, eax
add edx, ebx
adc eax, ebp
push eax
push edx
call fcn.1000c2e0
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000c1a3
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ecx
push edx
mov edx, dword [esp + 0x24]
mov ecx, ebx
xor eax, eax
sub ecx, edx
mov edx, ebp
sbb edx, eax
push edx
push ecx
call fcn.1000c2e0
mov ecx, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x1000c1a3
jmp 0x1000c0d7
mov eax, ecx
mov ecx, 0
add eax, esi
adc ecx, edi
mov dword [esp + 0x40], eax
or eax, ecx
mov dword [esp + 0x44], ecx
je 0x1000c1a3
mov ecx, dword [esp + 0x14]
mov eax, esi
xor edx, edx
sub eax, ecx
mov ecx, edi
mov dword [esp + 0x48], eax
sbb ecx, edx
or eax, ecx
mov dword [esp + 0x4c], ecx
je 0x1000c1a3
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, dword [esp + 0x28]
mov eax, ebx
sub eax, ecx
mov ecx, ebp
sbb ecx, edx
push ecx
push eax
call fcn.1000c2e0
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000c1a3
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
push edx
xor edx, edx
add ecx, ebx
adc edx, ebp
push eax
push edx
push ecx
call fcn.1000c2e0
mov ecx, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x1000c1a3
cmp dword [esp + 0x24], 1
jne 0x1000c125
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
lea edx, [ecx + eax]
cmp edx, 0x80000000
jae 0x1000c1a3
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, ebx
mov dword [esp + 0x1c], ecx
sub eax, esi
mov ecx, ebp
sbb ecx, edi
mov ebx, esi
mov ebp, edi
mov dword [esp + 0x14], edx
mov esi, eax
mov edi, ecx
jmp 0x1000c182
mov ecx, dword [esp + 0x1c]
mov eax, 0x80000000
sub eax, ecx
xor edx, edx
div dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jae 0x1000c1a3
mov edx, dword [esp + 0x28]
mov eax, ecx
imul eax, edx
add eax, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
push edi
mov dword [esp + 0x2c], eax
mov eax, ecx
imul eax, edx
add eax, dword [esp + 0x20]
push esi
push 0
push ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
call fcn.10006df0
mov ecx, ebx
mov ebx, esi
sub ecx, eax
mov eax, ebp
sbb eax, edx
mov ebp, edi
mov esi, ecx
mov edi, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
inc ecx
xor edx, edx
test eax, eax
sete dl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
jmp 0x1000bf7f
mov eax, dword [esp + 0x18]
and eax, 0x80000001
jns 0x1000c1b3
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [0x100146f8]
mov dword [esp + 0x18], eax
mov edx, dword [ecx + 0x1dc]
push edx
call fcn.100080a0
add esp, 4
test eax, eax
jne 0x1000baaf
mov eax, dword [0x100146f8]
mov ecx, dword [esp + 0x34]
pop ebp
cmp ecx, 0xffffffff
pop ebx
jne 0x1000c1e8
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
and ecx, 0x80000001
jns 0x1000c1f9
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, 1
jne 0x1000c218
mov eax, dword [eax + 0x1e0]
mov edx, dword [esp + 0x68]
push eax
push eax
push edx
call fcn.10009b50
mov eax, dword [0x100146f8]
add esp, 0xc
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
cmp edi, esi
je 0x1000c27c
mov eax, dword [eax + 0x1dc]
mov ecx, dword [esp + 0x64]
push eax
push ecx
call fcn.10007ee0
mov eax, dword [0x100146f8]
mov edx, dword [esp + 0x70]
mov ecx, dword [eax + 0x1e4]
push ecx
push ecx
mov ecx, dword [eax + 0x1d8]
push edx
mov edx, dword [eax + 0x1e0]
mov eax, dword [eax + 0x1dc]
push ecx
push edx
push eax
call fcn.1000b130
mov ecx, dword [0x100146f8]
push esi
mov edx, dword [ecx + 0x1e4]
push edx
call fcn.10007e70
mov eax, dword [0x100146f8]
add esp, 0x28
mov eax, dword [eax + 0x1e0]
push edi
push eax
call fcn.10007e70
mov eax, dword [esp + 0x7c]
add esp, 8
cmp eax, edi
pop edi
je 0x1000c2af
cmp eax, esi
je 0x1000c2af
mov ecx, dword [0x100146f8]
push eax
mov edx, dword [ecx + 0x1d8]
push edx
call fcn.10007e70
add esp, 8
mov eax, dword [0x100146f8]
mov esi, dword [eax + 0x1c]
dec esi
mov dword [eax + 0x1c], esi
mov eax, dword [0x100146f8]
mov ecx, dword [eax + 0x1d8]
push ecx
call fcn.100080a0
add esp, 4
pop esi
add esp, 0x58
ret