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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
mov eax, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], eax
push esi
push edi
test eax, eax
je 0x1009c088
mov ecx, dword [0x101f0d78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jg 0x1009c07a
mov eax, dword [0x101eaab4]
mov ecx, dword [0x101f04c8]
movq xmm0, qword [0x101eaaac]
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], eax
mov eax, dword [0x101eabd0]
mov dword [esp + 0x10], eax
mov eax, dword fs:[0x2c]
movq qword [esp + 0xd8], xmm0
movq qword [esp + 0x68], xmm0
mov edi, dword [eax + ecx*4]
mov eax, dword [0x101f8324]
mov dword [esp + 0x14], edi
cmp eax, dword [edi + 4]
jle 0x1009b8c2
push 0x101f8324
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f8324], 0xffffffff
jne 0x1009b8c2
mov eax, dword [0x101f8320]
push 0x101f8324
mov dword [0x101f8330], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [0x101f0d9c]
mov esi, dword [0x101f8330]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc], eax
call dword [esp + 0xc]
mov eax, dword [esp + 0x10]
movss xmm3, dword [esp + 0x68]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
movaps xmm1, xmm0
mulss xmm1, dword [eax + esi]
movss dword [esp + 0x20], xmm1
movaps xmm1, xmm0
mulss xmm0, dword [eax + esi + 8]
mulss xmm1, dword [eax + esi + 4]
mov eax, dword [esp + 0x44]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x1c], xmm1
movq xmm0, qword [eax + 0x1c]
movss xmm1, dword [esp + 0x6c]
movq qword [esp + 0x48], xmm0
subss xmm1, dword [esp + 0x4c]
subss xmm3, dword [esp + 0x48]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x50], eax
movaps xmm2, xmm1
mulss xmm2, xmm1
movaps xmm0, xmm3
divss xmm1, xmm3
mulss xmm0, xmm3
movss dword [esp + 0x24], xmm3
addss xmm2, xmm0
movaps xmm0, xmm1
movss dword [esp + 0x10], xmm2
call fcn.10140e1e
mulss xmm0, dword [0x101762d0]
movss xmm1, dword [esp + 0x70]
subss xmm1, dword [esp + 0x50]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x10]
sqrtss xmm0, xmm0
divss xmm1, xmm0
xorps xmm1, xmmword [0x101765c0]
movaps xmm0, xmm1
call fcn.10140e1e
movss xmm1, dword [esp + 0x24]
movaps xmm2, xmm0
mulss xmm2, dword [0x10176404]
xorps xmm0, xmm0
comiss xmm1, xmm0
movss xmm0, dword [esp + 0xc]
jb 0x1009b9c8
addss xmm0, dword [0x10176330]
subss xmm0, dword [esp + 0x1c]
subss xmm2, dword [esp + 0x20]
mov eax, dword [0x101eabd4]
mov dword [esp + 0x24], eax
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x18]
xorps xmm0, xmmword [0x101765c0]
movss dword [esp + 0x5c], xmm2
movss dword [esp + 0x64], xmm0
test eax, eax
je 0x1009c088
mov esi, dword [0x101eabd8]
mov dword [esp + 0x9c], esi
test esi, esi
je 0x1009c088
mov ecx, eax
call fcn.1009b420
cmp byte [ebp + 8], 0
je 0x1009c07a
mov eax, dword [0x101f80d4]
lea edx, [esp + 0x48]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
movss xmm0, dword [eax + 0x3924]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x68]
sub esp, 0xc
movss dword [esp + 0x90], xmm0
mov ecx, esp
movss xmm0, dword [esi + 0x104]
movss dword [esp + 0xa4], xmm0
movq xmm0, qword [esp + 0x6c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.1004adb0
movss xmm6, dword [esp + 0x88]
add esp, 0x10
movss xmm3, dword [esp + 0x74]
movaps xmm1, xmm6
movss xmm7, dword [esp + 0x7c]
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm6
movss xmm2, dword [esp + 0x4c]
movss xmm4, dword [esp + 0x48]
addss xmm1, xmm0
movss xmm5, dword [esp + 0x50]
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x101761b8]
addss xmm0, dword [0x1017609c]
divss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm3, xmm1
mulss xmm6, xmm1
mulss xmm7, xmm1
movaps xmm1, xmm2
mulss xmm0, xmm4
mulss xmm1, xmm2
movss dword [esp + 0x38], xmm3
movss dword [esp + 0x3c], xmm6
addss xmm1, xmm0
movss dword [esp + 0x18], xmm7
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x101761b8]
addss xmm0, dword [0x1017609c]
divss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm5, xmm1
mulss xmm2, xmm1
mulss xmm4, xmm1
movss dword [esp + 0x8c], xmm5
movss xmm5, dword [esp + 0x2c]
mulss xmm0, xmm0
movaps xmm1, xmm5
mulss xmm1, xmm5
movss dword [esp + 0x84], xmm2
movss xmm2, dword [esp + 0x30]
addss xmm1, xmm0
movss dword [esp + 0x1c], xmm4
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
mov eax, dword [0x101f82d8]
movss xmm1, dword [0x101761b8]
addss xmm0, dword [0x1017609c]
divss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm1
mulss xmm5, xmm1
mulss xmm2, xmm1
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x88], xmm5
movss dword [esp + 0x90], xmm2
cmp eax, dword [edi + 4]
jle 0x1009bc69
push 0x101f82d8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82d8], 0xffffffff
jne 0x1009bc4b
mov eax, dword [0x101f82f0]
push 0x101f82d8
mov dword [0x101f82e8], eax
call fcn.100bf252
add esp, 4
movss xmm0, dword [esp + 0x20]
movss xmm4, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x18]
movss xmm6, dword [esp + 0x3c]
movss xmm3, dword [esp + 0x38]
mov edi, dword [0x101ec3e4]
xor eax, eax
mov dword [esp + 0x10], eax
xor esi, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], eax
mov eax, dword [0x101ec3e8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], eax
cmp edi, eax
je 0x1009bf67
nop dword [eax + eax]
movss xmm2, dword [esp + 0x80]
movaps xmm5, xmm4
mulss xmm2, dword [edi + 8]
mov ecx, dword [0x101f80b8]
movss xmm4, dword [esp + 0x84]
push dword [esp + 0x34]
movaps xmm1, xmm2
mulss xmm2, dword [edi + 4]
mulss xmm1, dword [edi]
mulss xmm0, xmm2
mulss xmm5, xmm1
mulss xmm4, xmm1
addss xmm5, xmm3
movss xmm3, dword [esp + 0x90]
mulss xmm3, xmm1
addss xmm4, xmm6
addss xmm5, xmm0
movss xmm0, dword [esp + 0x8c]
mulss xmm0, xmm2
addss xmm3, xmm7
addss xmm4, xmm0
movss xmm0, dword [esp + 0x94]
mulss xmm0, xmm2
addss xmm3, xmm0
movaps xmm1, xmm4
mulss xmm1, xmm4
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x101761b8]
addss xmm0, dword [0x1017609c]
divss xmm1, xmm0
movss xmm0, dword [esp + 0x98]
mulss xmm5, xmm1
mulss xmm4, xmm1
mulss xmm1, xmm3
mulss xmm5, xmm0
mulss xmm4, xmm0
addss xmm5, dword [esp + 0x6c]
mulss xmm1, xmm0
addss xmm4, dword [esp + 0x70]
addss xmm1, dword [esp + 0x74]
movss dword [esp + 0x60], xmm5
movss dword [esp + 0x64], xmm4
movss dword [esp + 0x68], xmm1
call fcn.10093cb0
mov eax, dword [esp + 0x44]
push ecx
push dword [eax + 0x18]
push dword [esp + 0x3c]
call fcn.10093f30
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
jne 0x1009bdc4
xor cl, cl
jmp 0x1009be13
mov ecx, dword [esp + 0x14]
mov eax, dword [0x101f82d8]
cmp eax, dword [ecx + 4]
jle 0x1009be02
push 0x101f82d8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82d8], 0xffffffff
jne 0x1009be02
mov eax, dword [0x101f82f0]
push 0x101f82d8
mov dword [0x101f82e8], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0x24]
mov eax, dword [0x101f82e8]
cmp word [eax + ecx], 0x1f
sete cl
movq xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x5c]
mov edx, dword [esp + 0x98]
push 0
push eax
sub esp, 0xc
mov eax, esp
push ecx
push dword [esp + 0xb4]
movq qword [eax], xmm0
push dword [esp + 0x50]
mov dword [eax + 8], edx
lea eax, [esp + 0x68]
push dword [0x101eabd0]
push eax
call fcn.1008ba40
push dword [esp + 0x34]
mov ecx, dword [0x101f80b8]
call fcn.100940e0
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x1009bf34
xor ecx, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa0], 0
mov word [esp + 0xa4], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xa8], eax
cmp esi, dword [esp + 0xc]
je 0x1009bf16
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [esi], xmm0
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0xc0]
movq qword [esi + 0x20], xmm0
mov dword [esi + 0x28], ecx
add esi, 0x2c
mov dword [esp + 0x2c], esi
jmp 0x1009bf34
lea eax, [esp + 0xa0]
push eax
push esi
lea ecx, [esp + 0x30]
call fcn.10098910
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
movss xmm3, dword [esp + 0x38]
add edi, 0xc
movss xmm6, dword [esp + 0x3c]
movss xmm7, dword [esp + 0x18]
movss xmm4, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x20]
cmp edi, dword [esp + 0x40]
jne 0x1009bca0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x24]
xor edi, edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1009bfbd
mov eax, dword [0x101f82d8]
cmp eax, dword [ecx + 4]
jle 0x1009bfbd
push 0x101f82d8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82d8], 0xffffffff
jne 0x1009bfb9
mov eax, dword [0x101f82f0]
push 0x101f82d8
mov dword [0x101f82e8], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x101f8284]
cmp eax, dword [ecx + 4]
jle 0x1009bff7
push 0x101f8284
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f8284], 0xffffffff
jne 0x1009bff7
mov eax, dword [0x101f8280]
push 0x101f8284
mov dword [0x101f8270], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x1009c013
nop
cmp dword [ecx + 0x10], 0
mov eax, edi
lea edi, [eax + 1]
cmovle edi, eax
add ecx, 0x2c
cmp ecx, esi
jne 0x1009c000
mov ecx, dword [esp + 0x10]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101760c8]
movss dword [esp + 0x40], xmm0
test ecx, ecx
je 0x1009c08b
mov edx, dword [esp + 0xc]
mov eax, 0x2e8ba2e9
sub edx, ecx
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
imul edx, eax, 0x2c
mov eax, ecx
cmp edx, 0x1000
jb 0x1009c064
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009c091
push edx
push ecx
call fcn.100bf656
movss xmm0, dword [esp + 0x48]
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x101761b8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.1012a37e
int3