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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x58
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
movsd xmm2, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd xmm4, qword [0xb528e8]
movsd xmm0, qword [0xb528f0]
movsd xmm5, qword [0xb528f8]
mov edx, dword [esp + 0x7c]
imul edx, dword [esp + 0xa0]
movaps xmm3, xmm2
movaps xmm7, xmm2
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xa4]
andps xmm4, xmm2
pxor xmm3, xmm4
cmpltsd xmm3, xmm0
andps xmm3, xmm0
movsd xmm0, qword [0xb528f0]
orps xmm3, xmm4
addsd xmm7, xmm3
subsd xmm7, xmm3
movaps xmm6, xmm7
movaps xmm3, xmm1
mov edi, edx
subsd xmm6, xmm2
cmpnlesd xmm6, xmm4
andps xmm6, xmm5
movaps xmm5, xmm1
movsd xmm4, qword [0xb528e8]
subsd xmm7, xmm6
andps xmm4, xmm1
pxor xmm3, xmm4
cvtsd2si ebx, xmm7
cmpltsd xmm3, xmm0
andps xmm3, xmm0
movsd xmm0, qword [0xb528f8]
orps xmm3, xmm4
addsd xmm5, xmm3
subsd xmm5, xmm3
movaps xmm3, xmm5
shl edi, 2
test eax, eax
subsd xmm3, xmm1
cmpnlesd xmm3, xmm4
andps xmm3, xmm0
subsd xmm5, xmm3
cvtsd2si esi, xmm5
je 0x71a21d
cmp eax, 1
je 0x718f89
cmp eax, 2
jne 0x718f4d
push edx
call fcn.006c7470
movsd xmm2, qword [esp + 0x88]
test eax, eax
jne 0x718fc1
mov eax, 0xfffffff7
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 3
jne 0x718f7f
push edx
call fcn.006c7470
movsd xmm1, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
test eax, eax
jne 0x7194ac
mov eax, 0xfffffff7
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x7c]
sub eax, ebx
imul eax, dword [esp + 0xa0]
mov dword [esp + 0x4c], eax
push edx
call fcn.006c7470
movsd xmm1, qword [esp + 0x90]
mov edx, eax
test edx, edx
jne 0x719d03
mov eax, 0xfffffff7
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x84]
test edx, edx
jg 0x718fd4
push eax
call fcn.006339b8
jmp 0x718f7f
movsd xmm4, qword [0xb528f8]
movsd xmm3, qword [0xb528e0]
mov ecx, dword [esp + 0xa0]
cvtsi2sd xmm0, ebx
movaps xmm1, xmm2
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], ebp
xor edi, edi
mov edx, ecx
mov dword [esp + 0x14], edi
shl edx, 2
neg edx
mov edi, ecx
shl edi, 2
lea edx, [edx + ecx*4]
add dword [esp + 0x54], edx
subsd xmm1, xmm0
movsd qword [esp + 0x34], xmm1
mov ebp, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x4c], edx
lea edi, [eax + ecx*4]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x14]
lea ecx, [eax + edx]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov ebx, ecx
pxor xmm0, xmm0
mov edx, dword [esp + 0xc]
push edx
push ebp
call fcn.007c67a0
test esi, esi
jg 0x719408
movsd xmm6, qword [esp + 0x34]
mov edx, dword [esp + 4]
test edx, edx
jg 0x7193c9
xor eax, eax
pxor xmm5, xmm5
movaps xmm4, xmm5
movaps xmm3, xmm5
mov edx, dword [esp + 0xa0]
movsd xmm2, qword [esp + 0x34]
mov ecx, dword [esp + 0x7c]
imul edx, eax
movss xmm7, dword [ebp + edx*4]
cvtps2pd xmm0, xmm7
movss xmm7, dword [ebp + edx*4 + 8]
cvtps2pd xmm7, xmm7
mulsd xmm0, xmm2
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp + edx*4 + 4]
cvtps2pd xmm0, xmm0
addss xmm1, xmm3
mov edx, dword [esp + 0x28]
movss dword [ebp], xmm1
sub ecx, eax
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
cmp eax, ecx
addss xmm0, xmm4
movss dword [ebp + 4], xmm0
mulsd xmm7, xmm2
cvtsd2ss xmm2, xmm7
addss xmm2, xmm5
movss dword [ebp + 8], xmm2
jge 0x719295
movsd xmm4, qword [0xb528e0]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 8], esi
pxor xmm5, xmm5
movaps xmm1, xmm4
movsd xmm3, qword [0xb528f8]
movsd xmm0, qword [0xb528e8]
movsd xmm2, qword [0xb528f0]
subsd xmm3, xmm6
comisd xmm3, xmm4
movsd xmm6, qword [esp + 0x88]
subsd xmm6, xmm3
addsd xmm1, xmm6
andps xmm0, xmm1
movaps xmm7, xmm0
pxor 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 [0xb528f8]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm2, xmm7
cvtsd2si esi, xmm2
cvtsi2sd xmm0, esi
subsd xmm6, xmm0
jbe 0x7191d0
mov ecx, dword [esp + 0xa0]
imul ecx, eax
movss xmm1, dword [ebp + ecx*4]
cvtps2pd xmm0, xmm1
movss xmm7, dword [ebp + ecx*4 + 4]
mov ebx, 1
mulsd xmm0, xmm3
cvtsd2ss xmm2, xmm0
cvtps2pd xmm0, xmm7
movss dword [esp + 0x24], xmm2
mulsd xmm0, xmm3
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp + ecx*4 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
jmp 0x7191de
movss dword [esp + 0x24], xmm5
movaps xmm0, xmm5
movaps xmm1, xmm5
xor ebx, ebx
mov ecx, esi
sub ecx, ebx
add ecx, 1
cmp ebx, esi
jle 0x71935d
comisd xmm6, xmm4
jbe 0x71925a
mov esi, dword [esp + 0x7c]
lea ecx, [eax + ebx]
cmp esi, ecx
jle 0x71925d
mov esi, dword [esp + 0xa0]
imul eax, esi
imul ebx, esi
add eax, ebx
movss xmm2, dword [ebp + eax*4]
cvtps2pd xmm3, xmm2
movss xmm2, dword [esp + 0x24]
mulsd xmm3, xmm6
cvtsd2ss xmm7, xmm3
addss xmm2, xmm7
movss dword [esp + 0x24], xmm2
movss xmm2, dword [ebp + eax*4 + 4]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm6
cvtsd2ss xmm2, xmm2
addss xmm1, xmm2
movss xmm2, dword [ebp + eax*4 + 8]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm6
cvtsd2ss xmm2, xmm2
addss xmm0, xmm2
jmp 0x71925d
lea ecx, [eax + ebx]
movss xmm2, dword [esp + 0x24]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x20]
movss dword [edx], xmm2
movss dword [edx + 4], xmm1
movss dword [edx + 8], xmm0
lea edx, [edx + ebx*4]
mov eax, ecx
cmp ecx, esi
jl 0x719109
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x80]
test edx, edx
jg 0x7192bf
mov edx, dword [esp + 0x78]
add ebx, edx
mov edx, dword [esp + 0x84]
add edi, 1
cmp edi, edx
jb 0x71904c
mov eax, ebp
jmp 0x718fcc
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
xor eax, eax
lea ecx, [edx + ebx]
xor edx, edx
movsd xmm2, qword [esp + 0x98]
movsd xmm6, qword [esp + 0x98]
mov edi, dword [esp + 0x80]
movss xmm0, dword [edx + ebp]
cvtps2pd xmm1, xmm0
add eax, 1
mulsd xmm1, xmm2
cvtsd2ss xmm3, xmm1
movsd xmm1, qword [esp + 0x98]
movss dword [ecx + edx], xmm3
movss xmm4, dword [edx + ebp + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
cvtsd2ss xmm7, xmm5
movss dword [ecx + edx + 4], xmm7
movss xmm0, dword [edx + ebp + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ecx + edx + 8], xmm0
add edx, esi
cmp eax, edi
jb 0x7192de
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 8]
jmp 0x7192a0
mov edi, dword [esp + 0xa0]
movss xmm2, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x10], ebp
xor esi, esi
mov dword [esp + 0x50], esi
mov esi, edi
imul esi, eax
imul edi, ebx
lea esi, [ebp + esi*4]
lea edi, [esi + edi*4]
mov ebp, dword [esp + 0x50]
xor esi, esi
addss xmm2, dword [edi + esi*4]
addss xmm1, dword [edi + esi*4 + 4]
addss xmm0, dword [edi + esi*4 + 8]
add esi, edx
add ebp, 1
cmp ebp, ecx
jb 0x719394
mov edx, dword [esp + 0x1c]
movss dword [esp + 0x24], xmm2
mov dword [esp + 0x50], ebp
add ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
jmp 0x7191ed
mov ecx, edx
mov dword [esp + 8], esi
mov esi, dword [esp + 0xa0]
xor eax, eax
pxor xmm5, xmm5
movaps xmm4, xmm5
movaps xmm3, xmm5
xor edx, edx
addss xmm3, dword [ebp + edx*4]
addss xmm4, dword [ebp + edx*4 + 4]
addss xmm5, dword [ebp + edx*4 + 8]
add edx, esi
add eax, 1
cmp eax, ecx
jb 0x7193e4
mov esi, dword [esp + 8]
jmp 0x71907d
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
xor eax, eax
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jg 0x719446
mov ebx, dword [esp + 0x74]
add ecx, ebx
add eax, 1
cmp eax, esi
jb 0x71941d
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [esp], ecx
jmp 0x71905f
mov dword [esp + 8], esi
mov dword [esp], ecx
xor edi, edi
lea ebp, [ecx + edx]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
xor ebx, ebx
mov esi, dword [esp + 0x7c]
movss xmm0, dword [ebx + edx]
addss xmm0, dword [ebx + ebp]
movss xmm1, dword [ebx + edx + 4]
movss xmm2, dword [ebx + edx + 8]
movss dword [ebx + edx], xmm0
addss xmm1, dword [ebx + ebp + 4]
movss dword [ebx + edx + 4], xmm1
addss xmm2, dword [ebx + ebp + 8]
movss dword [ebx + edx + 8], xmm2
add ebx, ecx
add edi, 1
cmp edi, esi
jb 0x71945c
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 8]
mov ecx, dword [esp]
jmp 0x719425
cvtsi2sd xmm3, esi
movaps xmm0, xmm1
subsd xmm0, xmm3
mov edx, dword [esp + 0x84]
test edx, edx
jg 0x7194cd
push eax
call fcn.006339b8
jmp 0x718f7f
movsd xmm6, qword [0xb528f8]
movsd xmm5, qword [0xb528e0]
mov ecx, dword [esp + 0xa0]
cvtsi2sd xmm3, ebx
movsd qword [esp + 0x34], xmm0
movaps xmm4, xmm2
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov edi, ecx
mov dword [esp], ebp
xor edx, edx
mov dword [esp + 0x20], edx
mov edx, ecx
shl edx, 2
mov ebp, dword [esp + 0x20]
neg edx
shl edi, 2
mov dword [esp + 0x30], edi
lea edi, [eax + ecx*4]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0xc], edi
lea edx, [edx + ecx*4]
add dword [esp + 0x54], edx
lea ecx, [eax + edx]
subsd xmm4, xmm3
movsd qword [esp + 0x3c], xmm4
mov edi, eax
mov dword [esp + 0x28], ecx
xor ecx, ecx
pxor xmm3, xmm3
mov dword [esp + 0x18], ecx
mov ebx, edx
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.007c67a0
test ebp, ebp
jne 0x719573
test esi, esi
jg 0x719941
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jg 0x7198a9
jmp 0x719637
movsd xmm5, qword [0xb528f8]
subsd xmm5, qword [esp + 0x34]
movsd xmm3, qword [esp + 0x90]
movsd xmm4, qword [0xb528e0]
movaps xmm0, xmm4
comisd xmm5, xmm4
movsd xmm2, qword [0xb528e8]
subsd xmm3, xmm5
addsd xmm0, xmm3
movsd xmm6, qword [0xb528f0]
andps xmm2, xmm0
movaps xmm7, xmm2
pxor 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 [0xb528f8]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x34], xmm3
jbe 0x719613
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jg 0x7199de
mov ecx, dword [esp + 0x74]
add dword [esp], ecx
test esi, esi
jg 0x719c55
movsd xmm0, qword [esp + 0x34]
comisd xmm0, xmmword [0xb528e0]
jbe 0x719637
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jg 0x719a70
movsd xmm0, qword [esp + 0x3c]
mov ecx, dword [esp + 4]
movsd qword [esp + 0x44], xmm0
test ecx, ecx
jg 0x719c17
xor eax, eax
pxor xmm4, xmm4
movaps xmm3, xmm4
movaps xmm5, xmm4
mov ecx, dword [esp + 0xa0]
movsd xmm2, qword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
imul ecx, eax
movss xmm6, dword [edi + ecx*4]
cvtps2pd xmm7, xmm6
movss xmm0, dword [edi + ecx*4 + 4]
cvtps2pd xmm0, xmm0
movss xmm6, dword [edi + ecx*4 + 8]
cvtps2pd xmm6, xmm6
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mulsd xmm7, xmm2
cvtsd2ss xmm1, xmm7
cmp eax, ecx
addss xmm1, xmm5
movss dword [edi], xmm1
mulsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
addss xmm0, xmm3
movss dword [edi + 4], xmm0
mulsd xmm6, xmm2
cvtsd2ss xmm2, xmm6
addss xmm2, xmm4
movss dword [edi + 8], xmm2
jge 0x719879
movsd xmm6, qword [esp + 0x44]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 8], esi
pxor xmm5, xmm5
movsd xmm4, qword [0xb528f8]
movsd xmm2, qword [0xb528e0]
movaps xmm1, xmm2
movsd xmm0, qword [0xb528e8]
subsd xmm4, xmm6
comisd xmm4, xmm2
movsd xmm6, qword [esp + 0x88]
movsd xmm3, qword [0xb528f0]
subsd xmm6, xmm4
addsd xmm1, xmm6
andps xmm0, xmm1
movaps xmm7, xmm0
pxor xmm7, xmm1
cmpltsd xmm7, xmm3
andps xmm7, xmm3
orps xmm7, xmm0
movaps xmm3, xmm7
addsd xmm3, xmm1
subsd xmm3, xmm7
movaps xmm7, xmm3
subsd xmm7, xmm1
movsd xmm1, qword [0xb528f8]
cmpnlesd xmm7, xmm0
andps xmm7, xmm1
subsd xmm3, xmm7
cvtsd2si ebp, xmm3
cvtsi2sd xmm0, ebp
subsd xmm6, xmm0
jbe 0x7197b1
mov ecx, dword [esp + 0xa0]
imul ecx, eax
movss xmm1, dword [edi + ecx*4]
cvtps2pd xmm0, xmm1
movss xmm3, dword [edi + ecx*4 + 4]
cvtps2pd xmm7, xmm3
mov ebx, 1
mulsd xmm0, xmm4
cvtsd2ss xmm2, xmm0
movss xmm0, dword [edi + ecx*4 + 8]
cvtps2pd xmm0, xmm0
movss dword [esp + 0x24], xmm2
mulsd xmm7, xmm4
cvtsd2ss xmm1, xmm7
mulsd xmm0, xmm4
cvtsd2ss xmm0, xmm0
jmp 0x7197bf
movss dword [esp + 0x24], xmm5
movaps xmm0, xmm5
movaps xmm1, xmm5
xor ebx, ebx
mov ecx, ebp
sub ecx, ebx
add ecx, 1
cmp ebx, ebp
jle 0x719bab
comisd xmm6, xmmword [0xb528e0]
jbe 0x71983e
mov ebp, dword [esp + 0x7c]
lea ecx, [eax + ebx]
cmp ebp, ecx
jle 0x719841
mov ebp, dword [esp + 0xa0]
imul eax, ebp
imul ebx, ebp
add eax, ebx
movss xmm2, dword [edi + eax*4]
cvtps2pd xmm3, xmm2
movss xmm7, dword [esp + 0x24]
movss xmm2, dword [edi + eax*4 + 4]
cvtps2pd xmm2, xmm2
mulsd xmm3, xmm6
cvtsd2ss xmm4, xmm3
addss xmm7, xmm4
movss dword [esp + 0x24], xmm7
mulsd xmm2, xmm6
cvtsd2ss xmm2, xmm2
addss xmm1, xmm2
movss xmm2, dword [edi + eax*4 + 8]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm6
cvtsd2ss xmm2, xmm2
addss xmm0, xmm2
jmp 0x719841
lea ecx, [eax + ebx]
movss xmm2, dword [esp + 0x24]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x14]
movss dword [edx], xmm2
movss dword [edx + 4], xmm1
movss dword [edx + 8], xmm0
lea edx, [edx + ebx*4]
mov eax, ecx
cmp ecx, ebp
jl 0x7196e3
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x80]
test ecx, ecx
jg 0x719b08
mov ecx, dword [esp + 0x78]
add dword [esp + 0x18], ecx
add ebp, 1
mov ecx, dword [esp + 0x84]
cmp ebp, ecx
jb 0x71954b
mov eax, edi
jmp 0x7194c2
mov ecx, dword [esp]
movsd xmm0, qword [esp + 0x34]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x50], edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
xor edx, edx
lea eax, [ecx + ebx]
xor ecx, ecx
mov edi, dword [esp + 0x7c]
movss xmm1, dword [ecx + eax]
cvtps2pd xmm2, xmm1
add edx, 1
mulsd xmm2, xmm0
cvtsd2ss xmm3, xmm2
addss xmm3, dword [ebp + ecx]
movss dword [ebp + ecx], xmm3
movss xmm4, dword [ecx + eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [ebp + ecx + 4]
movss dword [ebp + ecx + 4], xmm6
movss xmm7, dword [ecx + eax + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
addss xmm1, dword [ebp + ecx + 8]
movss dword [ebp + ecx + 8], xmm1
add ecx, esi
cmp edx, edi
jb 0x7198cd
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 8]
jmp 0x719637
mov ecx, dword [esp]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x50], edi
xor eax, eax
mov ebp, dword [esp + 0x7c]
test ebp, ebp
jg 0x719973
mov ebp, dword [esp + 0x74]
add ecx, ebp
add eax, 1
cmp eax, esi
jb 0x71994e
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
mov dword [esp], ecx
jmp 0x719562
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], esi
mov dword [esp], ecx
xor edx, edx
lea edi, [ecx + ebx]
mov ecx, dword [esp + 0x28]
xor ebp, ebp
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x7c]
movss xmm0, dword [ecx + ebp]
addss xmm0, dword [ebp + edi]
movss xmm1, dword [ecx + ebp + 4]
movss xmm2, dword [ecx + ebp + 8]
movss dword [ecx + ebp], xmm0
addss xmm1, dword [ebp + edi + 4]
movss dword [ecx + ebp + 4], xmm1
addss xmm2, dword [ebp + edi + 8]
movss dword [ecx + ebp + 8], xmm2
add ebp, ebx
add edx, 1
cmp edx, esi
jb 0x71998d
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 8]
mov ecx, dword [esp]
jmp 0x719956
mov ecx, dword [esp]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x28]
xor edx, edx
lea eax, [ecx + ebx]
mov dword [esp + 0x50], edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
xor ecx, ecx
mov edi, dword [esp + 0x7c]
movss xmm0, dword [ecx + eax]
cvtps2pd xmm1, xmm0
add edx, 1
mulsd xmm1, xmm5
cvtsd2ss xmm2, xmm1
addss xmm2, dword [ebp + ecx]
movss dword [ebp + ecx], xmm2
movss xmm3, dword [ecx + eax + 4]
cvtps2pd xmm4, xmm3
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [ebp + ecx + 4]
movss dword [ebp + ecx + 4], xmm6
movss xmm7, dword [ecx + eax + 8]
cvtps2pd xmm0, xmm7
mulsd xmm0, xmm5
cvtsd2ss xmm0, xmm0
addss xmm0, dword [ebp + ecx + 8]
movss dword [ebp + ecx + 8], xmm0
add ecx, esi
cmp edx, edi
jb 0x7199fc
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 8]
jmp 0x71960c
mov ecx, dword [esp]
movsd xmm0, qword [esp + 0x34]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x50], edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
xor edx, edx
lea eax, [ecx + ebx]
xor ecx, ecx
mov edi, dword [esp + 0x7c]
movss xmm1, dword [ecx + eax]
cvtps2pd xmm2, xmm1
add edx, 1
mulsd xmm2, xmm0
cvtsd2ss xmm3, xmm2
addss xmm3, dword [ebp + ecx]
movss dword [ebp + ecx], xmm3
movss xmm4, dword [ecx + eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [ebp + ecx + 4]
movss dword [ebp + ecx + 4], xmm6
movss xmm7, dword [ecx + eax + 8]
cvtps2pd xmm1, xmm7
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
addss xmm1, dword [ebp + ecx + 8]
movss dword [ebp + ecx + 8], xmm1
add ecx, esi
cmp edx, edi
jb 0x719a94
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 8]
jmp 0x719637
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x50], edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
xor edx, edx
lea eax, [ecx + eax]
xor ecx, ecx
movsd xmm2, qword [esp + 0x98]
movsd xmm6, qword [esp + 0x98]
mov edi, dword [esp + 0x80]
movss xmm0, dword [ebp + ecx]
cvtps2pd xmm1, xmm0
add edx, 1
mulsd xmm1, xmm2
cvtsd2ss xmm3, xmm1
movsd xmm1, qword [esp + 0x98]
movss dword [eax + ecx], xmm3
movss xmm4, dword [ebp + ecx + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
cvtsd2ss xmm7, xmm5
movss dword [eax + ecx + 4], xmm7
movss xmm0, dword [ebp + ecx + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax + ecx + 8], xmm0
add ecx, esi
cmp edx, edi
jb 0x719b2b
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 8]
jmp 0x719888
mov esi, dword [esp + 0xa0]
movss xmm2, dword [esp + 0x24]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x50], edi
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov ebp, esi
imul ebp, eax
imul esi, ebx
lea ebp, [edi + ebp*4]
lea esi, [ebp + esi*4]
mov edi, dword [esp + 0x10]
xor ebp, ebp
addss xmm2, dword [esi + ebp*4]
addss xmm1, dword [esi + ebp*4 + 4]
addss xmm0, dword [esi + ebp*4 + 8]
add ebp, edx
add edi, 1
cmp edi, ecx
jb 0x719be2
mov edx, dword [esp + 0x4c]
movss dword [esp + 0x24], xmm2
mov dword [esp + 0x10], edi
add ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
jmp 0x7197ce
mov edx, ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0xa0]
xor eax, eax
pxor xmm4, xmm4
movaps xmm3, xmm4
movaps xmm5, xmm4
xor ecx, ecx
addss xmm5, dword [edi + ecx*4]
addss xmm3, dword [edi + ecx*4 + 4]
addss xmm4, dword [edi + ecx*4 + 8]
add ecx, esi
add eax, 1
cmp eax, edx
jb 0x719c32
mov esi, dword [esp + 8]
jmp 0x71965b
mov eax, dword [esp]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
xor ecx, ecx
mov dword [esp + 0x50], edi
lea edx, [ebx + eax]
xor eax, eax
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jg 0x719c96
add eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x74]
add ecx, 1
add dword [esp], ebx
cmp ecx, esi
jb 0x719c6b
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x50]
jmp 0x71961b
mov dword [esp + 0x14], edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], esi
xor edi, edi
lea ebp, [edx + eax]
xor ebx, ebx
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x7c]
movss xmm0, dword [edx + ebx]
addss xmm0, dword [ebp + ebx]
movss xmm1, dword [edx + ebx + 4]
movss xmm2, dword [edx + ebx + 8]
movss dword [edx + ebx], xmm0
addss xmm1, dword [ebp + ebx + 4]
movss dword [edx + ebx + 4], xmm1
addss xmm2, dword [ebp + ebx + 8]
movss dword [edx + ebx + 8], xmm2
add ebx, ecx
add edi, 1
cmp edi, esi
jb 0x719cb1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 8]
jmp 0x719c73
cvtsi2sd xmm0, esi
movaps xmm3, xmm1
subsd xmm3, xmm0
mov ecx, dword [esp + 0x84]
test ecx, ecx
jle 0x71a204
movsd xmm2, qword [0xb528f8]
movsd xmm0, qword [0xb528e0]
mov ecx, dword [esp + 0xa0]
movsd qword [esp + 0x44], xmm3
imul ecx, ebx
xor eax, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 4], ebx
mov dword [esp], ebp
pxor xmm4, xmm4
mov ebx, eax
mov ebp, edx
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0xc]
push ecx
push ebp
call fcn.007c67a0
test ebx, ebx
jne 0x719e81
test esi, esi
jle 0x719df8
mov ecx, dword [esp]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x50], ebx
xor eax, eax
mov ebx, dword [esp + 0x7c]
mov edx, ebp
mov edi, ecx
test ebx, ebx
jle 0x719de0
mov dword [esp + 8], esi
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
xor ebx, ebx
mov esi, dword [esp + 0x7c]
movss xmm0, dword [edi]
addss xmm0, dword [edx]
movss dword [edx], xmm0
movss xmm1, dword [edi + 4]
addss xmm1, dword [edx + 4]
movss dword [edx + 4], xmm1
add ebx, 1
movss xmm2, dword [edi + 8]
addss xmm2, dword [edx + 8]
movss dword [edx + 8], xmm2
lea edx, [edx + ecx*4]
lea edi, [edi + ecx*4]
cmp ebx, esi
jl 0x719d9e
mov esi, dword [esp + 8]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x74]
add ecx, ebx
add eax, 1
cmp eax, esi
jl 0x719d82
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov dword [esp], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 0x7c]
mov edx, ebp
test ecx, ecx
jle 0x71a0c6
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0xa0]
xor ecx, ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x7c]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
add ecx, 1
cmp ecx, esi
mulsd xmm2, xmm0
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx]
movss dword [edx], xmm3
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [edx + 4]
movss dword [edx + 4], xmm6
movss xmm7, dword [eax + 8]
cvtps2pd xmm1, xmm7
lea eax, [eax + ebp*4]
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
addss xmm1, dword [edx + 8]
movss dword [edx + 8], xmm1
lea edx, [edx + ebp*4]
jl 0x719e20
jmp 0x71a0be
movsd xmm5, qword [0xb528f8]
subsd xmm5, qword [esp + 0x44]
movsd xmm3, qword [esp + 0x90]
movsd xmm4, qword [0xb528e0]
movaps xmm0, xmm4
comisd xmm5, xmm4
movsd xmm2, qword [0xb528e8]
subsd xmm3, xmm5
addsd xmm0, xmm3
movsd xmm6, qword [0xb528f0]
andps xmm2, xmm0
movaps xmm7, xmm2
pxor 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 [0xb528f8]
cmpnlesd xmm6, xmm2
andps xmm6, xmm0
subsd xmm1, xmm6
cvtsd2si esi, xmm1
cvtsi2sd xmm0, esi
subsd xmm3, xmm0
movsd qword [esp + 0x44], xmm3
jbe 0x719f9f
mov eax, dword [esp]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ebp
test ecx, ecx
jle 0x719f98
mov edx, ebp
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0xa0]
xor ecx, ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x7c]
movss xmm0, dword [eax]
cvtps2pd xmm1, xmm0
add ecx, 1
cmp ecx, esi
mulsd xmm1, xmm5
cvtsd2ss xmm2, xmm1
addss xmm2, dword [edx]
movss dword [edx], xmm2
movss xmm3, dword [eax + 4]
cvtps2pd xmm4, xmm3
mulsd xmm4, xmm5
cvtsd2ss xmm6, xmm4
addss xmm6, dword [edx + 4]
movss dword [edx + 4], xmm6
movss xmm7, dword [eax + 8]
cvtps2pd xmm0, xmm7
lea eax, [eax + ebp*4]
mulsd xmm0, xmm5
cvtsd2ss xmm0, xmm0
addss xmm0, dword [edx + 8]
movss dword [edx + 8], xmm0
lea edx, [edx + ebp*4]
jl 0x719f34
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x74]
add dword [esp], ecx
test esi, esi
jle 0x71a02a
mov ecx, dword [esp]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x50], ebx
xor eax, eax
mov ebx, dword [esp + 0x7c]
mov edx, ebp
mov edi, ecx
test ebx, ebx
jle 0x71a012
mov dword [esp + 8], esi
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
xor ebx, ebx
mov esi, dword [esp + 0x7c]
movss xmm0, dword [edi]
addss xmm0, dword [edx]
movss dword [edx], xmm0
movss xmm1, dword [edi + 4]
addss xmm1, dword [edx + 4]
movss dword [edx + 4], xmm1
add ebx, 1
movss xmm2, dword [edi + 8]
addss xmm2, dword [edx + 8]
movss dword [edx + 8], xmm2
lea edx, [edx + ecx*4]
lea edi, [edi + ecx*4]
cmp ebx, esi
jl 0x719fd0
mov esi, dword [esp + 8]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x74]
add ecx, ebx
add eax, 1
cmp eax, esi
jl 0x719fb4
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov dword [esp], ecx
movsd xmm0, qword [esp + 0x44]
comisd xmm0, xmmword [0xb528e0]
jbe 0x71a0c6
mov eax, dword [esp]
mov ecx, dword [esp + 0x7c]
mov edx, ebp
test ecx, ecx
jle 0x71a0c6
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0xa0]
xor ecx, ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x7c]
movss xmm1, dword [eax]
cvtps2pd xmm2, xmm1
add ecx, 1
cmp ecx, esi
mulsd xmm2, xmm0
cvtsd2ss xmm3, xmm2
addss xmm3, dword [edx]
movss dword [edx], xmm3
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm0
cvtsd2ss xmm6, xmm5
addss xmm6, dword [edx + 4]
movss dword [edx + 4], xmm6
movss xmm7, dword [eax + 8]
cvtps2pd xmm1, xmm7
lea eax, [eax + ebp*4]
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
addss xmm1, dword [edx + 8]
movss dword [edx + 8], xmm1
lea edx, [edx + ebp*4]
jl 0x71a062
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
mov edx, ebp
test ecx, ecx
jl 0x71a15e
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 8], esi
mov esi, dword [esp + 4]
xor eax, eax
pxor xmm3, xmm3
test esi, esi
jle 0x71a20f
movaps xmm2, xmm3
movaps xmm1, xmm3
movaps xmm0, xmm3
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea ebx, [ebx + eax*4]
addss xmm0, dword [ebx]
addss xmm1, dword [ebx + 4]
addss xmm2, dword [ebx + 8]
lea ebx, [ebx + edi*4]
add ecx, 1
cmp ecx, esi
jl 0x71a11b
mov ecx, dword [esp + 0x4c]
movss dword [edx], xmm0
movss dword [edx + 4], xmm1
movss dword [edx + 8], xmm2
lea edx, [edx + edi*4]
add eax, ebp
cmp eax, ecx
jle 0x71a0f9
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x80]
mov eax, ebp
test ecx, ecx
jle 0x71a1e8
mov dword [esp + 8], esi
mov esi, dword [esp + 0xa0]
xor ecx, ecx
movsd xmm2, qword [esp + 0x98]
movsd xmm6, qword [esp + 0x98]
mov edx, dword [esp + 0x80]
movss xmm0, dword [eax]
cvtps2pd xmm1, xmm0
add ecx, 1
cmp ecx, edx
mulsd xmm1, xmm2
cvtsd2ss xmm3, xmm1
movsd xmm1, qword [esp + 0x98]
movss dword [edi], xmm3
movss xmm4, dword [eax + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
cvtsd2ss xmm7, xmm5
movss dword [edi + 4], xmm7
movss xmm0, dword [eax + 8]
cvtps2pd xmm0, xmm0
lea eax, [eax + esi*4]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [edi + 8], xmm0
lea edi, [edi + esi*4]
jl 0x71a178
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
add dword [esp + 0x54], ecx
add ebx, 1
cmp ebx, edi
jl 0x719d56
mov edx, ebp
push edx
call fcn.006339b8
jmp 0x718f7f
movaps xmm2, xmm3
movaps xmm1, xmm3
movaps xmm0, xmm3
jmp 0x71a137
mov eax, dword [esp + 0x7c]
sub eax, ebx
imul eax, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
push edi
call fcn.006339a0
test eax, eax
jne 0x71a246
mov eax, 0xfffffff7
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x84]
test edx, edx
jle 0x71a412
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 8], esi
imul ecx, ebx
xor edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x74]
imul edx, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
mov dword [esp + 4], ebx
mov dword [esp], ebp
pxor xmm0, xmm0
mov ebp, eax
mov ebx, edx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], edi
push ecx
push ebp
call fcn.007c67a0
mov ecx, dword [esp + 0xa0]
push ecx
push ebp
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0070e8f0
add esp, 0x18
mov ecx, dword [esp + 0x50]
mov edx, ebp
test ecx, ecx
jl 0x71a35d
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
pxor xmm3, xmm3
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0xa0]
xor eax, eax
mov ebx, dword [esp + 4]
test ebx, ebx
jle 0x71a41d
movaps xmm2, xmm3
movaps xmm1, xmm3
movaps xmm0, xmm3
mov ebx, dword [esp + 0x20]
xor ebp, ebp
lea ebx, [ebx + eax*4]
mov ecx, dword [esp + 4]
addss xmm0, dword [ebx]
addss xmm1, dword [ebx + 4]
addss xmm2, dword [ebx + 8]
lea ebx, [ebx + edi*4]
add ebp, 1
cmp ebp, ecx
jl 0x71a31a
mov ecx, dword [esp + 0x50]
movss dword [edx], xmm0
movss dword [edx + 4], xmm1
movss dword [edx + 8], xmm2
lea edx, [edx + edi*4]
add eax, esi
cmp eax, ecx
jle 0x71a2f8
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x80]
mov ecx, ebp
test eax, eax
jle 0x71a3f7
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0xa0]
xor edx, edx
mov dword [esp + 0x54], edi
movsd xmm2, qword [esp + 0x98]
movsd xmm6, qword [esp + 0x98]
mov edi, dword [esp + 0x80]
movss xmm0, dword [ecx]
cvtps2pd xmm1, xmm0
add edx, 1
cmp edx, edi
mulsd xmm1, xmm2
cvtsd2ss xmm3, xmm1
movsd xmm1, qword [esp + 0x98]
movss dword [eax], xmm3
movss xmm4, dword [ecx + 4]
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm6
cvtsd2ss xmm7, xmm5
movss dword [eax + 4], xmm7
movss xmm0, dword [ecx + 8]
cvtps2pd xmm0, xmm0
lea ecx, [ecx + ebp*4]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax + 8], xmm0
lea eax, [eax + ebp*4]
jl 0x71a383
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x54]
add edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
add esi, 1
add dword [esp], ebx
cmp esi, ecx
jl 0x71a28f
mov eax, ebp
push eax
call fcn.006339b8
jmp 0x718f7f
movaps xmm2, xmm3
movaps xmm1, xmm3
movaps xmm0, xmm3
jmp 0x71a336