Function at 0x707cb4
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 xmm4, qword [ebp + 0x24]
movsd xmm5, qword [ebp + 0x2c]
mov eax, dword [ebp + 0x3c]
movsd xmm2, qword [0xb52780]
movsd xmm1, qword [ebp + 0x24]
movsd xmm0, qword [0xb52788]
andps xmm2, xmm4
xorps xmm1, xmm2
movsd xmm7, qword [ebp + 0x24]
movsd xmm3, qword [0xb52790]
cmpltsd xmm1, xmm0
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm7, xmm1
movsd xmm0, qword [0xb52788]
subsd xmm7, xmm1
movaps xmm6, xmm7
movsd xmm1, qword [ebp + 0x2c]
subsd xmm6, xmm4
cmpnlesd xmm6, xmm2
movsd xmm2, qword [0xb52780]
andps xmm6, xmm3
movsd xmm3, qword [ebp + 0x2c]
subsd xmm7, xmm6
andps xmm2, xmm5
cvtsd2si ebx, xmm7
xorps xmm1, xmm2
cmpltsd xmm1, xmm0
andps xmm1, xmm0
movsd xmm0, qword [0xb52790]
orps xmm1, xmm2
addsd xmm3, xmm1
subsd xmm3, xmm1
movaps xmm1, xmm3
subsd xmm1, xmm5
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 0x709744
cmp eax, 1
je 0x707ded
cmp eax, 2
jne 0x707db5
push edx
call fcn.006c7470
movsd xmm4, qword [ebp + 0x24]
mov edx, eax
test edx, edx
jne 0x707e1b
mov eax, 0xfffffff7
add esp, 0x7c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x707de1
push edx
call fcn.006c7470
movsd xmm5, qword [ebp + 0x2c]
movsd xmm4, qword [ebp + 0x24]
test eax, eax
jne 0x708592
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 xmm5, qword [ebp + 0x2c]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x70909a
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 0x707e2a
push edx
call fcn.006339b8
jmp 0x707de1
movsd xmm3, qword [0xb52790]
movsd xmm2, qword [0xb52778]
movsd xmm5, qword [0xb52770]
cvtsi2sd xmm0, ebx
movaps xmm1, xmm4
mov dword [esp + 8], esi
mov dword [esp], edi
xor eax, eax
subsd xmm1, xmm0
movsd qword [esp + 0x58], xmm1
lea ecx, [edx + 0x10]
mov edi, ebx
xorps xmm0, xmm0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x14], eax
mov ebx, eax
mov esi, edx
mov ecx, dword [esp + 8]
push ecx
push esi
call fcn.007b5b5c
mov ecx, dword [esp + 0x74]
test ecx, ecx
jg 0x7084f4
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x60], xmm0
test edi, edi
jle 0x707ecd
mov eax, connect
imul edi
mov ecx, edi
sar ecx, 0x1f
add edx, edi
sub edx, ecx
jne 0x70820b
xor ecx, ecx
mov eax, 1
xorps xmm7, xmm7
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
lea edx, [eax - 1]
cmp edi, edx
ja 0x7081e2
jmp 0x707edb
xor ecx, ecx
xorps xmm7, xmm7
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
movsd xmm3, qword [esp + 0x58]
mov edx, dword [ebp + 0x18]
mov eax, ecx
shl eax, 4
movss xmm0, dword [eax + esi]
cvtps2pd xmm0, xmm0
mov eax, ecx
shl eax, 2
mulsd xmm0, xmm3
cvtsd2ss xmm2, xmm0
movss xmm0, dword [esi + eax*4 + 4]
cvtps2pd xmm0, xmm0
addss xmm2, xmm4
movss xmm4, dword [esi + eax*4 + 0xc]
cvtps2pd xmm4, xmm4
sub edx, ecx
cmp ecx, edx
mulsd xmm0, xmm3
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esi + eax*4 + 8]
mov eax, dword [esp + 0x70]
cvtps2pd xmm0, xmm0
movss dword [esi], xmm2
addss xmm1, xmm5
movss dword [esi + 4], xmm1
mulsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
addss xmm0, xmm6
movss dword [esi + 8], xmm0
mulsd xmm4, xmm3
cvtsd2ss xmm3, xmm4
addss xmm3, xmm7
movss dword [esi + 0xc], xmm3
jge 0x7081bb
movsd xmm2, qword [esp + 0x60]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 4], edi
xorps xmm5, xmm5
movsd xmm3, qword [0xb52790]
movsd xmm4, qword [0xb52778]
movsd xmm1, qword [0xb52778]
movsd xmm0, qword [0xb52780]
subsd xmm3, xmm2
comisd xmm3, xmm4
movsd xmm2, qword [ebp + 0x24]
movsd xmm6, qword [0xb52788]
subsd xmm2, xmm3
addsd xmm1, xmm2
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
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 [0xb52790]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm6, xmm7
cvtsd2si eax, xmm6
cvtsi2sd xmm0, eax
mov dword [esp + 0x24], eax
subsd xmm2, xmm0
jbe 0x70806a
mov eax, ecx
shl eax, 4
movss xmm0, dword [eax + esi]
cvtps2pd xmm1, xmm0
mov ebx, ecx
shl ebx, 2
movss xmm6, dword [esi + ebx*4 + 4]
cvtps2pd xmm7, xmm6
mulsd xmm1, xmm3
cvtsd2ss xmm4, xmm1
movss dword [esp + 0x3c], xmm4
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]
cvtps2pd xmm0, xmm0
mov ebx, 1
mulsd xmm0, xmm3
cvtsd2ss xmm6, xmm0
jmp 0x708081
movss dword [esp + 0x34], xmm5
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x3c], xmm5
movaps xmm6, xmm5
xor ebx, ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
cmp ebx, eax
mov dword [esp + 0x30], ebx
jg 0x7080cf
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 0x7082f4
mov eax, 1
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x24]
sub edi, dword [esp + 0x2c]
add edi, 1
lea eax, [eax - 1]
cmp edi, eax
ja 0x70828d
comisd xmm2, xmmword [0xb52778]
jbe 0x708172
mov edi, dword [ebp + 0x18]
lea eax, [ecx + ebx]
cmp edi, eax
jle 0x708175
movss xmm4, dword [esp + 0x3c]
lea edi, [ecx + ebx]
shl edi, 4
movss xmm0, dword [esi + edi]
cvtps2pd xmm1, xmm0
shl ecx, 4
add ecx, esi
shl ebx, 2
movss xmm7, dword [ecx + ebx*4 + 4]
cvtps2pd xmm0, xmm7
mulsd xmm1, xmm2
cvtsd2ss xmm3, xmm1
movss xmm1, dword [esp + 0x38]
addss xmm4, xmm3
movss dword [esp + 0x3c], xmm4
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [ecx + ebx*4 + 8]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x38], xmm1
movss xmm1, dword [esp + 0x34]
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [ecx + ebx*4 + 0xc]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x34], xmm1
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm6, xmm0
jmp 0x708175
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
mov dword [esp + 0x1c], ecx
mov ecx, eax
cmp eax, ebx
jl 0x707f7b
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 4]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
jg 0x708405
mov ecx, dword [ebp + 0x14]
add dword [esp + 0x14], ecx
add ebx, 1
mov ecx, dword [ebp + 0x20]
cmp ebx, ecx
jb 0x707e70
mov edx, esi
jmp 0x707e22
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 0x707edb
mov dword [esp + 4], edi
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov edi, ecx
xorps xmm7, xmm7
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
movaps xmm3, xmm7
movaps xmm2, xmm7
movaps xmm1, xmm7
movaps xmm0, xmm7
addss xmm4, dword [edi + esi]
addss xmm5, dword [esi + ecx*4 + 4]
addss xmm6, dword [esi + ecx*4 + 8]
addss xmm7, dword [esi + ecx*4 + 0xc]
addss xmm3, dword [edi + esi + 0x10]
addss xmm2, dword [esi + ecx*4 + 0x14]
addss xmm1, dword [esi + ecx*4 + 0x18]
addss xmm0, dword [esi + ecx*4 + 0x1c]
add edi, 0x20
add ecx, 8
add eax, 1
cmp eax, edx
jb 0x708231
mov edi, dword [esp + 4]
addss xmm7, xmm0
addss xmm6, xmm1
addss xmm5, xmm2
addss xmm4, xmm3
lea ecx, [eax + eax]
lea eax, [eax + eax + 1]
jmp 0x707ec0
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x38]
lea eax, [ecx + edi]
add eax, ebx
movss xmm3, dword [esp + 0x34]
shl eax, 4
addss xmm0, dword [esi + eax - 0x10]
movss dword [esp + 0x3c], xmm0
mov eax, ecx
shl eax, 4
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
movss dword [esp + 0x34], xmm3
lea ebx, [ebx + edi]
jmp 0x7080cf
movss xmm7, dword [esp + 0x34]
movsd qword [esp + 0x60], xmm2
movss xmm2, dword [esp + 0x3c]
movaps xmm4, xmm5
movaps xmm3, xmm5
movaps xmm1, xmm5
movaps xmm0, xmm5
movss xmm5, dword [esp + 0x38]
mov dword [esp + 0x28], ebx
mov edx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], esi
xor edi, edi
shl edx, 4
mov dword [esp + 0x40], edi
add edx, esi
mov eax, ebx
shl eax, 4
add edx, eax
mov edi, ecx
shl edi, 4
add edi, esi
mov esi, dword [esp + 0x44]
mov eax, ebx
shl eax, 4
add edi, eax
mov ebx, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x4c], eax
mov ecx, eax
addss xmm2, dword [edx + ecx]
addss xmm5, dword [edi + eax*4 + 4]
addss xmm7, dword [edi + eax*4 + 8]
addss xmm6, dword [edi + eax*4 + 0xc]
addss xmm4, dword [edx + ecx + 0x10]
addss xmm3, dword [edi + eax*4 + 0x14]
addss xmm1, dword [edi + eax*4 + 0x18]
addss xmm0, dword [edi + eax*4 + 0x1c]
add ecx, 0x20
add eax, 8
add ebx, 1
cmp ebx, esi
jb 0x708356
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
movss dword [esp + 0x34], xmm7
addss xmm6, xmm0
movss xmm0, dword [esp + 0x34]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
addss xmm0, xmm1
movss xmm1, dword [esp + 0x38]
movss dword [esp + 0x34], xmm0
addss xmm1, xmm3
movss xmm3, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm1
addss xmm3, xmm4
movss dword [esp + 0x3c], xmm3
lea eax, [edi + edi + 1]
mov dword [esp + 0x4c], eax
lea ebx, [ebx + edi*2]
xorps xmm5, xmm5
jmp 0x7080b9
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
movsd xmm0, qword [0xb52770]
mov dword [esp + 0x44], esi
lea edx, [ecx + eax]
mov ecx, dword [ebp + 0x1c]
mov eax, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
lea ecx, [edx + ecx*4]
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [ebp + 0x34]
fld qword [esp + 0x50]
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
movsd xmm2, qword [ebp + 0x34]
addsd xmm1, xmm0
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]
add eax, 0x10
mov ebx, dword [esp + 0x50]
mov byte [edx + 3], bl
add edx, 4
cmp edx, ecx
jb 0x70842f
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 4]
jmp 0x7081c6
mov dword [esp + 0x10], ebx
mov ebx, ecx
mov dword [esp + 4], edi
xor ecx, ecx
mov edi, dword [esp]
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x708526
mov eax, dword [ebp + 0x10]
add edi, eax
add ecx, 1
cmp ecx, ebx
jb 0x708503
mov ebx, dword [esp + 0x10]
mov dword [esp], edi
mov edi, dword [esp + 4]
jmp 0x707e87
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x44], esi
mov ebx, esi
mov edx, edi
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]
cvtsi2ss xmm3, edi
add edx, 4
addss xmm3, dword [ebx + 0xc]
movss dword [ebx + 0xc], xmm3
add ebx, 0x10
cmp edx, eax
jb 0x708537
mov ebx, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x70850a
movaps xmm3, xmm5
mov edx, dword [esp + 0x74]
cvtsi2sd xmm0, edx
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x7085b3
push eax
call fcn.006339b8
jmp 0x707de1
movsd xmm2, qword [0xb52790]
movsd xmm1, qword [0xb52778]
movsd xmm7, qword [0xb52770]
cvtsi2sd xmm6, ebx
movsd qword [esp + 0x60], xmm3
movaps xmm0, xmm4
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
xor edx, edx
mov dword [esp + 0x40], edx
mov esi, edx
subsd xmm0, xmm6
movsd qword [esp + 0x58], xmm0
lea edx, [eax + 0x10]
xorps xmm6, xmm6
mov dword [esp + 0x4c], edx
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov ebx, eax
mov edx, dword [esp + 8]
push edx
push ebx
call fcn.007b5b5c
test esi, esi
jne 0x70862f
mov edx, dword [esp + 0x74]
test edx, edx
jg 0x708aef
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x708a65
jmp 0x7086f9
movsd xmm5, qword [0xb52790]
subsd xmm5, qword [esp + 0x60]
movsd xmm3, qword [ebp + 0x2c]
movsd xmm4, qword [0xb52778]
comisd xmm5, xmm4
movsd xmm0, qword [0xb52778]
movsd xmm2, qword [0xb52780]
subsd xmm3, xmm5
addsd xmm0, xmm3
movsd xmm6, qword [0xb52788]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
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 [0xb52790]
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 0x7086d0
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x708b7c
mov edx, dword [ebp + 0x10]
add edi, edx
mov edx, dword [esp + 0x74]
mov ecx, edi
test edx, edx
jg 0x708ff1
movsd xmm0, qword [esp + 0x60]
comisd xmm0, xmmword [0xb52778]
jbe 0x7086f9
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x708c00
movsd xmm0, qword [esp + 0x58]
mov edx, dword [esp + 4]
movsd qword [esp + 0x68], xmm0
test edx, edx
jle 0x708759
mov ecx, edx
mov eax, connect
imul ecx
add edx, ecx
sar ecx, 0x1f
sub edx, ecx
jne 0x708cd1
xor edx, edx
mov dword [esp + 0x2c], edx
mov ecx, 1
mov dword [esp + 0x70], ecx
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 4]
lea edx, [edx - 1]
cmp ecx, edx
ja 0x708c8a
jmp 0x708771
xor edx, edx
mov dword [esp + 0x2c], edx
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
mov ecx, dword [esp + 0x2c]
movsd xmm5, qword [esp + 0x58]
mov eax, dword [ebp + 0x18]
mov edx, ecx
shl edx, 4
movss xmm4, dword [edx + ebx]
cvtps2pd xmm4, xmm4
mov edx, ecx
shl edx, 2
movss xmm2, dword [ebx + edx*4 + 4]
cvtps2pd xmm2, xmm2
sub eax, ecx
cmp ecx, eax
mulsd xmm4, xmm5
cvtsd2ss xmm4, xmm4
addss xmm4, dword [esp + 0x3c]
mulsd xmm2, xmm5
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
movss dword [ebx], xmm4
movss dword [ebx + 4], xmm3
movss dword [ebx + 8], xmm2
mulsd xmm6, xmm5
cvtsd2ss xmm7, xmm6
addss xmm7, dword [esp + 0x38]
movss dword [ebx + 0xc], xmm7
jge 0x708a3e
movsd xmm2, qword [esp + 0x68]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], esi
mov esi, ecx
mov dword [esp], edi
xorps xmm5, xmm5
movsd xmm3, qword [0xb52790]
movsd xmm4, qword [0xb52778]
movsd xmm1, qword [0xb52778]
movsd xmm0, qword [0xb52780]
subsd xmm3, xmm2
comisd xmm3, xmm4
movsd xmm2, qword [ebp + 0x24]
movsd xmm6, qword [0xb52788]
subsd xmm2, xmm3
addsd xmm1, xmm2
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
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 [0xb52790]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm6, xmm7
cvtsd2si edx, xmm6
cvtsi2sd xmm0, edx
mov dword [esp + 0x20], edx
subsd xmm2, xmm0
jbe 0x708903
mov edx, esi
shl edx, 4
movss xmm6, dword [edx + ebx]
cvtps2pd xmm0, xmm6
mov ecx, esi
shl ecx, 2
movss xmm4, dword [ebx + ecx*4 + 4]
cvtps2pd xmm7, xmm4
mulsd xmm0, xmm3
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebx + ecx*4 + 8]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x3c], xmm1
mulsd xmm7, xmm3
cvtsd2ss xmm6, xmm7
mulsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [ebx + ecx*4 + 0xc]
cvtps2pd xmm0, xmm0
mov ecx, 1
mulsd xmm0, xmm3
cvtsd2ss xmm4, xmm0
jmp 0x708917
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x3c], xmm5
movaps xmm4, xmm5
movaps xmm6, xmm5
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
cmp ecx, edx
mov dword [esp + 0x14], ecx
jg 0x708965
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 0x708df6
mov edx, 1
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x20]
sub edi, dword [esp + 0x18]
add edi, 1
lea edx, [edx - 1]
cmp edi, edx
ja 0x708d9b
comisd xmm2, xmmword [0xb52778]
jbe 0x7089fc
mov edi, dword [ebp + 0x18]
lea edx, [esi + ecx]
cmp edi, edx
jle 0x7089ff
movss xmm7, dword [esp + 0x3c]
lea edi, [esi + ecx]
shl edi, 4
movss xmm0, dword [ebx + edi]
cvtps2pd xmm1, xmm0
shl esi, 4
add esi, ebx
shl ecx, 2
movss xmm0, dword [esi + ecx*4 + 4]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm2
cvtsd2ss xmm3, xmm1
movss xmm1, dword [esp + 0x38]
addss xmm7, xmm3
movss dword [esp + 0x3c], xmm7
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]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x38], xmm1
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm4, xmm0
jmp 0x7089ff
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
mov dword [esp + 0x28], esi
mov esi, edx
cmp edx, ecx
jl 0x70881a
mov esi, dword [esp + 0x40]
mov edi, dword [esp]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x708f04
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x30], edx
add esi, 1
cmp esi, ecx
jb 0x708604
mov eax, ebx
jmp 0x7085a8
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x60]
mov dword [esp], edi
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*4]
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 0x708a78
mov edi, dword [esp]
jmp 0x7086f9
mov dword [esp + 0x40], esi
mov esi, edx
xor ecx, ecx
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x708b13
mov edx, dword [ebp + 0x10]
add edi, edx
add ecx, 1
cmp ecx, esi
jb 0x708af7
mov esi, dword [esp + 0x40]
jmp 0x70861f
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x70], ebx
mov esi, ebx
mov edx, edi
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]
cvtsi2ss xmm3, edi
add edx, 4
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp edx, eax
jb 0x708b24
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x708afe
mov edx, dword [ebp + 0x18]
mov dword [esp], edi
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*4]
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 0x708b89
mov edi, dword [esp]
jmp 0x7086cb
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x60]
mov dword [esp], edi
mov eax, edi
mov ecx, ebx
lea edx, [edi + edx*4]
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 0x708c13
mov edi, dword [esp]
jmp 0x7086f9
mov eax, dword [esp + 0x70]
movss xmm4, dword [esp + 0x3c]
movss xmm5, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov edx, eax
shl edx, 4
addss xmm4, dword [edx + ebx - 0x10]
movss dword [esp + 0x3c], xmm4
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 + 0x38], xmm5
jmp 0x708771
mov dword [esp], edi
xor ecx, ecx
mov dword [esp + 0x48], ecx
xor eax, eax
mov dword [esp + 0x70], eax
mov edi, eax
mov eax, ecx
xorps xmm1, xmm1
movss dword [esp + 0x38], xmm1
movss xmm5, dword [esp + 0x38]
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
movaps xmm3, xmm1
movaps xmm2, xmm1
movaps xmm7, xmm1
movaps xmm6, xmm1
movss xmm4, dword [esp + 0x3c]
addss xmm4, dword [ecx + ebx]
addss xmm0, dword [ebx + edi*4 + 4]
addss xmm1, dword [ebx + edi*4 + 8]
addss xmm5, dword [ebx + edi*4 + 0xc]
addss xmm3, dword [ecx + ebx + 0x10]
addss xmm2, dword [ebx + edi*4 + 0x14]
addss xmm7, dword [ebx + edi*4 + 0x18]
addss xmm6, dword [ebx + edi*4 + 0x1c]
add ecx, 0x20
add edi, 8
add eax, 1
cmp eax, edx
jb 0x708d0e
mov edi, dword [esp]
movss dword [esp + 0x3c], xmm4
movss dword [esp + 0x38], xmm5
movss xmm5, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x38]
mov dword [esp + 0x48], eax
mov ecx, eax
addss xmm4, xmm6
movss dword [esp + 0x38], xmm4
addss xmm1, xmm7
addss xmm0, xmm2
addss xmm5, xmm3
movss dword [esp + 0x3c], xmm5
lea edx, [ecx + ecx]
mov dword [esp + 0x2c], edx
lea edx, [ecx + ecx + 1]
mov dword [esp + 0x70], edx
jmp 0x708744
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]
movss dword [esp + 0x3c], xmm0
mov edx, esi
shl edx, 4
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]
movss dword [esp + 0x38], xmm1
lea ecx, [ecx + edi]
jmp 0x708965
movss dword [esp + 0x34], xmm5
movss xmm7, dword [esp + 0x34]
movsd qword [esp + 0x68], xmm2
movss xmm2, dword [esp + 0x3c]
movaps xmm3, xmm5
movaps xmm1, xmm5
movaps xmm0, xmm5
movss xmm5, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x44], ebx
xor edi, edi
mov dword [esp + 0xc], edi
mov edi, esi
shl edi, 4
add edi, ebx
mov edx, ecx
shl edx, 4
add edi, edx
mov edx, esi
shl edx, 4
add edx, ebx
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x48]
mov eax, ecx
shl eax, 4
add edx, eax
xor eax, eax
mov dword [esp + 0x70], eax
mov ecx, eax
mov dword [esp + 0x10], eax
addss xmm2, dword [ecx + edi]
addss xmm6, dword [edx + eax*4 + 4]
addss xmm5, dword [edx + eax*4 + 8]
addss xmm4, dword [edx + eax*4 + 0xc]
addss xmm3, dword [ecx + edi + 0x10]
addss xmm1, dword [edx + eax*4 + 0x14]
addss xmm0, dword [edx + eax*4 + 0x18]
addss xmm7, dword [edx + eax*4 + 0x1c]
add ecx, 0x20
add eax, 8
add ebx, 1
cmp ebx, esi
jb 0x708e5f
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]
movss dword [esp + 0x38], xmm5
movss xmm7, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0xc]
addss xmm7, xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x38], xmm7
addss xmm6, xmm1
addss xmm0, xmm3
movss dword [esp + 0x3c], xmm0
lea edx, [edi + edi + 1]
lea ecx, [ecx + edi*2]
xorps xmm5, xmm5
mov dword [esp + 0x10], edx
jmp 0x70894f
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [0xb52770]
mov dword [esp + 0x70], ebx
mov eax, ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
lea ecx, [ecx + edx]
mov edx, dword [ebp + 0x1c]
mov dword [esp], edi
lea edx, [ecx + edx*4]
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [ebp + 0x34]
fld qword [esp + 0x50]
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
movsd xmm2, qword [ebp + 0x34]
addsd xmm1, xmm0
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]
add eax, 0x10
mov ebx, dword [esp + 0x50]
mov byte [ecx + 3], bl
add ecx, 4
cmp ecx, edx
jb 0x708f2d
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp]
jmp 0x708a49
mov dword [esp + 0x70], ecx
mov dword [esp + 0x40], esi
mov dword [esp], edi
mov edi, edx
xor edx, edx
xor eax, eax
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jg 0x709025
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add edx, 1
add dword [esp], ecx
cmp edx, edi
jb 0x709002
mov esi, dword [esp + 0x40]
mov edi, dword [esp]
jmp 0x7086de
mov esi, dword [esp + 0x70]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x48]
lea esi, [eax + esi]
lea ecx, [esi + ecx*4]
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]
cvtsi2ss xmm3, edi
add esi, 4
addss xmm3, dword [ebx + 0xc]
movss dword [ebx + 0xc], xmm3
add ebx, 0x10
cmp esi, ecx
jb 0x70903e
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x74]
jmp 0x709009
movaps xmm3, xmm5
mov eax, dword [esp + 0x74]
cvtsi2sd xmm0, eax
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x7090bf
mov eax, dword [esp + 0x70]
push eax
call fcn.006339b8
jmp 0x707de1
movsd xmm2, qword [0xb52790]
movsd xmm1, qword [0xb52778]
movsd xmm4, qword [0xb52770]
movsd qword [esp + 0x68], xmm3
mov ecx, ebx
mov dword [esp + 8], esi
mov esi, eax
mov dword [esp + 4], ebx
xor eax, eax
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
mov ebx, eax
shl ecx, 2
sub edx, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 8]
push eax
mov edx, dword [esp + 0x74]
push edx
call fcn.007b5b5c
test ebx, ebx
jne 0x70912c
test esi, esi
jg 0x70933c
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x7092b0
jmp 0x7091ee
movsd xmm5, qword [0xb52790]
subsd xmm5, qword [esp + 0x68]
movsd xmm3, qword [ebp + 0x2c]
movsd xmm4, qword [0xb52778]
comisd xmm5, xmm4
movsd xmm0, qword [0xb52778]
movsd xmm2, qword [0xb52780]
subsd xmm3, xmm5
addsd xmm0, xmm3
movsd xmm6, qword [0xb52788]
andps xmm2, xmm0
movaps xmm7, xmm2
xorps xmm7, xmm0
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 [0xb52790]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x68], xmm3
jbe 0x7091c9
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x7093d2
mov eax, dword [ebp + 0x10]
add edi, eax
mov ecx, edi
test esi, esi
jg 0x70969b
movsd xmm0, qword [esp + 0x68]
comisd xmm0, xmmword [0xb52778]
jbe 0x7091ee
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x709458
mov eax, dword [esp + 0x4c]
test eax, eax
jl 0x70928b
mov dword [esp + 0x48], ebx
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x70]
mov dword [esp], edi
xor eax, eax
xor ecx, ecx
mov edi, dword [esp + 4]
mov ebx, eax
xorps xmm7, xmm7
add ecx, 0x10
test edi, edi
jle 0x709251
mov eax, connect
imul edi
mov eax, edi
sar eax, 0x1f
add edx, edi
sub edx, eax
jne 0x709507
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
movaps xmm3, xmm7
mov eax, 1
lea edx, [eax - 1]
cmp edi, edx
ja 0x7094e4
jmp 0x70925d
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
movaps xmm3, xmm7
mov edx, dword [esp + 0x4c]
movss dword [esi + ecx - 0x10], xmm3
movss dword [esi + ecx - 0xc], xmm4
movss dword [esi + ecx - 8], xmm5
movss dword [esi + ecx - 4], xmm6
lea ebx, [ebx + edi*4]
cmp ebx, edx
jle 0x709216
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
mov eax, dword [ebp + 0x1c]
test eax, eax
jg 0x7095b0
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
add dword [esp + 0x44], eax
add ebx, 1
cmp ebx, edx
jb 0x709101
jmp 0x7090b0
mov edx, dword [esp + 0x70]
mov eax, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x68]
mov dword [esp], edi
mov ecx, edi
lea eax, [edi + eax*4]
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 0x7092c5
mov edi, dword [esp]
jmp 0x7091ee
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x70]
xor eax, eax
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x709362
mov edx, dword [ebp + 0x10]
add edi, edx
add eax, 1
cmp eax, esi
jb 0x709346
mov ebx, dword [esp + 0x48]
jmp 0x70911c
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x40], ebx
mov ecx, edi
mov dword [esp + 0x74], esi
mov esi, ebx
mov dword [esp], edi
lea edx, [edi + edx*4]
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]
cvtsi2ss xmm3, edi
add ecx, 4
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp ecx, edx
jb 0x709377
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x70934d
mov edx, dword [esp + 0x70]
mov eax, dword [ebp + 0x18]
mov dword [esp], edi
mov ecx, edi
lea eax, [edi + eax*4]
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 0x7093e1
mov edi, dword [esp]
jmp 0x7091c4
mov edx, dword [esp + 0x70]
mov eax, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x68]
mov dword [esp], edi
mov ecx, edi
lea eax, [edi + eax*4]
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 0x70946d
mov edi, dword [esp]
jmp 0x7091ee
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 0x70925d
movss dword [esp + 0x3c], xmm7
movaps xmm6, xmm7
movaps xmm5, xmm7
movaps xmm4, xmm7
movaps xmm3, xmm7
movaps xmm2, xmm7
movaps xmm1, xmm7
movaps xmm0, xmm7
movss xmm7, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x2c], eax
lea eax, [esi + ebx*4]
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 0x709545
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 4]
movss dword [esp + 0x3c], xmm7
addss xmm5, dword [esp + 0x3c]
addss xmm6, xmm0
mov dword [esp + 0x2c], eax
mov edx, eax
addss xmm4, xmm1
xorps xmm7, xmm7
addss xmm3, xmm2
lea eax, [edx + edx + 1]
jmp 0x709244
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 0x1c]
movsd xmm0, qword [0xb52770]
lea ecx, [ecx + edx]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x74], esi
lea eax, [ecx + eax*4]
mov dword [esp], edi
movsd xmm3, qword [ebp + 0x34]
movsd xmm6, qword [ebp + 0x34]
movss xmm1, dword [edx]
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [ebp + 0x34]
fld qword [esp + 0x50]
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
movsd xmm2, qword [ebp + 0x34]
addsd xmm1, xmm0
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
add edx, 0x10
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 ecx, 4
cmp ecx, eax
jb 0x7095d7
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x74]
mov edi, dword [esp]
jmp 0x709296
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ebx
mov dword [esp], edi
mov edi, dword [esp + 0x70]
xor edx, edx
xor eax, eax
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jg 0x7096d1
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add edx, 1
add dword [esp], ecx
cmp edx, esi
jb 0x7096ae
mov ebx, dword [esp + 0x48]
mov edi, dword [esp]
jmp 0x7091d3
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x30], edi
mov dword [esp + 0x74], esi
mov esi, edi
lea ebx, [ebx + eax]
lea ecx, [ebx + ecx*4]
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]
cvtsi2ss xmm3, edi
add ebx, 4
addss xmm3, dword [esi + 0xc]
movss dword [esi + 0xc], xmm3
add esi, 0x10
cmp ebx, ecx
jb 0x7096e8
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
jmp 0x7096b5
push esi
mov dword [esp + 0x50], edx
call fcn.006339a0
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x709769
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 0x70977f
mov eax, dword [esp + 0x70]
push eax
call fcn.006339b8
jmp 0x707de1
movsd xmm0, qword [0xb52770]
mov dword [esp + 8], esi
mov ecx, ebx
mov dword [esp + 4], ebx
xor eax, eax
shl ecx, 2
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
imul eax, dword [esp + 0x74]
mov esi, dword [esp + 0x48]
mov dword [esp], edi
sub edx, ecx
mov dword [esp + 0x4c], edx
xor ecx, ecx
mov edi, eax
mov dword [esp + 0x40], ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 8]
push edx
mov ecx, dword [esp + 0x74]
push ecx
call fcn.007b5b5c
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.006f7930
add esp, 0x14
mov edx, dword [esp + 0x4c]
test edx, edx
jl 0x70985a
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x70]
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 4]
add eax, 0x10
test ecx, ecx
jg 0x709996
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]
mov dword [eax + esi - 4], ebx
lea edx, [edx + ecx*4]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jle 0x70980c
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x70987d
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 0x7097bd
jmp 0x709770
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
movsd xmm0, qword [0xb52770]
mov dword [esp + 0x40], ebx
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x70]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x44], edi
lea edx, [eax + edx*4]
mov dword [esp + 0x48], esi
movsd xmm1, qword [ebp + 0x34]
movsd xmm3, qword [ebp + 0x34]
movsd xmm5, qword [ebp + 0x34]
movsd xmm7, qword [ebp + 0x34]
mov esi, dword [ecx]
cvtsi2sd xmm2, esi
shr esi, 0x1f
addsd xmm2, qword [esi*8 + 0xb52760]
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 + 0xb52760]
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 + 0xb52760]
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
add ecx, 0x10
addsd xmm1, qword [ebx*8 + 0xb52760]
mulsd xmm1, xmm7
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 0x7098a5
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
jmp 0x709861
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
mov eax, ecx
lea edi, [esi + edx*4]
mov esi, dword [esp + 4]
mov dword [esp + 0x1c], edi
mov edx, edi
mov edi, dword [esp + 0x28]
add edi, dword [edx]
add ecx, dword [edx + 8]
add ebx, dword [edx + 0xc]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
add edi, dword [edx + 4]
mov dword [esp + 0x24], edi
add edx, 0x10
add eax, 1
cmp eax, esi
jb 0x7099bd
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x70]
jmp 0x709827