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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x7c
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
movsd xmm5, qword [ebp + 0x24]
movsd xmm4, qword [ebp + 0x2c]
mov eax, dword [ebp + 0x3c]
movaps xmm7, xmm5
movsd xmm2, qword [0xb52480]
andps xmm2, xmm5
movaps xmm1, xmm2
xorps xmm1, xmm5
movsd xmm0, qword [0xb52488]
cmpltsd xmm1, xmm0
andps xmm1, xmm0
movsd xmm0, qword [0xb52488]
orps xmm1, xmm2
addsd xmm7, xmm1
movsd xmm3, qword [0xb52490]
subsd xmm7, xmm1
movaps xmm6, xmm7
subsd xmm6, xmm5
cmpnlesd xmm6, xmm2
movsd xmm2, qword [0xb52480]
andps xmm6, xmm3
andps xmm2, xmm4
movaps xmm1, xmm2
subsd xmm7, xmm6
xorps xmm1, xmm4
movaps xmm3, xmm4
cvtsd2si ebx, xmm7
cmpltsd xmm1, xmm0
andps xmm1, xmm0
movsd xmm0, qword [0xb52490]
orps xmm1, xmm2
addsd xmm3, xmm1
subsd xmm3, xmm1
movaps xmm1, xmm3
subsd xmm1, xmm4
cmpnlesd xmm1, xmm2
andps xmm1, xmm0
subsd xmm3, xmm1
cvtsd2si edx, xmm3
mov dword [esp + 0x74], edx
mov edx, esi
shl edx, 2
shl esi, 4
test eax, eax
je 0x6e66a4
cmp eax, 1
je 0x6e4d79
cmp eax, 2
jne 0x6e4d41
push edx
call fcn.006c7470
movsd xmm5, qword [ebp + 0x24]
mov edx, eax
test edx, edx
jne 0x6e4da7
mov eax, 0xfffffff7
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x6e4d6d
push edx
call fcn.006c7470
movsd xmm4, qword [ebp + 0x2c]
movsd xmm5, qword [ebp + 0x24]
test eax, eax
jne 0x6e550f
mov eax, 0xfffffff7
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push edx
mov dword [esp + 0x50], edx
call fcn.006c7470
mov edx, dword [esp + 0x4c]
movsd xmm4, qword [ebp + 0x2c]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x6e6007
mov eax, 0xfffffff7
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6e4db6
push edx
call fcn.006339b8
jmp 0x6e4d6d
movsd xmm3, qword [0xb52490]
movsd xmm2, qword [0xb52478]
movsd xmm4, qword [0xb52470]
cvtsi2sd xmm0, ebx
xor eax, eax
movaps xmm1, xmm5
subsd xmm1, xmm0
xorps xmm0, xmm0
lea ecx, [edx + 0x10]
mov dword [esp + 0x70], ecx
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov esi, edx
mov dword [esp], edi
mov edi, ebx
mov ebx, eax
mov ecx, dword [esp + 8]
push ecx
push esi
call fcn.007a5548
mov ecx, dword [esp + 0x74]
test ecx, ecx
jg 0x6e546f
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x60], xmm0
test edi, edi
jle 0x6e4e59
mov eax, connect
imul edi
mov ecx, edi
sar ecx, 0x1f
add edx, edi
sub edx, ecx
jne 0x6e5192
xorps xmm7, xmm7
movaps xmm6, xmm7
xor ecx, ecx
mov eax, 1
movaps xmm5, xmm7
movaps xmm4, xmm7
lea edx, [eax - 1]
cmp edi, edx
ja 0x6e5169
jmp 0x6e4e67
xorps xmm7, xmm7
movaps xmm6, xmm7
xor ecx, ecx
movaps xmm5, xmm7
movaps xmm4, xmm7
movsd xmm3, qword [esp + 0x58]
mov eax, ecx
shl eax, 4
movss xmm0, dword [eax + esi]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
mov eax, ecx
shl eax, 2
cvtsd2ss xmm2, xmm0
movss xmm0, dword [esi + eax*4 + 4]
addss xmm2, xmm4
movss xmm4, dword [esi + eax*4 + 0xc]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
mov edx, dword [ebp + 0x18]
cvtsd2ss xmm1, xmm0
sub edx, ecx
addss xmm1, xmm5
cmp ecx, edx
movss xmm0, dword [esi + eax*4 + 8]
mov eax, dword [esp + 0x70]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
movss dword [esi], xmm2
cvtsd2ss xmm0, xmm0
movss dword [esi + 4], xmm1
addss xmm0, xmm6
cvtps2pd xmm4, xmm4
mulsd xmm4, xmm3
movss dword [esi + 8], xmm0
cvtsd2ss xmm3, xmm4
addss xmm3, xmm7
movss dword [esi + 0xc], xmm3
jge 0x6e5142
movsd xmm2, qword [esp + 0x60]
mov dword [esp + 0x20], edx
xorps xmm5, xmm5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 4], edi
movsd xmm3, qword [0xb52490]
subsd xmm3, xmm2
movsd xmm2, qword [ebp + 0x24]
subsd xmm2, xmm3
movsd xmm4, qword [0xb52478]
movaps xmm1, xmm4
addsd xmm1, xmm2
movsd xmm0, qword [0xb52480]
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
comisd xmm3, xmm4
movsd xmm6, qword [0xb52488]
cmpltsd xmm7, xmm6
andps xmm7, xmm6
orps xmm7, xmm0
movaps xmm6, xmm7
addsd xmm6, xmm1
subsd xmm6, xmm7
movaps xmm7, xmm6
subsd xmm7, xmm1
movsd xmm1, qword [0xb52490]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm6, xmm7
cvtsd2si eax, xmm6
cvtsi2sd xmm0, eax
mov dword [esp + 0x24], eax
subsd xmm2, xmm0
jbe 0x6e4ff1
mov eax, ecx
shl eax, 4
movss xmm0, dword [eax + esi]
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm3
mov ebx, ecx
shl ebx, 2
cvtsd2ss xmm4, xmm1
movss xmm6, dword [esi + ebx*4 + 4]
movss dword [esp + 0x3c], xmm4
cvtps2pd xmm7, xmm6
mulsd xmm7, xmm3
cvtsd2ss xmm0, xmm7
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esi + ebx*4 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esi + ebx*4 + 0xc]
mov ebx, 1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
cvtsd2ss xmm6, xmm0
jmp 0x6e5008
movaps xmm6, xmm5
movss dword [esp + 0x34], xmm5
xor ebx, ebx
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x3c], xmm5
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
cmp ebx, eax
mov dword [esp + 0x30], ebx
jg 0x6e5056
mov edi, eax
sub edi, ebx
add edi, 1
mov eax, connect
imul edi
add edx, edi
sar edi, 0x1f
sub edx, edi
mov dword [esp + 0x44], edx
jne 0x6e527b
mov eax, 1
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x24]
sub edi, dword [esp + 0x2c]
lea eax, [eax - 1]
add edi, 1
cmp edi, eax
ja 0x6e5214
comisd xmm2, xmmword [0xb52478]
jbe 0x6e50f9
mov edi, dword [ebp + 0x18]
lea eax, [ecx + ebx]
cmp edi, eax
jle 0x6e50fc
movss xmm4, dword [esp + 0x3c]
lea edi, [ecx + ebx]
shl edi, 4
shl ecx, 4
add ecx, esi
movss xmm0, dword [esi + edi]
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm2
shl ebx, 2
cvtsd2ss xmm3, xmm1
movss xmm7, dword [ecx + ebx*4 + 4]
addss xmm4, xmm3
movss xmm1, dword [esp + 0x38]
movss dword [esp + 0x3c], xmm4
cvtps2pd xmm0, xmm7
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [ecx + ebx*4 + 8]
movss dword [esp + 0x38], xmm1
movss xmm1, dword [esp + 0x34]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [ecx + ebx*4 + 0xc]
movss dword [esp + 0x34], xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm6, xmm0
jmp 0x6e50fc
lea eax, [ecx + ebx]
movss xmm0, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x38]
movss xmm3, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
movss dword [ecx], xmm0
movss dword [ecx + 4], xmm1
movss dword [ecx + 8], xmm3
movss dword [ecx + 0xc], xmm6
add ecx, 0x10
cmp eax, ebx
mov dword [esp + 0x1c], ecx
mov ecx, eax
jl 0x6e4f07
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 4]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
jg 0x6e538c
mov ecx, dword [ebp + 0x14]
add dword [esp + 0x14], ecx
add ebx, 1
mov ecx, dword [ebp + 0x20]
cmp ebx, ecx
jb 0x6e4dfc
mov edx, esi
jmp 0x6e4dae
mov ecx, eax
shl ecx, 4
addss xmm4, dword [ecx + esi - 0x10]
mov ecx, eax
shl ecx, 2
addss xmm5, dword [esi + ecx*4 - 0xc]
addss xmm6, dword [esi + ecx*4 - 8]
addss xmm7, dword [esi + ecx*4 - 4]
mov ecx, eax
jmp 0x6e4e67
xorps xmm7, xmm7
movaps xmm6, xmm7
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x44], ecx
movaps xmm5, xmm7
movaps xmm4, xmm7
movaps xmm3, xmm7
mov dword [esp + 4], edi
mov edi, ecx
movaps xmm2, xmm7
movaps xmm1, xmm7
movaps xmm0, xmm7
addss xmm4, dword [edi + esi]
addss xmm3, dword [edi + esi + 0x10]
add edi, 0x20
add eax, 1
addss xmm5, dword [esi + ecx*4 + 4]
addss xmm6, dword [esi + ecx*4 + 8]
addss xmm7, dword [esi + ecx*4 + 0xc]
addss xmm2, dword [esi + ecx*4 + 0x14]
addss xmm1, dword [esi + ecx*4 + 0x18]
addss xmm0, dword [esi + ecx*4 + 0x1c]
add ecx, 8
cmp eax, edx
jb 0x6e51b8
mov edi, dword [esp + 4]
addss xmm7, xmm0
lea ecx, [eax + eax]
lea eax, [eax + eax + 1]
addss xmm6, xmm1
addss xmm5, xmm2
addss xmm4, xmm3
jmp 0x6e4e4c
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x38]
movss xmm3, dword [esp + 0x34]
lea eax, [ecx + edi]
add eax, ebx
shl eax, 4
addss xmm0, dword [esi + eax - 0x10]
mov eax, ecx
shl eax, 4
movss dword [esp + 0x3c], xmm0
add eax, esi
mov edx, edi
shl edx, 4
add eax, edx
mov edx, ebx
shl edx, 2
addss xmm1, dword [eax + edx*4 - 0xc]
addss xmm3, dword [eax + edx*4 - 8]
addss xmm6, dword [eax + edx*4 - 4]
movss dword [esp + 0x38], xmm1
lea ebx, [ebx + edi]
movss dword [esp + 0x34], xmm3
jmp 0x6e5056
movss xmm7, dword [esp + 0x34]
xor edi, edi
mov dword [esp + 0x40], edi
movaps xmm4, xmm5
movaps xmm3, xmm5
movaps xmm1, xmm5
mov edx, ecx
shl edx, 4
add edx, esi
movaps xmm0, xmm5
movss xmm5, dword [esp + 0x38]
mov eax, ebx
shl eax, 4
add edx, eax
mov edi, ecx
shl edi, 4
movsd qword [esp + 0x60], xmm2
movss xmm2, dword [esp + 0x3c]
add edi, esi
mov eax, ebx
shl eax, 4
add edi, eax
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
mov ecx, eax
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x44]
addss xmm2, dword [edx + ecx]
addss xmm4, dword [edx + ecx + 0x10]
add ecx, 0x20
add ebx, 1
addss xmm5, dword [edi + eax*4 + 4]
addss xmm7, dword [edi + eax*4 + 8]
addss xmm6, dword [edi + eax*4 + 0xc]
addss xmm3, dword [edi + eax*4 + 0x14]
addss xmm1, dword [edi + eax*4 + 0x18]
addss xmm0, dword [edi + eax*4 + 0x1c]
add eax, 8
cmp ebx, esi
jb 0x6e52dd
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
movss dword [esp + 0x3c], xmm2
movsd xmm2, qword [esp + 0x60]
movss dword [esp + 0x38], xmm5
xorps xmm5, xmm5
addss xmm6, xmm0
movss dword [esp + 0x34], xmm7
movss xmm0, dword [esp + 0x34]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x38]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
movss dword [esp + 0x34], xmm0
addss xmm1, xmm3
movss xmm3, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm1
addss xmm3, xmm4
lea eax, [edi + edi + 1]
lea ebx, [ebx + edi*2]
movss dword [esp + 0x3c], xmm3
mov dword [esp + 0x4c], eax
jmp 0x6e5040
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
movsd xmm0, qword [0xb52470]
lea edx, [ecx + eax]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x44], esi
lea eax, [edx + ecx*8]
mov ecx, esi
mov dword [esp + 4], edi
movss xmm1, dword [ecx]
cvtps2pd xmm2, xmm1
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
fld qword [esp + 0x50]
movsd xmm2, qword [ebp + 0x34]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [edx], di
movss xmm4, dword [ecx + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x50], xmm5
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [edx + 2], di
movss xmm7, dword [ecx + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd xmm2, qword [ebp + 0x34]
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [edx + 4], di
movss xmm1, dword [ecx + 0xc]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
add ecx, 0x10
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [edx + 6], di
add edx, 8
cmp edx, eax
jb 0x6e53ae
mov edi, dword [esp + 4]
jmp 0x6e514d
xor ecx, ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], edi
mov edi, dword [esp]
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e54a3
mov eax, dword [ebp + 0x10]
add edi, eax
add ecx, 1
cmp ecx, ebx
jb 0x6e5480
mov ebx, dword [esp + 0x10]
mov dword [esp], edi
mov edi, dword [esp + 4]
jmp 0x6e4e13
mov eax, dword [ebp + 0x18]
mov edx, edi
mov dword [esp + 0x44], esi
mov ebx, esi
lea eax, [edi + eax*8]
mov dword [esp], edi
movzx edi, word [edx]
cvtsi2ss xmm0, edi
addss xmm0, dword [ebx]
movss dword [ebx], xmm0
movzx edi, word [edx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [ebx + 4]
movss dword [ebx + 4], xmm1
movzx edi, word [edx + 4]
cvtsi2ss xmm2, edi
addss xmm2, dword [ebx + 8]
movss dword [ebx + 8], xmm2
movzx edi, word [edx + 6]
add edx, 8
cvtsi2ss xmm3, edi
addss xmm3, dword [ebx + 0xc]
movss dword [ebx + 0xc], xmm3
add ebx, 0x10
cmp edx, eax
jb 0x6e54b4
mov ebx, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6e5487
mov edx, dword [esp + 0x74]
cvtsi2sd xmm0, edx
movaps xmm3, xmm4
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6e5530
push eax
call fcn.006339b8
jmp 0x6e4d6d
movsd xmm2, qword [0xb52490]
movsd xmm1, qword [0xb52478]
movsd xmm7, qword [0xb52470]
cvtsi2sd xmm6, ebx
xor edx, edx
mov dword [esp + 0x40], edx
movaps xmm0, xmm5
subsd xmm0, xmm6
xorps xmm6, xmm6
lea edx, [eax + 0x10]
xor ecx, ecx
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x60], xmm3
mov dword [esp + 0x30], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov ebx, eax
mov edx, dword [esp + 8]
push edx
push ebx
call fcn.007a5548
test esi, esi
jne 0x6e55ae
mov edx, dword [esp + 0x74]
test edx, edx
jg 0x6e5a64
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e59da
jmp 0x6e5673
movsd xmm5, qword [0xb52490]
subsd xmm5, qword [esp + 0x60]
movsd xmm3, qword [ebp + 0x2c]
subsd xmm3, xmm5
movsd xmm4, qword [0xb52478]
movaps xmm0, xmm4
addsd xmm0, xmm3
movsd xmm2, qword [0xb52480]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
comisd xmm5, xmm4
movsd xmm6, qword [0xb52488]
cmpltsd xmm7, xmm6
andps xmm7, xmm6
orps xmm7, xmm2
movaps xmm1, xmm7
addsd xmm1, xmm0
subsd xmm1, xmm7
movaps xmm6, xmm1
subsd xmm6, xmm0
movsd xmm0, qword [0xb52490]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si edx, xmm1
cvtsi2sd xmm0, edx
mov dword [esp + 0x74], edx
subsd xmm3, xmm0
movsd qword [esp + 0x60], xmm3
jbe 0x6e564a
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e5af1
mov edx, dword [ebp + 0x10]
add edi, edx
mov edx, dword [esp + 0x74]
mov ecx, edi
test edx, edx
jg 0x6e5f5c
movsd xmm0, qword [esp + 0x60]
comisd xmm0, xmmword [0xb52478]
jbe 0x6e5673
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e5b75
movsd xmm0, qword [esp + 0x58]
mov edx, dword [esp + 4]
movsd qword [esp + 0x68], xmm0
test edx, edx
jle 0x6e56d3
mov ecx, edx
mov eax, connect
imul ecx
add edx, ecx
sar ecx, 0x1f
sub edx, ecx
jne 0x6e5c46
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm1
movaps xmm0, xmm1
xor edx, edx
mov ecx, 1
movss dword [esp + 0x3c], xmm1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 4]
lea edx, [edx - 1]
cmp ecx, edx
ja 0x6e5bff
jmp 0x6e56eb
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm1
movaps xmm0, xmm1
xor edx, edx
movss dword [esp + 0x3c], xmm1
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
movsd xmm5, qword [esp + 0x58]
mov edx, ecx
shl edx, 4
movss xmm4, dword [edx + ebx]
cvtps2pd xmm4, xmm4
mulsd xmm4, xmm5
mov edx, ecx
shl edx, 2
cvtsd2ss xmm4, xmm4
addss xmm4, dword [esp + 0x3c]
movss xmm2, dword [ebx + edx*4 + 4]
mov eax, dword [ebp + 0x18]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm5
sub eax, ecx
cmp ecx, eax
cvtsd2ss xmm3, xmm2
addss xmm3, xmm0
movss xmm0, dword [ebx + edx*4 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm5
cvtsd2ss xmm2, xmm0
addss xmm2, xmm1
movss xmm1, dword [ebx + edx*4 + 0xc]
mov edx, dword [esp + 0x4c]
cvtps2pd xmm6, xmm1
mulsd xmm6, xmm5
movss dword [ebx], xmm4
cvtsd2ss xmm7, xmm6
addss xmm7, dword [esp + 0x38]
movss dword [ebx + 4], xmm3
movss dword [ebx + 8], xmm2
movss dword [ebx + 0xc], xmm7
jge 0x6e59b3
movsd xmm2, qword [esp + 0x68]
mov dword [esp + 0x24], eax
xorps xmm5, xmm5
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], esi
mov esi, ecx
mov dword [esp], edi
movsd xmm3, qword [0xb52490]
subsd xmm3, xmm2
movsd xmm2, qword [ebp + 0x24]
subsd xmm2, xmm3
movsd xmm4, qword [0xb52478]
movaps xmm1, xmm4
addsd xmm1, xmm2
movsd xmm0, qword [0xb52480]
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
comisd xmm3, xmm4
movsd xmm6, qword [0xb52488]
cmpltsd xmm7, xmm6
andps xmm7, xmm6
orps xmm7, xmm0
movaps xmm6, xmm7
addsd xmm6, xmm1
subsd xmm6, xmm7
movaps xmm7, xmm6
subsd xmm7, xmm1
movsd xmm1, qword [0xb52490]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm6, xmm7
cvtsd2si edx, xmm6
cvtsi2sd xmm0, edx
mov dword [esp + 0x20], edx
subsd xmm2, xmm0
jbe 0x6e5878
mov edx, esi
shl edx, 4
movss xmm6, dword [edx + ebx]
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm3
mov ecx, esi
shl ecx, 2
cvtsd2ss xmm1, xmm0
movss xmm4, dword [ebx + ecx*4 + 4]
movss xmm0, dword [ebx + ecx*4 + 8]
movss dword [esp + 0x3c], xmm1
cvtps2pd xmm7, xmm4
mulsd xmm7, xmm3
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
cvtsd2ss xmm6, xmm7
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [ebx + ecx*4 + 0xc]
mov ecx, 1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
cvtsd2ss xmm4, xmm0
jmp 0x6e588c
movaps xmm4, xmm5
movss dword [esp + 0x38], xmm5
movaps xmm6, xmm5
xor ecx, ecx
movss dword [esp + 0x3c], xmm5
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
cmp ecx, edx
mov dword [esp + 0x14], ecx
jg 0x6e58da
mov edi, edx
sub edi, ecx
add edi, 1
mov eax, connect
imul edi
add edx, edi
sar edi, 0x1f
sub edx, edi
mov dword [esp + 0x48], edx
jne 0x6e5d6d
mov edx, 1
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x20]
sub edi, dword [esp + 0x18]
lea edx, [edx - 1]
add edi, 1
cmp edi, edx
ja 0x6e5d12
comisd xmm2, xmmword [0xb52478]
jbe 0x6e5971
mov edi, dword [ebp + 0x18]
lea edx, [esi + ecx]
cmp edi, edx
jle 0x6e5974
movss xmm7, dword [esp + 0x3c]
lea edi, [esi + ecx]
shl edi, 4
shl esi, 4
add esi, ebx
movss xmm0, dword [ebx + edi]
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm2
shl ecx, 2
cvtsd2ss xmm3, xmm1
movss xmm0, dword [esi + ecx*4 + 4]
addss xmm7, xmm3
movss xmm1, dword [esp + 0x38]
movss dword [esp + 0x3c], xmm7
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm6, xmm0
movss xmm0, dword [esi + ecx*4 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [esi + ecx*4 + 0xc]
movss dword [esp + 0x38], xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm4, xmm0
jmp 0x6e5974
lea edx, [esi + ecx]
movss xmm0, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
movss xmm1, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
movss dword [esi], xmm0
movss dword [esi + 4], xmm6
movss dword [esi + 8], xmm1
movss dword [esi + 0xc], xmm4
add esi, 0x10
cmp edx, ecx
mov dword [esp + 0x28], esi
mov esi, edx
jl 0x6e5794
mov esi, dword [esp + 0x40]
mov edi, dword [esp]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x6e5e7b
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x30], edx
add esi, 1
cmp esi, ecx
jb 0x6e5583
mov eax, ebx
jmp 0x6e5525
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x60]
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*8]
mov dword [esp], edi
movzx edi, word [eax]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
movzx edi, word [eax + 2]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [ecx + 4]
movss dword [ecx + 4], xmm4
movzx edi, word [eax + 4]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [ecx + 8]
movss dword [ecx + 8], xmm6
movzx edi, word [eax + 6]
cvtsi2sd xmm7, edi
add eax, 8
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm1
add ecx, 0x10
cmp eax, edx
jb 0x6e59ed
mov edi, dword [esp]
jmp 0x6e5673
xor ecx, ecx
mov dword [esp + 0x40], esi
mov esi, edx
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e5a88
mov edx, dword [ebp + 0x10]
add edi, edx
add ecx, 1
cmp ecx, esi
jb 0x6e5a6c
mov esi, dword [esp + 0x40]
jmp 0x6e559e
mov eax, dword [ebp + 0x18]
mov edx, edi
mov dword [esp + 0x70], ebx
mov esi, ebx
lea eax, [edi + eax*8]
mov dword [esp], edi
movzx edi, word [edx]
cvtsi2ss xmm0, edi
addss xmm0, dword [esi]
movss dword [esi], xmm0
movzx edi, word [edx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [esi + 4]
movss dword [esi + 4], xmm1
movzx edi, word [edx + 4]
cvtsi2ss xmm2, edi
addss xmm2, dword [esi + 8]
movss dword [esi + 8], xmm2
movzx edi, word [edx + 6]
add edx, 8
cvtsi2ss xmm3, edi
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp edx, eax
jb 0x6e5a99
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6e5a73
mov edx, dword [ebp + 0x18]
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*8]
mov dword [esp], edi
movzx edi, word [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
addss xmm1, dword [ecx]
movss dword [ecx], xmm1
movzx edi, word [eax + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [ecx + 4]
movss dword [ecx + 4], xmm3
movzx edi, word [eax + 4]
cvtsi2sd xmm4, edi
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [ecx + 8]
movss dword [ecx + 8], xmm6
movzx edi, word [eax + 6]
cvtsi2sd xmm7, edi
add eax, 8
mulsd xmm7, xmm5
cvtsd2ss xmm0, xmm7
addss xmm0, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm0
add ecx, 0x10
cmp eax, edx
jb 0x6e5afe
mov edi, dword [esp]
jmp 0x6e5645
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x60]
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*8]
mov dword [esp], edi
movzx edi, word [eax]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
movzx edi, word [eax + 2]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [ecx + 4]
movss dword [ecx + 4], xmm4
movzx edi, word [eax + 4]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [ecx + 8]
movss dword [ecx + 8], xmm6
movzx edi, word [eax + 6]
cvtsi2sd xmm7, edi
add eax, 8
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm1
add ecx, 0x10
cmp eax, edx
jb 0x6e5b88
mov edi, dword [esp]
jmp 0x6e5673
mov eax, dword [esp + 0x70]
movss xmm4, dword [esp + 0x3c]
movss xmm5, dword [esp + 0x38]
mov edx, eax
shl edx, 4
addss xmm4, dword [edx + ebx - 0x10]
mov ecx, eax
shl ecx, 2
addss xmm0, dword [ebx + ecx*4 - 0xc]
addss xmm1, dword [ebx + ecx*4 - 8]
addss xmm5, dword [ebx + ecx*4 - 4]
movss dword [esp + 0x3c], xmm4
mov dword [esp + 0x2c], eax
movss dword [esp + 0x38], xmm5
jmp 0x6e56eb
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm1
movss xmm5, dword [esp + 0x38]
movaps xmm0, xmm1
xor ecx, ecx
xor eax, eax
movss dword [esp + 0x3c], xmm1
movss xmm4, dword [esp + 0x3c]
movaps xmm3, xmm1
movaps xmm2, xmm1
movaps xmm7, xmm1
mov dword [esp + 0x48], ecx
movaps xmm6, xmm1
mov dword [esp + 0x70], eax
mov eax, ecx
mov dword [esp], edi
mov edi, dword [esp + 0x70]
addss xmm4, dword [ecx + ebx]
addss xmm3, dword [ecx + ebx + 0x10]
add ecx, 0x20
add eax, 1
addss xmm0, dword [ebx + edi*4 + 4]
addss xmm1, dword [ebx + edi*4 + 8]
addss xmm5, dword [ebx + edi*4 + 0xc]
addss xmm2, dword [ebx + edi*4 + 0x14]
addss xmm7, dword [ebx + edi*4 + 0x18]
addss xmm6, dword [ebx + edi*4 + 0x1c]
add edi, 8
cmp eax, edx
jb 0x6e5c85
mov edi, dword [esp]
movss dword [esp + 0x3c], xmm4
addss xmm1, xmm7
movss dword [esp + 0x38], xmm5
movss xmm4, dword [esp + 0x38]
movss xmm5, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
addss xmm4, xmm6
mov ecx, eax
movss dword [esp + 0x38], xmm4
addss xmm0, xmm2
lea edx, [ecx + ecx]
addss xmm5, xmm3
movss dword [esp + 0x3c], xmm5
mov dword [esp + 0x2c], edx
lea edx, [ecx + ecx + 1]
mov dword [esp + 0x70], edx
jmp 0x6e56be
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x38]
lea edx, [esi + edi]
add edx, ecx
shl edx, 4
addss xmm0, dword [ebx + edx - 0x10]
mov edx, esi
shl edx, 4
movss dword [esp + 0x3c], xmm0
add edx, ebx
mov eax, edi
shl eax, 4
add edx, eax
mov eax, ecx
shl eax, 2
addss xmm6, dword [edx + eax*4 - 0xc]
addss xmm1, dword [edx + eax*4 - 8]
addss xmm4, dword [edx + eax*4 - 4]
lea ecx, [ecx + edi]
movss dword [esp + 0x38], xmm1
jmp 0x6e58da
xor edi, edi
mov dword [esp + 0xc], edi
movaps xmm3, xmm5
movaps xmm1, xmm5
movaps xmm0, xmm5
mov edi, esi
shl edi, 4
add edi, ebx
movss dword [esp + 0x34], xmm5
movss xmm7, dword [esp + 0x34]
movss xmm5, dword [esp + 0x38]
mov edx, ecx
shl edx, 4
add edi, edx
mov edx, esi
shl edx, 4
movsd qword [esp + 0x68], xmm2
movss xmm2, dword [esp + 0x3c]
add edx, ebx
mov eax, ecx
shl eax, 4
add edx, eax
mov dword [esp + 0x1c], ecx
xor eax, eax
mov dword [esp + 0x70], eax
mov ecx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0xc]
addss xmm2, dword [ecx + edi]
addss xmm3, dword [ecx + edi + 0x10]
add ecx, 0x20
add ebx, 1
addss xmm6, dword [edx + eax*4 + 4]
addss xmm5, dword [edx + eax*4 + 8]
addss xmm4, dword [edx + eax*4 + 0xc]
addss xmm1, dword [edx + eax*4 + 0x14]
addss xmm0, dword [edx + eax*4 + 0x18]
addss xmm7, dword [edx + eax*4 + 0x1c]
add eax, 8
cmp ebx, esi
jb 0x6e5dd6
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
movss dword [esp + 0x34], xmm7
addss xmm4, dword [esp + 0x34]
movss dword [esp + 0x3c], xmm2
movsd xmm2, qword [esp + 0x68]
addss xmm6, xmm1
movss dword [esp + 0x38], xmm5
movss xmm7, dword [esp + 0x38]
xorps xmm5, xmm5
addss xmm7, xmm0
movss xmm0, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xc]
movss dword [esp + 0x38], xmm7
addss xmm0, xmm3
lea edx, [edi + edi + 1]
lea ecx, [ecx + edi*2]
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x10], edx
jmp 0x6e58c4
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
movsd xmm0, qword [0xb52470]
lea eax, [edx + ecx]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x70], ebx
lea ecx, [eax + edx*8]
mov edx, ebx
mov dword [esp], edi
movss xmm1, dword [edx]
cvtps2pd xmm2, xmm1
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
fld qword [esp + 0x50]
movsd xmm2, qword [ebp + 0x34]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [eax], di
movss xmm4, dword [edx + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x50], xmm5
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [eax + 2], di
movss xmm7, dword [edx + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd xmm2, qword [ebp + 0x34]
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [eax + 4], di
movss xmm1, dword [edx + 0xc]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
add edx, 0x10
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [eax + 6], di
add eax, 8
cmp eax, ecx
jb 0x6e5e9c
mov edi, dword [esp]
jmp 0x6e59be
xor edx, edx
xor eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x40], esi
mov dword [esp], edi
mov edi, dword [esp + 0x74]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jg 0x6e5f92
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add dword [esp], ecx
add edx, 1
cmp edx, edi
jb 0x6e5f6f
mov esi, dword [esp + 0x40]
mov edi, dword [esp]
jmp 0x6e5658
mov esi, dword [esp + 0x70]
mov ecx, dword [ebp + 0x18]
lea esi, [eax + esi]
mov dword [esp + 0x48], ebx
lea ecx, [esi + ecx*8]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x48]
movzx edi, word [esi]
cvtsi2ss xmm0, edi
addss xmm0, dword [ebx]
movss dword [ebx], xmm0
movzx edi, word [esi + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [ebx + 4]
movss dword [ebx + 4], xmm1
movzx edi, word [esi + 4]
cvtsi2ss xmm2, edi
addss xmm2, dword [ebx + 8]
movss dword [ebx + 8], xmm2
movzx edi, word [esi + 6]
add esi, 8
cvtsi2ss xmm3, edi
addss xmm3, dword [ebx + 0xc]
movss dword [ebx + 0xc], xmm3
add ebx, 0x10
cmp esi, ecx
jb 0x6e5fab
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x74]
jmp 0x6e5f76
mov eax, dword [esp + 0x74]
cvtsi2sd xmm0, eax
movaps xmm3, xmm4
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6e602c
mov eax, dword [esp + 0x70]
push eax
call fcn.006339b8
jmp 0x6e4d6d
movsd xmm2, qword [0xb52490]
movsd xmm1, qword [0xb52478]
movsd xmm5, qword [0xb52470]
xor eax, eax
mov dword [esp + 0x48], eax
xorps xmm0, xmm0
mov ecx, ebx
shl ecx, 2
sub edx, ecx
movsd qword [esp + 0x68], xmm3
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 8], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 8]
push eax
mov edx, dword [esp + 0x74]
push edx
call fcn.007a5548
test ebx, ebx
jne 0x6e609d
test esi, esi
jg 0x6e62a8
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e621c
jmp 0x6e615a
movsd xmm5, qword [0xb52490]
subsd xmm5, qword [esp + 0x68]
movsd xmm3, qword [ebp + 0x2c]
subsd xmm3, xmm5
movsd xmm4, qword [0xb52478]
movaps xmm0, xmm4
addsd xmm0, xmm3
movsd xmm2, qword [0xb52480]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
comisd xmm5, xmm4
movsd xmm6, qword [0xb52488]
cmpltsd xmm7, xmm6
andps xmm7, xmm6
orps xmm7, xmm2
movaps xmm1, xmm7
addsd xmm1, xmm0
subsd xmm1, xmm7
movaps xmm6, xmm1
subsd xmm6, xmm0
movsd xmm0, qword [0xb52490]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x68], xmm3
jbe 0x6e6135
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e633e
mov eax, dword [ebp + 0x10]
add edi, eax
mov ecx, edi
test esi, esi
jg 0x6e65fb
movsd xmm0, qword [esp + 0x68]
comisd xmm0, xmmword [0xb52478]
jbe 0x6e615a
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e63c4
mov eax, dword [esp + 0x4c]
test eax, eax
jl 0x6e61f7
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x48], ebx
mov ebx, eax
xorps xmm7, xmm7
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x70]
mov dword [esp], edi
mov edi, dword [esp + 4]
add ecx, 0x10
test edi, edi
jle 0x6e61bd
mov eax, connect
imul edi
mov eax, edi
sar eax, 0x1f
add edx, edi
sub edx, eax
jne 0x6e6473
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
mov eax, 1
movaps xmm3, xmm7
lea edx, [eax - 1]
cmp edi, edx
ja 0x6e6450
jmp 0x6e61c9
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
movaps xmm3, xmm7
mov edx, dword [esp + 0x4c]
movss dword [esi + ecx - 0x10], xmm3
lea ebx, [ebx + edi*4]
cmp ebx, edx
movss dword [esi + ecx - 0xc], xmm4
movss dword [esi + ecx - 8], xmm5
movss dword [esi + ecx - 4], xmm6
jle 0x6e6182
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
mov eax, dword [ebp + 0x1c]
test eax, eax
jg 0x6e651c
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
add dword [esp + 0x44], eax
add ebx, 1
cmp ebx, edx
jb 0x6e6072
jmp 0x6e601d
mov edx, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, edi
lea eax, [edi + eax*8]
mov dword [esp], edi
movzx edi, word [ecx]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [edx]
movss dword [edx], xmm2
movzx edi, word [ecx + 2]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [edx + 4]
movss dword [edx + 4], xmm4
movzx edi, word [ecx + 4]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
movzx edi, word [ecx + 6]
cvtsi2sd xmm7, edi
add ecx, 8
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [edx + 0xc]
movss dword [edx + 0xc], xmm1
add edx, 0x10
cmp ecx, eax
jb 0x6e6231
mov edi, dword [esp]
jmp 0x6e615a
xor eax, eax
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x70]
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e62ce
mov edx, dword [ebp + 0x10]
add edi, edx
add eax, 1
cmp eax, esi
jb 0x6e62b2
mov ebx, dword [esp + 0x48]
jmp 0x6e608d
mov edx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x40], ebx
lea edx, [edi + edx*8]
mov dword [esp + 0x74], esi
mov esi, ebx
mov dword [esp], edi
movzx edi, word [ecx]
cvtsi2ss xmm0, edi
addss xmm0, dword [esi]
movss dword [esi], xmm0
movzx edi, word [ecx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [esi + 4]
movss dword [esi + 4], xmm1
movzx edi, word [ecx + 4]
cvtsi2ss xmm2, edi
addss xmm2, dword [esi + 8]
movss dword [esi + 8], xmm2
movzx edi, word [ecx + 6]
add ecx, 8
cvtsi2ss xmm3, edi
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp ecx, edx
jb 0x6e62e3
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6e62b9
mov edx, dword [esp + 0x70]
mov eax, dword [ebp + 0x18]
mov ecx, edi
lea eax, [edi + eax*8]
mov dword [esp], edi
movzx edi, word [ecx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, word [ecx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, word [ecx + 4]
cvtsi2sd xmm4, edi
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
movzx edi, word [ecx + 6]
cvtsi2sd xmm7, edi
add ecx, 8
mulsd xmm7, xmm5
cvtsd2ss xmm0, xmm7
addss xmm0, dword [edx + 0xc]
movss dword [edx + 0xc], xmm0
add edx, 0x10
cmp ecx, eax
jb 0x6e634d
mov edi, dword [esp]
jmp 0x6e6130
mov edx, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, edi
lea eax, [edi + eax*8]
mov dword [esp], edi
movzx edi, word [ecx]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [edx]
movss dword [edx], xmm2
movzx edi, word [ecx + 2]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [edx + 4]
movss dword [edx + 4], xmm4
movzx edi, word [ecx + 4]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
movzx edi, word [ecx + 6]
cvtsi2sd xmm7, edi
add ecx, 8
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [edx + 0xc]
movss dword [edx + 0xc], xmm1
add edx, 0x10
cmp ecx, eax
jb 0x6e63d9
mov edi, dword [esp]
jmp 0x6e615a
lea edx, [esi + ebx*4]
shl eax, 4
addss xmm3, dword [eax + edx - 0x10]
addss xmm4, dword [eax + edx - 0xc]
addss xmm5, dword [eax + edx - 8]
addss xmm6, dword [eax + edx - 4]
jmp 0x6e61c9
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
xor eax, eax
mov dword [esp + 0x2c], eax
lea eax, [esi + ebx*4]
movaps xmm3, xmm7
movaps xmm2, xmm7
movaps xmm1, xmm7
movss dword [esp + 0x3c], xmm7
movaps xmm0, xmm7
movss xmm7, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
xor eax, eax
mov edi, dword [esp + 0x30]
mov dword [esp + 0x40], eax
mov esi, eax
mov eax, dword [esp + 0x2c]
addss xmm3, dword [edi + esi*4]
addss xmm4, dword [edi + esi*4 + 4]
addss xmm5, dword [edi + esi*4 + 8]
addss xmm6, dword [edi + esi*4 + 0xc]
addss xmm2, dword [edi + esi*4 + 0x10]
addss xmm1, dword [edi + esi*4 + 0x14]
addss xmm7, dword [edi + esi*4 + 0x18]
addss xmm0, dword [edi + esi*4 + 0x1c]
add esi, 8
add eax, 1
cmp eax, edx
jb 0x6e64b1
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 4]
movss dword [esp + 0x3c], xmm7
addss xmm5, dword [esp + 0x3c]
xorps xmm7, xmm7
mov dword [esp + 0x2c], eax
mov edx, eax
addss xmm6, xmm0
lea eax, [edx + edx + 1]
addss xmm4, xmm1
addss xmm3, xmm2
jmp 0x6e61b0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x1c]
mov edx, dword [esp + 0x44]
movsd xmm0, qword [0xb52470]
lea ecx, [ecx + edx]
mov edx, dword [esp + 0x70]
lea eax, [ecx + eax*8]
mov dword [esp], edi
movss xmm1, dword [edx]
cvtps2pd xmm2, xmm1
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
fld qword [esp + 0x50]
movsd xmm2, qword [ebp + 0x34]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [ecx], di
movss xmm4, dword [edx + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x50], xmm5
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [ecx + 2], di
movss xmm7, dword [edx + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd xmm2, qword [ebp + 0x34]
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [ecx + 4], di
movss xmm1, dword [edx + 0xc]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
add edx, 0x10
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov word [ecx + 6], di
add ecx, 8
cmp ecx, eax
jb 0x6e653b
mov edi, dword [esp]
jmp 0x6e6202
xor edx, edx
xor eax, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ebx
mov dword [esp], edi
mov edi, dword [esp + 0x70]
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jg 0x6e6631
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add dword [esp], ecx
add edx, 1
cmp edx, esi
jb 0x6e660e
mov ebx, dword [esp + 0x48]
mov edi, dword [esp]
jmp 0x6e613f
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x18]
lea ebx, [ebx + eax]
mov dword [esp + 0x30], edi
lea ecx, [ebx + ecx*8]
mov dword [esp + 0x74], esi
mov esi, edi
movzx edi, word [ebx]
cvtsi2ss xmm0, edi
addss xmm0, dword [esi]
movss dword [esi], xmm0
movzx edi, word [ebx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [esi + 4]
movss dword [esi + 4], xmm1
movzx edi, word [ebx + 4]
cvtsi2ss xmm2, edi
addss xmm2, dword [esi + 8]
movss dword [esi + 8], xmm2
movzx edi, word [ebx + 6]
add ebx, 8
cvtsi2ss xmm3, edi
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp ebx, ecx
jb 0x6e6648
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
jmp 0x6e6615
push esi
mov dword [esp + 0x50], edx
call fcn.006339a0
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x6e66c9
mov eax, 0xfffffff7
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
test eax, eax
jg 0x6e66df
mov eax, dword [esp + 0x70]
push eax
call fcn.006339b8
jmp 0x6e4d6d
movsd xmm0, qword [0xb52470]
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
imul eax, dword [esp + 0x74]
mov ecx, ebx
shl ecx, 2
sub edx, ecx
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp], edi
mov edi, eax
mov edx, dword [esp + 8]
push edx
mov ecx, dword [esp + 0x74]
push ecx
call fcn.007a5548
mov ecx, dword [esp + 0x70]
mov edx, ebx
sub edx, edi
add edx, edi
add edx, dword [esp]
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
push edx
call fcn.006e0980
add esp, 0x14
mov edx, dword [esp + 0x4c]
test edx, edx
jl 0x6e67bc
xor edx, edx
xor eax, eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 4]
add eax, 0x10
test ecx, ecx
jg 0x6e68ec
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x28]
mov dword [eax + esi - 0x10], edi
mov edi, dword [esp + 0x24]
mov dword [eax + esi - 0xc], edi
mov dword [eax + esi - 8], ecx
mov ecx, dword [esp + 4]
lea edx, [edx + ecx*4]
mov dword [eax + esi - 4], ebx
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jle 0x6e676e
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x6e67df
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x18], edx
add ebx, edi
add esi, 1
cmp esi, ecx
jb 0x6e671f
jmp 0x6e66d0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
movsd xmm0, qword [0xb52470]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x70]
mov edx, dword [ebp + 0x1c]
lea edx, [eax + edx*8]
mov dword [esp + 0x48], esi
mov esi, dword [ecx]
cvtsi2sd xmm2, esi
shr esi, 0x1f
addsd xmm2, qword [esi*8 + 0xb52460]
movsd xmm1, qword [ebp + 0x34]
movsd xmm3, qword [ebp + 0x34]
movsd xmm5, qword [ebp + 0x34]
movsd xmm7, qword [ebp + 0x34]
mulsd xmm2, xmm1
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov word [eax], si
mov esi, dword [ecx + 4]
cvtsi2sd xmm4, esi
shr esi, 0x1f
addsd xmm4, qword [esi*8 + 0xb52460]
mulsd xmm4, xmm3
addsd xmm4, xmm0
movsd qword [esp + 0x50], xmm4
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov word [eax + 2], si
mov esi, dword [ecx + 8]
cvtsi2sd xmm6, esi
shr esi, 0x1f
addsd xmm6, qword [esi*8 + 0xb52460]
mulsd xmm6, xmm5
addsd xmm6, xmm0
movsd qword [esp + 0x50], xmm6
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov word [eax + 4], si
mov esi, dword [ecx + 0xc]
cvtsi2sd xmm1, esi
shr esi, 0x1f
addsd xmm1, qword [esi*8 + 0xb52460]
mulsd xmm1, xmm7
add ecx, 0x10
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov word [eax + 6], si
add eax, 8
cmp eax, edx
jb 0x6e67ff
mov esi, dword [esp + 0x48]
jmp 0x6e67c3
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
lea edi, [esi + edx*4]
mov esi, dword [esp + 4]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
mov eax, ecx
mov dword [esp + 0x30], edx
mov edx, edi
add ecx, dword [edx + 8]
add ebx, dword [edx + 0xc]
mov edi, dword [esp + 0x28]
add edi, dword [edx]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
add edi, dword [edx + 4]
add edx, 0x10
add eax, 1
mov dword [esp + 0x24], edi
cmp eax, esi
jb 0x6e6913
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x70]
jmp 0x6e6789