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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
movss xmm0, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x30]
mov ecx, dword [0x102a2000]
xor ecx, ebp
mov dword [esp + 0x28], ecx
and ebx, 1
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 8
sete byte [esp + 0xf]
ucomiss xmm0, dword [0x10147700]
setp dl
setne al
or al, dl
mov byte [esp + 0x50], al
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x20]
mov eax, edx
sub eax, esi
mov edi, dword [ebp + 0x24]
sbb edi, dword [ebp + 0x1c]
sub esi, edx
mov edx, dword [ebp + 0x1c]
sbb edx, dword [ebp + 0x24]
mov dword [esp + 0x24], eax
cmovb esi, eax
mov dword [esp + 0x20], edi
cmovb edx, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x168], eax
mov eax, dword [ebp + 8]
movss xmm7, dword [eax + ebx*4]
mov dword [esp + 0x28], ebx
movss xmm5, dword [eax + ebx*4 + 8]
movaps xmm2, xmm5
subss xmm2, xmm7
addss xmm2, dword [0x10149270]
mov ebx, dword [0x102a2d10]
movss xmm6, dword [ebx + 0x1588]
mov dword [esp + 0x2c], ecx
cmp ecx, 8
mov dword [esp + 0x4c], edx
je 0x100d3645
test edx, edx
js 0x100d3645
mov ecx, esi
add ecx, 1
adc edx, 0
movd xmm0, edx
movd xmm1, ecx
punpckldq xmm1, xmm0
movq qword [esp + 0x158], xmm1
fild qword [esp + 0x158]
fstp dword [esp + 0x10c]
movaps xmm0, xmm2
divss xmm0, dword [esp + 0x10c]
movaps xmm1, xmm6
cmpless xmm1, xmm0
andps xmm0, xmm1
andnps xmm1, xmm6
orps xmm1, xmm0
movaps xmm6, xmm1
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x24]
movzx eax, byte [esp + 0xf]
and al, byte [esp + 0x50]
minss xmm6, xmm2
addss xmm7, dword [0x10149034]
movss xmm4, dword [0x10147680]
mulss xmm4, xmm6
addss xmm7, xmm4
mov edx, dword [ebp + 0xc]
cmp dword [ebx + 0x1a3c], edx
mov byte [esp + 0xf], al
jne 0x100d383c
mov eax, dword [ebx + 0x1a6c]
cmp eax, 2
je 0x100d384c
cmp eax, 1
mov esi, dword [ebp + 0x20]
jne 0x100d38a6
cmp byte [ebx + 0xf0], 0
je 0x100d3a60
movaps xmm0, xmm2
subss xmm0, xmm6
xorps xmm3, xmm3
ucomiss xmm0, xmm3
jbe 0x100d36e6
mov eax, dword [esp + 0x28]
movss xmm3, dword [ebx + eax*4 + 0xe8]
subss xmm3, xmm7
divss xmm3, xmm0
movss xmm0, dword [0x10147700]
minss xmm0, xmm3
xorps xmm1, xmm1
cmpltss xmm3, xmm1
andnps xmm3, xmm0
cmp dword [esp + 0x28], 0
je 0x100d36fc
movss xmm0, dword [0x10147700]
subss xmm0, xmm3
movaps xmm3, xmm0
movzx eax, byte [esp + 0xf]
mov ebx, dword [ebp + 0x1c]
test al, al
movss dword [esp + 0x10], xmm5
movaps xmmword [esp + 0x80], xmm6
movss dword [esp + 0x18], xmm7
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x1c], xmm2
je 0x100d3ab5
xorps xmm0, xmm0
ucomiss xmm0, xmm3
jbe 0x100d3bd3
divss xmm3, xmm0
movss xmm0, dword [0x10147700]
subss xmm0, xmm3
movss xmm1, dword [ebp + 0x2c]
cvtss2sd xmm1, xmm1
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
add esp, 0x10
fstp dword [esp + 0xe4]
mov eax, ebx
mov ebx, edi
movd xmm0, edi
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [esp + 0x118], xmm0
fild qword [esp + 0x118]
fnstcw word [esp + 0x48]
movzx ecx, word [esp + 0x48]
or ecx, 0x300
mov word [esp + 0x7c], cx
fldcw word [esp + 0x7c]
shr eax, 0x1f
fadd dword [eax*4 + 0x10152ef8]
fldcw word [esp + 0x48]
fstp dword [esp + 0xe0]
movss xmm0, dword [esp + 0xe0]
mulss xmm0, dword [esp + 0xe4]
addss xmm0, dword [0x10147b30]
movss xmm1, dword [0x10152f48]
ucomiss xmm0, xmm1
jae 0x100d37e9
xorps xmm1, xmm1
subss xmm0, xmm1
movss dword [esp + 0x98], xmm0
setae al
fld dword [esp + 0x98]
fnstcw word [esp + 0x46]
movzx ecx, word [esp + 0x46]
or ecx, 0xc00
mov word [esp + 0x7a], cx
fldcw word [esp + 0x7a]
fistp qword [esp + 0x98]
fldcw word [esp + 0x46]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jmp 0x100d3e87
mov dword [esp + 0x50], 0
mov ebx, dword [ebp + 0x1c]
jmp 0x100d40cd
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x18], xmm7
movaps xmmword [esp + 0x80], xmm6
movss dword [esp + 0x10], xmm5
sub esp, 0x14
movaps xmm0, xmmword [0x10152f30]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0x174]
mov dword [esp], eax
call fcn.100b2160
add esp, 0x14
cmp dword [esp + 0x28], 0
je 0x100d38b3
movss xmm0, dword [esp + 0x164]
xorps xmm0, xmmword [0x10146bb0]
jmp 0x100d38bc
mov dword [esp + 0x50], 0
jmp 0x100d3ee6
movss xmm0, dword [esp + 0x160]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0xc]
cmp dword [ebx + 0x1b4c], eax
movss xmm5, dword [esp + 0x10]
movaps xmm6, xmmword [esp + 0x80]
movss xmm7, dword [esp + 0x18]
movss xmm4, dword [esp + 0x14]
movss xmm2, dword [esp + 0x1c]
jne 0x100d38f7
cmp byte [ebx + 0x1a48], 0
je 0x100d3d1c
movaps xmmword [esp + 0x50], xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [esp + 0x50]
ucomiss xmm0, xmm1
movaps xmm1, xmmword [esp + 0x50]
mov ebx, dword [ebp + 0x1c]
jne 0x100d3922
jnp 0x100d40c3
mov eax, dword [ebp + 0x20]
xor eax, edi
mov ecx, edx
xor ecx, ebx
or ecx, eax
je 0x100d3f5d
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
cmp eax, ecx
mov eax, ebx
sbb eax, edx
mov eax, edx
cmovb eax, ebx
cmovb ecx, dword [ebp + 0x18]
cmp dword [ebp + 0x20], edi
mov edi, edx
sbb edx, ebx
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov dword [esp + 0xc0], edx
mov edx, edi
mov edi, dword [ebp + 0x14]
cmovb edx, ebx
mov dword [esp + 0xd4], edx
mov ebx, dword [ebp + 0x20]
cmovb ebx, dword [ebp + 0x18]
cmp dword [esp + 0xc0], ecx
mov edi, dword [edi + 4]
mov edx, edi
sbb edx, eax
jb 0x100d399f
mov ecx, dword [esp + 0xc0]
cmp ecx, ebx
mov eax, edi
mov edx, dword [esp + 0xd4]
sbb eax, edx
cmovb edx, edi
cmovb ebx, ecx
mov ecx, ebx
mov eax, edx
sub ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x1c]
sbb eax, ebx
cmp byte [esp + 0xf], 0
mov edi, dword [ebp + 0x28]
je 0x100d3eee
push dword [esp + 0x20]
push dword [esp + 0x28]
push eax
push ecx
call fcn.100ea1a0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x150], xmm1
fild qword [esp + 0x150]
fnstcw word [esp + 0x4a]
movzx eax, word [esp + 0x4a]
or eax, 0x300
mov word [esp + 0x7e], ax
fldcw word [esp + 0x7e]
shr edx, 0x1f
fadd dword [edx*4 + 0x10152ef8]
fldcw word [esp + 0x4a]
fstp dword [esp + 0x108]
movss xmm0, dword [esp + 0x108]
movss xmm1, dword [0x10147700]
divss xmm1, dword [ebp + 0x2c]
cvtss2sd xmm1, xmm1
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
add esp, 0x10
fstp dword [esp + 0x104]
xorps xmm0, xmm0
addss xmm0, dword [esp + 0x104]
movaps xmmword [esp + 0xc0], xmm0
jmp 0x100d3f67
movss dword [esp + 0x10], xmm5
movaps xmmword [esp + 0x80], xmm6
movss dword [esp + 0x18], xmm7
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x1c], xmm2
call fcn.100a04f0
movss xmm2, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x24]
movss xmm4, dword [esp + 0x14]
movss xmm7, dword [esp + 0x18]
movaps xmm6, xmmword [esp + 0x80]
movss xmm5, dword [esp + 0x10]
mov dword [esp + 0x50], 0
jmp 0x100d3ee6
cmp dword [esp + 0x2c], 8
jne 0x100d3d4c
mov edx, ebx
mov ebx, edi
movd xmm0, edi
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [esp + 0x138], xmm0
fild qword [esp + 0x138]
fnstcw word [esp + 0x3e]
movzx eax, word [esp + 0x3e]
or eax, 0x300
mov word [esp + 0x72], ax
mov eax, edx
fldcw word [esp + 0x72]
shr eax, 0x1f
fadd dword [eax*4 + 0x10152ef8]
fldcw word [esp + 0x3e]
fstp dword [esp + 0xf8]
movd xmm0, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0x130], xmm0
fild qword [esp + 0x130]
fnstcw word [esp + 0x3c]
movzx eax, word [esp + 0x3c]
or eax, 0x300
mov word [esp + 0x70], ax
mov eax, ecx
fldcw word [esp + 0x70]
shr eax, 0x1f
fadd dword [eax*4 + 0x10152ef8]
fldcw word [esp + 0x3c]
fstp dword [esp + 0xf4]
mulss xmm3, dword [esp + 0xf4]
addss xmm3, dword [esp + 0xf8]
movss xmm0, dword [0x10152f48]
ucomiss xmm3, xmm0
jae 0x100d3b80
xorps xmm0, xmm0
subss xmm3, xmm0
movss dword [esp + 0xa8], xmm3
setae al
fld dword [esp + 0xa8]
fnstcw word [esp + 0x3a]
movzx ecx, word [esp + 0x3a]
or ecx, 0xc00
mov word [esp + 0x6e], cx
fldcw word [esp + 0x6e]
fistp qword [esp + 0xa8]
fldcw word [esp + 0x3a]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp 0x100d3e87
movss xmm0, dword [ebp + 0x2c]
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm3
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
add esp, 0x10
fstp dword [esp + 0xf0]
mov ecx, ebx
mov ebx, edi
movd xmm0, edi
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0x128], xmm0
fild qword [esp + 0x128]
fnstcw word [esp + 0x44]
movzx eax, word [esp + 0x44]
or eax, 0x300
mov word [esp + 0x78], ax
mov eax, ecx
fldcw word [esp + 0x78]
shr eax, 0x1f
fadd dword [eax*4 + 0x10152ef8]
fldcw word [esp + 0x44]
fstp dword [esp + 0xec]
movd xmm0, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0x120], xmm0
fild qword [esp + 0x120]
fnstcw word [esp + 0x42]
movzx eax, word [esp + 0x42]
or eax, 0x300
mov word [esp + 0x76], ax
mov eax, ecx
fldcw word [esp + 0x76]
shr eax, 0x1f
fadd dword [eax*4 + 0x10152ef8]
fldcw word [esp + 0x42]
fstp dword [esp + 0xe8]
movss xmm0, dword [esp + 0xe8]
mulss xmm0, dword [esp + 0xf0]
addss xmm0, dword [esp + 0xec]
movss xmm1, dword [0x10152f48]
ucomiss xmm0, xmm1
jae 0x100d3cc9
xorps xmm1, xmm1
subss xmm0, xmm1
movss dword [esp + 0xa0], xmm0
setae al
fld dword [esp + 0xa0]
fnstcw word [esp + 0x40]
movzx ecx, word [esp + 0x40]
or ecx, 0xc00
mov word [esp + 0x74], cx
fldcw word [esp + 0x74]
fistp qword [esp + 0xa0]
fldcw word [esp + 0x40]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
jmp 0x100d3e87
call fcn.100a04f0
movss xmm2, dword [esp + 0x1c]
mov edx, dword [ebp + 0x24]
movss xmm4, dword [esp + 0x14]
movss xmm7, dword [esp + 0x18]
movaps xmm6, xmmword [esp + 0x80]
movss xmm5, dword [esp + 0x10]
mov ebx, dword [ebp + 0x1c]
jmp 0x100d40c3
movd xmm0, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [esp + 0x140], xmm0
fild qword [esp + 0x140]
fnstcw word [esp + 0x38]
movzx ecx, word [esp + 0x38]
or ecx, 0x300
mov word [esp + 0x6c], cx
fldcw word [esp + 0x6c]
shr eax, 0x1f
fadd dword [eax*4 + 0x10152ef8]
fldcw word [esp + 0x38]
fstp dword [esp + 0xfc]
mulss xmm3, dword [esp + 0xfc]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
movss xmm1, dword [0x10152f48]
ucomiss xmm3, xmm1
jae 0x100d3dbb
xorps xmm1, xmm1
subss xmm3, xmm1
movss dword [esp + 0xb0], xmm3
setae al
fld dword [esp + 0xb0]
fnstcw word [esp + 0x36]
movzx ecx, word [esp + 0x36]
or ecx, 0xc00
mov word [esp + 0x6a], cx
fldcw word [esp + 0x6a]
fistp qword [esp + 0xb0]
fldcw word [esp + 0x36]
movzx ecx, al
shl ecx, 0x1f
xor ecx, dword [esp + 0xb4]
addsd xmm0, qword [0x10152f40]
mov edx, dword [esp + 0xb0]
movsd xmm1, qword [0x10152f50]
ucomisd xmm0, xmm1
jae 0x100d3e23
xorpd xmm1, xmm1
subsd xmm0, xmm1
movsd qword [esp + 0xb8], xmm0
setae al
fld qword [esp + 0xb8]
fnstcw word [esp + 0x34]
movzx esi, word [esp + 0x34]
or esi, 0xc00
mov word [esp + 0x68], si
fldcw word [esp + 0x68]
fistp qword [esp + 0xb8]
fldcw word [esp + 0x34]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
cmp esi, edx
mov edi, eax
sbb edi, ecx
cmovb eax, ecx
cmovb esi, edx
mov edi, dword [ebp + 0x18]
mov ebx, edi
add esi, edi
adc eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x28]
push eax
push esi
push ecx
push edi
call fcn.100e00c0
add esp, 0x10
mov edi, dword [ebp + 0x14]
mov ecx, dword [edi + 4]
xor ecx, edx
mov esi, dword [edi]
xor esi, eax
or esi, ecx
jne 0x100d3eb3
mov dword [esp + 0x50], 0
jmp 0x100d3ebe
mov dword [edi], eax
mov dword [edi + 4], edx
mov al, 1
mov dword [esp + 0x50], eax
movss xmm5, dword [esp + 0x10]
movaps xmm6, xmmword [esp + 0x80]
movss xmm7, dword [esp + 0x18]
movss xmm4, dword [esp + 0x14]
mov esi, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
movss xmm2, dword [esp + 0x1c]
mov edi, ebx
mov ebx, dword [ebp + 0x1c]
jmp 0x100d40d0
movd xmm1, ecx
movd xmm0, eax
punpckldq xmm1, xmm0
movdqa xmm2, xmmword [0x10152f00]
punpckldq xmm1, xmm2
movapd xmm3, xmmword [0x10152f10]
subpd xmm1, xmm3
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
movd xmm1, dword [esp + 0x24]
movd xmm4, dword [esp + 0x20]
punpckldq xmm1, xmm4
movss xmm4, dword [esp + 0x14]
punpckldq xmm1, xmm2
subpd xmm1, xmm3
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
movaps xmm1, xmmword [esp + 0x50]
divsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movaps xmmword [esp + 0xc0], xmm0
cmp dword [esp + 0x2c], 8
jne 0x100d3f9b
mov edi, dword [ebp + 0x28]
push 3
push edi
call fcn.100d5ee0
add esp, 8
test eax, eax
setg al
movss xmm5, dword [esp + 0x10]
movaps xmm6, xmmword [esp + 0x80]
movss xmm7, dword [esp + 0x18]
movss xmm4, dword [esp + 0x14]
mov edi, dword [ebp + 0x18]
movaps xmm1, xmmword [esp + 0x50]
jmp 0x100d3fa0
xor eax, eax
mov edi, dword [ebp + 0x18]
or al, byte [esp + 0xf]
cmp al, 1
jne 0x100d3fdf
divss xmm1, dword [0x10147aa8]
mov eax, dword [0x102a2d10]
movss xmm0, dword [eax + 0x33c]
movaps xmm2, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov edx, dword [ebp + 0x24]
jbe 0x100d4056
divss xmm2, dword [0x10149604]
movaps xmm1, xmm2
jmp 0x100d4068
movd xmm0, esi
mov eax, dword [esp + 0x4c]
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [esp + 0x148], xmm0
fild qword [esp + 0x148]
fstp dword [esp + 0x100]
movss xmm0, dword [esp + 0x100]
add esi, 0x64
adc eax, 0
cmp esi, 0xc9
sbb eax, 0
mov eax, dword [0x102a2d10]
mov edx, dword [ebp + 0x24]
jb 0x100d4039
movss xmm1, dword [eax + 0x33c]
xorpd xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x100d405b
pxor xmm1, xmm1
xor ecx, ecx
ucomiss xmm1, dword [esp + 0x50]
seta cl
movss xmm1, dword [ecx*4 + 0x1014bfb8]
divss xmm1, xmm0
jmp 0x100d4068
movaps xmm1, xmm2
jmp 0x100d4068
movaps xmm1, xmmword [esp + 0x50]
divss xmm1, dword [0x10147aa8]
movss xmm2, dword [0x10149604]
mulss xmm2, xmm1
xorpd xmm3, xmm3
xorps xmm0, xmm0
cmpltss xmm0, dword [eax + 0x340]
andps xmm2, xmm0
andnps xmm0, xmm1
orps xmm0, xmm2
movaps xmm2, xmmword [esp + 0xc0]
ucomiss xmm2, dword [0x10147700]
movss xmm2, dword [esp + 0x1c]
jb 0x100d40a9
ucomiss xmm0, xmm3
ja 0x100d40c3
ucomiss xmm3, dword [esp + 0xc0]
jb 0x100d439b
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jbe 0x100d439b
mov ecx, edx
mov dword [esp + 0x50], 0
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp + 0x34]
movss xmm0, dword [0x10147700]
ucomiss xmm0, xmm2
jbe 0x100d40f5
mov eax, dword [ebp + 8]
movdqu xmm0, xmmword [eax]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [edx], xmm0
jmp 0x100d4381
mov eax, esi
xor eax, edi
mov edx, ecx
xor ecx, ebx
or ecx, eax
addss xmm5, dword [0x10149278]
xorpd xmm1, xmm1
je 0x100d42bb
cmp edi, esi
mov eax, ebx
sbb eax, edx
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, edx
cmovb eax, ebx
mov dword [esp + 0x10], eax
mov eax, edi
mov ecx, esi
mov esi, dword [ebp + 0x14]
mov esi, dword [esi + 4]
mov dword [esp + 0x4c], esi
mov esi, ecx
cmovb esi, edi
cmp ecx, edi
mov edi, ebx
mov ebx, edx
sbb ebx, edi
cmovb edx, edi
mov edi, eax
mov eax, dword [esp + 0x10]
cmovb ecx, edi
cmp dword [esp + 0x2c], esi
mov ebx, dword [esp + 0x4c]
sbb ebx, eax
jb 0x100d4174
mov esi, dword [esp + 0x2c]
cmp esi, ecx
mov ebx, dword [esp + 0x4c]
mov eax, ebx
sbb eax, edx
cmovb edx, ebx
cmovb ecx, esi
mov esi, ecx
mov eax, edx
sub esi, edi
sbb eax, dword [ebp + 0x1c]
cmp byte [esp + 0xf], 0
je 0x100d4258
push dword [esp + 0x20]
push dword [esp + 0x28]
push eax
push esi
movss dword [esp + 0x20], xmm5
movaps xmmword [esp + 0x90], xmm6
movss dword [esp + 0x28], xmm7
movss dword [esp + 0x24], xmm4
call fcn.100ea1a0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x110], xmm1
fild qword [esp + 0x110]
fnstcw word [esp + 0x32]
movzx eax, word [esp + 0x32]
or eax, 0x300
mov word [esp + 0x66], ax
fldcw word [esp + 0x66]
shr edx, 0x1f
fadd dword [edx*4 + 0x10152ef8]
fldcw word [esp + 0x32]
fstp dword [esp + 0xdc]
movss xmm0, dword [esp + 0xdc]
movss xmm1, dword [0x10147700]
divss xmm1, dword [ebp + 0x2c]
cvtss2sd xmm1, xmm1
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm4, dword [esp + 0x24]
movss xmm7, dword [esp + 0x28]
movaps xmm6, xmmword [esp + 0x90]
movss xmm5, dword [esp + 0x20]
add esp, 0x10
fstp dword [esp + 0xd8]
xorps xmm1, xmm1
addss xmm1, dword [esp + 0xd8]
jmp 0x100d42bb
movd xmm1, esi
movd xmm0, eax
punpckldq xmm1, xmm0
punpckldq xmm1, xmmword [0x10152f00]
movapd xmm3, xmmword [0x10152f10]
subpd xmm1, xmm3
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
movss xmm1, dword [esp + 0x24]
movaps xmm2, xmm4
movss xmm4, dword [esp + 0x20]
unpcklps xmm1, xmm4
movaps xmm4, xmm2
unpcklps xmm1, xmmword [0x10152f00]
subpd xmm1, xmm3
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm0, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmmword [0x10146bb0]
xorps xmm0, xmm6
subss xmm5, xmm4
cmp dword [esp + 0x28], 0
je 0x100d42df
movss xmm2, dword [0x10147700]
subss xmm2, xmm1
movaps xmm1, xmm2
mov ecx, dword [ebp + 0x34]
subss xmm5, xmm7
mulss xmm5, xmm1
addss xmm5, xmm7
jne 0x100d433a
mov eax, dword [ebp + 8]
movss xmm1, dword [eax + 0xc]
addss xmm1, dword [0x10149278]
movss xmm2, dword [eax + 4]
movss xmm3, dword [0x10147680]
mulss xmm6, xmm3
addss xmm6, xmm5
addss xmm2, dword [0x10149034]
mulss xmm0, xmm3
addss xmm0, xmm5
movss dword [ecx], xmm0
movss dword [ecx + 4], xmm2
movss dword [ecx + 8], xmm6
movss dword [ecx + 0xc], xmm1
jmp 0x100d4381
movss xmm1, dword [0x10147680]
mulss xmm6, xmm1
addss xmm6, xmm5
mov eax, dword [ebp + 8]
movss xmm2, dword [eax]
movss xmm3, dword [eax + 8]
addss xmm3, dword [0x10149278]
mulss xmm0, xmm1
addss xmm0, xmm5
addss xmm2, dword [0x10149034]
movss dword [ecx], xmm2
movss dword [ecx + 4], xmm0
movss dword [ecx + 8], xmm3
movss dword [ecx + 0xc], xmm6
mov ecx, dword [esp + 0x168]
xor ecx, ebp
call fcn.100ea0d3
mov eax, dword [esp + 0x50]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movaps xmm3, xmmword [esp + 0xc0]
addss xmm3, xmm0
movss xmm0, dword [0x10147700]
minss xmm0, xmm3
xorps xmm1, xmm1
cmpltss xmm3, xmm1
andnps xmm3, xmm0
movzx eax, byte [esp + 0xf]
jmp 0x100d3704