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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb8
push esi
push edi
mov edi, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], edi
xor esi, esi
mov eax, dword [edi + 8]
lea ecx, [edi + 0xc]
mov dword [esp + 0x80], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x5c], eax
xor eax, eax
lock cmpxchg dword [ecx], esi
test eax, eax
jne 0x41a4e2
mov ecx, dword [edi + 4]
cmp dword [edx + 0x58], eax
je 0x41a4c9
mov eax, dword [edi]
cmp eax, ecx
jne 0x41a4a2
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push eax
push 5
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.00415ca0
add esp, 0x10
movss xmm0, dword [0x4f4a1c]
xor eax, eax
movss dword [edi + 0x74], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x5c]
push 0
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push dword [esp + 0x94]
push dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.0041dc50
add esp, 0x20
jmp 0x41a48d
push ecx
push dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov edx, 5
push dword [ebp + 0x10]
call fcn.00415d50
add esp, 0xc
jmp 0x41a48d
mov eax, dword [edi]
lea ecx, [edi + 0x20]
mov esi, dword [edi + 4]
xor edx, edx
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x60], esi
lock cmpxchg dword [ecx], edx
mov dword [esp + 0x1c], eax
lea ecx, [edi + 0x24]
xor edx, edx
xor eax, eax
lock cmpxchg dword [ecx], edx
mov dword [esp + 0x10], eax
lea ecx, [edi + 0x28]
xor edx, edx
xor eax, eax
lock cmpxchg dword [ecx], edx
mov dword [esp + 0xc], eax
lea ecx, [edi + 0x38]
xor edx, edx
xor eax, eax
lock cmpxchg dword [ecx], edx
mov ecx, dword [esp + 0x20]
add ecx, 0x54
mov dword [esp + 0x84], eax
call fcn.004077a0
mov edx, dword [esp + 0x20]
movq xmm0, qword [edx + 0x48]
mov eax, dword [edx + 0x50]
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], eax
test ecx, ecx
je 0x41a55e
xor eax, eax
xchg dword [ecx], eax
movss xmm0, dword [edx + 0x18]
lea ecx, [edi + 0x10]
movss dword [esp + 0xac], xmm0
xor edx, edx
xor eax, eax
lock cmpxchg dword [ecx], edx
cmp eax, 1
je 0x41a5ad
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.0041b0a0
movq xmm0, qword [esp + 0x48]
add esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x58], eax
movq qword [esp + 0x88], xmm0
jmp 0x41a5fe
lea ecx, [edi + 0x50]
call fcn.004077a0
movq xmm0, qword [edi + 0x44]
mov edx, dword [edi + 0x4c]
movq qword [esp + 0x88], xmm0
mov dword [esp + 0x58], edx
test ecx, ecx
je 0x41a5d2
xor eax, eax
xchg dword [ecx], eax
lea ecx, [edi + 0x60]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], edx
call fcn.004077a0
movq xmm0, qword [edi + 0x54]
mov edx, dword [edi + 0x5c]
test ecx, ecx
je 0x41a5f4
xor eax, eax
xchg dword [ecx], eax
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], edx
movss xmm1, dword [esp + 0x40]
movss xmm0, dword [esp + 0x44]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x48]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x41a636
sqrtsd xmm0, xmm0
jmp 0x41a63b
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm4, xmm4
lea edx, [edi + 0xc]
cvtsd2ss xmm4, xmm0
xor ecx, ecx
xor eax, eax
movss dword [esp + 0x54], xmm4
lock cmpxchg dword [edx], ecx
movss xmm7, dword [0x4f4eb0]
movss xmm2, dword [0x4f4a1c]
cmp eax, 3
ja case.0x41a66c.0
jmp dword [eax*4 + 0x41b084]
movss xmm0, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x10]
comiss xmm0, xmm3
jb 0x41a692
movaps xmm0, xmm2
movss dword [esp + 0x10], xmm0
jmp 0x41a77c
movaps xmm1, xmm4
minss xmm1, xmm3
comiss xmm0, xmm1
jbe 0x41a6a1
movaps xmm1, xmm0
subss xmm1, xmm0
mulss xmm1, dword [esp + 0xc]
addss xmm1, xmm0
divss xmm0, xmm1
movss dword [esp + 0x10], xmm0
jmp 0x41a77c
movss xmm0, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x10]
comiss xmm0, xmm3
jb 0x41a6dd
movaps xmm0, xmm2
movss dword [esp + 0x10], xmm0
jmp 0x41a77c
movaps xmm1, xmm4
minss xmm1, xmm3
comiss xmm0, xmm1
jbe 0x41a6ec
movaps xmm1, xmm0
subss xmm1, xmm0
subss xmm3, xmm0
movaps xmm0, xmm2
mulss xmm1, dword [esp + 0xc]
divss xmm1, xmm3
subss xmm0, xmm1
movss dword [esp + 0x10], xmm0
jmp 0x41a77c
movss xmm1, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x10]
comiss xmm1, xmm3
jb 0x41a729
movaps xmm0, xmm2
movss dword [esp + 0x10], xmm0
jmp 0x41a77c
movaps xmm0, xmm4
minss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x41a738
movaps xmm0, xmm1
divss xmm0, xmm1
movss xmm1, dword [esp + 0xc]
xorps xmm1, xmm7
cvtps2pd xmm0, xmm0
cvtss2sd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movss xmm2, dword [0x4f4a1c]
movss xmm4, dword [esp + 0x54]
movss xmm7, dword [0x4f4eb0]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x10], xmm0
jmp 0x41a77c
movaps xmm0, xmm2
movss dword [esp + 0x10], xmm2
comiss xmm4, dword [0x4f4950]
movss dword [esp + 0xc], xmm0
jbe 0x41aabe
movq xmm1, qword [esp + 0x88]
movaps xmm0, xmm2
divss xmm0, xmm4
mov eax, dword [esp + 0x58]
mov dword [esp + 0x70], eax
movq qword [esp + 0x68], xmm1
xorps xmm3, xmm3
comiss xmm4, xmm3
movss xmm1, dword [esp + 0x40]
movss xmm5, dword [esp + 0x6c]
movss xmm6, dword [esp + 0x70]
mulss xmm1, xmm0
mulss xmm5, xmm0
mulss xmm6, xmm0
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x14], xmm6
movss dword [esp + 0x1c], xmm3
jbe 0x41aacd
xor edx, edx
lea ecx, [edi + 0x2c]
xor eax, eax
lock cmpxchg dword [ecx], edx
mov dword [esp + 0x98], eax
lea ecx, [edi + 0x30]
xor edx, edx
xor eax, eax
lock cmpxchg dword [ecx], edx
mov dword [esp + 0x9c], eax
lea ecx, [edi + 0x34]
xor edx, edx
xor eax, eax
lock cmpxchg dword [ecx], edx
movaps xmm0, xmm1
mov dword [esp + 0x7c], eax
movss xmm1, dword [0x4f4a98]
xorps xmm0, xmm7
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm5
movsd xmm5, qword [0x4f4a58]
xorps xmm0, xmm7
movss dword [esp + 0xa0], xmm0
movaps xmm0, xmm6
xorps xmm0, xmm7
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [esp + 0x98]
comiss xmm1, xmm0
jbe 0x41a95e
mulss xmm0, dword [0x4f499c]
cvtps2pd xmm1, xmm0
movaps xmm0, xmm5
subsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x9c]
mulss xmm0, dword [0x4f499c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4f4a58]
subsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm3, dword [esp + 0x28]
xorps xmm1, xmm1
mulss xmm3, dword [esp + 0xc]
movss xmm2, dword [0x4f4a1c]
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0xa0]
addss xmm3, xmm0
movss xmm0, dword [esp + 0x30]
mulss xmm0, dword [esp + 0xa4]
addss xmm3, xmm0
movss xmm0, dword [esp + 0x64]
comiss xmm3, xmm0
jbe 0x41a916
movss xmm3, dword [esp + 0x1c]
movaps xmm1, xmm2
movsd xmm5, qword [0x4f4a58]
jmp 0x41a961
comiss xmm3, xmm1
jbe 0x41a948
subss xmm3, xmm1
movsd xmm5, qword [0x4f4a58]
subss xmm0, xmm1
movaps xmm1, xmm2
divss xmm3, xmm0
subss xmm1, xmm3
mulss xmm1, dword [esp + 0x7c]
addss xmm1, xmm3
movss xmm3, dword [esp + 0x1c]
jmp 0x41a961
movss xmm1, dword [esp + 0x7c]
movss xmm3, dword [esp + 0x1c]
movsd xmm5, qword [0x4f4a58]
jmp 0x41a961
movaps xmm1, xmm2
mov ecx, dword [esp + 0x20]
mulss xmm1, dword [esp + 0x10]
movss xmm0, dword [0x4f4a98]
movss xmm4, dword [ecx + 0xc]
comiss xmm0, xmm4
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm1
jbe 0x41aad3
cmp dword [ecx + 8], 0
movaps xmm0, xmm3
unpcklps xmm0, xmm3
movq qword [esp + 0x28], xmm0
jne 0x41a9b1
movss xmm2, dword [0x4f4b38]
mov dword [esp + 0x70], 0xbf800000
jmp 0x41a9b9
mov dword [esp + 0x70], 0x3f800000
mulss xmm4, dword [0x4f499c]
movaps xmm0, xmm5
mov eax, dword [esp + 0x70]
movss dword [esp + 0xc], xmm2
mov dword [esp + 0x30], eax
cvtps2pd xmm1, xmm4
subsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
mov eax, dword [esp + 0x20]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [0x4f4a58]
movss dword [esp + 0x64], xmm1
movss xmm1, dword [eax + 0x10]
mulss xmm1, dword [0x4f499c]
cvtps2pd xmm1, xmm1
subsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x28]
xorps xmm2, xmm2
mulss xmm1, dword [esp + 0xa8]
cvtsd2ss xmm2, xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0x38]
addss xmm1, xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x14]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x64]
comiss xmm1, xmm0
jbe 0x41aa6b
movss xmm0, dword [0x4f4a1c]
movss xmm1, dword [esp + 0x10]
mulss xmm1, xmm0
movss dword [esp + 0xc], xmm1
jmp 0x41aad3
comiss xmm1, xmm2
mov eax, dword [esp + 0x20]
jbe 0x41aaa7
subss xmm0, xmm2
subss xmm1, xmm2
divss xmm1, xmm0
movss xmm0, dword [0x4f4a1c]
subss xmm0, xmm1
mulss xmm0, dword [eax + 0x14]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x10]
mulss xmm1, xmm0
movss dword [esp + 0xc], xmm1
jmp 0x41aad3
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [esp + 0x10]
mulss xmm1, xmm0
movss dword [esp + 0xc], xmm1
jmp 0x41aad3
xorps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x54], xmm0
movss xmm1, dword [esp + 0x10]
lea edx, [edi + 0x1c]
xor ecx, ecx
xor eax, eax
lock cmpxchg dword [edx], ecx
mov dword [esp + 0x14], eax
movss xmm0, dword [esp + 0x14]
comiss xmm0, xmm1
jbe 0x41aaf2
movaps xmm2, xmm1
jmp 0x41ab04
xor ecx, ecx
xor eax, eax
lock cmpxchg dword [edx], ecx
mov dword [esp + 0x14], eax
movss xmm2, dword [esp + 0x14]
xor ecx, ecx
lea esi, [edi + 0x18]
xor eax, eax
lock cmpxchg dword [esi], ecx
mov dword [esp + 0x14], eax
xor ecx, ecx
movss xmm0, dword [esp + 0x14]
xor eax, eax
comiss xmm0, xmm2
jbe 0x41ab27
lea edx, [edi + 0x18]
jmp 0x41ab3e
lock cmpxchg dword [edx], ecx
mov dword [esp + 0x14], eax
movss xmm0, dword [esp + 0x14]
comiss xmm0, xmm1
ja 0x41ab4c
xor ecx, ecx
xor eax, eax
lock cmpxchg dword [edx], ecx
mov dword [esp + 0xc], eax
movss xmm1, dword [esp + 0xc]
mov esi, dword [esp + 0x60]
xor ecx, ecx
test esi, esi
je 0x41ac10
cmp esi, 4
jb 0x41abb8
mov edx, dword [edi + 0x9c]
lea eax, [edi + 0x9c]
mov dword [esp + 0x38], edx
lea edi, [esi - 1]
lea edi, [edx + edi*4]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x3c]
cmp edx, eax
ja 0x41ab87
cmp dword [esp + 0x14], eax
jae 0x41abb8
mov eax, esi
and eax, 0xfffffffc
nop dword [eax]
add ecx, 4
mov edx, ecx
cmp ecx, eax
jb 0x41ab90
mov edi, dword [esp + 0x38]
shr eax, 2
shl eax, 4
shr eax, 2
mov ecx, eax
mov eax, dword [esp + 0xc]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x3c]
mov ecx, edx
cmp edx, esi
jae 0x41ac10
mov eax, esi
sub eax, ecx
cmp eax, 4
jb 0x41ac00
lea edx, [esi - 3]
mov eax, dword [edi + 0x9c]
movss dword [eax + ecx*4], xmm1
mov eax, dword [edi + 0x9c]
movss dword [eax + ecx*4 + 4], xmm1
mov eax, dword [edi + 0x9c]
movss dword [eax + ecx*4 + 8], xmm1
mov eax, dword [edi + 0x9c]
movss dword [eax + ecx*4 + 0xc], xmm1
add ecx, 4
mov eax, ecx
cmp ecx, edx
jb 0x41abc4
cmp eax, esi
jae 0x41ac10
mov eax, dword [edi + 0x9c]
movss dword [eax + ecx*4], xmm1
inc ecx
cmp ecx, esi
jb 0x41ac00
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
cmp dword [eax + 0x58], 0
je 0x41ac44
mov edx, dword [esp + 0x5c]
push 0
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [esp + 0x34]
push dword [esp + 0x94]
push dword [ebp + 0xc]
push esi
call fcn.0041dc50
add esp, 0x20
jmp 0x41ac5a
push dword [edi + 4]
mov edx, 5
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.00415d50
add esp, 0xc
movss xmm3, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x54]
comiss xmm2, xmm3
jbe 0x41ad6f
movq xmm0, qword [esp + 0x88]
xor esi, esi
movss xmm1, dword [0x4f4a1c]
movq qword [esp + 0x68], xmm0
movaps xmm0, xmm1
mov eax, dword [esp + 0x58]
divss xmm0, xmm2
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
movss xmm6, dword [esp + 0x40]
movss xmm4, dword [esp + 0x6c]
movss xmm5, dword [esp + 0x70]
mulss xmm6, xmm0
mulss xmm4, xmm0
mulss xmm5, xmm0
test eax, eax
je 0x41ad6f
movss xmm7, dword [0x4f499c]
nop dword [eax]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x41aceb
push esi
mov edx, eax
call fcn.00421d10
add esp, 4
mov byte [esp + 0x1b], al
mov cl, al
jmp 0x41acf2
mov cl, byte [esi + ecx]
mov byte [esp + 0x1b], cl
test cl, cl
je 0x41ad3a
cmp cl, 1
je 0x41ad3a
cmp cl, 5
je 0x41ad3a
mov al, cl
sub al, 0x14
cmp al, 0x1f
jbe 0x41ad3a
movzx eax, cl
xor edx, edx
mov dword [esp + 0x24], eax
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 0x4ee580]
nop dword [eax + eax]
movss xmm0, dword [ecx]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x41ae17
inc edx
add ecx, 4
cmp edx, 6
jl 0x41ad20
movaps xmm0, xmm1
movss xmm2, dword [edi + 0x78]
addss xmm0, xmm1
mulss xmm0, xmm7
comiss xmm0, xmm2
ja 0x41ad52
movaps xmm0, xmm2
mov eax, dword [edi + 0x9c]
mulss xmm0, dword [eax + esi*4]
movss dword [eax + esi*4], xmm0
inc esi
mov eax, dword [esp + 0x60]
cmp esi, eax
jb 0x41acd0
lea esi, [edi + 0x7c]
test esi, esi
je 0x41aec0
mov eax, dword [edi + 0x9c]
mov dword [esp + 0x24], eax
test eax, eax
je 0x41aea6
xor edx, edx
cmp dword [esi], edx
jbe 0x41ae02
mov edi, eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
movss xmm4, dword [edi + edx*4]
movss xmm2, dword [eax + edx*4]
mov eax, dword [esi + 8]
subss xmm2, dword [ecx + edx*4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4f4e60]
mov eax, dword [esi + 4]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4f4e60]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm2, xmm1
addss xmm2, dword [ecx + edx*4]
movss dword [ecx + edx*4], xmm2
mov eax, dword [esi + 0x14]
movss dword [eax + edx*4], xmm4
inc edx
cmp edx, dword [esi]
jb 0x41ad94
mov edi, dword [esp + 0x3c]
cmp dword [esi + 8], 0xffffffff
jne 0x41ae9d
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x41aeaa
xor edx, edx
lea ecx, [edi + 0x3c]
xor eax, eax
lock cmpxchg dword [ecx], edx
cmp byte [esp + 0x1b], 0x34
mov dword [esp + 0x14], eax
jb 0x41ae3d
movaps xmm2, xmm3
movaps xmm0, xmm3
movss xmm3, dword [0x4f4b38]
jmp 0x41ae70
mov eax, dword [esp + 0x24]
lea eax, [eax + eax*2]
movq xmm0, qword [eax*4 + 0x4eb6a0]
mov eax, dword [eax*4 + 0x4eb6a8]
movq qword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x28]
mov dword [esp + 0x30], eax
movss xmm3, dword [esp + 0x30]
mulss xmm0, xmm4
mulss xmm2, xmm6
mulss xmm3, xmm5
addss xmm0, xmm2
addss xmm0, xmm3
movss xmm3, dword [esp + 0x1c]
subss xmm0, xmm1
mulss xmm0, dword [esp + 0x14]
addss xmm0, xmm1
jmp 0x41ad3d
mov dword [esi + 8], 0
jmp 0x41aeaa
test esi, esi
je 0x41aec0
push dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, esi
push dword [ebp + 0x10]
mov edx, eax
push eax
call fcn.00419100
add esp, 0xc
movss xmm0, dword [esp + 0x84]
comiss xmm0, dword [esp + 0x1c]
jbe 0x41a48d
lea ecx, [edi + 0x70]
call fcn.004077a0
movq xmm0, qword [edi + 0x64]
mov eax, dword [edi + 0x6c]
movq qword [esp + 0x88], xmm0
mov dword [esp + 0x90], eax
test ecx, ecx
je 0x41aefc
xor eax, eax
xchg dword [ecx], eax
lea ecx, [edi + 0x50]
call fcn.004077a0
movq xmm0, qword [edi + 0x44]
mov eax, dword [edi + 0x4c]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x41af1e
xor eax, eax
xchg dword [ecx], eax
mov esi, dword [esp + 0x20]
lea ecx, [esi + 0x34]
call fcn.004077a0
movq xmm0, qword [esi + 0x28]
mov eax, dword [esi + 0x30]
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x41af44
xor eax, eax
xchg dword [ecx], eax
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [esp + 0x40]
movss xmm2, dword [esp + 0x2c]
subss xmm2, dword [esp + 0x44]
movss xmm3, dword [esp + 0x30]
subss xmm3, dword [esp + 0x48]
movaps xmm1, xmm0
movss dword [esp + 0x24], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
movss dword [esp + 0x14], xmm2
mulss xmm0, xmm2
movss dword [esp + 0x38], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x41afa9
sqrtsd xmm0, xmm0
jmp 0x41afae
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm5, xmm5
cvtsd2ss xmm5, xmm0
ucomiss xmm5, dword [esp + 0x1c]
lahf
test ah, 0x44
jnp 0x41a48d
movss xmm1, dword [esp + 0x24]
movss xmm0, dword [esp + 0xb4]
mulss xmm0, dword [esp + 0x14]
movss xmm2, dword [esp + 0xb0]
mulss xmm2, xmm1
mulss xmm1, dword [esp + 0x88]
addss xmm2, xmm0
movss xmm4, dword [esp + 0xac]
movss xmm0, dword [esp + 0xb8]
mulss xmm0, dword [esp + 0x38]
movss xmm3, dword [esp + 0x84]
addss xmm2, xmm0
movss xmm0, dword [esp + 0x8c]
mulss xmm0, dword [esp + 0x14]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x90]
mulss xmm0, dword [esp + 0x38]
divss xmm2, xmm5
addss xmm1, xmm0
movaps xmm0, xmm4
divss xmm0, xmm3
divss xmm1, xmm5
comiss xmm0, xmm2
ja 0x41b055
movaps xmm2, xmm0
comiss xmm0, xmm1
ja 0x41b05d
movaps xmm1, xmm0
mulss xmm2, xmm3
movaps xmm0, xmm4
xor eax, eax
mulss xmm1, xmm3
subss xmm0, xmm2
subss xmm4, xmm1
divss xmm0, xmm4
movss dword [edi + 0x74], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret