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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1b8
push esi
push edi
mov edi, ecx
mov dword [esp + 0x40], edx
mov ecx, dword [0x101e671c]
xorps xmm3, xmm3
mov dword [esp + 0x1c], 4
xorps xmm0, xmm0
movss dword [esp + 0x28], xmm3
mov eax, dword [edi]
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x44], eax
cmp eax, ecx
jne 0x100da398
ucomiss xmm0, dword [edi + 8]
mov eax, dword [0x101e6780]
mov esi, dword [0x101ede38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], esi
lahf
test ah, 0x44
jp 0x100da394
ucomiss xmm0, dword [edi + 0xc]
lahf
test ah, 0x44
jp 0x100da394
ucomiss xmm0, dword [edi + 0x10]
lahf
test ah, 0x44
jp 0x100da394
movq xmm2, qword [edi + 8]
mov ecx, dword [edi + 0x10]
jmp 0x100da418
push 1
jmp 0x100da404
mov edx, 0xe80c2f78
mov ecx, 0x10170e2d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [esp + 0x44]
mov ecx, dword [0x101e66e4]
mov edx, dword [eax + edx]
mov eax, dword [ecx]
and edx, 0xfff
push edx
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x48], eax
test eax, eax
je 0x100dad8e
mov ecx, dword [eax]
mov edx, dword [ecx + 0x734]
mov ecx, eax
call edx
mov esi, eax
mov dword [esp + 0x30], esi
test esi, esi
je 0x100dad8e
mov ecx, dword [edi]
push 0
lea eax, [esp + 0x1b8]
push eax
call fcn.1000c770
mov ecx, dword [eax + 8]
movq xmm2, qword [eax]
movss xmm1, dword [edi + 0x18]
movss xmm0, dword [esi + 0x100]
movq qword [esp + 0x34], xmm2
movss xmm5, dword [esp + 0x38]
movss xmm4, dword [esp + 0x34]
subss xmm1, xmm5
movss dword [esp + 0x44], xmm0
movss xmm0, dword [edi + 0x14]
movd xmm7, dword [esi + 0xf0]
subss xmm0, xmm4
mov dword [esp + 0x3c], ecx
movss dword [esp + 0x20], xmm1
movss xmm1, dword [edi + 0x1c]
subss xmm1, dword [esp + 0x3c]
movss dword [esp + 0x2c], xmm0
cvtdq2ps xmm7, xmm7
mov dword [esp + 0x58], 0
movss dword [esp + 0x18], xmm1
movaps xmm1, xmm0
mulss xmm1, xmm0
movss xmm0, dword [esp + 0x20]
movaps xmm6, xmm0
movss dword [esp + 0x14], xmm7
mulss xmm0, xmm6
addss xmm1, xmm0
movss xmm0, dword [esp + 0x18]
movaps xmm3, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
movss dword [esp + 0x10], xmm1
sqrtss xmm0, dword [esp + 0x10]
movss dword [esp + 0x58], xmm0
mov dword [esp + 0x58], 0
movss dword [esp + 0x10], xmm1
sqrtss xmm0, dword [esp + 0x10]
movss dword [esp + 0x58], xmm0
comiss xmm7, dword [0x1017f060]
mov dword [esp + 0x50], vtable.trace_filter.0
movss xmm0, dword [esp + 0x58]
addss xmm0, dword [0x1017f07c]
movss xmm1, dword [esp + 0x2c]
divss xmm3, xmm0
divss xmm1, xmm0
divss xmm6, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0x28]
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmm1
mov eax, dword [esp + 0x7c]
unpcklps xmm0, xmm6
mov dword [esp + 0x104], eax
mov eax, dword [edi]
movss dword [esp + 0x20], xmm6
movss xmm6, dword [esp + 0x3c]
movss dword [esp + 0x2c], xmm1
movq qword [esp + 0xfc], xmm0
mov dword [esp + 0x54], eax
jbe 0x100dad8e
nop word [eax + eax]
movss xmm7, dword [esi + 0x10c]
movaps xmm0, xmm1
mov eax, dword [0x101ede18]
subss xmm7, xmm3
movss xmm3, dword [esp + 0x18]
movss xmm1, dword [esp + 0x20]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x160]
mov eax, dword [eax]
mulss xmm3, xmm7
mov dword [esp + 0x168], 0
mulss xmm0, xmm7
mov esi, dword [eax + 0x14]
addss xmm3, xmm6
mulss xmm1, xmm7
mov dword [esp + 0x164], 0
addss xmm0, xmm4
movss dword [esp + 0xc], xmm7
movq qword [esp + 0x74], xmm2
addss xmm1, xmm5
mov dword [esp + 0x160], 0
movss dword [esp + 0x60], xmm3
mov eax, dword [esp + 0x60]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xf0]
push eax
movss dword [esp + 0x28], xmm0
lea eax, [esp + 0x78]
unpcklps xmm0, xmm1
push eax
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x18], xmm3
movq qword [esp + 0xf8], xmm0
mov dword [esp + 0x180], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x198], 0
call fcn.1000af80
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x54]
push eax
mov eax, ecx
mov ecx, dword [0x101ede18]
push 0x4600400b
push eax
call esi
movss xmm0, dword [esp + 0xc4]
ucomiss xmm0, dword [0x1017f158]
lahf
test ah, 0x44
jnp 0x100dad8e
movss xmm0, dword [esp + 0x2c]
movss xmm1, dword [0x1017f27c]
mov eax, dword [edi + 4]
mulss xmm0, xmm1
push ecx
addss xmm0, dword [esp + 0x28]
test eax, eax
je 0x100da727
movss dword [esp + 0x84], xmm0
lea edx, [esp + 0x84]
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0xa0]
push eax
addss xmm0, dword [esp + 0x58]
push ecx
lea ecx, [esp + 0x44]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x20]
movss dword [esp + 0x98], xmm0
call fcn.100d92c0
jmp 0x100da780
movss dword [esp + 0x90], xmm0
lea eax, [esp + 0x9c]
movss xmm0, dword [esp + 0x24]
lea edx, [esp + 0x90]
mulss xmm0, xmm1
push eax
lea eax, [esp + 0x58]
push eax
addss xmm0, dword [esp + 0x58]
push ecx
lea ecx, [esp + 0x44]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x20]
movss dword [esp + 0xa4], xmm0
call fcn.100d8d70
movss xmm1, dword [esp + 0xd4]
add esp, 0x10
mulss xmm1, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
addss xmm1, dword [esp + 0x28]
movss xmm0, dword [eax + 0x110]
cvtps2pd xmm0, xmm0
divss xmm1, dword [0x1017f370]
cvtps2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
cmp dword [edi + 4], 0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 0x14]
movss dword [esp + 0x14], xmm0
je 0x100da90a
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100da9f9
mov ecx, dword [0x101e66dc]
mov eax, dword [edi]
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x100da827
mov edx, 0xe80c2f78
mov ecx, 0x1017088d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x101e66dc], ecx
add eax, ecx
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x100da864
mov edx, 0xe80c2f78
mov ecx, 0x1017088d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x101e66dc], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, dword [edx + ecx]
jne 0x100da884
mov ecx, dword [0x101edeb8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x100da9f9
mov eax, dword [esp + 0xdc]
cmp eax, 1
jl 0x100da895
cmp eax, 7
jle 0x100da89e
cmp eax, 0xa
jne 0x100da9f9
mov ecx, dword [esp + 0x48]
call fcn.1000ad00
mov esi, dword [esp + 0xdc]
xor ecx, ecx
movss xmm1, dword [esp + 0x14]
cmp word [eax], 0x1f
mov eax, dword [esp + 0x30]
cmove esi, ecx
mov ecx, dword [edi + 4]
mov edx, esi
movss xmm3, dword [eax + 0xf8]
movss xmm2, dword [eax + 0xf4]
call fcn.100d9ce0
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x1c], 4
setne al
mov byte [edx + 0xc], al
mov dword [edx + 8], esi
movss dword [edx + 4], xmm0
mov eax, dword [edi + 4]
mov dword [edx], eax
jne 0x100dad81
comiss xmm0, dword [edi + 0x20]
setae al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x1c], 4
mov ecx, dword [esp + 0x40]
setne al
mov byte [esp + 0xb], al
mov byte [ecx + 0xc], al
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100da9f0
mov ecx, dword [0x101e66dc]
mov eax, dword [edi]
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x100da973
mov edx, 0xe80c2f78
mov ecx, 0x1017088d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x101e66dc], ecx
add eax, ecx
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x100da9b0
mov edx, 0xe80c2f78
mov ecx, 0x1017088d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x101e66dc], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, dword [edx + ecx]
jne 0x100da9cc
mov ecx, dword [0x101edeb8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x100da9ea
mov eax, dword [esp + 0xdc]
cmp eax, 1
jl 0x100da9e1
cmp eax, 7
jle 0x100dad18
cmp eax, 0xa
je 0x100dad18
movss xmm0, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
movss dword [eax + 4], xmm0
cmp byte [edi + 0x28], 0
je 0x100dad8e
mov ecx, dword [0x101edf00]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
movsx eax, word [esp + 0xd8]
push eax
call edx
movss xmm0, dword [0x1017f0d0]
mov esi, eax
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], esi
comiss xmm0, dword [esi + 0x58]
movzx esi, word [esi + 0x60]
cmova edx, eax
mov al, byte [esp + 0xda]
shr al, 7
shr ecx, 3
and al, 1
and ecx, 0xffffff01
mov dword [esp + 0x1c], edx
mov byte [esp + 0xb], al
mov dword [esp + 0xc], ecx
test edx, edx
jne 0x100daa7a
test al, al
jne 0x100daa7a
test cl, cl
jne 0x100daa7a
cmp esi, 0x47
je 0x100daa7a
cmp esi, 0x59
jne 0x100dad8e
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x44]
jae 0x100dad8e
test edx, edx
jle 0x100dad8e
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x70]
push eax
lea edx, [esp + 0x108]
lea ecx, [esp + 0xb0]
call fcn.100d9690
add esp, 0xc
test al, al
jne 0x100daae1
mov ecx, dword [0x101ede18]
lea edx, [esp + 0x68]
push 0x600400b
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test eax, 0x600400b
je 0x100dad8e
mov ecx, dword [0x101edf00]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
movsx eax, word [esp + 0x148]
push eax
call edx
movzx edx, word [eax + 0x60]
mov ecx, edx
cmp esi, 0x47
je 0x100dab66
cmp esi, 0x59
je 0x100dab66
cmp byte [esp + 0xb], 0
jne 0x100dab43
cmp byte [esp + 0xc], 0
jne 0x100dab43
movss xmm2, dword [eax + 0x58]
mov eax, dword [esp + 0x10]
movss xmm0, dword [0x1017f0d8]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [0x1017f1f0]
addss xmm2, dword [eax + 0x58]
mulss xmm2, dword [0x1017f114]
jmp 0x100dab7f
movss xmm0, dword [0x1017f0d8]
movss xmm4, dword [0x1017f158]
movss dword [esp + 0x24], xmm0
movaps xmm2, xmm4
movss xmm0, dword [0x1017f1f0]
jmp 0x100dab87
movss xmm0, dword [0x1017f1f0]
movss xmm1, dword [0x1017f0bc]
movaps xmm2, xmm0
movss dword [esp + 0x24], xmm1
movss xmm4, dword [0x1017f158]
cmp esi, ecx
jne 0x100daba7
cmp ecx, 0x55
je 0x100daba4
cmp ecx, 0x57
je 0x100daba4
cmp edx, 0x4c
jne 0x100daba7
movss xmm2, dword [0x1017f1b4]
jmp 0x100daba7
movaps xmm2, xmm0
movss xmm1, dword [esp + 0x114]
sub esp, 8
movss xmm3, dword [esp + 0x120]
subss xmm3, dword [esp + 0xb0]
subss xmm1, dword [esp + 0xac]
movss xmm0, dword [esp + 0x124]
subss xmm0, dword [esp + 0xb4]
divss xmm4, xmm2
mov dword [esp + 4], 0
mulss xmm3, xmm3
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm3, xmm1
movss dword [esp], xmm4
addss xmm3, xmm0
movss dword [esp + 0x30], xmm3
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmaxf]
movss xmm0, dword [esp + 0x4c]
movsd xmm1, qword [0x1017f1c8]
cvtps2pd xmm0, xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push ecx
fstp dword [esp + 0x1c]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmaxf]
movss xmm0, dword [esp + 0x1c]
add esp, 4
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x1017f1f0]
movss xmm2, dword [esp + 0x2c]
mulss xmm2, dword [esp + 0x1c]
mulss xmm1, xmm0
mulss xmm0, dword [esp + 0x30]
addss xmm1, xmm2
divss xmm0, dword [0x1017f258]
addss xmm1, xmm0
movss dword [esp], xmm1
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmaxf]
movss xmm1, dword [esp + 0x1c]
xorps xmm3, xmm3
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
add esp, 8
maxss xmm0, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x1017f158]
comiss xmm0, xmm1
movss dword [esp + 0x14], xmm1
ja 0x100dad8e
movq xmm2, qword [esp + 0x114]
dec dword [esp + 0x1c]
comiss xmm1, xmm3
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x3c], ecx
movq qword [esp + 0x34], xmm2
jbe 0x100dad8e
movss xmm6, dword [esp + 0x3c]
movss xmm5, dword [esp + 0x38]
movss xmm4, dword [esp + 0x34]
movss xmm3, dword [esp + 0x28]
movss xmm1, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
jmp 0x100da560
mov ecx, dword [esp + 0x48]
call fcn.1000ad00
mov esi, dword [esp + 0xdc]
xor ecx, ecx
movss xmm1, dword [esp + 0x14]
cmp word [eax], 0x1f
mov eax, dword [esp + 0x30]
cmove esi, ecx
mov ecx, dword [edi + 4]
mov edx, esi
movss xmm3, dword [eax + 0xf8]
movss xmm2, dword [eax + 0xf4]
call fcn.100d9ce0
cmp dword [esp + 0x1c], 4
mov ecx, dword [esp + 0x40]
mov al, byte [esp + 0xb]
mov byte [ecx + 0xc], al
mov dword [ecx + 8], esi
movss dword [ecx + 4], xmm0
mov eax, dword [edi + 4]
mov dword [ecx], eax
jne 0x100dad81
comiss xmm0, dword [edi + 0x20]
setae al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
comiss xmm0, dword [edi + 0x24]
setae al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret