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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
mov eax, dword [0x10160380]
xor eax, esp
mov dword [esp + 0x124], eax
mov eax, dword [ebp + 0xc]
mov ecx, 0x101a157e
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], esi
call fcn.10138266
movss xmm1, dword [0x1015bdd4]
lea eax, [edi + 0x10]
divss xmm1, dword [esi + 0xf8]
mov dword [eax], 4
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x28]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [esp + 0xf0], 0
movss xmm7, dword [ebp + 0x1c]
xorps xmm0, xmm0
movss xmm2, dword [eax]
maxss xmm1, xmm0
movss xmm3, dword [eax + 4]
subss xmm2, xmm7
subss xmm3, dword [ebp + 0x20]
movss xmm4, dword [eax + 8]
xorps xmm6, xmm6
subss xmm4, dword [ebp + 0x24]
movss dword [esp + 0x2c], xmm1
movaps xmm0, xmm2
movd xmm5, dword [esi + 0xec]
mulss xmm0, xmm2
movaps xmm1, xmm3
mov eax, dword [0x10190774]
mulss xmm1, xmm3
movss dword [esp + 0x18], xmm6
cvtdq2ps xmm5, xmm5
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
movss dword [esp + 0x14], xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x1015bd40]
addss xmm0, dword [0x1015bc00]
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 0x100b2699
add eax, 0x59
jmp 0x100b269b
xor eax, eax
mov eax, dword [eax]
xor edi, edi
comiss xmm5, xmm0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movss xmm1, dword [esi + 0x104]
jbe 0x100b2c9a
mov eax, dword [esp + 0x28]
subss xmm1, xmm6
movaps xmm0, xmm2
mov dword [esp + 0x70], eax
mov eax, dword [0x10190060]
lea ecx, [esp + 0x80]
mov dword [esp + 0x7c], edi
mulss xmm0, xmm1
mov eax, dword [eax]
movss dword [esp + 0x38], xmm1
addss xmm0, xmm7
mov esi, dword [eax + 0x14]
lea eax, [esp + 0x54]
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x20]
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x60], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x24]
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x64], xmm0
call fcn.10058660
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [0x10190060]
push 0x4600400b
push eax
call esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100b27c4
movss xmm1, dword [0x1015bea0]
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0xd4]
push eax
addss xmm0, dword [esp + 0x50]
lea eax, [esp + 0x68]
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 + 0x5c]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x60]
movss dword [esp + 0x78], xmm0
call fcn.100b1df0
movss xmm0, dword [esp + 0xfc]
ucomiss xmm0, dword [0x1015bd40]
lahf
test ah, 0x44
jnp 0x100b2c9a
mulss xmm0, dword [esp + 0x38]
mov esi, dword [esp + 0x10]
movss xmm1, dword [esp + 0x18]
addss xmm1, xmm0
movss xmm0, dword [esi + 0x108]
movss dword [esp + 0x18], xmm1
mulss xmm1, dword [0x1015bc24]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_powf
cmp dword [esp + 0x24], 0
mulss xmm0, dword [esp + 0x14]
movss dword [esp + 0xc], xmm0
movss dword [esp + 0x14], xmm0
je 0x100b2932
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x100b2930
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
mov edi, dword [esp + 0x11c]
mov byte [esp + 0xb], al
cmp edi, dword [esp + 0x24]
je 0x100b28fd
test al, al
je 0x100b291f
mov ecx, dword fs:[0x2c]
mov eax, dword [0x10190030]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x10197e70]
cmp ecx, dword [esi + 4]
jle 0x100b28b2
push 0x10197e70
call fcn.100dfe87
mov ecx, dword [0x10197e70]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100b28b2
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
mov ecx, dword [0x10197e70]
add esp, 4
mov eax, dword [0x10197e5c]
mov edi, dword [edi + eax]
cmp ecx, dword [esi + 4]
jle 0x100b28ef
push 0x10197e70
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e70], 0xffffffff
jne 0x100b28ef
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197e5c]
mov ecx, dword [esp + 0x28]
cmp edi, dword [ecx + eax]
je 0x100b291b
mov esi, dword [esp + 0x114]
cmp esi, 1
jb 0x100b2912
cmp esi, 7
jbe 0x100b2a22
cmp esi, 0xa
je 0x100b2a22
mov esi, dword [esp + 0x10]
xor edi, edi
cmp byte [esp + 0xb], 0
cmovne edi, dword [esp + 0x11c]
jmp 0x100b2932
xor edi, edi
cmp byte [ebp + 0x18], 0
jne 0x100b2c9a
movss xmm1, dword [esp + 0x18]
comiss xmm1, dword [0x1015bffc]
jbe 0x100b295f
movss xmm0, dword [esi + 0xf8]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100b2c9a
mov ecx, dword [0x10190070]
movsx edx, word [esp + 0x110]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
movss xmm0, dword [0x1015bc64]
comiss xmm0, dword [eax + 0x58]
ja 0x100b2c9a
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push ecx
movss dword [esp], xmm0
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x48]
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esp + 0xe4]
push eax
push esi
push dword [esp + 0x44]
call fcn.100b2200
test al, al
je 0x100b2c9a
cmp byte [ebp + 0x2c], 0
movss xmm0, dword [esp + 0x14]
movss dword [esp + 0x14], xmm0
je 0x100b29dc
mov ecx, dword [esp + 0x1c]
cvttss2si eax, xmm0
mov dword [ecx + 4], eax
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100b2c9a
movss xmm4, dword [esp + 0x44]
movss xmm3, dword [esp + 0x40]
movss xmm2, dword [esp + 0x3c]
movss xmm7, dword [ebp + 0x1c]
movss xmm6, dword [esp + 0x18]
movss xmm1, dword [esp + 0x38]
movss dword [esp + 0xc], xmm4
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x34], xmm2
jmp 0x100b26c4
cmp byte [ebp + 0x18], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x11c]
mov dword [ecx], eax
mov eax, dword [esp + 0x120]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
je 0x100b2a4b
mov dword [ecx + 0xc], 0
xor esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword fs:[0x2c]
mov edi, dword [esp + 0x11c]
movss xmm0, dword [eax + 0xf0]
mov eax, dword [0x10190030]
movss dword [esp + 0x2c], xmm0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1019832c]
mov dword [esp + 0x10], ecx
cmp eax, dword [ecx + 4]
jle 0x100b2ab5
push 0x1019832c
call fcn.100dfe87
add esp, 4
cmp dword [0x1019832c], 0xffffffff
jne 0x100b2ab1
mov eax, dword [0x10197dc0]
push 0x1019832c
mov dword [0x10198330], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [0x10198330]
mov dl, byte [edi + eax]
lea eax, [esi - 1]
mov byte [esp + 0xb], dl
cmp eax, 6
ja case.0x100b2ac9.2
jmp dword [eax*4 + 0x100b2cb4]
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x1015bde0]
movss dword [esp + 0xc], xmm0
test dl, dl
je case.0x100b2ac9.2
mulss xmm0, dword [0x1015bce4]
jmp 0x100b2b10
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x1015bd5c]
jmp 0x100b2b10
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x1015bd14]
movss dword [esp + 0xc], xmm0
mov eax, dword [0x101980ac]
cmp eax, dword [ecx + 4]
jle 0x100b2b54
push 0x101980ac
call fcn.100dfe87
add esp, 4
cmp dword [0x101980ac], 0xffffffff
jne 0x100b2b50
mov eax, dword [0x10197dfc]
push 0x101980ac
mov dword [0x101980b4], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [0x101980b4]
mov eax, dword [edi + eax]
mov dword [esp + 0x20], eax
test eax, eax
je 0x100b2c73
cmp esi, 5
ja 0x100b2c73
cmp esi, 1
jne 0x100b2bc3
mov eax, dword [0x10198338]
cmp eax, dword [ecx + 4]
jle 0x100b2bb0
push 0x10198338
call fcn.100dfe87
add esp, 4
cmp dword [0x10198338], 0xffffffff
jne 0x100b2bb0
mov eax, dword [0x10197dec]
push 0x10198338
mov dword [0x10198334], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10198334]
cmp byte [edi + eax], 0
je 0x100b2c73
mov eax, dword [esp + 0x20]
cmp byte [esp + 0xb], 0
movss xmm3, dword [esp + 0x2c]
movss xmm4, dword [0x1015bce4]
mulss xmm3, xmm4
je 0x100b2bf6
mulss xmm3, dword [0x1015bc98]
movss xmm0, dword [0x1015bca0]
movss xmm4, dword [0x1015bcac]
jmp 0x100b2bfe
movss xmm0, dword [0x1015bd40]
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 0x100b2c4f
divss xmm5, xmm4
mov eax, dword [esp + 0x1c]
subss xmm2, xmm5
cvttss2si ecx, xmm2
mov dword [eax + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.100dfe28
mov esp, ebp
pop ebp
ret 0x28
mov eax, dword [esp + 0x1c]
movaps xmm2, xmm3
cvttss2si ecx, xmm2
mov dword [eax + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.100dfe28
mov esp, ebp
pop ebp
ret 0x28
movss xmm2, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
cvttss2si ecx, xmm2
mov dword [eax + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.100dfe28
mov esp, ebp
pop ebp
ret 0x28
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x1c]
pop edi
pop esi
xor ecx, esp
call fcn.100dfe28
mov esp, ebp
pop ebp
ret 0x28