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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x94
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
movsd xmm5, qword [ebp + 0x24]
movsd xmm4, qword [ebp + 0x2c]
movsd xmm2, qword [0xb524c0]
movsd xmm0, qword [0xb524c8]
movsd xmm3, qword [0xb524d0]
mov dword [esp + 0x8c], eax
andps xmm2, xmm5
movaps xmm1, xmm2
xorps xmm1, xmm5
cmpltsd xmm1, xmm0
mov eax, dword [ebp + 0x40]
andps xmm1, xmm0
orps xmm1, xmm2
movaps xmm7, xmm5
addsd xmm7, xmm1
movsd xmm0, qword [0xb524c8]
subsd xmm7, xmm1
movaps xmm6, xmm7
subsd xmm6, xmm5
cmpnlesd xmm6, xmm2
movsd xmm2, qword [0xb524c0]
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 [0xb524d0]
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 + 0x88], edx
mov edx, dword [ebp + 0x18]
imul edx, dword [ebp + 0x3c]
mov edi, edx
shl edi, 2
test eax, eax
je 0x6e8417
cmp eax, 1
je 0x6e6a95
cmp eax, 2
jne 0x6e6a57
push edx
call fcn.006c7470
movsd xmm5, qword [ebp + 0x24]
test eax, eax
jne 0x6e6aba
mov eax, 0xfffffff7
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x6e6a86
push edx
call fcn.006c7470
movsd xmm4, qword [ebp + 0x2c]
movsd xmm5, qword [ebp + 0x24]
test eax, eax
jne 0x6e7189
mov eax, 0xfffffff7
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push edx
call fcn.006c7470
movsd xmm4, qword [ebp + 0x2c]
test eax, eax
jne 0x6e7c7b
mov eax, 0xfffffff7
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
test edx, edx
jg 0x6e6ac9
push eax
call fcn.006339b8
jmp 0x6e6a86
movsd xmm3, qword [0xb524d0]
movsd xmm2, qword [0xb524b8]
mov ecx, dword [ebp + 0x3c]
movsd xmm4, qword [0xb524b0]
cvtsi2sd xmm0, ebx
mov dword [esp], esi
xor edx, edx
mov esi, ecx
shl esi, 2
movaps xmm1, xmm5
subsd xmm1, xmm0
xorps xmm0, xmm0
mov dword [esp + 8], edi
mov edi, ecx
shl edi, 2
neg edi
lea edi, [edi + ecx*4]
mov dword [esp + 0x10], edx
lea edx, [eax + ecx*4]
add edi, eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x48], edx
mov edx, eax
sub edx, esi
lea esi, [ecx + ecx]
mov dword [esp + 0x44], edi
neg esi
lea edi, [ecx + ecx]
lea edx, [edx + ecx*8]
mov dword [esp + 0x60], edi
shl edi, 2
mov dword [esp + 0x50], edx
lea edx, [edi + esi*4]
mov edi, dword [esp + 8]
add edx, eax
mov dword [esp + 0x58], edx
lea edx, [esi + ecx*2]
mov esi, dword [esp]
add dword [esp + 0x8c], edx
neg ecx
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x14]
movsd qword [esp + 0x70], xmm1
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x10]
mov dword [esp], esi
mov esi, ebx
mov ebx, eax
mov edx, dword [esp + 8]
push edx
push ebx
call fcn.007a5548
mov edx, dword [esp + 0x88]
test edx, edx
jg 0x6e70d3
movsd xmm0, qword [esp + 0x70]
test esi, esi
jle 0x6e6bdb
mov eax, connect
imul esi
mov ecx, esi
sar ecx, 0x1f
add edx, esi
sub edx, ecx
jne 0x6e6e67
xorps xmm6, xmm6
movaps xmm5, xmm6
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x40], edx
movaps xmm4, xmm6
lea edx, [edx - 1]
cmp esi, edx
ja 0x6e6e43
jmp 0x6e6be6
xorps xmm6, xmm6
movaps xmm5, xmm6
xor ecx, ecx
movaps xmm4, xmm6
mov edx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x18]
imul edx, ecx
sub eax, ecx
cmp ecx, eax
movss xmm3, dword [ebx + edx*4]
cvtps2pd xmm1, xmm3
movsd xmm3, qword [esp + 0x70]
mulsd xmm1, xmm3
cvtsd2ss xmm2, xmm1
addss xmm2, xmm4
movss xmm1, dword [ebx + edx*4 + 4]
movss xmm4, dword [ebx + edx*4 + 8]
mov edx, dword [esp + 0x48]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm3
movss dword [ebx], xmm2
cvtsd2ss xmm1, xmm1
addss xmm1, xmm5
movss dword [ebx + 4], xmm1
cvtps2pd xmm4, xmm4
mulsd xmm4, xmm3
cvtsd2ss xmm3, xmm4
addss xmm3, xmm6
movss dword [ebx + 8], xmm3
jge 0x6e6e1c
movsd xmm3, qword [0xb524b8]
mov dword [esp + 0x24], eax
xorps xmm1, xmm1
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], edi
mov dword [esp + 4], esi
movsd xmm2, qword [0xb524d0]
subsd xmm2, xmm0
movaps xmm5, xmm3
movsd xmm0, qword [ebp + 0x24]
subsd xmm0, xmm2
movsd xmm4, qword [0xb524c0]
addsd xmm5, xmm0
andps xmm4, xmm5
movaps xmm7, xmm4
xorps xmm7, xmm5
movsd xmm6, qword [0xb524c8]
cmpltsd xmm7, xmm6
andps xmm7, xmm6
orps xmm7, xmm4
movaps xmm6, xmm7
addsd xmm6, xmm5
subsd xmm6, xmm7
movaps xmm7, xmm6
subsd xmm7, xmm5
movsd xmm5, qword [0xb524d0]
cmpnlesd xmm7, xmm4
andps xmm7, xmm5
subsd xmm6, xmm7
cvtsd2si edi, xmm6
cvtsi2sd xmm4, edi
comisd xmm2, xmm3
subsd xmm0, xmm4
jbe 0x6e6d25
mov edx, dword [ebp + 0x3c]
imul edx, ecx
mov esi, 1
movss xmm4, dword [ebx + edx*4]
movss xmm6, dword [ebx + edx*4 + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm2
mov dword [esp + 0x2c], esi
cvtsd2ss xmm4, xmm5
cvtps2pd xmm7, xmm6
movss xmm6, dword [ebx + edx*4 + 8]
mulsd xmm7, xmm2
cvtsd2ss xmm5, xmm7
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm2
cvtsd2ss xmm7, xmm6
jmp 0x6e6d34
movaps xmm7, xmm1
movaps xmm5, xmm1
movaps xmm4, xmm1
xor edx, edx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], edx
cmp edx, edi
mov dword [esp + 0x34], edx
jg 0x6e6d80
mov esi, edi
sub esi, dword [esp + 0x2c]
mov eax, connect
add esi, 1
imul esi
add edx, esi
sar esi, 0x1f
sub edx, esi
jne 0x6e6f27
mov edx, 1
mov dword [esp + 0x38], edx
sub edi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
lea esi, [edx - 1]
add edi, 1
cmp edi, esi
ja 0x6e6ee8
comisd xmm0, xmm3
jbe 0x6e6de3
mov edx, dword [esp + 0x2c]
lea edx, [ecx + edx]
mov esi, dword [ebp + 0x18]
cmp esi, edx
jle 0x6e6dea
mov esi, dword [ebp + 0x3c]
imul ecx, esi
mov edi, dword [esp + 0x2c]
imul edi, esi
add ecx, edi
movss xmm2, dword [ebx + ecx*4]
cvtps2pd xmm6, xmm2
mulsd xmm6, xmm0
cvtsd2ss xmm2, xmm6
addss xmm4, xmm2
movss xmm2, dword [ebx + ecx*4 + 4]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtsd2ss xmm2, xmm2
addss xmm5, xmm2
movss xmm2, dword [ebx + ecx*4 + 8]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtsd2ss xmm2, xmm2
addss xmm7, xmm2
jmp 0x6e6dea
mov edx, dword [esp + 0x2c]
lea edx, [ecx + edx]
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 0x3c]
movss dword [ecx], xmm4
lea edi, [ecx + esi*4]
mov esi, dword [esp + 0x24]
movss dword [ecx + 4], xmm5
cmp edx, esi
movss dword [ecx + 8], xmm7
mov ecx, edx
mov dword [esp + 0x20], edi
jl 0x6e6c6a
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 4]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x6e7001
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x54], edx
add edi, 1
cmp edi, ecx
jb 0x6e6b80
mov eax, ebx
jmp 0x6e6ac1
mov edx, dword [ebp + 0x3c]
mov ecx, dword [esp + 0x40]
imul edx, ecx
add edx, dword [esp + 0x5c]
addss xmm4, dword [ebx + edx*4]
addss xmm5, dword [ebx + edx*4 + 4]
addss xmm6, dword [ebx + edx*4 + 8]
jmp 0x6e6be6
xorps xmm6, xmm6
movaps xmm5, xmm6
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x60]
movaps xmm4, xmm6
movaps xmm2, xmm6
movaps xmm1, xmm6
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x58]
movaps xmm7, xmm6
mov dword [esp + 4], esi
mov esi, dword [esp + 0x50]
addss xmm4, dword [ebx + ecx*4]
addss xmm5, dword [ebx + ecx*4 + 4]
addss xmm6, dword [ebx + ecx*4 + 8]
add eax, 1
addss xmm2, dword [esi + ecx*4]
addss xmm1, dword [esi + ecx*4 + 4]
addss xmm7, dword [esi + ecx*4 + 8]
add ecx, edi
cmp eax, edx
jb 0x6e6e95
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 4]
addss xmm6, xmm7
lea ecx, [eax + eax]
lea edx, [eax + eax + 1]
mov dword [esp + 0x40], edx
addss xmm5, xmm1
addss xmm4, xmm2
jmp 0x6e6bce
mov edi, dword [ebp + 0x3c]
mov edx, edi
imul edx, ecx
lea edx, [ebx + edx*4]
mov eax, edi
mov esi, dword [esp + 0x34]
imul eax, esi
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x38]
imul edi, eax
add edi, dword [esp + 0x5c]
addss xmm4, dword [edx + edi*4]
addss xmm5, dword [edx + edi*4 + 4]
addss xmm7, dword [edx + edi*4 + 8]
lea edx, [eax + esi]
mov dword [esp + 0x2c], edx
jmp 0x6e6d80
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x28], edi
movaps xmm6, xmm1
movaps xmm2, xmm1
mov esi, eax
imul esi, ecx
imul eax, dword [esp + 0x2c]
mov dword [esp + 0x64], edx
xor edx, edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x50]
lea edi, [edx + esi*4]
mov edx, dword [esp + 0x58]
movss dword [esp + 0x3c], xmm1
movss xmm3, dword [esp + 0x3c]
lea edx, [edx + esi*4]
lea esi, [edi + eax*4]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x38], esi
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
xor esi, esi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x60]
addss xmm4, dword [eax + esi*4]
addss xmm5, dword [eax + esi*4 + 4]
addss xmm7, dword [eax + esi*4 + 8]
add edi, 1
addss xmm6, dword [ecx + esi*4]
addss xmm2, dword [ecx + esi*4 + 4]
addss xmm3, dword [ecx + esi*4 + 8]
add esi, ebx
cmp edi, edx
jb 0x6e6f8e
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
movss dword [esp + 0x3c], xmm3
addss xmm7, dword [esp + 0x3c]
movsd xmm3, qword [0xb524b8]
mov dword [esp + 0x40], edi
addss xmm5, xmm2
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
addss xmm4, xmm6
lea edx, [eax + eax + 1]
mov dword [esp + 0x38], edx
lea edx, [esi + eax*2]
mov dword [esp + 0x2c], edx
jmp 0x6e6d6a
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
movsd xmm0, qword [0xb524b0]
xor ecx, ecx
lea edx, [edx + eax]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x14]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
add ecx, 1
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x68], xmm2
fld qword [esp + 0x68]
movsd xmm2, qword [ebp + 0x34]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx], di
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x68], xmm5
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx + 2], di
movss xmm7, dword [eax + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x68], xmm1
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx + 4], di
add eax, esi
add edx, ebx
mov edi, dword [ebp + 0x1c]
cmp ecx, edi
jb 0x6e7031
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 4]
jmp 0x6e6e27
xor ecx, ecx
mov dword [esp + 0x10], edi
mov edi, dword [esp]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 4], esi
mov esi, edx
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e7111
mov eax, dword [ebp + 0x10]
add edi, eax
add ecx, 1
cmp ecx, esi
jb 0x6e70ea
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 4]
mov dword [esp], edi
mov edi, dword [esp + 0x10]
jmp 0x6e6b9a
mov esi, dword [esp + 0x14]
xor edx, edx
lea eax, [edi + ebx]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp], edi
movzx edi, word [ecx]
cvtsi2ss xmm0, edi
add edx, 1
addss xmm0, dword [eax]
movss dword [eax], xmm0
movzx edi, word [ecx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [eax + 4]
movss dword [eax + 4], xmm1
movzx edi, word [ecx + 4]
add ecx, ebx
cvtsi2ss xmm2, edi
mov edi, dword [ebp + 0x18]
addss xmm2, dword [eax + 8]
movss dword [eax + 8], xmm2
add eax, esi
cmp edx, edi
jb 0x6e7131
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x88]
mov edi, dword [esp]
jmp 0x6e70f1
mov edx, dword [esp + 0x88]
cvtsi2sd xmm0, edx
movaps xmm3, xmm4
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6e71ad
push eax
call fcn.006339b8
jmp 0x6e6a86
movsd xmm2, qword [0xb524d0]
movsd xmm1, qword [0xb524b8]
movsd xmm7, qword [0xb524b0]
cvtsi2sd xmm6, ebx
mov dword [esp], esi
xor edx, edx
movaps xmm0, xmm5
subsd xmm0, xmm6
xorps xmm6, xmm6
mov dword [esp + 8], edi
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x3c]
mov edi, edx
shl edi, 2
neg edi
mov esi, edx
shl esi, 2
mov dword [esp + 0x34], esi
lea ecx, [eax + edx*4]
lea edi, [edi + edx*4]
add edi, eax
mov dword [esp + 0x54], ecx
mov ecx, eax
sub ecx, esi
lea esi, [edx + edx]
mov dword [esp + 0x48], edi
neg esi
lea edi, [edx + edx]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x60], edi
shl edi, 2
mov dword [esp + 0x58], ecx
lea ecx, [edi + esi*4]
mov edi, dword [esp + 8]
add ecx, eax
mov dword [esp + 0x5c], ecx
lea ecx, [esi + edx*2]
mov esi, dword [esp]
add dword [esp + 0x8c], ecx
mov dword [esp + 0x44], ecx
neg edx
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x34]
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x70], xmm3
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov ebx, eax
mov dword [esp], esi
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 8]
push edx
push ebx
call fcn.007a5548
test edi, edi
jne 0x6e729a
test esi, esi
jg 0x6e76e8
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e764e
jmp 0x6e7356
movsd xmm5, qword [0xb524d0]
subsd xmm5, qword [esp + 0x70]
movsd xmm3, qword [ebp + 0x2c]
subsd xmm3, xmm5
movsd xmm4, qword [0xb524b8]
movaps xmm0, xmm4
addsd xmm0, xmm3
movsd xmm2, qword [0xb524c0]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
comisd xmm5, xmm4
movsd xmm6, qword [0xb524c8]
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 [0xb524d0]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x70], xmm3
jbe 0x6e7333
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e7793
mov edx, dword [ebp + 0x10]
add dword [esp], edx
test esi, esi
jg 0x6e7bb6
movsd xmm0, qword [esp + 0x70]
comisd xmm0, xmmword [0xb524b8]
jbe 0x6e7356
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e7827
movsd xmm0, qword [esp + 0x78]
mov edx, dword [esp + 4]
movsd qword [esp + 0x80], xmm0
test edx, edx
jle 0x6e73ae
mov ecx, edx
mov eax, connect
imul ecx
add edx, ecx
sar ecx, 0x1f
sub edx, ecx
jne 0x6e78fd
xorps xmm2, xmm2
movss dword [esp + 0x4c], xmm2
xor ecx, ecx
mov edx, 1
movss dword [esp + 0x3c], xmm2
mov dword [esp + 0x28], edx
lea eax, [edx - 1]
mov edx, dword [esp + 4]
cmp edx, eax
ja 0x6e78c1
jmp 0x6e73bf
xorps xmm2, xmm2
movss dword [esp + 0x4c], xmm2
xor ecx, ecx
movss dword [esp + 0x3c], xmm2
mov edx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x18]
imul edx, ecx
sub eax, ecx
cmp ecx, eax
movss xmm6, dword [ebx + edx*4]
cvtps2pd xmm7, xmm6
movss xmm6, dword [ebx + edx*4 + 4]
cvtps2pd xmm6, xmm6
movsd xmm1, qword [esp + 0x78]
mulsd xmm7, xmm1
cvtsd2ss xmm0, xmm7
addss xmm0, dword [esp + 0x3c]
mulsd xmm6, xmm1
cvtsd2ss xmm6, xmm6
addss xmm6, xmm2
movss xmm2, dword [ebx + edx*4 + 8]
mov edx, dword [esp + 0x54]
cvtps2pd xmm3, xmm2
mulsd xmm3, xmm1
movss dword [ebx], xmm0
cvtsd2ss xmm4, xmm3
addss xmm4, dword [esp + 0x4c]
movss dword [ebx + 4], xmm6
movss dword [ebx + 8], xmm4
jge 0x6e7627
movsd xmm6, qword [esp + 0x80]
mov dword [esp + 0x24], eax
xorps xmm5, xmm5
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x88], esi
movsd xmm2, qword [0xb524d0]
subsd xmm2, xmm6
movsd xmm6, qword [ebp + 0x24]
subsd xmm6, xmm2
movsd xmm3, qword [0xb524b8]
movaps xmm1, xmm3
addsd xmm1, xmm6
movsd xmm0, qword [0xb524c0]
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
comisd xmm2, xmm3
movsd xmm4, qword [0xb524c8]
cmpltsd xmm7, xmm4
andps xmm7, xmm4
orps xmm7, xmm0
movaps xmm4, xmm7
addsd xmm4, xmm1
subsd xmm4, xmm7
movaps xmm7, xmm4
subsd xmm7, xmm1
movsd xmm1, qword [0xb524d0]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm4, xmm7
cvtsd2si edi, xmm4
cvtsi2sd xmm0, edi
subsd xmm6, xmm0
jbe 0x6e7514
mov edx, dword [ebp + 0x3c]
imul edx, ecx
mov esi, 1
movss xmm3, dword [ebx + edx*4]
movss xmm4, dword [ebx + edx*4 + 4]
cvtps2pd xmm0, xmm3
mulsd xmm0, xmm2
mov dword [esp + 0x1c], esi
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebx + edx*4 + 8]
movss dword [esp + 0x3c], xmm1
cvtps2pd xmm7, xmm4
mulsd xmm7, xmm2
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtsd2ss xmm3, xmm7
cvtsd2ss xmm1, xmm0
jmp 0x6e7526
movaps xmm1, xmm5
movaps xmm3, xmm5
movss dword [esp + 0x3c], xmm5
xor edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
cmp edx, edi
mov dword [esp + 0x14], edx
jg 0x6e7572
mov esi, edi
sub esi, dword [esp + 0x1c]
mov eax, connect
add esi, 1
imul esi
add edx, esi
sar esi, 0x1f
sub edx, esi
jne 0x6e7a05
mov edx, 1
mov dword [esp + 0x10], edx
sub edi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea esi, [edx - 1]
add edi, 1
cmp edi, esi
ja 0x6e79ba
comisd xmm6, xmmword [0xb524b8]
jbe 0x6e75e5
mov edx, dword [esp + 0x1c]
lea edx, [ecx + edx]
mov esi, dword [ebp + 0x18]
cmp esi, edx
jle 0x6e75ec
mov esi, dword [ebp + 0x3c]
imul ecx, esi
mov edi, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x3c]
imul edi, esi
add ecx, edi
movss xmm0, dword [ebx + ecx*4]
cvtps2pd xmm2, xmm0
movss xmm0, dword [ebx + ecx*4 + 4]
mulsd xmm2, xmm6
cvtsd2ss xmm4, xmm2
addss xmm7, xmm4
movss dword [esp + 0x3c], xmm7
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm6
cvtsd2ss xmm0, xmm0
addss xmm3, xmm0
movss xmm0, dword [ebx + ecx*4 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm6
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
jmp 0x6e75ec
mov edx, dword [esp + 0x1c]
lea edx, [ecx + edx]
movss xmm0, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov esi, dword [ebp + 0x3c]
movss dword [ecx], xmm0
lea edi, [ecx + esi*4]
mov esi, dword [esp + 0x24]
movss dword [ecx + 4], xmm3
cmp edx, esi
movss dword [ecx + 8], xmm1
mov ecx, edx
mov dword [esp + 0x28], edi
jl 0x6e744b
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x6e7ade
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x50], edx
add edi, 1
cmp edi, ecx
jb 0x6e7273
mov eax, ebx
jmp 0x6e71a2
mov edx, dword [esp]
mov eax, dword [esp + 0x44]
movsd xmm5, qword [esp + 0x70]
xor ecx, ecx
lea edx, [edx + eax]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x34]
movzx edi, word [edx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
add ecx, 1
cvtsd2ss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movzx edi, word [edx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [eax + 4]
movss dword [eax + 4], xmm3
movzx edi, word [edx + 4]
cvtsi2sd xmm4, edi
add edx, ebx
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [eax + 8]
mov edi, dword [ebp + 0x18]
movss dword [eax + 8], xmm6
add eax, esi
cmp ecx, edi
jb 0x6e767b
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x88]
jmp 0x6e7356
xor eax, eax
mov dword [esp + 0x38], edi
mov edi, dword [esp]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x44]
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x6e772a
add edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x88]
add eax, 1
cmp eax, edx
jb 0x6e7700
mov ebx, dword [esp + 0x40]
mov esi, edx
mov dword [esp], edi
mov edi, dword [esp + 0x38]
jmp 0x6e728a
mov edx, dword [esp + 0x48]
xor ebx, ebx
lea ecx, [edi + esi]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x60]
mov dword [esp], edi
movzx edi, word [ecx]
cvtsi2ss xmm0, edi
add ebx, 1
addss xmm0, dword [edx]
movss dword [edx], xmm0
movzx edi, word [ecx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [edx + 4]
movss dword [edx + 4], xmm1
movzx edi, word [ecx + 4]
add ecx, eax
cvtsi2ss xmm2, edi
mov edi, dword [ebp + 0x18]
addss xmm2, dword [edx + 8]
movss dword [edx + 8], xmm2
add edx, esi
cmp ebx, edi
jb 0x6e7742
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp]
jmp 0x6e7707
mov edx, dword [esp]
mov eax, dword [esp + 0x44]
xor ecx, ecx
lea edx, [edx + eax]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x34]
movzx edi, word [edx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
add ecx, 1
cvtsd2ss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movzx edi, word [edx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [eax + 4]
movss dword [eax + 4], xmm3
movzx edi, word [edx + 4]
cvtsi2sd xmm4, edi
add edx, ebx
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [eax + 8]
mov edi, dword [ebp + 0x18]
movss dword [eax + 8], xmm6
add eax, esi
cmp ecx, edi
jb 0x6e77ba
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x88]
jmp 0x6e732d
mov edx, dword [esp]
mov eax, dword [esp + 0x44]
movsd xmm5, qword [esp + 0x70]
xor ecx, ecx
lea edx, [edx + eax]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x34]
movzx edi, word [edx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
add ecx, 1
cvtsd2ss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movzx edi, word [edx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [eax + 4]
movss dword [eax + 4], xmm3
movzx edi, word [edx + 4]
cvtsi2sd xmm4, edi
add edx, ebx
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [eax + 8]
mov edi, dword [ebp + 0x18]
movss dword [eax + 8], xmm6
add eax, esi
cmp ecx, edi
jb 0x6e7854
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x88]
jmp 0x6e7356
mov edx, dword [ebp + 0x3c]
mov ecx, dword [esp + 0x28]
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x4c]
imul edx, ecx
add edx, dword [esp + 0x30]
addss xmm0, dword [ebx + edx*4]
addss xmm2, dword [ebx + edx*4 + 4]
addss xmm1, dword [ebx + edx*4 + 8]
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x4c], xmm1
jmp 0x6e73bf
xorps xmm2, xmm2
movss dword [esp + 0x4c], xmm2
movss xmm1, dword [esp + 0x4c]
xor eax, eax
movaps xmm5, xmm2
xor ecx, ecx
movss dword [esp + 0x3c], xmm2
movss xmm0, dword [esp + 0x3c]
movaps xmm4, xmm2
movaps xmm3, xmm2
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x58]
addss xmm0, dword [ebx + ecx*4]
addss xmm2, dword [ebx + ecx*4 + 4]
addss xmm1, dword [ebx + ecx*4 + 8]
add eax, 1
addss xmm5, dword [esi + ecx*4]
addss xmm4, dword [esi + ecx*4 + 4]
addss xmm3, dword [esi + ecx*4 + 8]
add ecx, edi
cmp eax, edx
jb 0x6e7940
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x88]
movss dword [esp + 0x3c], xmm0
addss xmm2, xmm4
lea ecx, [eax + eax]
lea edx, [eax + eax + 1]
movss dword [esp + 0x4c], xmm1
movss xmm0, dword [esp + 0x4c]
movss xmm1, dword [esp + 0x3c]
addss xmm0, xmm3
movss dword [esp + 0x4c], xmm0
addss xmm1, xmm5
movss dword [esp + 0x3c], xmm1
mov dword [esp + 0x28], edx
jmp 0x6e739d
mov edi, dword [ebp + 0x3c]
mov edx, edi
imul edx, ecx
lea edx, [ebx + edx*4]
mov eax, edi
mov esi, dword [esp + 0x14]
movss xmm0, dword [esp + 0x3c]
imul eax, esi
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x10]
imul edi, eax
add edi, dword [esp + 0x30]
addss xmm0, dword [edx + edi*4]
addss xmm3, dword [edx + edi*4 + 4]
addss xmm1, dword [edx + edi*4 + 8]
movss dword [esp + 0x3c], xmm0
lea edx, [eax + esi]
mov dword [esp + 0x1c], edx
jmp 0x6e7572
mov eax, dword [ebp + 0x3c]
movss xmm7, dword [esp + 0x3c]
mov dword [esp + 0x20], edi
movaps xmm0, xmm5
movaps xmm4, xmm5
movaps xmm2, xmm5
mov esi, eax
imul esi, ecx
imul eax, dword [esp + 0x1c]
mov dword [esp + 0x64], edx
xor edx, edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x58]
lea edi, [edx + esi*4]
mov edx, dword [esp + 0x5c]
lea edx, [edx + esi*4]
lea esi, [edi + eax*4]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], esi
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
xor esi, esi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x60]
addss xmm7, dword [eax + esi*4]
addss xmm3, dword [eax + esi*4 + 4]
addss xmm1, dword [eax + esi*4 + 8]
add edi, 1
addss xmm0, dword [ecx + esi*4]
addss xmm4, dword [ecx + esi*4 + 4]
addss xmm2, dword [ecx + esi*4 + 8]
add esi, ebx
cmp edi, edx
jb 0x6e7a69
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
movss dword [esp + 0x3c], xmm7
addss xmm1, xmm2
movss xmm2, dword [esp + 0x3c]
mov dword [esp + 0xc], edi
addss xmm3, xmm4
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
addss xmm2, xmm0
movss dword [esp + 0x3c], xmm2
lea edx, [eax + eax + 1]
mov dword [esp + 0x10], edx
lea edx, [esi + eax*2]
mov dword [esp + 0x1c], edx
jmp 0x6e755c
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x8c]
movsd xmm0, qword [0xb524b0]
xor ecx, ecx
lea edx, [edx + eax]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x34]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
add ecx, 1
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x68], xmm2
fld qword [esp + 0x68]
movsd xmm2, qword [ebp + 0x34]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx], di
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x68], xmm5
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx + 2], di
movss xmm7, dword [eax + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x68], xmm1
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx + 4], di
add eax, esi
add edx, ebx
mov edi, dword [ebp + 0x1c]
cmp ecx, edi
jb 0x6e7b11
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x88]
jmp 0x6e7632
mov eax, dword [esp]
mov ecx, dword [esp + 0x44]
xor edx, edx
lea ecx, [ecx + eax]
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x40], ebx
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jg 0x6e7bf8
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add dword [esp], ecx
add edx, 1
cmp edx, esi
jb 0x6e7bd4
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
jmp 0x6e733b
mov ecx, dword [esp + 0x28]
xor ebx, ebx
lea ecx, [eax + ecx]
mov dword [esp + 0x20], ecx
mov ecx, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x34]
movzx edi, word [eax]
cvtsi2ss xmm0, edi
add ebx, 1
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
movzx edi, word [eax + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [ecx + 4]
movss dword [ecx + 4], xmm1
movzx edi, word [eax + 4]
add eax, edx
cvtsi2ss xmm2, edi
mov edi, dword [ebp + 0x18]
addss xmm2, dword [ecx + 8]
movss dword [ecx + 8], xmm2
add ecx, esi
cmp ebx, edi
jb 0x6e7c22
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x88]
jmp 0x6e7bdb
mov edx, dword [esp + 0x88]
cvtsi2sd xmm0, edx
movaps xmm3, xmm4
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x6e7c9f
push eax
call fcn.006339b8
jmp 0x6e6a86
movsd xmm2, qword [0xb524d0]
movsd xmm1, qword [0xb524b8]
movsd xmm5, qword [0xb524b0]
mov dword [esp], esi
xor edx, edx
mov esi, eax
xorps xmm0, xmm0
mov dword [esp + 8], edi
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0x3c]
mov ecx, edx
shl ecx, 2
neg ecx
lea edi, [eax + ecx]
mov dword [esp + 0x40], edi
mov edi, edx
shl edi, 2
sub esi, edi
lea ecx, [ecx + edx*4]
mov dword [esp + 0x64], edi
add ecx, eax
lea edi, [edx + edx]
lea esi, [esi + edx*8]
mov dword [esp + 0x14], ecx
lea ecx, [edx + edx]
neg ecx
mov dword [esp + 0x54], edi
shl edi, 2
lea edi, [edi + ecx*4]
lea ecx, [ecx + edx*2]
add dword [esp + 0x8c], ecx
mov dword [esp + 0x10], ecx
mov ecx, edx
neg ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0x18]
sub ecx, ebx
imul ecx, edx
imul edx, ebx
mov dword [esp + 0x60], edx
shl edx, 2
sub esi, edx
sub edi, edx
mov dword [esp + 0xc], esi
mov esi, dword [esp]
add edi, eax
neg edx
add edx, eax
mov dword [esp + 0x58], edi
xor edi, edi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 8]
movsd qword [esp + 0x80], xmm3
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 8], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 8]
push eax
mov edx, dword [esp + 0x4c]
push edx
call fcn.007a5548
test ebx, ebx
jne 0x6e7d9d
test edi, edi
jg 0x6e7fcf
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e7f37
jmp 0x6e7e61
movsd xmm5, qword [0xb524d0]
subsd xmm5, qword [esp + 0x80]
movsd xmm3, qword [ebp + 0x2c]
subsd xmm3, xmm5
movsd xmm4, qword [0xb524b8]
movaps xmm0, xmm4
addsd xmm0, xmm3
movsd xmm2, qword [0xb524c0]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
comisd xmm5, xmm4
movsd xmm6, qword [0xb524c8]
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 [0xb524d0]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si edi, xmm1
cvtsi2sd xmm0, edi
subsd xmm3, xmm0
movsd qword [esp + 0x80], xmm3
jbe 0x6e7e3b
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e807e
mov eax, dword [ebp + 0x10]
add esi, eax
test edi, edi
jg 0x6e834b
movsd xmm0, qword [esp + 0x80]
comisd xmm0, xmmword [0xb524b8]
jbe 0x6e7e61
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e810d
mov eax, dword [esp + 0x38]
test eax, eax
jl 0x6e7f0e
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x30], eax
xorps xmm6, xmm6
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x88], edi
mov dword [esp], esi
mov esi, dword [esp + 4]
add ecx, dword [esp + 0x64]
add dword [esp + 0x30], 1
test esi, esi
jle 0x6e7ed5
mov eax, connect
imul esi
mov edi, esi
sar edi, 0x1f
add edx, esi
sub edx, edi
jne 0x6e81ca
mov edi, dword [esp + 0x30]
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm6
mov eax, 1
imul edi, dword [esp + 0x60]
lea edx, [eax - 1]
cmp esi, edx
ja 0x6e81a5
jmp 0x6e7ee7
mov edi, dword [esp + 0x30]
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm6
imul edi, dword [esp + 0x60]
mov eax, dword [esp + 0x38]
movss dword [ecx + ebx], xmm3
cmp edi, eax
movss dword [ecx + ebx + 4], xmm4
movss dword [ecx + ebx + 8], xmm5
jle 0x6e7e8e
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x88]
mov esi, dword [esp]
mov eax, dword [ebp + 0x1c]
test eax, eax
jg 0x6e8275
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
add dword [esp + 0x50], eax
add ebx, 1
cmp ebx, edx
jb 0x6e7d72
mov eax, dword [esp + 0x48]
jmp 0x6e7c94
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
movsd xmm5, qword [esp + 0x80]
xor ecx, ecx
lea edx, [esi + edx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x88], edi
mov dword [esp], esi
mov esi, dword [esp + 0x64]
movzx edi, word [edx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
add ecx, 1
cvtsd2ss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movzx edi, word [edx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [eax + 4]
movss dword [eax + 4], xmm3
movzx edi, word [edx + 4]
cvtsi2sd xmm4, edi
add edx, ebx
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [eax + 8]
mov edi, dword [ebp + 0x18]
movss dword [eax + 8], xmm6
add eax, esi
cmp ecx, edi
jb 0x6e7f63
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x88]
mov esi, dword [esp]
jmp 0x6e7e61
xor ecx, ecx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp], esi
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x6e8000
mov eax, dword [ebp + 0x10]
add dword [esp], eax
add ecx, 1
cmp ecx, edi
jb 0x6e7fe0
mov ebx, dword [esp + 0x44]
mov esi, dword [esp]
jmp 0x6e7d8d
mov eax, dword [esp]
xor edx, edx
lea eax, [eax + ebx]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x2c], eax
mov eax, esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x88], edi
movzx edi, word [ecx]
cvtsi2ss xmm0, edi
add edx, 1
addss xmm0, dword [eax]
movss dword [eax], xmm0
movzx edi, word [ecx + 2]
cvtsi2ss xmm1, edi
addss xmm1, dword [eax + 4]
movss dword [eax + 4], xmm1
movzx edi, word [ecx + 4]
add ecx, ebx
cvtsi2ss xmm2, edi
mov edi, dword [ebp + 0x18]
addss xmm2, dword [eax + 8]
movss dword [eax + 8], xmm2
add eax, esi
cmp edx, edi
jb 0x6e8025
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x88]
jmp 0x6e7fe7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
xor ecx, ecx
lea edx, [esi + edx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x88], edi
mov dword [esp], esi
mov esi, dword [esp + 0x64]
movzx edi, word [edx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
add ecx, 1
cvtsd2ss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movzx edi, word [edx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [eax + 4]
movss dword [eax + 4], xmm3
movzx edi, word [edx + 4]
cvtsi2sd xmm4, edi
add edx, ebx
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [eax + 8]
mov edi, dword [ebp + 0x18]
movss dword [eax + 8], xmm6
add eax, esi
cmp ecx, edi
jb 0x6e80a1
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x88]
mov esi, dword [esp]
jmp 0x6e7e36
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
movsd xmm5, qword [esp + 0x80]
xor ecx, ecx
lea edx, [esi + edx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x88], edi
mov dword [esp], esi
mov esi, dword [esp + 0x64]
movzx edi, word [edx]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
add ecx, 1
cvtsd2ss xmm1, xmm0
addss xmm1, dword [eax]
movss dword [eax], xmm1
movzx edi, word [edx + 2]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [eax + 4]
movss dword [eax + 4], xmm3
movzx edi, word [edx + 4]
cvtsi2sd xmm4, edi
add edx, ebx
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [eax + 8]
mov edi, dword [ebp + 0x18]
movss dword [eax + 8], xmm6
add eax, esi
cmp ecx, edi
jb 0x6e8139
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x88]
mov esi, dword [esp]
jmp 0x6e7e61
imul eax, dword [ebp + 0x3c]
add eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x34]
lea edx, [edx + edi*4]
addss xmm3, dword [edx + eax*4]
addss xmm4, dword [edx + eax*4 + 4]
addss xmm5, dword [edx + eax*4 + 8]
jmp 0x6e7ee7
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm6
xor edi, edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x30]
movaps xmm2, xmm6
movaps xmm1, xmm6
movaps xmm0, xmm6
imul edi, dword [esp + 0x60]
mov dword [esp + 0x2c], ecx
lea eax, [eax + edi*4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
lea eax, [eax + edi*4]
mov dword [esp + 0x18], eax
mov ecx, eax
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x20]
addss xmm3, dword [ebx + eax*4]
addss xmm4, dword [ebx + eax*4 + 4]
addss xmm5, dword [ebx + eax*4 + 8]
add edi, 1
addss xmm2, dword [ecx + eax*4]
addss xmm1, dword [ecx + eax*4 + 4]
addss xmm0, dword [ecx + eax*4 + 8]
add eax, esi
cmp edi, edx
jb 0x6e821d
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 4]
mov dword [esp + 0x20], edi
addss xmm5, xmm0
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
addss xmm4, xmm1
lea eax, [eax + eax + 1]
addss xmm3, xmm2
jmp 0x6e7ec8
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x50]
movsd xmm0, qword [0xb524b0]
xor ecx, ecx
lea edx, [edx + eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x88], edi
mov dword [esp], esi
mov esi, dword [esp + 0x64]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
add ecx, 1
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x68], xmm2
fld qword [esp + 0x68]
movsd xmm2, qword [ebp + 0x34]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx], di
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
addsd xmm5, xmm0
movsd qword [esp + 0x68], xmm5
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx + 2], di
movss xmm7, dword [eax + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x68], xmm1
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov word [edx + 4], di
add eax, esi
add edx, ebx
mov edi, dword [ebp + 0x1c]
cmp ecx, edi
jb 0x6e82a7
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x88]
mov esi, dword [esp]
jmp 0x6e7f19
mov eax, dword [esp + 0x10]
xor ecx, ecx
lea edx, [eax + esi]
xor eax, eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x14]
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jg 0x6e8390
add esi, dword [ebp + 0x10]
add eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x88]
add ecx, 1
cmp ecx, ebx
jb 0x6e8365
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x88]
jmp 0x6e7e43
xor ebx, ebx
mov dword [esp + 0x20], ebx
lea ebx, [edx + eax]
mov dword [esp + 0x24], ebx
mov ebx, edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp], esi
mov esi, dword [esp + 0x64]
movzx edi, word [edx]
cvtsi2ss xmm0, edi
add eax, 1
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]
add edx, ecx
cvtsi2ss xmm2, edi
mov edi, dword [ebp + 0x18]
addss xmm2, dword [ebx + 8]
movss dword [ebx + 8], xmm2
add ebx, esi
cmp eax, edi
jb 0x6e83be
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
mov esi, dword [esp]
jmp 0x6e836c
mov eax, dword [ebp + 0x18]
sub eax, ebx
imul eax, dword [ebp + 0x3c]
mov dword [esp + 0x64], eax
push edi
call fcn.006339a0
test eax, eax
jne 0x6e8440
mov eax, 0xfffffff7
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
test edx, edx
jle 0x6e866d
movsd xmm0, qword [0xb524b0]
mov ecx, dword [ebp + 0x3c]
xor edx, edx
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0x10]
imul edx, dword [esp + 0x88]
mov dword [esp + 0x48], eax
imul ecx, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp], esi
mov eax, dword [esp + 8]
mov esi, ebx
push eax
mov edx, dword [esp + 0x4c]
push edx
call fcn.007a5548
mov eax, dword [ebp + 0x3c]
push eax
mov eax, dword [ebp + 0x18]
mov edx, dword [esp + 0x4c]
push edx
mov ecx, dword [esp + 0x90]
push ecx
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.006e0440
add esp, 0x18
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x64]
test eax, eax
jl 0x6e8573
xor eax, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x8c], ebx
mov ecx, dword [esp + 4]
test ecx, ecx
jle 0x6e8678
mov edi, dword [esp + 0x48]
xor ebx, ebx
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x28], ecx
lea edi, [edi + eax*4]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, edi
mov dword [esp + 0x30], edx
mov edx, dword [esp + 4]
add ebx, dword [eax + 8]
mov edi, dword [esp + 0x28]
add edi, dword [eax]
add ecx, 1
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
add edi, dword [eax + 4]
lea eax, [eax + esi*4]
cmp ecx, edx
mov dword [esp + 0x24], edi
jl 0x6e851a
mov esi, edi
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov esi, dword [esp + 0x64]
cmp eax, esi
mov dword [edx + 8], ebx
mov ebx, dword [ebp + 0x3c]
lea edx, [edx + ebx*4]
jle 0x6e84e4
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 0x1c]
test eax, eax
jle 0x6e8651
movsd xmm5, qword [0xb524b0]
mov eax, dword [ebp + 0x3c]
xor edx, edx
mov dword [esp + 0x8c], ebx
mov ebx, dword [ecx]
cvtsi2sd xmm1, ebx
shr ebx, 0x1f
addsd xmm1, qword [ebx*8 + 0xb524a0]
add edx, 1
movsd xmm0, qword [ebp + 0x34]
movsd xmm2, qword [ebp + 0x34]
movsd xmm4, qword [ebp + 0x34]
mulsd xmm1, xmm0
addsd xmm1, xmm5
movsd qword [esp + 0x68], xmm1
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov ebx, dword [esp + 0x68]
mov word [esi], bx
mov ebx, dword [ecx + 4]
cvtsi2sd xmm3, ebx
shr ebx, 0x1f
addsd xmm3, qword [ebx*8 + 0xb524a0]
mulsd xmm3, xmm2
addsd xmm3, xmm5
movsd qword [esp + 0x68], xmm3
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov ebx, dword [esp + 0x68]
mov word [esi + 2], bx
mov ebx, dword [ecx + 8]
cvtsi2sd xmm6, ebx
shr ebx, 0x1f
addsd xmm6, qword [ebx*8 + 0xb524a0]
mulsd xmm6, xmm4
addsd xmm6, xmm5
movsd qword [esp + 0x68], xmm6
fld qword [esp + 0x68]
fisttp qword [esp + 0x68]
mov ebx, dword [esp + 0x68]
mov word [esi + 4], bx
lea ecx, [ecx + eax*4]
lea esi, [esi + eax*2]
mov ebx, dword [ebp + 0x1c]
cmp edx, ebx
jl 0x6e8596
mov ebx, dword [esp + 0x8c]
add ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
add edi, 1
mov eax, dword [esp + 0x38]
add dword [esp], eax
cmp edi, edx
jl 0x6e848c
mov eax, dword [esp + 0x48]
push eax
call fcn.006339b8
jmp 0x6e6a86
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x28], ebx
jmp 0x6e8546