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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x158
mov edx, dword [ebp + 0x10]
mov eax, 0x100d5f74
mov dword [esp + 0x68], ecx
push esi
push edi
lea ecx, [edx + 0xc]
mov byte [esp + 0x12], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
nop word [eax + eax]
mov eax, dword [eax - 4]
mov esi, ecx
test al, 1
mov edi, ecx
cmove esi, edx
test al, 2
cmove edi, edx
test al, 4
mov eax, ecx
cmove eax, edx
movss xmm0, dword [esi]
mov dword [esp + 0x2c], eax
movss xmm5, dword [edi + 4]
movss dword [esp + 0x50], xmm0
movss xmm7, dword [eax + 8]
mov eax, dword [esp + 0x14]
movss dword [esp + 0xc8], xmm0
movss dword [esp + 0x5c], xmm5
movss dword [esp + 0xcc], xmm5
mov ecx, dword [eax]
test cl, 1
lea eax, [edx + 0xc]
movss dword [esp + 0x30], xmm7
cmove eax, edx
movss dword [esp + 0xd0], xmm7
test cl, 2
movss xmm2, dword [eax]
lea eax, [edx + 0xc]
cmove eax, edx
movss dword [esp + 0x20], xmm2
test cl, 4
movss dword [esp + 0xbc], xmm2
lea ecx, [edx + 0xc]
cmove ecx, edx
mov edx, dword [esp + 0x14]
movss xmm1, dword [eax + 4]
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0xc0], xmm1
test byte [edx + 4], 1
mov edx, dword [esp + 0x28]
cmove edx, dword [ebp + 0x10]
movss xmm1, dword [ecx + 8]
movss dword [esp + 0x24], xmm1
movss dword [esp + 0xc4], xmm1
movss xmm1, dword [edx]
mov edx, dword [esp + 0x14]
movss dword [esp + 0x60], xmm1
movss dword [esp + 0xb0], xmm1
test byte [edx + 4], 2
mov edx, dword [esp + 0x28]
cmove edx, dword [ebp + 0x10]
movss xmm3, dword [edx + 4]
mov edx, dword [esp + 0x14]
movss dword [esp + 0x44], xmm3
movss dword [esp + 0xb4], xmm3
test byte [edx + 4], 4
mov edx, dword [esp + 0x28]
cmove edx, dword [ebp + 0x10]
movss xmm6, dword [edx + 8]
mov edx, dword [esp + 0x14]
movss dword [esp + 0x40], xmm6
movss dword [esp + 0xb8], xmm6
test byte [edx + 8], 1
mov edx, dword [esp + 0x28]
cmove edx, dword [ebp + 0x10]
movss xmm4, dword [edx]
mov edx, dword [esp + 0x14]
movss dword [esp + 0x54], xmm4
movss dword [esp + 0xa4], xmm4
test byte [edx + 8], 2
mov edx, dword [esp + 0x28]
cmove edx, dword [ebp + 0x10]
movss xmm4, dword [edx + 4]
mov edx, dword [esp + 0x14]
movss dword [esp + 0x58], xmm4
movss dword [esp + 0xa8], xmm4
test byte [edx + 8], 4
mov edx, dword [esp + 0x28]
cmove edx, dword [ebp + 0x10]
movss xmm4, dword [edx + 8]
movss dword [esp + 0x18], xmm4
movss dword [esp + 0xac], xmm4
subss xmm3, xmm5
movaps xmm4, xmm1
movaps xmm1, xmm6
movaps xmm6, xmm2
subss xmm1, xmm7
movss xmm2, dword [eax + 4]
subss xmm4, xmm0
subss xmm2, xmm5
movss xmm5, dword [ecx + 8]
subss xmm5, xmm7
subss xmm6, xmm0
movaps xmm7, xmm2
mulss xmm2, xmm4
mulss xmm7, xmm1
movaps xmm0, xmm5
mulss xmm0, xmm3
mulss xmm5, xmm4
subss xmm7, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm1
mulss xmm6, xmm3
subss xmm5, xmm0
movss dword [esp + 0x34], xmm7
movaps xmm0, xmm7
mulss xmm0, xmm7
subss xmm6, xmm2
movaps xmm1, xmm5
movss dword [esp + 0x38], xmm5
mulss xmm1, xmm5
movss dword [esp + 0x3c], xmm6
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10042282
sqrtsd xmm0, xmm0
jmp 0x10042287
call fcn.1008ba90
movss xmm5, dword [esp + 0x34]
movss xmm3, dword [esp + 0x38]
movss xmm4, dword [esp + 0x3c]
cvtsd2ss xmm0, xmm0
movss xmm2, dword [esi]
divss xmm5, xmm0
mov esi, dword [ebp + 8]
divss xmm3, xmm0
divss xmm4, xmm0
movss xmm1, dword [esi + 0x10]
movaps xmm0, xmm5
unpcklps xmm0, xmm3
movaps xmmword [esp + 0x150], xmm0
movq qword [esp + 0x94], xmm0
movss xmm0, dword [edi + 4]
movss xmm6, dword [esi + 0x14]
mulss xmm0, xmm3
movss dword [esp + 0xdc], xmm4
mov eax, dword [esp + 0xdc]
mulss xmm2, xmm5
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x2c]
movss dword [esp + 0x80], xmm6
addss xmm2, xmm0
movss dword [esp + 0x34], xmm5
movss dword [esp + 0x38], xmm3
movss xmm0, dword [eax + 8]
mulss xmm0, xmm4
movss dword [esp + 0x3c], xmm4
movss dword [esp + 0x7c], xmm1
addss xmm2, xmm0
movss xmm0, dword [esi + 0xc]
movaps xmm7, xmm0
movss dword [esp + 0x74], xmm0
movaps xmm0, xmm1
mulss xmm7, xmm5
mulss xmm0, xmm3
xorps xmm2, xmmword [0x100b49e0]
movss dword [esp + 0xa0], xmm2
addss xmm7, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm4
xorps xmm6, xmm6
addss xmm7, xmm0
comiss xmm7, xmm6
movss dword [esp + 0x8c], xmm7
jae 0x10042c38
movss xmm1, dword [esi]
movss xmm0, dword [esi + 4]
subss xmm2, dword [ebp + 0xc]
mulss xmm0, xmm3
mov edi, dword [esp + 0x70]
mulss xmm1, xmm5
movss dword [esp + 0xa0], xmm2
addss xmm1, xmm0
movss xmm0, dword [esi + 8]
mulss xmm0, xmm4
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [esp + 0x90], xmm1
addss xmm0, xmm2
xorps xmm0, xmmword [0x100b49e0]
divss xmm0, xmm7
comiss xmm0, dword [edi]
movss dword [esp + 0x78], xmm0
ja 0x10042c5a
movss xmm2, dword [esp + 0x50]
movss xmm0, dword [esp + 0x5c]
addss xmm2, xmm5
movss xmm5, dword [esp + 0x30]
addss xmm0, xmm3
movss xmm7, dword [esp + 0x20]
addss xmm5, xmm4
movss xmm4, dword [esp + 0x50]
movss xmm6, dword [esp + 0x24]
movss xmm1, dword [esp + 0x30]
subss xmm7, xmm2
movss xmm3, dword [esp + 0x5c]
subss xmm4, xmm2
subss xmm3, xmm0
movss dword [esp + 0x2c], xmm2
movss xmm2, dword [esp + 0x1c]
subss xmm1, xmm5
subss xmm2, xmm0
movss dword [esp + 0x4c], xmm0
subss xmm6, xmm5
movss dword [esp + 0x48], xmm5
movaps xmm5, xmm2
mulss xmm2, xmm4
mulss xmm5, xmm1
movaps xmm0, xmm6
mulss xmm0, xmm3
mulss xmm6, xmm4
subss xmm5, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm1
mulss xmm7, xmm3
subss xmm6, xmm0
movss dword [esp + 0x68], xmm5
movaps xmm0, xmm5
mulss xmm0, xmm5
subss xmm7, xmm2
movaps xmm1, xmm6
movss dword [esp + 0x64], xmm6
mulss xmm1, xmm6
movss dword [esp + 0x6c], xmm7
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100424b0
sqrtsd xmm0, xmm0
jmp 0x100424b5
call fcn.1008ba90
movss xmm1, dword [esp + 0x68]
movss xmm2, dword [esp + 0x64]
cvtsd2ss xmm0, xmm0
movss xmm3, dword [esp + 0x6c]
divss xmm1, xmm0
divss xmm2, xmm0
divss xmm3, xmm0
movaps xmm0, xmm1
movss dword [esp + 0x68], xmm1
mulss xmm1, dword [esp + 0x2c]
unpcklps xmm0, xmm2
movq qword [esp + 0x110], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x4c]
movss xmm4, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x24]
addss xmm1, xmm0
movss xmm7, dword [esp + 0x60]
movss xmm6, dword [esp + 0x40]
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0x48]
movss dword [esp + 0x128], xmm3
movss dword [esp + 0x6c], xmm3
movss xmm3, dword [esp + 0x20]
addss xmm1, xmm0
movss dword [esp + 0x64], xmm2
movaps xmm0, xmm4
addss xmm0, dword [esp + 0x38]
movaps xmm2, xmm5
mov eax, dword [esp + 0x128]
addss xmm2, dword [esp + 0x3c]
xorps xmm1, xmmword [0x100b49e0]
movss dword [esp + 0x84], xmm1
movss dword [esp + 0x11c], xmm1
subss xmm4, xmm0
movaps xmm1, xmm3
movss dword [esp + 0x1c], xmm0
addss xmm1, dword [esp + 0x34]
subss xmm6, xmm2
movss dword [esp + 0x24], xmm2
subss xmm5, xmm2
mov dword [esp + 0x118], eax
subss xmm7, xmm1
movss dword [esp + 0x20], xmm1
subss xmm3, xmm1
movss xmm1, dword [esp + 0x44]
subss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm4
mulss xmm6, xmm3
movaps xmm2, xmm1
mulss xmm1, xmm3
mulss xmm2, xmm5
subss xmm2, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm5
mulss xmm7, xmm4
subss xmm6, xmm0
movss dword [esp + 0x48], xmm2
movaps xmm0, xmm2
subss xmm7, xmm1
mulss xmm0, xmm2
movaps xmm1, xmm6
movss dword [esp + 0x4c], xmm6
mulss xmm1, xmm6
movss dword [esp + 0x2c], xmm7
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004261f
sqrtsd xmm0, xmm0
jmp 0x10042624
call fcn.1008ba90
movss xmm3, dword [esp + 0x48]
movss xmm1, dword [esp + 0x4c]
cvtsd2ss xmm0, xmm0
movss xmm2, dword [esp + 0x2c]
divss xmm1, xmm0
divss xmm3, xmm0
divss xmm2, xmm0
movaps xmm0, xmm3
movss xmm4, dword [esp + 0x44]
unpcklps xmm0, xmm1
movq qword [esp + 0x100], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x40]
movss dword [esp + 0x48], xmm3
mulss xmm3, dword [esp + 0x20]
movss xmm7, dword [esp + 0x54]
movss xmm6, dword [esp + 0x18]
addss xmm3, xmm0
movss dword [esp + 0x4c], xmm1
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm2
movss dword [esp + 0x134], xmm2
movss dword [esp + 0x2c], xmm2
movaps xmm2, xmm5
addss xmm2, dword [esp + 0x3c]
addss xmm3, xmm0
mov eax, dword [esp + 0x134]
movaps xmm0, xmm4
mov dword [esp + 0x108], eax
addss xmm0, dword [esp + 0x38]
subss xmm6, xmm2
movss dword [esp + 0x40], xmm2
xorps xmm3, xmmword [0x100b49e0]
subss xmm5, xmm2
movss dword [esp + 0x88], xmm3
movss dword [esp + 0x10c], xmm3
subss xmm4, xmm0
movss xmm3, dword [esp + 0x60]
movaps xmm1, xmm3
movss dword [esp + 0x44], xmm0
addss xmm1, dword [esp + 0x34]
subss xmm7, xmm1
movss dword [esp + 0x60], xmm1
subss xmm3, xmm1
movss xmm1, dword [esp + 0x58]
subss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm4
mulss xmm6, xmm3
movaps xmm2, xmm1
mulss xmm1, xmm3
mulss xmm2, xmm5
subss xmm2, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm5
mulss xmm7, xmm4
subss xmm6, xmm0
movss dword [esp + 0x24], xmm2
movaps xmm0, xmm2
subss xmm7, xmm1
mulss xmm0, xmm2
movaps xmm1, xmm6
movss dword [esp + 0x1c], xmm6
mulss xmm1, xmm6
movss dword [esp + 0x20], xmm7
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004278f
sqrtsd xmm0, xmm0
jmp 0x10042794
call fcn.1008ba90
movss xmm3, dword [esp + 0x24]
movss xmm1, dword [esp + 0x1c]
cvtsd2ss xmm0, xmm0
movss xmm2, dword [esp + 0x20]
divss xmm3, xmm0
divss xmm1, xmm0
divss xmm2, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x24], xmm3
mulss xmm3, dword [esp + 0x60]
unpcklps xmm0, xmm1
movq qword [esp + 0xf0], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x44]
movss xmm6, dword [esp + 0x54]
movss xmm7, dword [esp + 0x58]
addss xmm3, xmm0
movss xmm4, dword [esp + 0x5c]
movaps xmm0, xmm2
movss dword [esp + 0x1c], xmm1
mulss xmm0, dword [esp + 0x40]
movss dword [esp + 0x140], xmm2
movss dword [esp + 0x20], xmm2
movaps xmm2, xmm6
addss xmm3, xmm0
mov eax, dword [esp + 0x140]
addss xmm2, dword [esp + 0x34]
movaps xmm0, xmm7
mov dword [esp + 0xf8], eax
addss xmm0, dword [esp + 0x38]
xorps xmm3, xmmword [0x100b49e0]
movss dword [esp + 0x44], xmm3
subss xmm6, xmm2
movss dword [esp + 0xfc], xmm3
movss xmm3, dword [esp + 0x18]
subss xmm4, xmm0
movaps xmm1, xmm3
movss dword [esp + 0x54], xmm2
addss xmm1, dword [esp + 0x3c]
subss xmm7, xmm0
movss dword [esp + 0x58], xmm0
movaps xmm5, xmm4
mulss xmm4, xmm6
subss xmm3, xmm1
movss dword [esp + 0x40], xmm1
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0x50]
subss xmm3, xmm2
movss xmm2, dword [esp + 0x30]
subss xmm2, xmm1
movss xmm1, dword [esp + 0x18]
mulss xmm5, xmm1
movaps xmm0, xmm2
mulss xmm2, xmm6
mulss xmm0, xmm7
subss xmm5, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
mulss xmm3, xmm7
subss xmm2, xmm0
movss dword [esp + 0x18], xmm5
movaps xmm0, xmm5
mulss xmm0, xmm5
subss xmm3, xmm4
movaps xmm1, xmm2
movss dword [esp + 0x30], xmm2
mulss xmm1, xmm2
movss dword [esp + 0x50], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10042907
sqrtsd xmm0, xmm0
jmp 0x1004290c
call fcn.1008ba90
movss xmm2, dword [esp + 0x18]
xorps xmm6, xmm6
movss xmm1, dword [esp + 0x30]
movss xmm7, dword [esp + 0x50]
cvtsd2ss xmm0, xmm0
movss xmm3, dword [esp + 0x78]
divss xmm2, xmm0
divss xmm1, xmm0
divss xmm7, xmm0
movaps xmm0, xmm2
movss xmm4, dword [esp + 0x7c]
unpcklps xmm0, xmm1
movq qword [esp + 0xe0], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x18], xmm2
mulss xmm2, dword [esp + 0x54]
movss xmm5, dword [esp + 0x80]
mulss xmm4, xmm3
addss xmm2, xmm0
movss dword [esp + 0x30], xmm1
movaps xmm0, xmm7
mulss xmm5, xmm3
mulss xmm0, dword [esp + 0x40]
addss xmm4, dword [esi + 4]
addss xmm5, dword [esi + 8]
addss xmm2, xmm0
movss dword [esp + 0x14c], xmm7
mov eax, dword [esp + 0x14c]
mov dword [esp + 0xe8], eax
movaps xmm1, xmm4
mulss xmm1, dword [esp + 0x64]
xorps xmm2, xmmword [0x100b49e0]
movss dword [esp + 0x5c], xmm2
movss dword [esp + 0xec], xmm2
movss xmm2, dword [esp + 0x74]
mulss xmm2, xmm3
addss xmm2, dword [esi]
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x68]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x6c]
addss xmm1, xmm0
addss xmm1, dword [esp + 0x84]
comiss xmm1, xmm6
jb 0x10042b47
movaps xmm0, xmm4
movaps xmm1, xmm2
mulss xmm1, dword [esp + 0x48]
mulss xmm0, dword [esp + 0x4c]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x2c]
addss xmm1, xmm0
addss xmm1, dword [esp + 0x88]
comiss xmm1, xmm6
jb 0x10042b47
movaps xmm0, xmm4
movaps xmm1, xmm2
mulss xmm1, dword [esp + 0x24]
mulss xmm0, dword [esp + 0x1c]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x20]
addss xmm1, xmm0
addss xmm1, dword [esp + 0x44]
comiss xmm1, xmm6
jb 0x10042b47
movaps xmm0, xmm4
movaps xmm1, xmm2
mulss xmm1, dword [esp + 0x18]
mulss xmm0, dword [esp + 0x30]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm7
addss xmm1, xmm0
addss xmm1, dword [esp + 0x5c]
comiss xmm1, xmm6
jb 0x10042b47
comiss xmm3, dword [edi]
jbe 0x10042ab0
mov cl, byte [esp + 0x12]
xor al, al
or cl, al
mov byte [esp + 0x12], cl
jmp 0x10042c3c
mulss xmm2, dword [esp + 0x34]
mulss xmm4, dword [esp + 0x38]
mulss xmm5, dword [esp + 0x3c]
movss xmm0, dword [esp + 0x8c]
addss xmm2, xmm4
comiss xmm0, xmm6
addss xmm2, xmm5
xorps xmm2, xmmword [0x100b49e0]
jb 0x10042af0
mov cl, byte [esp + 0x12]
xor al, al
or cl, al
mov byte [esp + 0x12], cl
jmp 0x10042c3c
movss xmm0, dword [esp + 0x90]
movss xmm1, dword [0x100b70fc]
addss xmm0, xmm2
comiss xmm1, xmm0
jbe 0x10042b1b
mov cl, byte [esp + 0x12]
xor al, al
or cl, al
mov byte [esp + 0x12], cl
jmp 0x10042c3c
movaps xmm0, xmmword [esp + 0x150]
mov eax, dword [esp + 0xdc]
mov cl, byte [esp + 0x12]
movq qword [edi + 4], xmm0
mov dword [edi + 0xc], eax
mov al, 1
or cl, al
movss dword [edi], xmm3
mov byte [esp + 0x12], cl
jmp 0x10042c3c
movss xmm0, dword [ebp + 0xc]
comiss xmm6, xmm0
jae 0x10042c38
push edi
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xe8]
push esi
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.10042c70
movss xmm0, dword [ebp + 0xc]
push edi
push ecx
movss dword [esp], xmm0
mov byte [esp + 0x1b], al
lea eax, [esp + 0xf8]
push esi
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.10042c70
or byte [esp + 0x13], al
lea eax, [esp + 0x100]
movss xmm0, dword [ebp + 0xc]
push edi
push ecx
movss dword [esp], xmm0
push esi
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.10042c70
or al, byte [esp + 0x13]
movss xmm0, dword [ebp + 0xc]
push edi
push ecx
movss dword [esp], xmm0
mov byte [esp + 0x1b], al
lea eax, [esp + 0x118]
push esi
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.10042c70
mov cl, byte [esp + 0x12]
or al, byte [esp + 0x13]
or cl, al
mov byte [esp + 0x12], cl
jmp 0x10042c3c
mov cl, byte [esp + 0x12]
mov eax, dword [esp + 0x14]
add eax, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0x100d5fd4
jge 0x10042c64
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x28]
jmp 0x10042060
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret 0xc