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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x18], 1
mov eax, dword [esi + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
add eax, dword [esp + 0x7c]
mov ebx, dword [esi]
mov ecx, ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
add eax, edi
mov edx, dword [esi + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x3c], ebx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x44], eax
xor eax, eax
cmp dword [edi], 2
mov dword [esp + 0x34], edx
sete al
mov dword [esp + 0x10], ecx
xor edi, edi
mov dword [esp + 0x14], eax
xor ebp, ebp
mov dword [esp + 0x80], ebp
jmp 0x1009a177
mov ebp, dword [esp + 0x80]
jmp 0x1009a173
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x60]
cmp ebx, edx
jne 0x1009a186
mov edx, 1
mov dword [esp + 0x30], edx
jmp 0x1009a1ba
lea ecx, [ecx + ebp*8]
lea eax, [edx - 8]
xor edx, edx
cmp ecx, eax
movzx eax, word [ecx + 4]
sete dl
sub ecx, dword [esi]
sar ecx, 3
mov dword [esp + 0x30], edx
cmp dword [esi + 0x28], ecx
jne 0x1009a1b0
cmp dword [esi + 0x24], 1
jne 0x1009a1b0
add eax, 0x10000
add edi, eax
inc ebp
mov dword [esp + 0x80], ebp
push dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x18]
mov eax, dword [esp + 0x48]
push dword [esp + 0x98]
sub eax, ecx
test edx, edx
push dword [esp + 0x98]
cmove eax, edi
push dword [esp + 0x7c]
mov edi, eax
push dword [esp + 0x7c]
mov ebp, edi
push dword [esp + 0x98]
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x4c]
push edi
push ecx
call fcn.1009a880
mov esi, dword [esp + 0x60]
add esp, 0x30
cmp eax, dword [esp + 0x44]
ja 0x1009a222
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
test esi, esi
je 0x1009a162
mov edi, dword [esp + 0x80]
push esi
push ebp
push edi
push dword [esp + 0x1c]
mov dword [esp + 0x40], 0
push dword [esp + 0x70]
mov dword [esp + 0x4c], 0
call fcn.1009ac10
add esp, 0x14
mov dword [esp + 0x48], eax
cmp dword [esp + 0x88], 0
je 0x1009a265
test esi, esi
je 0x1009a265
mov eax, 1
jmp 0x1009a267
xor eax, eax
push eax
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
push dword [esp + 0x24]
sub eax, ecx
push dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x38]
push ecx
push dword [esp + 0x90]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push ebp
push eax
push edi
push dword [esp + 0x4c]
push dword [esp + 0xac]
push dword [esp + 0xac]
call fcn.10099d70
add esp, 0x48
cmp eax, 0xffffff88
ja 0x1009a4ce
mov edi, ebp
test eax, eax
je 0x1009a335
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jae 0x1009a335
add dword [esp + 0x7c], ecx
xor edi, edi
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
add dword [esp + 0x20], ecx
add dword [esp + 0x24], ecx
add dword [esp + 0x28], ecx
add dword [esp + 0x1c], ebp
lea edx, [edx + ecx*8]
xor ecx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x78]
xor ebp, ebp
add edx, eax
mov dword [esp + 0x80], ebp
cmp dword [esp + 0x30], ecx
mov eax, dword [esp + 0x14]
cmovne eax, ecx
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x38], edi
mov dword [esp + 0x14], eax
cmovne ecx, edi
mov dword [esp + 0x18], ecx
jmp 0x1009a344
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x80]
test esi, esi
je 0x1009a16b
mov ebp, dword [esp + 0x64]
test eax, eax
je 0x1009a361
mov edi, dword [esp + 0x68]
mov ecx, 0x102
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x18], 0
je 0x1009a388
mov eax, dword [esp + 0x6c]
add eax, 0x88
push eax
call fcn.1009abd0
add esp, 4
test eax, eax
je 0x1009a388
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x7c]
cmp edi, ecx
jae 0x1009a4c6
mov eax, dword [esp + 0x88]
sub ecx, edi
sub dword [esp + 0x2c], edx
lea esi, [ecx + 3]
lea eax, [eax + ecx*8]
cmp esi, dword [esp + 0x2c]
jbe 0x1009a3c0
mov esi, 0xffffffba
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov word [edx], ax
shr eax, 0x10
push ecx
mov byte [edx + 2], al
lea eax, [edx + 3]
push edi
push eax
call fcn.10004eda
add esp, 0xc
cmp esi, 0xffffff88
jbe 0x1009a3e6
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
add dword [esp + 0x78], esi
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x34]
jae 0x1009a4c6
movq xmm0, qword [ebp + 0x11e8]
mov ecx, dword [ebp + 0x11f0]
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], ecx
cmp ebx, eax
jae 0x1009a4b4
mov edx, dword [esp + 0x60]
mov edi, ebx
mov esi, dword [esp + 0x54]
mov eax, dword [edx]
sub edi, eax
mov edx, dword [edx + 0x28]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
movzx ebp, word [edi + eax + 4]
mov eax, edi
sar eax, 3
cmp dword [esp + 0x6c], eax
jne 0x1009a455
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x24], 1
jne 0x1009a455
add ebp, 0x10000
mov ebx, dword [ebx]
cmp ebx, 3
jbe 0x1009a465
mov ecx, esi
mov esi, edx
lea edx, [ebx - 3]
jmp 0x1009a48a
xor eax, eax
test ebp, ebp
sete al
dec eax
add eax, ebx
je 0x1009a496
cmp eax, 3
jne 0x1009a47b
lea ebx, [edx - 1]
jmp 0x1009a484
mov ebx, dword [esp + eax*4 + 0x50]
cmp eax, 2
jb 0x1009a486
mov ecx, esi
mov esi, edx
mov edx, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ecx
mov ebx, dword [esp + 0x3c]
add edi, 8
mov eax, dword [esp + 0x7c]
add ebx, 8
mov dword [esp + 0x3c], ebx
cmp ebx, dword [esp + 0x10]
jb 0x1009a435
movq xmm0, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movq qword [eax + 0x11e8], xmm0
mov dword [eax + 0x11f0], ecx
mov eax, dword [esp + 0x78]
sub eax, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret