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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x78]
mov ebx, esi
push edi
mov edi, dword [esp + 0x70]
mov edx, esi
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x5c]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0xc0]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xbc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
lea ecx, [esi + eax]
mov dword [esp + 0x70], ecx
add ecx, 0xfffffff8
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 4]
sub edx, ecx
add edx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0xb8]
mov dword [esp + 0x14], edx
mov edx, 1
mov eax, dword [esp + 0x14]
shl edx, cl
sub dword [esp + 0x14], edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmovbe edx, ecx
cmp dword [edi + 0x18], 0
cmovne edx, ecx
cmp dword [edi + 0xc], edx
mov ecx, edx
mov dword [esp + 0x14], edx
cmova ecx, dword [edi + 0xc]
add eax, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x24], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x40], eax
lea ebp, [eax + edx]
add eax, ecx
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x44], eax
mov eax, dword [ebp]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 4]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x3c], eax
cmp ecx, edx
jne 0x1009f281
push dword [esp + 0x80]
push esi
push dword [esp + 0x80]
push ebp
push edi
call fcn.10004494
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
cmp esi, dword [esp + 0x38]
jae 0x1009fcf4
mov eax, dword [esp + 0x84]
add eax, 0xfffffffc
mov dword [esp + 0x28], eax
nop dword [eax]
cmp eax, 4
ja case.0x1009f2a5.0
jmp dword [eax*4 + 0x1009fd10]
push dword [esp + 0x10]
push esi
call fcn.100a3360
jmp 0x1009f2e6
push dword [esp + 0x10]
push esi
call fcn.100a33c0
jmp 0x1009f2e6
push dword [esp + 0x10]
push esi
call fcn.100a3420
jmp 0x1009f2e6
push dword [esp + 0x10]
push esi
call fcn.100a3480
jmp 0x1009f2e6
push dword [esp + 0x10]
push esi
call fcn.100a3300
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x80], eax
mov edi, dword [ecx + eax*4]
cmp edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
push dword [esp + 0x50]
cmovb eax, dword [esp + 0x44]
push esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x54], eax
call fcn.100a3480
mov ecx, dword [esp + 0x3c]
add esp, 8
mov ebx, dword [esp + 0x7c]
mov edx, dword [ecx + eax*4]
cmp edx, ebx
mov ecx, dword [esp + 0x18]
cmovb ecx, dword [esp + 0x40]
mov dword [esp + 0x54], ecx
mov ecx, esi
sub ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
sub ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x18]
cmovb ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x30]
mov dword [ebx + eax*4], ecx
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x1c]
mov dword [ebx + eax*4], ecx
sub ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
inc ecx
cmp ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
sbb ecx, ecx
sub eax, dword [esp + 0x48]
dec eax
inc ecx
cmp eax, 3
sbb eax, eax
inc eax
test eax, ecx
je 0x1009f4f4
mov ecx, dword [esp + 0x64]
lea eax, [esi + 1]
mov dword [esp + 0x5c], eax
mov ebp, eax
mov eax, dword [ecx]
cmp eax, dword [ebp]
mov ebp, dword [esp + 0x74]
jne 0x1009f4f4
mov eax, dword [esp + 0x7c]
lea edx, [esi + 5]
cmp dword [esp + 0x48], eax
lea edi, [ecx + 4]
mov ebx, dword [esp + 0x70]
mov eax, edx
cmovb ebx, dword [esp + 0x44]
sub eax, edi
mov ecx, dword [esp + 0x70]
add eax, ebx
cmp eax, ecx
mov dword [esp + 0x80], edx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.100a2e80
mov esi, eax
add esp, 0xc
lea eax, [esi + edi]
cmp eax, ebx
jne 0x1009f418
push dword [esp + 0x70]
mov eax, dword [esp + 0x84]
push dword [esp + 0x28]
add eax, esi
push eax
call fcn.100a2e80
add esp, 0xc
add esi, eax
mov ecx, dword [esp + 0x70]
lea eax, [esi + 4]
mov esi, dword [esp + 0x5c]
lea ebx, [ebp + 0xc]
mov edi, dword [esp + 0x2c]
mov edx, esi
sub edx, edi
mov dword [esp + 0x80], eax
mov eax, dword [ebx]
add ecx, 0xffffffe0
mov dword [esp + 0x60], edx
mov dword [esp + 0x48], ebx
cmp esi, ecx
ja 0x1009f4b2
push edi
push eax
call fcn.100a2e60
add esp, 8
cmp edx, 0x10
jbe 0x1009f4be
lea ebx, [edi + 0x10]
add edx, 0xfffffff0
mov edi, dword [esp + 0x48]
push ebx
mov edi, dword [edi]
add edi, 0x10
push edi
lea eax, [edi + edx]
mov dword [esp + 0x6c], eax
call fcn.100a2e60
mov eax, dword [esp + 0x50]
add esp, 8
cmp edx, 0x10
jle 0x1009f4ae
mov edx, dword [esp + 0x64]
add edi, 0x10
add ebx, 0x10
push ebx
push edi
call fcn.100a2e60
add ebx, 0x10
add edi, 0x10
push ebx
push edi
call fcn.100a2e60
add edi, 0x10
add esp, 0x10
add ebx, 0x10
cmp edi, edx
jb 0x1009f488
lea ebx, [ebp + 0xc]
jmp 0x1009f4be
mov ebx, eax
jmp 0x1009f4be
push ecx
push esi
push edi
push eax
call fcn.100a34a0
add esp, 0x10
mov ecx, dword [esp + 0x60]
add dword [ebx], ecx
cmp ecx, 0xffff
jbe 0x1009f4df
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
sar eax, 3
mov dword [ebp + 0x24], 1
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 4]
mov word [eax + 4], cx
mov eax, dword [ebp + 4]
mov dword [eax], 1
jmp 0x1009f9e2
cmp edx, dword [esp + 0x14]
jbe 0x1009f6d0
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + edx]
cmp eax, dword [esi]
jne 0x1009f6d0
mov eax, dword [ecx + edx + 4]
cmp eax, dword [esi + 4]
jne 0x1009f6d0
cmp edx, dword [esp + 0x7c]
lea edi, [ecx + 8]
mov ebx, dword [esp + 0x70]
cmovb ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
cmovb eax, dword [esp + 0x58]
add edi, edx
mov ecx, dword [esp + 0x70]
lea edx, [esi + 8]
mov dword [esp + 0x5c], eax
mov eax, edx
sub eax, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.100a2e80
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x80], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x1009f585
push dword [esp + 0x70]
lea eax, [ecx + 8]
push dword [esp + 0x28]
add eax, esi
push eax
call fcn.100a2e80
mov ecx, dword [esp + 0x8c]
add esp, 0xc
add ecx, eax
mov edi, dword [esp + 0x68]
lea edx, [ecx + 8]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
add ecx, edi
mov ebx, dword [esp + 0x2c]
sub eax, edi
cmp dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], eax
sbb ecx, ecx
mov dword [esp + 0x80], edx
neg ecx
cmp ebx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x1009f5f9
add edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
lea eax, [esi - 1]
mov dword [esp + 0x80], eax
lea ecx, [edi - 1]
mov al, byte [eax]
mov edi, ecx
cmp al, byte [ecx]
jne 0x1009f5ee
mov esi, dword [esp + 0x80]
inc edx
cmp ebp, edi
sbb ecx, ecx
neg ecx
cmp ebx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x1009f5c1
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x20]
lea edi, [ebp + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, esi
mov dword [esp + 0x3c], eax
sub edx, ebx
mov eax, dword [esp + 0x4c]
add ecx, 0xffffffe0
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [esp + 0x64], edx
mov dword [esp + 0x54], edi
cmp esi, ecx
ja 0x1009f693
push ebx
push eax
call fcn.100a2e60
add esp, 8
cmp edx, 0x10
jbe 0x1009f69f
mov edi, dword [edi]
add edx, 0xfffffff0
add edi, 0x10
add ebx, 0x10
push ebx
push edi
lea eax, [edi + edx]
mov dword [esp + 0x70], eax
call fcn.100a2e60
mov eax, dword [esp + 0x5c]
add esp, 8
mov dword [esp + 0x54], eax
cmp edx, 0x10
jle 0x1009f68d
mov edx, dword [esp + 0x68]
add edi, 0x10
add ebx, 0x10
push ebx
push edi
call fcn.100a2e60
add ebx, 0x10
add edi, 0x10
push ebx
push edi
call fcn.100a2e60
add edi, 0x10
add esp, 0x10
add ebx, 0x10
cmp edi, edx
jb 0x1009f667
lea edi, [ebp + 0xc]
jmp 0x1009f69f
mov edi, dword [esp + 0x54]
jmp 0x1009f69f
push ecx
push esi
push ebx
push eax
call fcn.100a34a0
add esp, 0x10
mov ecx, dword [esp + 0x64]
add dword [edi], ecx
cmp ecx, 0xffff
jbe 0x1009f6c0
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
sar eax, 3
mov dword [ebp + 0x24], 1
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 4]
mov word [eax + 4], cx
mov ecx, dword [esp + 0x4c]
jmp 0x1009f9da
cmp edi, dword [esp + 0x14]
jbe 0x1009fcd6
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + edi]
cmp eax, dword [esi]
jne 0x1009fcd6
push dword [esp + 0x50]
lea ebx, [esi + 1]
push ebx
mov dword [esp + 0x70], ebx
call fcn.100a3480
mov ecx, dword [esp + 0x3c]
add esp, 8
mov edx, dword [ecx + eax*4]
cmp edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x18]
lea ecx, [ecx + eax*4]
cmovb edi, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
add edi, edx
inc eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x54], edi
mov dword [ecx], eax
cmp edx, dword [esp + 0x14]
jbe 0x1009f81b
mov eax, dword [edi]
cmp eax, dword [ebx]
jne 0x1009f81b
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 4]
jne 0x1009f81b
cmp edx, dword [esp + 0x7c]
lea edx, [esi + 9]
mov ecx, dword [esp + 0x70]
mov ebx, ecx
cmovb ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
cmovb eax, dword [esp + 0x58]
add edi, 8
mov dword [esp + 0x5c], eax
mov eax, edx
sub eax, edi
mov dword [esp + 0x80], edx
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.100a2e80
mov esi, eax
add esp, 0xc
lea eax, [esi + edi]
cmp eax, ebx
jne 0x1009f7a9
push dword [esp + 0x70]
mov eax, dword [esp + 0x84]
push dword [esp + 0x28]
add eax, esi
push eax
call fcn.100a2e80
add esp, 0xc
add esi, eax
mov eax, dword [esp + 0x30]
lea edx, [esi + 8]
sub eax, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
inc eax
cmp dword [esp + 0x5c], edi
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
sbb ecx, ecx
neg ecx
mov dword [esp + 0x48], eax
cmp ebx, esi
mov dword [esp + 0x80], edx
sbb eax, eax
neg eax
test eax, ecx
je 0x1009f908
lea eax, [esi - 1]
mov dword [esp + 0x68], eax
lea ecx, [edi - 1]
mov al, byte [eax]
mov edi, ecx
cmp al, byte [ecx]
jne 0x1009f908
mov esi, dword [esp + 0x68]
inc edx
cmp dword [esp + 0x5c], edi
mov dword [esp + 0x80], edx
sbb ecx, ecx
neg ecx
cmp ebx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x1009f7e2
jmp 0x1009f908
mov ecx, dword [esp + 0x60]
lea edx, [esi + 4]
cmp ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
cmovb eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x70]
lea edi, [ecx + 4]
cmovb ebx, dword [esp + 0x44]
add edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x5c], eax
mov eax, edx
sub eax, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.100a2e80
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x80], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x1009f88c
push dword [esp + 0x70]
lea eax, [ecx + 4]
push dword [esp + 0x28]
add eax, esi
push eax
call fcn.100a2e80
mov ecx, dword [esp + 0x8c]
add esp, 0xc
add ecx, eax
mov eax, dword [esp + 0x30]
lea edx, [ecx + 4]
mov edi, dword [esp + 0x60]
sub eax, edi
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
add eax, edi
mov dword [esp + 0x80], edx
cmp dword [esp + 0x5c], eax
sbb ecx, ecx
neg ecx
cmp ebx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x1009f908
add edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x5c]
nop dword [eax + eax]
lea eax, [esi - 1]
mov dword [esp + 0x80], eax
lea ecx, [edi - 1]
mov al, byte [eax]
mov edi, ecx
cmp al, byte [ecx]
jne 0x1009f8fd
mov esi, dword [esp + 0x80]
inc edx
cmp ebp, edi
sbb ecx, ecx
neg ecx
cmp ebx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x1009f8d0
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x20]
lea edi, [ebp + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, esi
mov dword [esp + 0x3c], eax
sub edx, ebx
mov eax, dword [esp + 0x48]
add ecx, 0xffffffe0
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [esp + 0x64], edx
mov dword [esp + 0x54], edi
cmp esi, ecx
ja 0x1009f9a2
push ebx
push eax
call fcn.100a2e60
add esp, 8
cmp edx, 0x10
jbe 0x1009f9ae
mov edi, dword [edi]
add edx, 0xfffffff0
add edi, 0x10
add ebx, 0x10
push ebx
push edi
lea eax, [edi + edx]
mov dword [esp + 0x70], eax
call fcn.100a2e60
mov eax, dword [esp + 0x5c]
add esp, 8
mov dword [esp + 0x54], eax
cmp edx, 0x10
jle 0x1009f99c
mov edx, dword [esp + 0x68]
add edi, 0x10
add ebx, 0x10
push ebx
push edi
call fcn.100a2e60
add ebx, 0x10
add edi, 0x10
push ebx
push edi
call fcn.100a2e60
add edi, 0x10
add esp, 0x10
add ebx, 0x10
cmp edi, edx
jb 0x1009f976
lea edi, [ebp + 0xc]
jmp 0x1009f9ae
mov edi, dword [esp + 0x54]
jmp 0x1009f9ae
push ecx
push esi
push ebx
push eax
call fcn.100a34a0
add esp, 0x10
mov ecx, dword [esp + 0x64]
add dword [edi], ecx
cmp ecx, 0xffff
jbe 0x1009f9cf
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
sar eax, 3
mov dword [ebp + 0x24], 1
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 4]
mov word [eax + 4], cx
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 4]
add ecx, 3
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
lea edx, [ecx - 3]
cmp edx, 0xffff
jbe 0x1009fa07
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
sar eax, 3
mov dword [ebp + 0x24], 2
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 4]
add esi, ecx
mov ebx, esi
mov dword [esp + 0x2c], ebx
mov word [eax + 6], dx
add dword [ebp + 4], 8
mov eax, dword [esp + 0x38]
cmp esi, eax
ja 0x1009fce6
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
add edi, 2
mov ebp, dword [esp + 0x50]
add eax, edi
push ebp
push eax
call fcn.100a3480
mov ecx, dword [esp + 0x3c]
push ebp
mov dword [ecx + eax*4], edi
lea eax, [esi - 2]
push eax
call fcn.100a3480
mov edx, dword [esp + 0x28]
mov ecx, eax
mov ebp, dword [esp + 0x44]
mov eax, esi
sub eax, edx
add esp, 0x10
mov dword [esp + 0x80], eax
add eax, 0xfffffffe
mov dword [ebp + ecx*4], eax
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x74]
cmp eax, 4
ja case.0x1009fa7b.0
jmp dword [eax*4 + 0x1009fd24]
push dword [esp + 0x10]
lea eax, [edi + edx]
push eax
call fcn.100a3360
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, dword [esp + 0x10]
mov dword [ecx + eax*4], edi
lea eax, [esi - 1]
mov ecx, dword [esp + 0x28]
jmp switch.0x1009fafa
push dword [esp + 0x10]
lea eax, [edi + edx]
push eax
call fcn.100a33c0
jmp 0x1009fa8f
push dword [esp + 0x10]
lea eax, [edi + edx]
push eax
call fcn.100a3420
jmp 0x1009fa8f
push dword [esp + 0x10]
lea eax, [edi + edx]
push eax
call fcn.100a3480
jmp 0x1009fa8f
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
add eax, edi
push edx
push eax
call fcn.100a3300
mov ecx, dword [esp + 0x24]
add esp, 8
mov dword [ecx + eax*4], edi
lea eax, [esi - 1]
mov ecx, dword [esp + 0x28]
cmp ecx, 4
ja case.0x1009fafa.8
jmp dword [ecx*4 + 0x1009fd38]
push edx
push eax
call fcn.100a3360
jmp 0x1009fb2c
push edx
push eax
call fcn.100a33c0
jmp 0x1009fb2c
push edx
push eax
call fcn.100a3420
jmp 0x1009fb2c
push edx
push eax
call fcn.100a3480
jmp 0x1009fb2c
push edx
push eax
call fcn.100a3300
mov edx, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x88]
add esp, 8
dec eax
mov dword [edx + ecx*4], eax
mov edi, dword [esp + 0x18]
mov eax, esi
mov ecx, dword [esp + 0x3c]
sub eax, edi
mov edx, eax
mov dword [esp + 0x68], eax
sub edx, ecx
cmp edx, dword [esp + 0x7c]
jae 0x1009fb5e
mov edi, dword [esp + 0x40]
sub eax, dword [esp + 0x14]
add edi, edx
cmp eax, ecx
mov eax, dword [esp + 0x7c]
sbb ecx, ecx
sub eax, edx
dec eax
inc ecx
cmp eax, 3
sbb eax, eax
inc eax
test eax, ecx
je 0x1009fce0
mov eax, dword [edi]
cmp eax, dword [esi]
jne 0x1009fce0
cmp edx, dword [esp + 0x7c]
lea edx, [esi + 4]
mov ecx, dword [esp + 0x70]
mov eax, edx
mov ebx, ecx
cmovb ebx, dword [esp + 0x44]
add edi, 4
sub eax, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
push edi
push edx
call fcn.100a2e80
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x80], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x1009fbe2
push dword [esp + 0x70]
lea eax, [ecx + 4]
push dword [esp + 0x28]
add eax, esi
push eax
call fcn.100a2e80
mov ecx, dword [esp + 0x8c]
add esp, 0xc
add ecx, eax
mov eax, dword [esp + 0x3c]
lea ebx, [ecx + 4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x70]
add ecx, 0xffffffe0
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
cmp esi, ecx
ja 0x1009fc0f
push esi
push eax
call fcn.100a2e60
add esp, 8
jmp 0x1009fc1b
push ecx
push esi
push esi
push eax
call fcn.100a34a0
add esp, 0x10
mov eax, dword [ebp + 4]
xor ecx, ecx
mov word [eax + 4], cx
lea ecx, [ebx - 3]
mov eax, dword [ebp + 4]
mov dword [eax], 1
cmp ecx, 0xffff
jbe 0x1009fc4b
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
sar eax, 3
mov dword [ebp + 0x24], 2
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 4]
mov word [eax + 6], cx
add dword [ebp + 4], 8
mov eax, dword [esp + 0x28]
cmp eax, 4
ja case.0x1009fc5f.0
jmp dword [eax*4 + 0x1009fd4c]
push dword [esp + 0x10]
push esi
call fcn.100a3360
jmp 0x1009fca0
push dword [esp + 0x10]
push esi
call fcn.100a33c0
jmp 0x1009fca0
push dword [esp + 0x10]
push esi
call fcn.100a3420
jmp 0x1009fca0
push dword [esp + 0x10]
push esi
call fcn.100a3480
jmp 0x1009fca0
push dword [esp + 0x10]
push esi
call fcn.100a3300
mov ecx, dword [esp + 0x24]
add esp, 8
mov edi, dword [esp + 0x68]
push dword [esp + 0x50]
mov dword [ecx + eax*4], edi
push esi
call fcn.100a3480
mov ecx, dword [esp + 0x3c]
add esi, ebx
add esp, 8
mov ebx, esi
mov dword [esp + 0x2c], ebx
mov dword [ecx + eax*4], edi
cmp esi, dword [esp + 0x38]
jbe 0x1009fb40
jmp 0x1009fcf0
mov eax, esi
sub eax, ebx
sar eax, 8
inc eax
add esi, eax
mov eax, dword [esp + 0x38]
cmp esi, eax
mov eax, dword [esp + 0x28]
jb 0x1009f2a0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov dword [edx + 4], eax
mov eax, dword [esp + 0x68]
pop ebp
sub eax, ebx
mov dword [edx], ecx
pop ebx
add esp, 0x5c
ret