Function at 0x6f0b94
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 [0xb525a0]
andps xmm2, xmm5
movaps xmm1, xmm2
xorps xmm1, xmm5
movsd xmm0, qword [0xb525a8]
cmpltsd xmm1, xmm0
andps xmm1, xmm0
movsd xmm0, qword [0xb525a8]
orps xmm1, xmm2
addsd xmm7, xmm1
movsd xmm3, qword [0xb525b0]
subsd xmm7, xmm1
movaps xmm6, xmm7
subsd xmm6, xmm5
cmpnlesd xmm6, xmm2
movsd xmm2, qword [0xb525a0]
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 [0xb525b0]
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 0x6f2614
cmp eax, 1
je 0x6f0cc5
cmp eax, 2
jne 0x6f0c8d
push edx
call fcn.006c7470
movsd xmm5, qword [ebp + 0x24]
mov edx, eax
test edx, edx
jne 0x6f0cf3
mov eax, 0xfffffff7
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x6f0cb9
push edx
call fcn.006c7470
movsd xmm4, qword [ebp + 0x2c]
movsd xmm5, qword [ebp + 0x24]
test eax, eax
jne 0x6f1467
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 0x6f1f6b
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 0x6f0d02
push edx
call fcn.006339b8
jmp 0x6f0cb9
movsd xmm3, qword [0xb525b0]
movsd xmm2, qword [0xb52598]
movsd xmm4, qword [0xb52590]
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 0x6f13c7
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x60], xmm0
test edi, edi
jle 0x6f0da5
mov eax, connect
imul edi
mov ecx, edi
sar ecx, 0x1f
add edx, edi
sub edx, ecx
jne 0x6f10de
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 0x6f10b5
jmp 0x6f0db3
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 0x6f108e
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 [0xb525b0]
subsd xmm3, xmm2
movsd xmm2, qword [ebp + 0x24]
subsd xmm2, xmm3
movsd xmm4, qword [0xb52598]
movaps xmm1, xmm4
addsd xmm1, xmm2
movsd xmm0, qword [0xb525a0]
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
comisd xmm3, xmm4
movsd xmm6, qword [0xb525a8]
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 [0xb525b0]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm6, xmm7
cvtsd2si eax, xmm6
cvtsi2sd xmm0, eax
mov dword [esp + 0x24], eax
subsd xmm2, xmm0
jbe 0x6f0f3d
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 0x6f0f54
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 0x6f0fa2
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 0x6f11c7
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 0x6f1160
comisd xmm2, xmmword [0xb52598]
jbe 0x6f1045
mov edi, dword [ebp + 0x18]
lea eax, [ecx + ebx]
cmp edi, eax
jle 0x6f1048
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 0x6f1048
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 0x6f0e53
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 4]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
jg 0x6f12d8
mov ecx, dword [ebp + 0x14]
add dword [esp + 0x14], ecx
add ebx, 1
mov ecx, dword [ebp + 0x20]
cmp ebx, ecx
jb 0x6f0d48
mov edx, esi
jmp 0x6f0cfa
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 0x6f0db3
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 0x6f1104
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 0x6f0d98
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 0x6f0fa2
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 0x6f1229
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 0x6f0f8c
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
movsd xmm0, qword [0xb52590]
lea edx, [ecx + eax]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x44], esi
mov eax, esi
lea ecx, [edx + ecx*4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
movss xmm1, dword [eax]
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 ebx, dword [esp + 0x50]
mov byte [edx], bl
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x50], xmm5
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [edx + 1], bl
movss xmm7, dword [eax + 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 ebx, dword [esp + 0x50]
mov byte [edx + 2], bl
movss xmm1, dword [eax + 0xc]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [edx + 3], bl
add eax, 0x10
add edx, 4
cmp edx, ecx
jb 0x6f1302
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 4]
jmp 0x6f1099
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 0x6f13fb
mov eax, dword [ebp + 0x10]
add edi, eax
add ecx, 1
cmp ecx, ebx
jb 0x6f13d8
mov ebx, dword [esp + 0x10]
mov dword [esp], edi
mov edi, dword [esp + 4]
jmp 0x6f0d5f
mov eax, dword [ebp + 0x18]
mov edx, edi
mov dword [esp + 0x44], esi
mov ebx, esi
lea eax, [edi + eax*4]
mov dword [esp], edi
movzx edi, byte [edx]
cvtsi2ss xmm0, edi
addss xmm0, dword [ebx]
movss dword [ebx], xmm0
movzx edi, byte [edx + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [ebx + 4]
movss dword [ebx + 4], xmm1
movzx edi, byte [edx + 2]
cvtsi2ss xmm2, edi
addss xmm2, dword [ebx + 8]
movss dword [ebx + 8], xmm2
movzx edi, byte [edx + 3]
add edx, 4
cvtsi2ss xmm3, edi
addss xmm3, dword [ebx + 0xc]
movss dword [ebx + 0xc], xmm3
add ebx, 0x10
cmp edx, eax
jb 0x6f140c
mov ebx, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6f13df
mov edx, dword [esp + 0x74]
cvtsi2sd xmm0, edx
movaps xmm3, xmm4
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6f1488
push eax
call fcn.006339b8
jmp 0x6f0cb9
movsd xmm2, qword [0xb525b0]
movsd xmm1, qword [0xb52598]
movsd xmm7, qword [0xb52590]
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 0x6f1506
mov edx, dword [esp + 0x74]
test edx, edx
jg 0x6f19bc
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6f1932
jmp 0x6f15cb
movsd xmm5, qword [0xb525b0]
subsd xmm5, qword [esp + 0x60]
movsd xmm3, qword [ebp + 0x2c]
subsd xmm3, xmm5
movsd xmm4, qword [0xb52598]
movaps xmm0, xmm4
addsd xmm0, xmm3
movsd xmm2, qword [0xb525a0]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
comisd xmm5, xmm4
movsd xmm6, qword [0xb525a8]
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 [0xb525b0]
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 0x6f15a2
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6f1a49
mov edx, dword [ebp + 0x10]
add edi, edx
mov edx, dword [esp + 0x74]
mov ecx, edi
test edx, edx
jg 0x6f1ec0
movsd xmm0, qword [esp + 0x60]
comisd xmm0, xmmword [0xb52598]
jbe 0x6f15cb
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6f1acd
movsd xmm0, qword [esp + 0x58]
mov edx, dword [esp + 4]
movsd qword [esp + 0x68], xmm0
test edx, edx
jle 0x6f162b
mov ecx, edx
mov eax, connect
imul ecx
add edx, ecx
sar ecx, 0x1f
sub edx, ecx
jne 0x6f1b9e
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 0x6f1b57
jmp 0x6f1643
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 0x6f190b
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 [0xb525b0]
subsd xmm3, xmm2
movsd xmm2, qword [ebp + 0x24]
subsd xmm2, xmm3
movsd xmm4, qword [0xb52598]
movaps xmm1, xmm4
addsd xmm1, xmm2
movsd xmm0, qword [0xb525a0]
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
comisd xmm3, xmm4
movsd xmm6, qword [0xb525a8]
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 [0xb525b0]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm6, xmm7
cvtsd2si edx, xmm6
cvtsi2sd xmm0, edx
mov dword [esp + 0x20], edx
subsd xmm2, xmm0
jbe 0x6f17d0
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 0x6f17e4
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 0x6f1832
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 0x6f1cc5
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 0x6f1c6a
comisd xmm2, xmmword [0xb52598]
jbe 0x6f18c9
mov edi, dword [ebp + 0x18]
lea edx, [esi + ecx]
cmp edi, edx
jle 0x6f18cc
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 0x6f18cc
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 0x6f16ec
mov esi, dword [esp + 0x40]
mov edi, dword [esp]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x6f1dd3
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x30], edx
add esi, 1
cmp esi, ecx
jb 0x6f14db
mov eax, ebx
jmp 0x6f147d
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x60]
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*4]
mov dword [esp], edi
movzx edi, byte [eax]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
movzx edi, byte [eax + 1]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [ecx + 4]
movss dword [ecx + 4], xmm4
movzx edi, byte [eax + 2]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [ecx + 8]
movss dword [ecx + 8], xmm6
movzx edi, byte [eax + 3]
cvtsi2sd xmm7, edi
add eax, 4
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm1
add ecx, 0x10
cmp eax, edx
jb 0x6f1945
mov edi, dword [esp]
jmp 0x6f15cb
xor ecx, ecx
mov dword [esp + 0x40], esi
mov esi, edx
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6f19e0
mov edx, dword [ebp + 0x10]
add edi, edx
add ecx, 1
cmp ecx, esi
jb 0x6f19c4
mov esi, dword [esp + 0x40]
jmp 0x6f14f6
mov eax, dword [ebp + 0x18]
mov edx, edi
mov dword [esp + 0x70], ebx
mov esi, ebx
lea eax, [edi + eax*4]
mov dword [esp], edi
movzx edi, byte [edx]
cvtsi2ss xmm0, edi
addss xmm0, dword [esi]
movss dword [esi], xmm0
movzx edi, byte [edx + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [esi + 4]
movss dword [esi + 4], xmm1
movzx edi, byte [edx + 2]
cvtsi2ss xmm2, edi
addss xmm2, dword [esi + 8]
movss dword [esi + 8], xmm2
movzx edi, byte [edx + 3]
add edx, 4
cvtsi2ss xmm3, edi
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp edx, eax
jb 0x6f19f1
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6f19cb
mov edx, dword [ebp + 0x18]
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*4]
mov dword [esp], edi
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
addss xmm1, dword [ecx]
movss dword [ecx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [ecx + 4]
movss dword [ecx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [ecx + 8]
movss dword [ecx + 8], xmm6
movzx edi, byte [eax + 3]
cvtsi2sd xmm7, edi
add eax, 4
mulsd xmm7, xmm5
cvtsd2ss xmm0, xmm7
addss xmm0, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm0
add ecx, 0x10
cmp eax, edx
jb 0x6f1a56
mov edi, dword [esp]
jmp 0x6f159d
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x60]
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*4]
mov dword [esp], edi
movzx edi, byte [eax]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
movzx edi, byte [eax + 1]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [ecx + 4]
movss dword [ecx + 4], xmm4
movzx edi, byte [eax + 2]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [ecx + 8]
movss dword [ecx + 8], xmm6
movzx edi, byte [eax + 3]
cvtsi2sd xmm7, edi
add eax, 4
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [ecx + 0xc]
movss dword [ecx + 0xc], xmm1
add ecx, 0x10
cmp eax, edx
jb 0x6f1ae0
mov edi, dword [esp]
jmp 0x6f15cb
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 0x6f1643
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 0x6f1bdd
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 0x6f1616
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 0x6f1832
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 0x6f1d2e
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 0x6f181c
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [0xb52590]
lea ecx, [ecx + edx]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x70], ebx
mov eax, ebx
lea edx, [ecx + edx*4]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
mov dword [esp], edi
movss xmm1, dword [eax]
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 ebx, dword [esp + 0x50]
mov byte [ecx], bl
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x50], xmm5
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [ecx + 1], bl
movss xmm7, dword [eax + 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 ebx, dword [esp + 0x50]
mov byte [ecx + 2], bl
movss xmm1, dword [eax + 0xc]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [ecx + 3], bl
add eax, 0x10
add ecx, 4
cmp ecx, edx
jb 0x6f1dfc
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp]
jmp 0x6f1916
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 0x6f1ef6
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add dword [esp], ecx
add edx, 1
cmp edx, edi
jb 0x6f1ed3
mov esi, dword [esp + 0x40]
mov edi, dword [esp]
jmp 0x6f15b0
mov esi, dword [esp + 0x70]
mov ecx, dword [ebp + 0x18]
lea esi, [eax + esi]
mov dword [esp + 0x48], ebx
lea ecx, [esi + ecx*4]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x48]
movzx edi, byte [esi]
cvtsi2ss xmm0, edi
addss xmm0, dword [ebx]
movss dword [ebx], xmm0
movzx edi, byte [esi + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [ebx + 4]
movss dword [ebx + 4], xmm1
movzx edi, byte [esi + 2]
cvtsi2ss xmm2, edi
addss xmm2, dword [ebx + 8]
movss dword [ebx + 8], xmm2
movzx edi, byte [esi + 3]
add esi, 4
cvtsi2ss xmm3, edi
addss xmm3, dword [ebx + 0xc]
movss dword [ebx + 0xc], xmm3
add ebx, 0x10
cmp esi, ecx
jb 0x6f1f0f
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x74]
jmp 0x6f1eda
mov eax, dword [esp + 0x74]
cvtsi2sd xmm0, eax
movaps xmm3, xmm4
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6f1f90
mov eax, dword [esp + 0x70]
push eax
call fcn.006339b8
jmp 0x6f0cb9
movsd xmm2, qword [0xb525b0]
movsd xmm1, qword [0xb52598]
movsd xmm5, qword [0xb52590]
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 0x6f2001
test esi, esi
jg 0x6f220c
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6f2180
jmp 0x6f20be
movsd xmm5, qword [0xb525b0]
subsd xmm5, qword [esp + 0x68]
movsd xmm3, qword [ebp + 0x2c]
subsd xmm3, xmm5
movsd xmm4, qword [0xb52598]
movaps xmm0, xmm4
addsd xmm0, xmm3
movsd xmm2, qword [0xb525a0]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
comisd xmm5, xmm4
movsd xmm6, qword [0xb525a8]
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 [0xb525b0]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x68], xmm3
jbe 0x6f2099
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6f22a2
mov eax, dword [ebp + 0x10]
add edi, eax
mov ecx, edi
test esi, esi
jg 0x6f256b
movsd xmm0, qword [esp + 0x68]
comisd xmm0, xmmword [0xb52598]
jbe 0x6f20be
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6f2328
mov eax, dword [esp + 0x4c]
test eax, eax
jl 0x6f215b
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 0x6f2121
mov eax, connect
imul edi
mov eax, edi
sar eax, 0x1f
add edx, edi
sub edx, eax
jne 0x6f23d7
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
mov eax, 1
movaps xmm3, xmm7
lea edx, [eax - 1]
cmp edi, edx
ja 0x6f23b4
jmp 0x6f212d
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 0x6f20e6
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
mov eax, dword [ebp + 0x1c]
test eax, eax
jg 0x6f2480
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
add dword [esp + 0x44], eax
add ebx, 1
cmp ebx, edx
jb 0x6f1fd6
jmp 0x6f1f81
mov edx, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, edi
lea eax, [edi + eax*4]
mov dword [esp], edi
movzx edi, byte [ecx]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [edx]
movss dword [edx], xmm2
movzx edi, byte [ecx + 1]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [edx + 4]
movss dword [edx + 4], xmm4
movzx edi, byte [ecx + 2]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
movzx edi, byte [ecx + 3]
cvtsi2sd xmm7, edi
add ecx, 4
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [edx + 0xc]
movss dword [edx + 0xc], xmm1
add edx, 0x10
cmp ecx, eax
jb 0x6f2195
mov edi, dword [esp]
jmp 0x6f20be
xor eax, eax
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x70]
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6f2232
mov edx, dword [ebp + 0x10]
add edi, edx
add eax, 1
cmp eax, esi
jb 0x6f2216
mov ebx, dword [esp + 0x48]
jmp 0x6f1ff1
mov edx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x40], ebx
lea edx, [edi + edx*4]
mov dword [esp + 0x74], esi
mov esi, ebx
mov dword [esp], edi
movzx edi, byte [ecx]
cvtsi2ss xmm0, edi
addss xmm0, dword [esi]
movss dword [esi], xmm0
movzx edi, byte [ecx + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [esi + 4]
movss dword [esi + 4], xmm1
movzx edi, byte [ecx + 2]
cvtsi2ss xmm2, edi
addss xmm2, dword [esi + 8]
movss dword [esi + 8], xmm2
movzx edi, byte [ecx + 3]
add ecx, 4
cvtsi2ss xmm3, edi
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp ecx, edx
jb 0x6f2247
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6f221d
mov edx, dword [esp + 0x70]
mov eax, dword [ebp + 0x18]
mov ecx, edi
lea eax, [edi + eax*4]
mov dword [esp], edi
movzx edi, byte [ecx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [ecx + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [ecx + 2]
cvtsi2sd xmm4, edi
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
movzx edi, byte [ecx + 3]
cvtsi2sd xmm7, edi
add ecx, 4
mulsd xmm7, xmm5
cvtsd2ss xmm0, xmm7
addss xmm0, dword [edx + 0xc]
movss dword [edx + 0xc], xmm0
add edx, 0x10
cmp ecx, eax
jb 0x6f22b1
mov edi, dword [esp]
jmp 0x6f2094
mov edx, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
mov eax, dword [ebp + 0x18]
mov ecx, edi
lea eax, [edi + eax*4]
mov dword [esp], edi
movzx edi, byte [ecx]
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
addss xmm2, dword [edx]
movss dword [edx], xmm2
movzx edi, byte [ecx + 1]
cvtsi2sd xmm3, edi
mulsd xmm3, xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [edx + 4]
movss dword [edx + 4], xmm4
movzx edi, byte [ecx + 2]
cvtsi2sd xmm5, edi
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
movzx edi, byte [ecx + 3]
cvtsi2sd xmm7, edi
add ecx, 4
mulsd xmm7, xmm0
cvtsd2ss xmm1, xmm7
addss xmm1, dword [edx + 0xc]
movss dword [edx + 0xc], xmm1
add edx, 0x10
cmp ecx, eax
jb 0x6f233d
mov edi, dword [esp]
jmp 0x6f20be
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 0x6f212d
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 0x6f2415
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 0x6f2114
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x1c]
mov edx, dword [esp + 0x44]
movsd xmm0, qword [0xb52590]
lea ecx, [ecx + edx]
mov edx, dword [esp + 0x70]
lea eax, [ecx + eax*4]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x74], esi
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 ebx, dword [esp + 0x50]
mov byte [ecx], bl
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 ebx, dword [esp + 0x50]
mov byte [ecx + 1], bl
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 ebx, dword [esp + 0x50]
mov byte [ecx + 2], bl
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 ebx, dword [esp + 0x50]
mov byte [ecx + 3], bl
add ecx, 4
cmp ecx, eax
jb 0x6f24a7
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x6f2166
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 0x6f25a1
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add dword [esp], ecx
add edx, 1
cmp edx, esi
jb 0x6f257e
mov ebx, dword [esp + 0x48]
mov edi, dword [esp]
jmp 0x6f20a3
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x18]
lea ebx, [ebx + eax]
mov dword [esp + 0x30], edi
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x74], esi
mov esi, edi
movzx edi, byte [ebx]
cvtsi2ss xmm0, edi
addss xmm0, dword [esi]
movss dword [esi], xmm0
movzx edi, byte [ebx + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [esi + 4]
movss dword [esi + 4], xmm1
movzx edi, byte [ebx + 2]
cvtsi2ss xmm2, edi
addss xmm2, dword [esi + 8]
movss dword [esi + 8], xmm2
movzx edi, byte [ebx + 3]
add ebx, 4
cvtsi2ss xmm3, edi
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp ebx, ecx
jb 0x6f25b8
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
jmp 0x6f2585
push esi
mov dword [esp + 0x50], edx
call fcn.006339a0
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x6f2639
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 0x6f264f
mov eax, dword [esp + 0x70]
push eax
call fcn.006339b8
jmp 0x6f0cb9
movsd xmm0, qword [0xb52590]
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.006e08e0
add esp, 0x14
mov edx, dword [esp + 0x4c]
test edx, edx
jl 0x6f272c
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 0x6f2868
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 0x6f26de
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x6f274f
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 0x6f268f
jmp 0x6f2640
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
movsd xmm0, qword [0xb52590]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x70]
mov edx, dword [ebp + 0x1c]
lea edx, [eax + edx*4]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov esi, dword [ecx]
cvtsi2sd xmm2, esi
shr esi, 0x1f
addsd xmm2, qword [esi*8 + 0xb52580]
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 ebx, dword [esp + 0x50]
mov byte [eax], bl
mov edi, dword [ecx + 4]
cvtsi2sd xmm4, edi
shr edi, 0x1f
addsd xmm4, qword [edi*8 + 0xb52580]
mulsd xmm4, xmm3
addsd xmm4, xmm0
movsd qword [esp + 0x50], xmm4
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [eax + 1], bl
mov ebx, dword [ecx + 8]
cvtsi2sd xmm6, ebx
shr ebx, 0x1f
addsd xmm6, qword [ebx*8 + 0xb52580]
mulsd xmm6, xmm5
addsd xmm6, xmm0
movsd qword [esp + 0x50], xmm6
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [eax + 2], bl
mov ebx, dword [ecx + 0xc]
cvtsi2sd xmm1, ebx
shr ebx, 0x1f
addsd xmm1, qword [ebx*8 + 0xb52580]
mulsd xmm1, xmm7
add ecx, 0x10
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
fld qword [esp + 0x50]
fisttp qword [esp + 0x50]
mov ebx, dword [esp + 0x50]
mov byte [eax + 3], bl
add eax, 4
cmp eax, edx
jb 0x6f2777
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
jmp 0x6f2733
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 0x6f288f
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x70]
jmp 0x6f26f9