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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x84
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
movsd xmm4, qword [ebp + 0x24]
movsd xmm5, qword [ebp + 0x2c]
movsd xmm2, qword [0xb527c0]
movsd xmm1, qword [ebp + 0x24]
movsd xmm0, qword [0xb527c8]
movsd xmm7, qword [ebp + 0x24]
movsd xmm3, qword [0xb527d0]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x40]
andps xmm2, xmm4
xorps xmm1, xmm2
cmpltsd xmm1, xmm0
andps xmm1, xmm0
movsd xmm0, qword [0xb527c8]
orps xmm1, xmm2
addsd xmm7, xmm1
subsd xmm7, xmm1
movaps xmm6, xmm7
movsd xmm1, qword [ebp + 0x2c]
subsd xmm6, xmm4
cmpnlesd xmm6, xmm2
movsd xmm2, qword [0xb527c0]
andps xmm6, xmm3
subsd xmm7, xmm6
movsd xmm3, qword [ebp + 0x2c]
andps xmm2, xmm5
xorps xmm1, xmm2
cmpltsd xmm1, xmm0
andps xmm1, xmm0
cvtsd2si ebx, xmm7
orps xmm1, xmm2
movsd xmm0, qword [0xb527d0]
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 + 0x7c], edx
mov edx, dword [ebp + 0x18]
imul edx, dword [ebp + 0x3c]
mov esi, edx
shl esi, 2
test eax, eax
je 0x70b343
cmp eax, 1
je 0x709b3f
cmp eax, 2
jne 0x709b01
push edx
call fcn.006c7470
movsd xmm4, qword [ebp + 0x24]
test eax, eax
jne 0x709b64
mov eax, 0xfffffff7
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x709b30
push edx
call fcn.006c7470
movsd xmm5, qword [ebp + 0x2c]
movsd xmm4, qword [ebp + 0x24]
test eax, eax
jne 0x70a20d
mov eax, 0xfffffff7
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push edx
call fcn.006c7470
movsd xmm5, qword [ebp + 0x2c]
test eax, eax
jne 0x70ac22
mov eax, 0xfffffff7
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
test edx, edx
jg 0x709b73
push eax
call fcn.006339b8
jmp 0x709b30
movsd xmm3, qword [0xb527d0]
movsd xmm2, qword [0xb527b8]
movsd xmm5, qword [0xb527b0]
cvtsi2sd xmm0, ebx
movaps xmm1, xmm4
mov dword [esp], edi
mov dword [esp + 8], esi
xor edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x3c]
mov edi, edx
shl edi, 2
neg edi
mov esi, edx
shl esi, 2
mov dword [esp + 0x14], esi
lea ecx, [eax + edx*4]
mov dword [esp + 0x44], ecx
mov ecx, eax
sub ecx, esi
lea edi, [edi + edx*4]
add edi, eax
mov dword [esp + 0x18], edi
subsd xmm1, xmm0
movsd qword [esp + 0x68], xmm1
mov edi, edx
neg edi
mov dword [esp + 0x58], edi
lea esi, [edx + edx]
neg esi
lea edi, [edx + edx]
mov dword [esp + 0x54], edi
shl edi, 2
lea edx, [ecx + edx*8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], edx
mov dword [esp + 0x14], ecx
xorps xmm0, xmm0
lea edx, [edi + esi*4]
mov esi, dword [esp + 8]
mov edi, dword [esp]
mov dword [esp + 8], esi
add edx, eax
mov dword [esp + 0x50], edx
mov dword [esp], edi
xor edx, edx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x18]
mov esi, ebx
mov ebx, eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 8]
push edx
push ebx
call fcn.007b5b5c
mov edx, dword [esp + 0x7c]
test edx, edx
jg 0x70a15c
movsd xmm0, qword [esp + 0x68]
test esi, esi
jle 0x709c7e
mov eax, connect
imul esi
mov ecx, esi
sar ecx, 0x1f
add edx, esi
sub edx, ecx
jne 0x709f0a
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x40], edx
xorps xmm6, xmm6
movaps xmm5, xmm6
movaps xmm4, xmm6
lea edx, [edx - 1]
cmp esi, edx
ja 0x709ee6
jmp 0x709c89
xor ecx, ecx
xorps xmm6, xmm6
movaps xmm5, xmm6
movaps xmm4, xmm6
mov edx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x18]
imul edx, ecx
movss xmm3, dword [ebx + edx*4]
cvtps2pd xmm1, xmm3
movsd xmm3, qword [esp + 0x68]
sub eax, ecx
cmp ecx, eax
mulsd xmm1, xmm3
cvtsd2ss xmm2, xmm1
movss xmm1, dword [ebx + edx*4 + 4]
cvtps2pd xmm1, xmm1
addss xmm2, xmm4
movss xmm4, dword [ebx + edx*4 + 8]
mov edx, dword [esp + 0x44]
cvtps2pd xmm4, xmm4
movss dword [ebx], xmm2
mulsd xmm1, xmm3
cvtsd2ss xmm1, xmm1
addss xmm1, xmm5
movss dword [ebx + 4], xmm1
mulsd xmm4, xmm3
cvtsd2ss xmm3, xmm4
addss xmm3, xmm6
movss dword [ebx + 8], xmm3
jge 0x709ebf
movsd xmm3, qword [0xb527b8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], edi
mov dword [esp + 4], esi
xorps xmm1, xmm1
movaps xmm5, xmm3
movsd xmm2, qword [0xb527d0]
movsd xmm4, qword [0xb527c0]
movsd xmm6, qword [0xb527c8]
subsd xmm2, xmm0
comisd xmm2, xmm3
movsd xmm0, qword [ebp + 0x24]
subsd xmm0, xmm2
addsd xmm5, xmm0
andps xmm4, xmm5
movaps xmm7, xmm4
xorps xmm7, xmm5
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 [0xb527d0]
cmpnlesd xmm7, xmm4
andps xmm7, xmm5
subsd xmm6, xmm7
cvtsd2si edi, xmm6
cvtsi2sd xmm4, edi
subsd xmm0, xmm4
jbe 0x709dc8
mov edx, dword [ebp + 0x3c]
imul edx, ecx
movss xmm4, dword [ebx + edx*4]
cvtps2pd xmm5, xmm4
movss xmm6, dword [ebx + edx*4 + 4]
cvtps2pd xmm7, xmm6
movss xmm6, dword [ebx + edx*4 + 8]
cvtps2pd xmm6, xmm6
mov esi, 1
mov dword [esp + 0x2c], esi
mulsd xmm5, xmm2
cvtsd2ss xmm4, xmm5
mulsd xmm7, xmm2
cvtsd2ss xmm5, xmm7
mulsd xmm6, xmm2
cvtsd2ss xmm7, xmm6
jmp 0x709dd7
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 0x709e23
mov esi, edi
sub esi, dword [esp + 0x2c]
add esi, 1
mov eax, connect
imul esi
add edx, esi
sar esi, 0x1f
sub edx, esi
jne 0x709fca
mov edx, 1
mov dword [esp + 0x38], edx
sub edi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
add edi, 1
lea esi, [edx - 1]
cmp edi, esi
ja 0x709f8b
comisd xmm0, xmm3
jbe 0x709e86
mov edx, dword [esp + 0x2c]
mov esi, dword [ebp + 0x18]
lea edx, [ecx + edx]
cmp esi, edx
jle 0x709e8d
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 0x709e8d
mov edx, dword [esp + 0x2c]
lea edx, [ecx + edx]
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 0x3c]
movss dword [ecx], xmm4
movss dword [ecx + 4], xmm5
movss dword [ecx + 8], xmm7
lea edi, [ecx + esi*4]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x20], edi
mov ecx, edx
cmp edx, esi
jl 0x709d0d
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 4]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x70a0a2
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x4c], edx
add edi, 1
cmp edi, ecx
jb 0x709c26
mov eax, ebx
jmp 0x709b6b
mov edx, dword [ebp + 0x3c]
mov ecx, dword [esp + 0x40]
imul edx, ecx
add edx, dword [esp + 0x58]
addss xmm4, dword [ebx + edx*4]
addss xmm5, dword [ebx + edx*4 + 4]
addss xmm6, dword [ebx + edx*4 + 8]
jmp 0x709c89
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x48]
xor eax, eax
xorps xmm6, xmm6
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm2, xmm6
movaps xmm1, xmm6
movaps xmm7, xmm6
xor ecx, ecx
addss xmm4, dword [ebx + ecx*4]
addss xmm5, dword [ebx + ecx*4 + 4]
addss xmm6, dword [ebx + ecx*4 + 8]
addss xmm2, dword [esi + ecx*4]
addss xmm1, dword [esi + ecx*4 + 4]
addss xmm7, dword [esi + ecx*4 + 8]
add ecx, edi
add eax, 1
cmp eax, edx
jb 0x709f38
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 4]
addss xmm6, xmm7
addss xmm5, xmm1
addss xmm4, xmm2
lea ecx, [eax + eax]
lea edx, [eax + eax + 1]
mov dword [esp + 0x40], edx
jmp 0x709c71
mov edi, dword [ebp + 0x3c]
mov esi, dword [esp + 0x34]
mov edx, edi
imul edx, ecx
mov eax, edi
imul eax, esi
lea edx, [ebx + edx*4]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x38]
imul edi, eax
add edi, dword [esp + 0x58]
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 0x709e23
mov eax, dword [ebp + 0x3c]
movss dword [esp + 0x3c], xmm1
movss xmm3, dword [esp + 0x3c]
movaps xmm6, xmm1
movaps xmm2, xmm1
mov dword [esp + 0x28], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x1c], ecx
mov esi, eax
imul esi, ecx
xor edx, edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], ebx
lea edi, [edx + esi*4]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
lea edx, [edx + esi*4]
imul eax, dword [esp + 0x2c]
lea esi, [edi + eax*4]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x38], esi
mov ecx, esi
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x40]
xor esi, esi
addss xmm4, dword [eax + esi*4]
addss xmm5, dword [eax + esi*4 + 4]
addss xmm7, dword [eax + esi*4 + 8]
addss xmm6, dword [ecx + esi*4]
addss xmm2, dword [ecx + esi*4 + 4]
addss xmm3, dword [ecx + esi*4 + 8]
add esi, ebx
add edi, 1
cmp edi, edx
jb 0x70a02f
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
movss dword [esp + 0x3c], xmm3
movsd xmm3, qword [0xb527b8]
addss xmm7, dword [esp + 0x3c]
addss xmm5, xmm2
mov dword [esp + 0x40], edi
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 0x709e0d
mov ecx, dword [esp]
mov edx, dword [esp + 0x4c]
movsd xmm0, qword [0xb527b0]
mov dword [esp + 0x10], edi
xor eax, eax
mov dword [esp + 0xc], ebx
mov dword [esp + 4], esi
lea ecx, [ecx + edx]
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0x1c]
movss xmm1, dword [edx]
cvtps2pd xmm2, xmm1
mulsd xmm2, qword [ebp + 0x34]
addsd xmm2, xmm0
movsd qword [esp + 0x60], xmm2
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
mov byte [ecx], bl
movss xmm3, dword [edx + 4]
cvtps2pd xmm4, xmm3
mulsd xmm4, qword [ebp + 0x34]
addsd xmm4, xmm0
movsd qword [esp + 0x60], xmm4
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
mov byte [ecx + 1], bl
movss xmm5, dword [edx + 8]
cvtps2pd xmm6, xmm5
add edx, dword [esp + 0x14]
mulsd xmm6, qword [ebp + 0x34]
addsd xmm6, xmm0
movsd qword [esp + 0x60], xmm6
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
mov byte [ecx + 2], bl
add eax, 1
add ecx, dword [ebp + 0x3c]
cmp eax, esi
jb 0x70a0c6
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 4]
jmp 0x709eca
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 4], esi
mov esi, edx
xor ecx, ecx
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x70a19c
mov eax, dword [ebp + 0x10]
add edi, eax
add ecx, 1
cmp ecx, esi
jb 0x70a174
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 4]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x10]
jmp 0x709c3d
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x14]
xor edx, edx
mov eax, edi
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x78], edi
movzx edi, byte [eax]
cvtsi2ss xmm0, edi
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
add edx, 1
movzx edi, byte [eax + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [ecx + 4]
movss dword [ecx + 4], xmm1
movzx edi, byte [eax + 2]
cvtsi2ss xmm2, edi
add eax, esi
addss xmm2, dword [ecx + 8]
mov edi, dword [ebp + 0x18]
movss dword [ecx + 8], xmm2
add ecx, ebx
cmp edx, edi
jb 0x70a1b7
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
jmp 0x70a17b
movaps xmm3, xmm5
mov edx, dword [esp + 0x7c]
cvtsi2sd xmm0, edx
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x70a22e
push eax
call fcn.006339b8
jmp 0x709b30
movsd xmm2, qword [0xb527d0]
movsd xmm1, qword [0xb527b8]
movsd xmm7, qword [0xb527b0]
cvtsi2sd xmm6, ebx
movsd qword [esp + 0x68], xmm3
movaps xmm0, xmm4
mov dword [esp], edi
mov dword [esp + 8], esi
subsd xmm0, xmm6
movsd qword [esp + 0x70], xmm0
mov dword [esp + 4], ebx
xor edx, edx
xorps xmm6, xmm6
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]
mov dword [esp + 0x44], ecx
mov ecx, eax
sub ecx, esi
lea edi, [edi + edx*4]
add edi, eax
mov dword [esp + 0x30], edi
mov edi, edx
neg edi
lea esi, [edx + edx]
mov dword [esp + 0x58], edi
neg esi
lea edi, [edx + edx]
mov dword [esp + 0x54], edi
shl edi, 2
lea edx, [ecx + edx*8]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x4c], edx
mov ebx, eax
mov dword [esp + 0x34], ecx
lea edx, [edi + esi*4]
mov esi, dword [esp + 8]
mov edi, dword [esp]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x7c]
mov dword [esp], edi
add edx, eax
mov edi, dword [esp + 0x38]
mov dword [esp + 0x50], edx
xor edx, edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 8]
push edx
push ebx
call fcn.007b5b5c
test edi, edi
jne 0x70a314
test esi, esi
jg 0x70a733
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x70a6a6
jmp 0x70a3da
movsd xmm5, qword [0xb527d0]
subsd xmm5, qword [esp + 0x68]
movsd xmm3, qword [ebp + 0x2c]
movsd xmm4, qword [0xb527b8]
comisd xmm5, xmm4
movsd xmm0, qword [0xb527b8]
movsd xmm2, qword [0xb527c0]
subsd xmm3, xmm5
addsd xmm0, xmm3
movsd xmm6, qword [0xb527c8]
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 [0xb527d0]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x68], xmm3
jbe 0x70a3b3
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x70a7cc
mov edx, dword [ebp + 0x10]
add dword [esp + 0x78], edx
mov ecx, dword [esp + 0x78]
test esi, esi
jg 0x70ab6f
movsd xmm0, qword [esp + 0x68]
comisd xmm0, xmmword [0xb527b8]
jbe 0x70a3da
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x70a853
movsd xmm6, qword [esp + 0x70]
mov edx, dword [esp + 4]
test edx, edx
jle 0x70a423
mov ecx, edx
mov eax, connect
imul ecx
add edx, ecx
sar ecx, 0x1f
sub edx, ecx
jne 0x70a904
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x28], edx
xorps xmm5, xmm5
movaps xmm4, xmm5
movaps xmm3, xmm5
lea eax, [edx - 1]
mov edx, dword [esp + 4]
cmp edx, eax
ja 0x70a8e0
jmp 0x70a42e
xor ecx, ecx
xorps xmm5, xmm5
movaps xmm4, xmm5
movaps xmm3, xmm5
mov edx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x18]
imul edx, ecx
movss xmm2, dword [ebx + edx*4]
cvtps2pd xmm0, xmm2
movsd xmm2, qword [esp + 0x70]
sub eax, ecx
cmp ecx, eax
mulsd xmm0, xmm2
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebx + edx*4 + 4]
cvtps2pd xmm0, xmm0
addss xmm1, xmm3
movss xmm3, dword [ebx + edx*4 + 8]
mov edx, dword [esp + 0x44]
cvtps2pd xmm3, xmm3
movss dword [ebx], xmm1
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm0, xmm4
movss dword [ebx + 4], xmm0
mulsd xmm3, xmm2
cvtsd2ss xmm2, xmm3
addss xmm2, xmm5
movss dword [ebx + 8], xmm2
jge 0x70a67f
movsd xmm5, qword [0xb527b8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x7c], esi
xorps xmm3, xmm3
movaps xmm1, xmm5
movsd xmm4, qword [0xb527d0]
movsd xmm0, qword [0xb527c0]
movsd xmm2, qword [0xb527c8]
subsd xmm4, xmm6
comisd xmm4, xmm5
movsd xmm6, qword [ebp + 0x24]
subsd xmm6, xmm4
addsd xmm1, xmm6
andps xmm0, xmm1
movaps xmm7, xmm0
xorps xmm7, xmm1
cmpltsd xmm7, xmm2
andps xmm7, xmm2
orps xmm7, xmm0
movaps xmm2, xmm7
addsd xmm2, xmm1
subsd xmm2, xmm7
movaps xmm7, xmm2
subsd xmm7, xmm1
movsd xmm1, qword [0xb527d0]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm2, xmm7
cvtsd2si edi, xmm2
cvtsi2sd xmm0, edi
subsd xmm6, xmm0
jbe 0x70a573
mov edx, dword [ebp + 0x3c]
imul edx, ecx
movss xmm0, dword [ebx + edx*4]
cvtps2pd xmm1, xmm0
movss xmm7, dword [ebx + edx*4 + 4]
cvtps2pd xmm0, xmm7
mov esi, 1
mov dword [esp + 0x1c], esi
mulsd xmm1, xmm4
cvtsd2ss xmm2, xmm1
movss xmm1, dword [ebx + edx*4 + 8]
cvtps2pd xmm1, xmm1
movss dword [esp + 0x3c], xmm2
mulsd xmm0, xmm4
cvtsd2ss xmm0, xmm0
mulsd xmm1, xmm4
cvtsd2ss xmm7, xmm1
jmp 0x70a585
movss dword [esp + 0x3c], xmm3
movaps xmm7, xmm3
movaps xmm0, xmm3
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 0x70a5d1
mov esi, edi
sub esi, dword [esp + 0x1c]
add esi, 1
mov eax, connect
imul esi
add edx, esi
sar esi, 0x1f
sub edx, esi
jne 0x70a9d0
mov edx, 1
mov dword [esp + 0x10], edx
sub edi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
add edi, 1
lea esi, [edx - 1]
cmp edi, esi
ja 0x70a985
comisd xmm6, xmm5
jbe 0x70a640
mov edx, dword [esp + 0x1c]
mov esi, dword [ebp + 0x18]
lea edx, [ecx + edx]
cmp esi, edx
jle 0x70a647
mov esi, dword [ebp + 0x3c]
imul ecx, esi
mov edi, dword [esp + 0x1c]
imul edi, esi
add ecx, edi
movss xmm1, dword [ebx + ecx*4]
cvtps2pd xmm2, xmm1
movss xmm1, dword [esp + 0x3c]
mulsd xmm2, xmm6
cvtsd2ss xmm4, xmm2
addss xmm1, xmm4
movss dword [esp + 0x3c], xmm1
movss xmm1, dword [ebx + ecx*4 + 4]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm6
cvtsd2ss xmm1, xmm1
addss xmm0, xmm1
movss xmm1, dword [ebx + ecx*4 + 8]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm6
cvtsd2ss xmm1, xmm1
addss xmm7, xmm1
jmp 0x70a647
mov edx, dword [esp + 0x1c]
lea edx, [ecx + edx]
movss xmm1, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov esi, dword [ebp + 0x3c]
movss dword [ecx], xmm1
movss dword [ecx + 4], xmm0
movss dword [ecx + 8], xmm7
lea edi, [ecx + esi*4]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], edi
mov ecx, edx
cmp edx, esi
jl 0x70a4b2
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov edx, dword [ebp + 0x1c]
test edx, edx
jg 0x70aaa9
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x48], edx
add edi, 1
cmp edi, ecx
jb 0x70a2ed
mov eax, ebx
jmp 0x70a223
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
movsd xmm5, qword [esp + 0x68]
mov dword [esp + 0x38], edi
xor ecx, ecx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
add ecx, 1
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mov edi, dword [ebp + 0x18]
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
add edx, ebx
add eax, esi
cmp ecx, edi
jb 0x70a6c9
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x7c]
jmp 0x70a3da
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x40], ebx
xor eax, eax
mov edx, dword [ebp + 0x18]
test edx, edx
jg 0x70a763
mov edx, dword [ebp + 0x10]
add dword [esp + 0x78], edx
add eax, 1
cmp eax, esi
jb 0x70a741
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
jmp 0x70a304
mov edx, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
xor ebx, ebx
mov ecx, edi
movzx edi, byte [edx]
cvtsi2ss xmm0, edi
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
add ebx, 1
movzx edi, byte [edx + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [ecx + 4]
movss dword [ecx + 4], xmm1
movzx edi, byte [edx + 2]
cvtsi2ss xmm2, edi
add edx, esi
addss xmm2, dword [ecx + 8]
mov edi, dword [ebp + 0x18]
movss dword [ecx + 8], xmm2
add ecx, eax
cmp ebx, edi
jb 0x70a77a
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x7c]
jmp 0x70a748
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
xor ecx, ecx
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
add ecx, 1
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mov edi, dword [ebp + 0x18]
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
add edx, ebx
add eax, esi
cmp ecx, edi
jb 0x70a7e9
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x7c]
jmp 0x70a3ac
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
movsd xmm5, qword [esp + 0x68]
mov dword [esp + 0x38], edi
xor ecx, ecx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
add ecx, 1
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mov edi, dword [ebp + 0x18]
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
add edx, ebx
add eax, esi
cmp ecx, edi
jb 0x70a876
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x7c]
jmp 0x70a3da
mov edx, dword [ebp + 0x3c]
mov ecx, dword [esp + 0x28]
imul edx, ecx
add edx, dword [esp + 0x58]
addss xmm3, dword [ebx + edx*4]
addss xmm4, dword [ebx + edx*4 + 4]
addss xmm5, dword [ebx + edx*4 + 8]
jmp 0x70a42e
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x4c]
xor eax, eax
xorps xmm5, xmm5
movaps xmm4, xmm5
movaps xmm3, xmm5
movaps xmm1, xmm5
movaps xmm0, xmm5
movaps xmm7, xmm5
xor ecx, ecx
addss xmm3, dword [ebx + ecx*4]
addss xmm4, dword [ebx + ecx*4 + 4]
addss xmm5, dword [ebx + ecx*4 + 8]
addss xmm1, dword [esi + ecx*4]
addss xmm0, dword [esi + ecx*4 + 4]
addss xmm7, dword [esi + ecx*4 + 8]
add ecx, edi
add eax, 1
cmp eax, edx
jb 0x70a932
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x7c]
addss xmm5, xmm7
addss xmm4, xmm0
addss xmm3, xmm1
lea ecx, [eax + eax]
lea edx, [eax + eax + 1]
mov dword [esp + 0x28], edx
jmp 0x70a412
mov edi, dword [ebp + 0x3c]
mov esi, dword [esp + 0x14]
movss xmm1, dword [esp + 0x3c]
mov edx, edi
imul edx, ecx
mov eax, edi
imul eax, esi
lea edx, [ebx + edx*4]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x10]
imul edi, eax
add edi, dword [esp + 0x58]
addss xmm1, dword [edx + edi*4]
addss xmm0, dword [edx + edi*4 + 4]
addss xmm7, dword [edx + edi*4 + 8]
movss dword [esp + 0x3c], xmm1
lea edx, [eax + esi]
mov dword [esp + 0x1c], edx
jmp 0x70a5d1
mov eax, dword [esp + 0x4c]
movss xmm5, dword [esp + 0x3c]
movaps xmm4, xmm3
movaps xmm2, xmm3
movaps xmm1, xmm3
mov dword [esp + 0x5c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x3c]
mov edi, dword [esp + 0xc]
mov esi, edx
imul esi, ecx
imul edx, dword [esp + 0x1c]
lea eax, [eax + esi*4]
lea eax, [eax + edx*4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
lea esi, [eax + esi*4]
lea eax, [esi + edx*4]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
xor esi, esi
addss xmm5, dword [eax + esi*4]
addss xmm0, dword [eax + esi*4 + 4]
addss xmm7, dword [eax + esi*4 + 8]
addss xmm4, dword [ecx + esi*4]
addss xmm2, dword [ecx + esi*4 + 4]
addss xmm1, dword [ecx + esi*4 + 8]
add esi, ebx
add edi, 1
cmp edi, edx
jb 0x70aa2c
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
movss dword [esp + 0x3c], xmm5
movsd xmm5, qword [0xb527b8]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
addss xmm7, xmm1
movss xmm1, dword [esp + 0x3c]
addss xmm0, xmm2
addss xmm1, xmm4
movss dword [esp + 0x3c], xmm1
lea edx, [eax + eax + 1]
mov dword [esp + 0x10], edx
lea edx, [esi + eax*2]
mov dword [esp + 0x1c], edx
jmp 0x70a5bb
mov edx, dword [esp]
mov eax, dword [esp + 0x48]
movsd xmm0, qword [0xb527b0]
mov dword [esp + 0x38], edi
xor ecx, ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x7c], esi
lea edx, [edx + eax]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x2c]
mov edi, dword [ebp + 0x1c]
movss xmm1, dword [esi]
cvtps2pd xmm2, xmm1
add ecx, 1
mulsd xmm2, qword [ebp + 0x34]
addsd xmm2, xmm0
movsd qword [esp + 0x60], xmm2
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov byte [edx], al
movss xmm3, dword [esi + 4]
cvtps2pd xmm4, xmm3
mulsd xmm4, qword [ebp + 0x34]
addsd xmm4, xmm0
movsd qword [esp + 0x60], xmm4
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
mov byte [edx + 1], bl
movss xmm5, dword [esi + 8]
cvtps2pd xmm6, xmm5
add esi, dword [esp + 0x34]
mulsd xmm6, qword [ebp + 0x34]
addsd xmm6, xmm0
movsd qword [esp + 0x60], xmm6
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov byte [edx + 2], al
add edx, dword [ebp + 0x3c]
cmp ecx, edi
mov dword [esp + 0x2c], esi
jb 0x70aad1
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x7c]
jmp 0x70a68a
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x40], ebx
xor edx, edx
xor eax, eax
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jg 0x70aba8
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
add edx, 1
add dword [esp + 0x78], ecx
cmp edx, esi
jb 0x70ab83
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
jmp 0x70a3bf
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
xor ebx, ebx
lea ecx, [eax + ecx]
mov dword [esp + 0x20], ecx
mov eax, ecx
mov ecx, edi
movzx edi, byte [eax]
cvtsi2ss xmm0, edi
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
add ebx, 1
movzx edi, byte [eax + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [ecx + 4]
movss dword [ecx + 4], xmm1
movzx edi, byte [eax + 2]
cvtsi2ss xmm2, edi
add eax, esi
addss xmm2, dword [ecx + 8]
mov edi, dword [ebp + 0x18]
movss dword [ecx + 8], xmm2
add ecx, edx
cmp ebx, edi
jb 0x70abcc
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x7c]
jmp 0x70ab8a
movaps xmm3, xmm5
mov edx, dword [esp + 0x7c]
cvtsi2sd xmm0, edx
subsd xmm3, xmm0
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jg 0x70ac43
push eax
call fcn.006339b8
jmp 0x709b30
movsd xmm2, qword [0xb527d0]
movsd xmm1, qword [0xb527b8]
movsd xmm4, qword [0xb527b0]
movsd qword [esp + 0x70], xmm3
mov dword [esp], edi
mov dword [esp + 8], esi
mov dword [esp + 0x40], eax
mov dword [esp + 4], ebx
xor edx, edx
xorps xmm0, xmm0
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x3c]
mov ecx, edx
shl ecx, 2
neg ecx
lea edi, [eax + ecx]
mov dword [esp + 0x34], edi
mov esi, edx
shl esi, 2
mov dword [esp + 0x5c], esi
mov edi, eax
sub edi, esi
lea ecx, [ecx + edx*4]
add ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, edx
neg ecx
lea esi, [edx + edx]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], esi
lea ecx, [edx + edx]
neg ecx
shl esi, 2
lea edi, [edi + edx*8]
lea ecx, [esi + ecx*4]
mov esi, dword [ebp + 0x18]
sub esi, ebx
imul esi, edx
imul edx, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x58], edx
shl edx, 2
mov dword [esp + 8], esi
mov esi, dword [esp + 0x7c]
sub edi, edx
mov dword [esp + 0x44], edi
sub ecx, edx
add ecx, eax
mov dword [esp + 0x30], ecx
neg edx
add edx, eax
xor edi, edi
mov dword [esp + 0x48], edi
mov edi, dword [esp]
mov dword [esp + 0x2c], edx
mov dword [esp], edi
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 8]
push eax
mov edx, dword [esp + 0x44]
push edx
call fcn.007b5b5c
test ebx, ebx
jne 0x70ad34
test esi, esi
jg 0x70af53
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x70aec8
jmp 0x70adf6
movsd xmm5, qword [0xb527d0]
subsd xmm5, qword [esp + 0x70]
movsd xmm3, qword [ebp + 0x2c]
movsd xmm4, qword [0xb527b8]
comisd xmm5, xmm4
movsd xmm0, qword [0xb527b8]
movsd xmm2, qword [0xb527c0]
subsd xmm3, xmm5
addsd xmm0, xmm3
movsd xmm6, qword [0xb527c8]
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 [0xb527d0]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x70], xmm3
jbe 0x70add1
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x70afee
mov eax, dword [ebp + 0x10]
add edi, eax
mov ecx, edi
test esi, esi
jg 0x70b288
movsd xmm0, qword [esp + 0x70]
comisd xmm0, xmmword [0xb527b8]
jbe 0x70adf6
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x70b073
mov eax, dword [esp + 0x54]
test eax, eax
jl 0x70ae9f
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x78], edi
xor eax, eax
xor ecx, ecx
xorps xmm6, xmm6
mov dword [esp + 0x28], eax
add ecx, dword [esp + 0x5c]
add dword [esp + 0x28], 1
test esi, esi
jle 0x70ae68
mov eax, connect
imul esi
mov edi, esi
sar edi, 0x1f
add edx, esi
sub edx, edi
jne 0x70b123
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm6
mov edi, dword [esp + 0x28]
mov eax, 1
imul edi, dword [esp + 0x58]
lea edx, [eax - 1]
cmp esi, edx
ja 0x70b0fe
jmp 0x70ae7a
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm6
mov edi, dword [esp + 0x28]
imul edi, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
movss dword [ecx + ebx], xmm3
movss dword [ecx + ebx + 4], xmm4
movss dword [ecx + ebx + 8], xmm5
cmp edi, eax
jle 0x70ae21
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov eax, dword [ebp + 0x1c]
test eax, eax
jg 0x70b1ce
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
add dword [esp + 0x48], eax
add ebx, 1
cmp ebx, edx
jb 0x70ad09
mov eax, dword [esp + 0x40]
jmp 0x70ac38
mov edx, dword [esp + 0xc]
movsd xmm5, qword [esp + 0x70]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x78], edi
xor ecx, ecx
mov eax, edi
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
add ecx, 1
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mov edi, dword [ebp + 0x18]
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
add edx, ebx
add eax, esi
cmp ecx, edi
jb 0x70aee9
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
jmp 0x70adf6
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [ebp + 0x18]
test eax, eax
jg 0x70af79
mov eax, dword [ebp + 0x10]
add edi, eax
add ecx, 1
cmp ecx, esi
jb 0x70af5d
mov ebx, dword [esp + 0x38]
jmp 0x70ad24
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
xor edx, edx
mov eax, edi
mov dword [esp + 0x78], edi
movzx edi, byte [eax]
cvtsi2ss xmm0, edi
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
add edx, 1
movzx edi, byte [eax + 1]
cvtsi2ss xmm1, edi
addss xmm1, dword [ecx + 4]
movss dword [ecx + 4], xmm1
movzx edi, byte [eax + 2]
cvtsi2ss xmm2, edi
add eax, esi
addss xmm2, dword [ecx + 8]
mov edi, dword [ebp + 0x18]
movss dword [ecx + 8], xmm2
add ecx, ebx
cmp edx, edi
jb 0x70af98
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
jmp 0x70af64
mov edx, dword [esp + 0xc]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x78], edi
xor ecx, ecx
mov eax, edi
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
add ecx, 1
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mov edi, dword [ebp + 0x18]
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
add edx, ebx
add eax, esi
cmp ecx, edi
jb 0x70b009
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
jmp 0x70adcc
mov edx, dword [esp + 0xc]
movsd xmm5, qword [esp + 0x70]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x7c], esi
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x78], edi
xor ecx, ecx
mov eax, edi
movzx edi, byte [eax]
cvtsi2sd xmm0, edi
mulsd xmm0, xmm5
cvtsd2ss xmm1, xmm0
add ecx, 1
addss xmm1, dword [edx]
movss dword [edx], xmm1
movzx edi, byte [eax + 1]
cvtsi2sd xmm2, edi
mulsd xmm2, xmm5
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx + 4]
movss dword [edx + 4], xmm3
movzx edi, byte [eax + 2]
cvtsi2sd xmm4, edi
mov edi, dword [ebp + 0x18]
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 8]
movss dword [edx + 8], xmm6
add edx, ebx
add eax, esi
cmp ecx, edi
jb 0x70b094
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
jmp 0x70adf6
imul eax, dword [ebp + 0x3c]
add eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
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 0x70ae7a
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
movaps xmm5, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm6
movaps xmm2, xmm6
movaps xmm1, xmm6
movaps xmm0, xmm6
mov dword [esp + 0x24], ecx
xor edi, edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x28]
imul edi, dword [esp + 0x58]
lea eax, [eax + edi*4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
lea eax, [eax + edi*4]
mov dword [esp + 0x1c], eax
mov ecx, eax
mov dword [esp + 0x20], edi
xor eax, eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
addss xmm3, dword [ebx + eax*4]
addss xmm4, dword [ebx + eax*4 + 4]
addss xmm5, dword [ebx + eax*4 + 8]
addss xmm2, dword [ecx + eax*4]
addss xmm1, dword [ecx + eax*4 + 4]
addss xmm0, dword [ecx + eax*4 + 8]
add eax, esi
add edi, 1
cmp edi, edx
jb 0x70b176
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 4]
mov dword [esp + 0x10], edi
addss xmm5, xmm0
addss xmm4, xmm1
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
addss xmm3, xmm2
lea eax, [eax + eax + 1]
jmp 0x70ae5b
mov edx, dword [esp]
mov eax, dword [esp + 0x48]
movsd xmm0, qword [0xb527b0]
mov dword [esp + 0x38], ebx
xor ecx, ecx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edi
lea edx, [edx + eax]
mov eax, dword [esp + 0xc]
mov esi, dword [ebp + 0x1c]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
add ecx, 1
mulsd xmm2, qword [ebp + 0x34]
addsd xmm2, xmm0
movsd qword [esp + 0x60], xmm2
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
mov byte [edx], bl
movss xmm3, dword [eax + 4]
cvtps2pd xmm4, xmm3
mulsd xmm4, qword [ebp + 0x34]
addsd xmm4, xmm0
movsd qword [esp + 0x60], xmm4
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ebx, dword [esp + 0x60]
mov byte [edx + 1], bl
movss xmm5, dword [eax + 8]
cvtps2pd xmm6, xmm5
mulsd xmm6, qword [ebp + 0x34]
addsd xmm6, xmm0
movsd qword [esp + 0x60], xmm6
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
add eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov byte [edx + 2], bl
add edx, dword [ebp + 0x3c]
cmp ecx, esi
jb 0x70b1f2
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
jmp 0x70aeaa
mov dword [esp + 0x38], ebx
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0xc]
xor edx, edx
xor eax, eax
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jg 0x70b2bd
add edi, dword [ebp + 0x10]
add eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x7c]
add edx, 1
cmp edx, ebx
jb 0x70b298
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
jmp 0x70addb
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x78], edi
xor ebx, ebx
mov dword [esp + 0x18], ebx
lea ebx, [ecx + eax]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], ebx
mov edx, ebx
mov ebx, esi
mov esi, dword [ebp + 0x3c]
movzx edi, byte [edx]
cvtsi2ss xmm0, edi
addss xmm0, dword [ebx]
movss dword [ebx], xmm0
add eax, 1
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
add edx, esi
addss xmm2, dword [ebx + 8]
mov edi, dword [ebp + 0x18]
movss dword [ebx + 8], xmm2
add ebx, ecx
cmp eax, edi
jb 0x70b2e9
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x78]
jmp 0x70b29f
mov eax, dword [ebp + 0x18]
sub eax, ebx
imul eax, dword [ebp + 0x3c]
mov dword [esp + 0x5c], eax
push esi
call fcn.006339a0
test eax, eax
jne 0x70b36c
mov eax, 0xfffffff7
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
test edx, edx
jle 0x70b594
movsd xmm0, qword [0xb527b0]
mov ecx, dword [ebp + 0x3c]
mov dword [esp + 0x40], eax
imul ecx, ebx
xor edx, edx
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x10]
imul edx, dword [esp + 0x7c]
mov dword [esp + 0x34], ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x30], edx
mov dword [esp], edi
mov edi, dword [esp]
push esi
mov eax, dword [esp + 0x44]
push eax
call fcn.007b5b5c
mov eax, dword [ebp + 0x3c]
push eax
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 0x18]
push edx
mov ecx, dword [esp + 0x84]
push ecx
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x8c]
push eax
call fcn.006f7300
add esp, 0x18
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
test eax, eax
jl 0x70b489
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 8], esi
xor eax, eax
mov ecx, dword [esp + 4]
test ecx, ecx
jle 0x70b59f
mov edi, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
xor ebx, ebx
mov edx, ecx
xor esi, esi
mov dword [esp + 0x1c], esi
mov esi, dword [ebp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x20], ecx
lea edi, [edi + eax*4]
mov dword [esp + 0x18], edi
mov eax, edi
mov edi, dword [esp + 0x20]
add edi, dword [eax]
add ebx, dword [eax + 8]
add ecx, 1
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x1c]
add edi, dword [eax + 4]
lea eax, [eax + esi*4]
mov dword [esp + 0x1c], edi
cmp ecx, edx
jl 0x70b433
mov esi, edi
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
add eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov esi, dword [esp + 0x5c]
mov dword [edx + 8], ebx
mov ebx, dword [ebp + 0x3c]
lea edx, [edx + ebx*4]
cmp eax, esi
jle 0x70b3ff
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 0x1c]
test eax, eax
jle 0x70b571
movsd xmm2, qword [0xb527b0]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edi
xor eax, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 8], esi
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edx, dword [edi]
cvtsi2sd xmm0, edx
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0xb527a0]
mulsd xmm0, qword [ebp + 0x34]
addsd xmm0, xmm2
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov ecx, dword [esp + 0x60]
mov byte [esi], cl
mov ecx, dword [ebp + 0x3c]
mov ebx, dword [edi + 4]
cvtsi2sd xmm1, ebx
shr ebx, 0x1f
addsd xmm1, qword [ebx*8 + 0xb527a0]
mulsd xmm1, qword [ebp + 0x34]
addsd xmm1, xmm2
movsd qword [esp + 0x60], xmm1
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov edx, dword [esp + 0x60]
mov byte [esi + 1], dl
mov edx, dword [edi + 8]
cvtsi2sd xmm3, edx
shr edx, 0x1f
addsd xmm3, qword [edx*8 + 0xb527a0]
mulsd xmm3, qword [ebp + 0x34]
addsd xmm3, xmm2
movsd qword [esp + 0x60], xmm3
fld qword [esp + 0x60]
fisttp qword [esp + 0x60]
mov edx, dword [esp + 0x60]
mov byte [esi + 2], dl
lea edx, [edi + ecx*4]
add esi, ecx
add eax, 1
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x2c], esi
cmp eax, edx
jl 0x70b4b2
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x30]
mov edx, dword [esp]
add edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
add dword [esp + 0x78], eax
add ebx, 1
mov dword [esp], edx
cmp ebx, ecx
jl 0x70b3aa
mov eax, dword [esp + 0x40]
push eax
call fcn.006339b8
jmp 0x709b30
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x20], ebx
jmp 0x70b45f