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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
mov eax, dword [0x1017c400]
xor eax, esp
mov dword [esp + 0x124], eax
mov eax, dword [ebp + 8]
xorps xmm6, xmm6
movss xmm7, dword [ebp + 0x1c]
mov dword [esp + 0x20], eax
mov ecx, dword [ebp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
add eax, 0x10
mov dword [esp + 0x14], eax
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x40], ecx
mov dword [eax], 4
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x14]
push esi
push edi
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
subss xmm2, xmm7
subss xmm3, dword [ebp + 0x20]
movss xmm4, dword [eax + 8]
subss xmm4, dword [ebp + 0x24]
movd xmm5, dword [ecx + 0xec]
movaps xmm0, xmm2
mov eax, dword [0x101f1f38]
mulss xmm0, xmm2
movaps xmm1, xmm3
mov dword [esp + 0x38], edx
mulss xmm1, xmm3
mov dword [esp + 0x24], ecx
movss dword [esp + 0x10], xmm6
mov dword [esp + 0xf0], 0
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
cvtdq2ps xmm5, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
movss dword [esp + 0x18], xmm5
sqrtss xmm0, xmm1
movss xmm1, dword [0x101761b8]
addss xmm0, dword [0x1017609c]
divss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
mulss xmm4, xmm1
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x40], xmm3
movss dword [esp + 0xc], xmm4
movss dword [esp + 0x44], xmm4
movups xmmword [esp + 0xd0], xmm0
movups xmmword [esp + 0xe0], xmm0
test eax, eax
je 0x1008bb72
add eax, 0x59
jmp 0x1008bb74
xor eax, eax
mov eax, dword [eax]
xor esi, esi
comiss xmm5, xmm0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], esi
movss xmm1, dword [ecx + 0x104]
jbe 0x1008c17a
subss xmm1, xmm6
mov edi, dword [0x101f0cdc]
movaps xmm0, xmm2
mov dword [esp + 0x7c], esi
mov dword [esp + 0x70], edx
lea ecx, [esp + 0x80]
mov eax, dword [edi]
mulss xmm0, xmm1
movss dword [esp + 0x20], xmm1
mov esi, dword [eax + 0x14]
lea eax, [esp + 0x54]
addss xmm0, xmm7
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x20]
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x60], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x24]
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x64], xmm0
call fcn.10049380
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x70]
push ecx
push 0x4600400b
push eax
mov ecx, edi
call esi
mov esi, dword [esp + 0x48]
test esi, esi
je 0x1008bc9a
movss xmm1, dword [0x101762c0]
lea eax, [esp + 0xd0]
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm1
push esi
push eax
lea eax, [esp + 0x68]
addss xmm0, dword [esp + 0x54]
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x40]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x60]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x78], xmm0
call fcn.1008b310
movss xmm0, dword [esp + 0xfc]
ucomiss xmm0, dword [0x101761b8]
lahf
test ah, 0x44
jnp 0x1008c17a
mulss xmm0, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
movss xmm1, dword [esp + 0x10]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x108]
movss dword [esp + 0x10], xmm1
mulss xmm1, dword [0x101760bc]
call fcn.10141262
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0xc], xmm0
movss dword [esp + 0x18], xmm0
test esi, esi
je 0x1008be0d
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x1008be05
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
mov edi, dword [esp + 0x11c]
mov byte [esp + 0xb], al
cmp edi, esi
je 0x1008bdce
test al, al
je 0x1008bdec
mov ecx, dword fs:[0x2c]
mov eax, dword [0x101f04c8]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x101f85ac]
cmp ecx, dword [esi + 4]
jle 0x1008bd83
push 0x101f85ac
call fcn.100bf2a3
mov ecx, dword [0x101f85ac]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1008bd83
mov eax, dword [0x101f8484]
push 0x101f85ac
mov dword [0x101f859c], eax
call fcn.100bf252
mov ecx, dword [0x101f85ac]
add esp, 4
mov eax, dword [0x101f859c]
mov edi, dword [edi + eax]
cmp ecx, dword [esi + 4]
jle 0x1008bdc0
push 0x101f85ac
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f85ac], 0xffffffff
jne 0x1008bdc0
mov eax, dword [0x101f8484]
push 0x101f85ac
mov dword [0x101f859c], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f859c]
mov ecx, dword [esp + 0x38]
cmp edi, dword [ecx + eax]
je 0x1008bdec
mov esi, dword [esp + 0x114]
cmp esi, 1
jb 0x1008bde3
cmp esi, 7
jbe 0x1008bef5
cmp esi, 0xa
je 0x1008bef5
mov edi, dword [esp + 0x24]
xor esi, esi
cmp byte [esp + 0xb], 0
cmovne esi, dword [esp + 0x11c]
mov dword [esp + 0x14], esi
jmp 0x1008be11
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x1008be11
mov esi, dword [esp + 0x14]
mov ecx, dword [0x101f0cec]
movsx edx, word [esp + 0x110]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
cmp byte [ebp + 0x18], 0
jne 0x1008c17a
movss xmm1, dword [esp + 0x10]
comiss xmm1, dword [esp + 0x20]
jbe 0x1008be52
movss xmm0, dword [edi + 0xf8]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x1008c17a
movss xmm0, dword [0x10176110]
comiss xmm0, dword [eax + 0x58]
ja 0x1008c17a
push ecx
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x48]
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esp + 0xe4]
push eax
push edi
push ecx
call fcn.1008b720
test al, al
je 0x1008c17a
cmp byte [ebp + 0x2c], 0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x18], xmm0
je 0x1008beab
mov ecx, dword [esp + 0x28]
cvttss2si eax, xmm0
mov dword [ecx + 4], eax
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1008c17a
movss xmm4, dword [esp + 0x44]
movss xmm3, dword [esp + 0x40]
movss xmm2, dword [esp + 0x3c]
movss xmm7, dword [ebp + 0x1c]
movss xmm6, dword [esp + 0x10]
movss xmm1, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
movss dword [esp + 0xc], xmm4
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x34], xmm2
jmp 0x1008bba1
cmp byte [ebp + 0x18], 0
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x11c]
mov dword [edi], eax
mov eax, dword [esp + 0x120]
mov dword [edi + 8], eax
mov dword [edi + 0xc], esi
je 0x1008bf1e
mov dword [edi + 0xc], 0
xor esi, esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x14], eax
mov eax, dword [0x101f04c8]
movss xmm0, dword [ecx + 0xf0]
mov ecx, dword fs:[0x2c]
movss dword [esp + 0x2c], xmm0
mov edx, dword [ecx + eax*4]
mov eax, dword [0x101f87e8]
mov dword [esp + 0x10], edx
cmp eax, dword [edx + 4]
jle 0x1008bf8c
push 0x101f87e8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87e8], 0xffffffff
jne 0x1008bf88
mov eax, dword [0x101f84d8]
push 0x101f87e8
mov dword [0x101f87ec], eax
call fcn.100bf252
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [0x101f87ec]
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + eax]
mov byte [esp + 0xb], al
lea eax, [esi - 1]
cmp eax, 6
ja case.0x1008bfa4.2
jmp dword [eax*4 + 0x1008c194]
cmp byte [esp + 0xb], 0
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x1017622c]
movss dword [esp + 0xc], xmm0
je case.0x1008bfa4.2
mulss xmm0, dword [0x10176174]
jmp 0x1008bfee
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x101761c8]
jmp 0x1008bfee
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x10176198]
movss dword [esp + 0xc], xmm0
mov eax, dword [0x101f87e0]
cmp eax, dword [edx + 4]
jle 0x1008c036
push 0x101f87e0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87e0], 0xffffffff
jne 0x1008c02e
mov eax, dword [0x101f8514]
push 0x101f87e0
mov dword [0x101f87e4], eax
call fcn.100bf252
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x101f87e4]
mov eax, dword [ecx + eax]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1008c155
cmp esi, 5
ja 0x1008c155
cmp esi, 1
jne 0x1008c0a9
mov eax, dword [0x101f87f4]
cmp eax, dword [edx + 4]
jle 0x1008c092
push 0x101f87f4
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87f4], 0xffffffff
jne 0x1008c092
mov eax, dword [0x101f8504]
push 0x101f87f4
mov dword [0x101f87f0], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87f0]
mov esi, dword [esp + 0x14]
cmp byte [esi + eax], 0
je 0x1008c155
mov eax, dword [esp + 0x1c]
cmp byte [esp + 0xb], 0
movss xmm3, dword [esp + 0x2c]
movss xmm4, dword [0x10176174]
mulss xmm3, xmm4
je 0x1008c0dc
mulss xmm3, dword [0x10176138]
movss xmm0, dword [0x10176144]
movss xmm4, dword [0x1017614c]
jmp 0x1008c0e4
movss xmm0, dword [0x101761b8]
movss xmm2, dword [esp + 0xc]
movaps xmm1, xmm4
mulss xmm3, xmm2
mulss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, xmm3
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mulss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x1008c133
divss xmm5, xmm4
mov eax, edi
subss xmm2, xmm5
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret 0x28
movaps xmm2, xmm3
mov eax, edi
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret 0x28
movss xmm2, dword [esp + 0xc]
mov eax, edi
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret 0x28
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x28]
pop edi
pop esi
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret 0x28