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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x108
mov eax, dword [0x73bb00]
xor eax, esp
mov dword [esp + 0x104], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x2c], 0xffffffff
mov ecx, dword [ebp + 0x1c]
xorps xmm0, xmm0
imul eax, ecx, 0x1208
xor esi, esi
movss dword [esp + 0x38], xmm0
lea edx, [edi + 0x52b28a]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
lea eax, [edi + 0x5275f0]
mov dword [esp + 0x1c], eax
cmp esi, ecx
je 0x5228fc
cmp byte [edx + 0x592], 0
je 0x5228fc
cmp byte [edx], 0
movups xmm0, xmmword [eax - 0x48]
mov ecx, dword [edi + 0x5267f8]
movups xmm1, xmmword [eax]
movups xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [eax - 0x38]
movups xmm3, xmmword [eax - 0x58]
movups xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [eax - 0x28]
movups xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [eax - 0x18]
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [eax - 8]
movq qword [esp + 0xf0], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [esp + 0xe0], xmm0
movq xmm0, qword [eax + 0x50]
mov eax, dword [0x780c78]
movq qword [esp + 0xf0], xmm0
movaps xmm0, xmm1
psrldq xmm0, 4
psrldq xmm1, 8
movss xmm2, dword [ecx + eax*4 + 0x28]
movd eax, xmm0
movaps xmm0, xmm3
psrldq xmm0, 4
psrldq xmm3, 8
mov ecx, dword [esp + 0x20]
movd xmm6, eax
movd eax, xmm1
cvtdq2ps xmm6, xmm6
movd xmm7, eax
movd eax, xmm0
cvtdq2ps xmm7, xmm7
movd xmm0, eax
movd eax, xmm3
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm6, xmm0
subss xmm7, xmm1
mulss xmm6, xmm2
mulss xmm7, xmm2
addss xmm6, xmm0
addss xmm7, xmm1
movss dword [esp + 0x24], xmm6
movss dword [esp + 0x28], xmm7
jne 0x5225fc
cmp byte [ecx + edi + 0x52b28a], 0
jne 0x5225fc
xor al, al
jmp 0x5225fe
mov al, 1
cmp byte [edx - 0xa], 0
jne 0x522613
cmp byte [ecx + edi + 0x52b280], 0
mov byte [esp + 0x17], 0
je 0x522618
mov byte [esp + 0x17], 1
test al, al
jne 0x522660
push dword [ebp + 0x1c]
lea ecx, [edi + 0x574a9c]
push esi
call fcn.00630570
test al, al
je 0x5228f1
cmp byte [esp + 0x17], 0
jne 0x5228f1
mov eax, dword [esp + 0x20]
cmp byte [eax + edi + 0x52b289], 0
jne 0x5228f1
movss xmm6, dword [esp + 0x24]
movss xmm7, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 8]
movss xmm4, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xc]
movss xmm2, dword [esp + 0x30]
mov dword [esp + 0x54], ecx
subss xmm4, xmm2
movss xmm5, dword [esp + 0x54]
mov dword [esp + 0x34], eax
subss xmm5, dword [esp + 0x34]
movaps xmm0, xmm4
mulss xmm0, xmm4
movaps xmm3, xmm5
mulss xmm3, xmm5
addss xmm3, xmm0
comiss xmm3, dword [0x67b308]
jbe 0x5228f5
movaps xmm0, xmm7
mov dword [esp + 0x4c], 0x3f800000
subss xmm0, dword [esp + 0x34]
movaps xmm1, xmm6
mov dword [esp + 0x44], 0
subss xmm1, xmm2
movaps xmm2, xmm5
lea eax, [esp + 0x48]
lea ecx, [esp + 0x44]
mulss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
divss xmm2, xmm3
comiss xmm0, xmm2
movss dword [esp + 0x48], xmm2
cmovbe ecx, eax
lea eax, [esp + 0x4c]
comiss xmm2, dword [0x67b0b4]
cmovbe eax, ecx
movss xmm1, dword [eax]
movaps xmm0, xmm1
mulss xmm1, xmm5
mulss xmm0, xmm4
addss xmm1, dword [esp + 0x34]
addss xmm0, dword [esp + 0x30]
movss dword [esp + 0x40], xmm1
movaps xmm1, xmm6
movss dword [esp + 0x3c], xmm0
movaps xmm0, xmm7
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
subss xmm1, dword [esp + 0x58]
mov dword [esp + 0x5c], eax
subss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x60], xmm1
mov eax, dword [esp + 0x60]
movss dword [esp + 0x64], xmm0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x68], eax
mulss xmm1, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
mulss xmm0, dword [esp + 0x6c]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x522799
sqrtsd xmm0, xmm0
jmp 0x52279e
call fcn.00649080
movss xmm1, dword [0x680710]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x5228f1
cmp dword [esp + 0x2c], 0xffffffff
je 0x522846
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
movss xmm1, dword [esp + 0x70]
subss xmm1, dword [esp + 0x24]
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
subss xmm0, dword [esp + 0x28]
movss dword [esp + 0x78], xmm1
mov eax, dword [esp + 0x78]
mov dword [esp + 0x80], eax
mulss xmm1, dword [esp + 0x80]
movss dword [esp + 0x7c], xmm0
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x84], ecx
mulss xmm0, dword [esp + 0x84]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x52282e
sqrtsd xmm0, xmm0
jmp 0x522833
call fcn.00649080
movss xmm1, dword [esp + 0x38]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x5228f1
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], esi
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xc]
movss xmm1, dword [esp + 0x88]
subss xmm1, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
movss xmm0, dword [esp + 0x8c]
subss xmm0, dword [esp + 0x28]
movss dword [esp + 0x90], xmm1
mov eax, dword [esp + 0x90]
mov dword [esp + 0x98], eax
mulss xmm1, dword [esp + 0x98]
movss dword [esp + 0x94], xmm0
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x9c], ecx
mulss xmm0, dword [esp + 0x9c]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x5228e2
sqrtsd xmm0, xmm0
jmp 0x5228e7
call fcn.00649080
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x38], xmm0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x1c]
inc esi
add edx, 0x1208
add eax, 0xec
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
cmp esi, 0x40
jl 0x5224d2
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0x2c]
pop edi
pop esi
xor ecx, esp
call fcn.0063292f
mov esp, ebp
pop ebp
ret 0x18