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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
mov eax, dword [0x10155368]
xor eax, esp
mov dword [esp + 0x134], eax
mov ecx, dword [ebp + 0x10]
xorps xmm0, xmm0
movss xmm1, dword [0x101502f8]
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x14]
movss xmm6, dword [ebp + 0x1c]
movss xmm7, dword [ebp + 0x20]
mov dword [esp + 0x1c], eax
divss xmm1, dword [ecx + 0xf8]
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 + 0x24], eax
mov edx, dword [ebp + 0xc]
push esi
mov dword [eax], 4
mov eax, dword [ebp + 0x28]
push edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x100], 0
movss xmm3, dword [eax]
movss xmm4, dword [eax + 4]
maxss xmm1, xmm0
movss xmm5, dword [eax + 8]
subss xmm3, xmm6
subss xmm5, dword [ebp + 0x24]
movss dword [esp + 0x18], xmm0
subss xmm4, xmm7
movd xmm2, dword [ecx + 0xec]
movss dword [esp + 0x60], xmm1
movaps xmm0, xmm3
mov eax, dword [0x101cc3f4]
mulss xmm0, xmm3
movaps xmm1, xmm4
mulss xmm1, xmm4
cvtdq2ps xmm2, xmm2
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm5
movss dword [esp + 0x14], xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x10150270]
addss xmm0, dword [0x10150138]
divss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm3, xmm1
mulss xmm4, xmm1
mulss xmm5, xmm1
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x38], xmm4
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x34], xmm5
movss dword [esp + 0x4c], xmm5
movups xmmword [esp + 0xe0], xmm0
movups xmmword [esp + 0xf0], xmm0
test eax, eax
je 0x100a25a0
add eax, 0x59
jmp 0x100a25a2
xor eax, eax
mov eax, dword [eax]
xor esi, esi
comiss xmm2, dword [0x10150124]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x1c], esi
movss xmm1, dword [ecx + 0x104]
movss dword [esp + 0x30], xmm1
jbe 0x100a2be4
nop
subss xmm1, dword [esp + 0x18]
mov edi, dword [0x101cbe18]
lea ecx, [esp + 0x90]
movaps xmm0, xmm3
mov dword [esp + 0x8c], esi
mov dword [esp + 0x80], edx
mulss xmm0, xmm1
mov eax, dword [edi]
movss dword [esp + 0x5c], xmm1
addss xmm0, xmm6
mov esi, dword [eax + 0x14]
lea eax, [esp + 0x64]
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm0, xmm7
movss dword [esp + 0x60], xmm0
movss dword [esp + 0x70], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x24]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x74], xmm0
call fcn.10055e60
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0x80]
push ecx
push 0x4600400b
push eax
mov ecx, edi
call esi
mov esi, dword [esp + 0x50]
test esi, esi
je 0x100a26ec
movss xmm1, dword [0x101503bc]
lea eax, [esp + 0xe0]
movss xmm0, dword [esp + 0x3c]
mulss xmm0, xmm1
push esi
push eax
lea eax, [esp + 0x78]
addss xmm0, dword [esp + 0x5c]
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x48]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x68]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x44]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x38]
movss dword [esp + 0x88], xmm0
call fcn.100a1bf0
movss xmm0, dword [esp + 0x10c]
ucomiss xmm0, dword [0x10150270]
lahf
test ah, 0x44
jnp 0x100a2be4
mov ecx, dword [0x101cbe2c]
movsx edx, word [esp + 0x120]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov dword [esp + 0x28], eax
test esi, esi
je 0x100a2834
mov ecx, dword [esp + 0x12c]
test ecx, ecx
je 0x100a282c
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
mov edi, dword [esp + 0x12c]
mov byte [esp + 0x13], al
cmp edi, esi
je 0x100a27f9
test al, al
je 0x100a2817
mov ecx, dword fs:[0x2c]
mov eax, dword [0x101cbde8]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x101d39a0]
cmp ecx, dword [esi + 4]
jle 0x100a27ae
push 0x101d39a0
call fcn.100d1535
mov ecx, dword [0x101d39a0]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100a27ae
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
mov ecx, dword [0x101d39a0]
add esp, 4
mov eax, dword [0x101d3990]
mov edi, dword [edi + eax]
cmp ecx, dword [esi + 4]
jle 0x100a27eb
push 0x101d39a0
call fcn.100d1535
add esp, 4
cmp dword [0x101d39a0], 0xffffffff
jne 0x100a27eb
mov eax, dword [0x101d3888]
push 0x101d39a0
mov dword [0x101d3990], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3990]
mov ecx, dword [esp + 0x20]
cmp edi, dword [ecx + eax]
je 0x100a2817
mov ecx, dword [esp + 0x124]
cmp ecx, 1
jb 0x100a280e
cmp ecx, 7
jbe 0x100a295b
cmp ecx, 0xa
je 0x100a295b
xor esi, esi
cmp byte [esp + 0x13], 0
cmovne esi, dword [esp + 0x12c]
mov dword [esp + 0x1c], esi
jmp 0x100a2838
xor esi, esi
mov dword [esp + 0x1c], esi
jmp 0x100a2838
mov esi, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x10c]
mulss xmm1, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
addss xmm1, dword [esp + 0x18]
movss xmm0, dword [edi + 0x108]
movss dword [esp + 0x18], xmm1
mulss xmm1, dword [0x1015015c]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_powf
cmp byte [ebp + 0x18], 0
mulss xmm0, dword [esp + 0x14]
movss dword [esp + 0x14], xmm0
jne 0x100a2be4
movss xmm0, dword [esp + 0x18]
comiss xmm0, dword [0x101504d4]
jbe 0x100a28a6
movss xmm0, dword [edi + 0xf8]
comiss xmm0, dword [0x10150124]
ja 0x100a2be4
mov eax, dword [esp + 0x28]
movss xmm0, dword [0x10150198]
comiss xmm0, dword [eax + 0x58]
ja 0x100a2be4
movss xmm0, dword [esp + 0x60]
lea eax, [esp + 0x14]
push ecx
movss dword [esp], xmm0
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x50]
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esp + 0xf4]
push eax
push edi
push dword [esp + 0x3c]
call fcn.100a2030
test al, al
je 0x100a2be4
cmp byte [ebp + 0x2c], 0
movss xmm0, dword [esp + 0x14]
movss dword [esp + 0x14], xmm0
je 0x100a2911
mov ecx, dword [esp + 0x24]
cvttss2si eax, xmm0
mov dword [ecx + 4], eax
comiss xmm0, dword [0x10150124]
jbe 0x100a2be4
movss xmm5, dword [esp + 0x4c]
movss xmm4, dword [esp + 0x48]
movss xmm3, dword [esp + 0x44]
movss xmm7, dword [ebp + 0x20]
movss xmm6, dword [ebp + 0x1c]
movss xmm1, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
movss dword [esp + 0x34], xmm5
movss dword [esp + 0x38], xmm4
movss dword [esp + 0x3c], xmm3
jmp 0x100a25e0
cmp byte [ebp + 0x18], 0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x12c]
mov dword [edi], eax
mov eax, dword [esp + 0x130]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
je 0x100a2986
mov dword [edi + 0xc], 0
xor esi, esi
jmp 0x100a2988
mov esi, ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101cbde8]
movss xmm0, dword [ecx + 0xf0]
mov ecx, dword fs:[0x2c]
movss dword [esp + 0x2c], xmm0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d3f00]
mov dword [esp + 0x18], ecx
cmp eax, dword [ecx + 4]
jle 0x100a29f6
push 0x101d3f00
call fcn.100d1535
add esp, 4
cmp dword [0x101d3f00], 0xffffffff
jne 0x100a29f2
mov eax, dword [0x101d38d8]
push 0x101d3f00
mov dword [0x101d3f04], eax
call fcn.100d14eb
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, dword [0x101d3f04]
mov edx, dword [esp + 0x1c]
mov al, byte [edx + eax]
mov byte [esp + 0x13], al
lea eax, [esi - 1]
cmp eax, 6
ja case.0x100a2a0e.2
jmp dword [eax*4 + 0x100a2c00]
cmp byte [esp + 0x13], 0
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x101502fc]
movss dword [esp + 0x14], xmm0
je case.0x100a2a0e.2
mulss xmm0, dword [0x10150220]
jmp 0x100a2a58
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x1015028c]
jmp 0x100a2a58
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x1015024c]
movss dword [esp + 0x14], xmm0
mov eax, dword [0x101d3a8c]
cmp eax, dword [ecx + 4]
jle 0x100a2aa0
push 0x101d3a8c
call fcn.100d1535
add esp, 4
cmp dword [0x101d3a8c], 0xffffffff
jne 0x100a2a98
mov eax, dword [0x101d3914]
push 0x101d3a8c
mov dword [0x101d3a94], eax
call fcn.100d14eb
add esp, 4
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [0x101d3a94]
mov eax, dword [edx + eax]
mov dword [esp + 0x30], eax
test eax, eax
je 0x100a2bbf
cmp esi, 5
ja 0x100a2bbf
cmp esi, 1
jne 0x100a2b13
mov eax, dword [0x101d3f08]
cmp eax, dword [ecx + 4]
jle 0x100a2afc
push 0x101d3f08
call fcn.100d1535
add esp, 4
cmp dword [0x101d3f08], 0xffffffff
jne 0x100a2afc
mov eax, dword [0x101d3904]
push 0x101d3f08
mov dword [0x101d3f0c], eax
call fcn.100d14eb
add esp, 4
mov eax, dword [0x101d3f0c]
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + eax], 0
je 0x100a2bbf
mov eax, dword [esp + 0x30]
cmp byte [esp + 0x13], 0
movss xmm3, dword [esp + 0x2c]
movss xmm4, dword [0x10150220]
mulss xmm3, xmm4
je 0x100a2b46
mulss xmm3, dword [0x101501d0]
movss xmm0, dword [0x101501dc]
movss xmm4, dword [0x101501ec]
jmp 0x100a2b4e
movss xmm0, dword [0x10150270]
movss xmm2, dword [esp + 0x14]
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 0x100a2b9d
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 + 0x134]
xor ecx, esp
call fcn.100d1418
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 + 0x134]
xor ecx, esp
call fcn.100d1418
mov esp, ebp
pop ebp
ret 0x28
movss xmm2, dword [esp + 0x14]
mov eax, edi
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.100d1418
mov esp, ebp
pop ebp
ret 0x28
mov ecx, dword [esp + 0x13c]
mov eax, dword [esp + 0x24]
pop edi
pop esi
xor ecx, esp
call fcn.100d1418
mov esp, ebp
pop ebp
ret 0x28