Function at 0x1400665a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, qword [rsp + 0x88]
mov r15, r9
mov rsi, r8
mov r14, rdx
mov rbx, rcx
cmp qword [r12], 0
jne 0x140066710
mov rdi, qword [rsp + 0x90]
lea rdx, [rcx + 4]
mov r8, rdi
mov rcx, r14
call fcn.14003e440
mov r8, rdi
lea rdx, [rbx + 1]
mov rcx, rsi
call fcn.14003e440
lea rdx, [rbx + 5]
mov r8, rdi
mov rcx, r15
call fcn.14003e440
movsd xmm1, qword [0x140215ec0]
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
mov ecx, 1
divsd xmm1, xmm0
cmp rbx, rcx
jl 0x1400666f6
cmp rbx, 2
jb 0x140066692
mov rax, qword [rsi + 0x38]
lea rdx, [rsi + 0x38]
lea rdi, [rax + 8]
lea r8, [rax + rbx*8]
cmp rdi, rdx
ja 0x140066652
cmp r8, rdx
jae 0x140066692
mov rax, rbx
and rax, 0xfffffffffffffffe
nop dword [rax]
add rcx, 2
mov r8, rcx
cmp rcx, rax
jle 0x140066660
inc rax
cqo
sub rax, rdx
sar rax, 1
mov rcx, rax
movq rax, xmm1
shl rcx, 4
shr rcx, 3
rep stosq qword [rdi], rax
mov rcx, r8
cmp r8, rbx
jg 0x1400666f6
mov rax, rbx
sub rax, rcx
inc rax
cmp rax, 4
jl 0x1400666e0
lea rdx, [rbx - 3]
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8], xmm1
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8 + 8], xmm1
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8 + 0x10], xmm1
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8 + 0x18], xmm1
add rcx, 4
cmp rcx, rdx
jle 0x1400666b0
cmp rcx, rbx
jg 0x1400666f6
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8], xmm1
inc rcx
cmp rcx, rbx
jle 0x1400666e5
mov rax, qword [r15 + 0x38]
mov qword [r12], 1
mov qword [rax + rbx*8 + 0x20], 1
jmp 0x140067395
mov rcx, qword [r9 + 0x38]
lea r8, [r9 + 0x38]
mov rax, qword [rcx + rbx*8 + 0x20]
cmp rax, 1
jne 0x1400668cc
xor ebp, ebp
cmp rbx, rax
jne 0x14006675f
mov rax, qword [rsi + 0x38]
mov rcx, qword [rdx + 0x38]
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x38]
movsd xmm0, qword [rax + 8]
mov rax, qword [rsp + 0x80]
andps xmm0, xmmword [0x140216550]
movsd qword [rax], xmm0
jmp 0x140067391
mov rdx, qword [rsp + 0x80]
mov edi, 1
movsd xmm3, qword [0x140216550]
xorps xmm4, xmm4
mov qword [rdx], rbp
cmp rbx, 4
jl 0x1400667e9
mov r8, qword [rsi + 0x38]
mov rcx, rbx
shr rcx, 2
xorps xmm2, xmm2
lea rax, [r8 + 0x18]
lea rdi, [rcx*4 + 1]
nop word [rax + rax]
movsd xmm1, qword [rax - 0x10]
movsd xmm0, qword [rax - 8]
andps xmm1, xmm3
addsd xmm2, xmm1
andps xmm0, xmm3
movsd xmm1, qword [rax]
andps xmm1, xmm3
addsd xmm2, xmm0
movsd xmm0, qword [rax + 8]
andps xmm0, xmm3
add rax, 0x20
addsd xmm2, xmm1
addsd xmm2, xmm0
movsd qword [rdx], xmm2
sub rcx, 1
jne 0x1400667a0
cmp rdi, rbx
jle 0x1400667f5
mov ecx, 1
jmp 0x14006682c
cmp rbx, rdi
jl 0x14006681e
mov r8, qword [rsi + 0x38]
xorps xmm2, xmm2
mov rcx, rbx
lea rax, [r8 + rdi*8]
sub rcx, rdi
inc rcx
movsd xmm0, qword [rax]
add rax, 8
andps xmm0, xmm3
addsd xmm0, xmm2
movsd qword [rdx], xmm0
movaps xmm2, xmm0
sub rcx, 1
jne 0x140066802
mov ecx, 1
cmp rcx, rbx
jg 0x1400668b4
movsd xmm2, qword [0x140215ec0]
movsd xmm3, qword [0x140216160]
nop dword [rax]
mov rax, qword [rsi + 0x38]
movsd xmm0, qword [rax + rcx*8]
movsd qword [rsp + 0x88], xmm0
movsd qword [rsp + 0x60], xmm4
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm1, xmm0
mov rax, qword [rsi + 0x38]
lea rdx, [rax + rcx*8]
jb 0x14006687a
movaps xmm0, xmm2
jmp 0x14006687d
movaps xmm0, xmm3
movsd qword [rdx], xmm0
mov rax, qword [rsi + 0x38]
movsd xmm1, qword [rax + rcx*8]
comisd xmm1, xmm4
jbe 0x140066897
mov edx, 1
jmp 0x1400668a4
comisd xmm4, xmm1
mov rdx, rbp
setbe dl
dec rdx
mov rax, qword [r9 + 0x38]
mov qword [rax + rcx*8], rdx
inc rcx
cmp rcx, rbx
jle 0x140066840
mov rax, qword [r15 + 0x38]
mov r9d, 2
mov qword [r12], r9
mov qword [rax + rbx*8 + 0x20], r9
jmp 0x140067395
cmp rax, 2
jne 0x140066a6d
mov qword [rcx + rbx*8 + 0x10], 1
mov r9, rax
mov rdi, rax
cmp rax, rbx
jg 0x140066956
movsd xmm2, qword [0x140216550]
mov rdx, qword [rsi + 0x38]
mov rax, qword [r8]
movsd xmm0, qword [rdx + rdi*8]
mov rcx, qword [rax + rbx*8 + 0x10]
andps xmm0, xmm2
movsd xmm1, qword [rdx + rcx*8]
movsd qword [rsp + 0x88], xmm0
andps xmm1, xmm2
movsd qword [rsp + 0x60], xmm1
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm1, xmm0
jbe 0x14006693a
mov rax, qword [r8]
mov qword [rax + rbx*8 + 0x10], rdi
inc rdi
cmp rdi, rbx
jle 0x1400668f2
mov rax, qword [r15 + 0x38]
lea r8, [r15 + 0x38]
mov edi, 1
mov qword [rax + rbx*8 + 8], r9
jmp 0x14006696c
mov rax, qword [r8]
mov edi, 1
mov qword [rax + rbx*8 + 8], r9
cmp rbx, rdi
jl 0x140066a39
cmp rbx, r9
jb 0x1400669d2
mov r9, qword [rsi + 0x38]
lea rcx, [rsi + 0x38]
mov edi, 1
lea rax, [r9 + 8]
lea rdx, [r9 + rbx*8]
cmp rax, rcx
ja 0x140066990
cmp rdx, rcx
jae 0x1400669d2
mov rax, rbx
mov rcx, rbx
cqo
and eax, edi
xor rax, rdx
sub rax, rdx
sub rcx, rax
add rdi, 2
cmp rdi, rcx
jle 0x1400669a3
lea rax, [rcx + 1]
cqo
lea rcx, [r9 + 8]
sub rax, rdx
xor edx, edx
sar rax, 1
shl rax, 4
and rax, 0xfffffffffffffff8
mov r8, rax
call fcn.140172380
lea r8, [r15 + 0x38]
cmp rdi, rbx
jg 0x140066a39
mov rax, rbx
xor ebp, ebp
sub rax, rdi
inc rax
cmp rax, 4
jl 0x140066a20
lea rcx, [rbx - 3]
nop dword [rax]
mov rax, qword [rsi + 0x38]
mov qword [rax + rdi*8], rbp
mov rax, qword [rsi + 0x38]
mov qword [rax + rdi*8 + 8], rbp
mov rax, qword [rsi + 0x38]
mov qword [rax + rdi*8 + 0x10], rbp
mov rax, qword [rsi + 0x38]
mov qword [rax + rdi*8 + 0x18], rbp
add rdi, 4
cmp rdi, rcx
jle 0x1400669f0
lea r8, [r15 + 0x38]
cmp rdi, rbx
jg 0x140066a39
mov rax, qword [rsi + 0x38]
mov qword [rax + rdi*8], rbp
inc rdi
cmp rdi, rbx
jle 0x140066a25
lea r8, [r15 + 0x38]
mov rax, qword [r15 + 0x38]
movabs rdx, 0x3ff0000000000000
mov qword [r12], 1
mov rcx, qword [rax + rbx*8 + 0x10]
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8], rdx
mov rax, qword [r8]
mov qword [rax + rbx*8 + 0x20], 3
jmp 0x140067395
cmp rax, 3
jne 0x140066e71
mov rcx, qword [rdx + 0x38]
mov edx, 1
mov r8, qword [rsi + 0x38]
mov r9d, edx
add r8, 8
mov qword [rsp + 0x20], rbx
add rcx, 8
call fcn.14003f060
mov rdx, qword [rsp + 0x80]
xor ebp, ebp
mov rcx, qword [r14 + 0x38]
xorps xmm4, xmm4
movsd xmm3, qword [0x140216550]
mov rax, qword [rdx]
lea edi, [rbp + 1]
mov qword [rcx + rbx*8 + 0x10], rax
mov qword [rdx], rbp
cmp rbx, 4
jl 0x140066b2c
mov r8, qword [r14 + 0x38]
mov rcx, rbx
shr rcx, 2
xorps xmm2, xmm2
lea rax, [r8 + 0x18]
lea rdi, [rcx*4 + 1]
movsd xmm1, qword [rax - 0x10]
movsd xmm0, qword [rax - 8]
andps xmm1, xmm3
addsd xmm2, xmm1
andps xmm0, xmm3
movsd xmm1, qword [rax]
andps xmm1, xmm3
addsd xmm2, xmm0
movsd xmm0, qword [rax + 8]
andps xmm0, xmm3
add rax, 0x20
addsd xmm2, xmm1
addsd xmm2, xmm0
movsd qword [rdx], xmm2
sub rcx, 1
jne 0x140066ae0
cmp rdi, rbx
jle 0x140066b38
xor dil, dil
mov ecx, 1
jmp 0x140066b72
cmp rbx, rdi
jl 0x140066b61
mov r8, qword [r14 + 0x38]
xorps xmm2, xmm2
mov rcx, rbx
lea rax, [r8 + rdi*8]
sub rcx, rdi
inc rcx
movsd xmm0, qword [rax]
add rax, 8
andps xmm0, xmm3
addsd xmm0, xmm2
movsd qword [rdx], xmm0
movaps xmm2, xmm0
sub rcx, 1
jne 0x140066b45
xor dil, dil
mov ecx, 1
cmp rcx, rbx
jg 0x140066cba
mov rax, qword [rsi + 0x38]
movsd xmm0, qword [rax + rcx*8]
movsd qword [rsp + 0x88], xmm0
movsd qword [rsp + 0x60], xmm4
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm1, xmm0
jb 0x140066ba9
mov rax, qword [r15 + 0x38]
cmp qword [rax + rcx*8], rbp
jl 0x140066be0
mov rax, qword [rsi + 0x38]
movsd xmm0, qword [rax + rcx*8]
movsd qword [rsp + 0x88], xmm0
movsd qword [rsp + 0x60], xmm4
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm0, xmm1
jbe 0x140066be3
mov rax, qword [r15 + 0x38]
cmp qword [rax + rcx*8], rbp
jl 0x140066be3
mov dil, 1
inc rcx
cmp rcx, rbx
jle 0x140066b72
test dil, dil
je 0x140066cba
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rdx]
movsd qword [rsp + 0x88], xmm0
movsd xmm1, qword [rax + rbx*8 + 0x10]
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm0, xmm2
jae 0x140066cba
mov ecx, 1
movabs rdx, 0x3ff0000000000000
movabs rdi, 0xbff0000000000000
mov rax, qword [rsi + 0x38]
movsd xmm0, qword [rax + rcx*8]
movsd qword [rsp + 0x88], xmm0
movsd qword [rsp + 0x60], xmm4
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm1, xmm0
mov rax, qword [rsi + 0x38]
jb 0x140066c86
mov qword [rax + rcx*8], rdx
mov rax, qword [r15 + 0x38]
mov qword [rax + rcx*8], 1
jmp 0x140066c96
mov qword [rax + rcx*8], rdi
mov rax, qword [r15 + 0x38]
mov qword [rax + rcx*8], 0xffffffffffffffff
inc rcx
cmp rcx, rbx
jle 0x140066c43
mov rax, qword [r15 + 0x38]
mov r9d, 2
mov qword [r12], r9
mov qword [rax + rbx*8 + 0x20], 4
jmp 0x140067395
mov rax, qword [r14 + 0x38]
movabs rdx, 0x3ff0000000000000
movsd xmm2, qword [0x140216560]
mov ecx, 1
movsd xmm3, qword [0x140215ec0]
mov qword [rax + rbx*8 + 8], rdx
cmp rbx, 4
jl 0x140066e04
lea rax, [rbx - 1]
xorps xmm4, xmm4
cvtsi2sd xmm4, rax
lea rdx, [rbx - 3]
mov r9d, 2
nop dword [rax]
nop word [rax + rax]
xorps xmm1, xmm1
lea rax, [r9 - 2]
cvtsi2sd xmm1, rcx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov rax, qword [r14 + 0x38]
divsd xmm1, xmm4
divsd xmm0, xmm4
addsd xmm1, xmm3
addsd xmm0, xmm3
mulsd xmm0, qword [rax + rbx*8 + 8]
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8], xmm0
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
mov rax, qword [r14 + 0x38]
mulsd xmm1, qword [rax + rbx*8 + 8]
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8 + 8], xmm1
xorps xmm1, xmm1
mov rax, qword [r14 + 0x38]
cvtsi2sd xmm1, r9
movsd xmm0, qword [rax + rbx*8 + 8]
divsd xmm1, xmm4
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
addsd xmm1, xmm3
mov rax, qword [r14 + 0x38]
mulsd xmm1, qword [rax + rbx*8 + 8]
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8 + 0x10], xmm1
xorps xmm1, xmm1
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
lea rax, [r9 + 1]
cvtsi2sd xmm1, rax
mov rax, qword [r14 + 0x38]
add r9, 4
divsd xmm1, xmm4
addsd xmm1, xmm3
mulsd xmm1, qword [rax + rbx*8 + 8]
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8 + 0x18], xmm1
add rcx, 4
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
cmp rcx, rdx
jle 0x140066d10
cmp rcx, rbx
jg 0x140066e57
lea rax, [rbx - 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
xorps xmm0, xmm0
lea rax, [rcx - 1]
cvtsi2sd xmm0, rax
mov rax, qword [r14 + 0x38]
divsd xmm0, xmm1
addsd xmm0, xmm3
mulsd xmm0, qword [rax + rbx*8 + 8]
mov rax, qword [rsi + 0x38]
movsd qword [rax + rcx*8], xmm0
inc rcx
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
cmp rcx, rbx
jle 0x140066e15
mov rax, qword [r15 + 0x38]
mov qword [r12], 1
mov qword [rax + rbx*8 + 0x20], 5
jmp 0x140067395
cmp rax, 4
jne 0x140067227
mov rax, qword [rcx + rbx*8 + 0x10]
mov r9d, 2
movsd xmm2, qword [0x140216550]
mov edi, r9d
mov qword [rcx + rbx*8 + 0x18], rax
mov rax, qword [r8]
mov qword [rax + rbx*8 + 0x10], 1
cmp r9, rbx
jg 0x140066f04
nop word [rax + rax]
mov rdx, qword [rsi + 0x38]
mov rax, qword [r8]
movsd xmm0, qword [rdx + rdi*8]
mov rcx, qword [rax + rbx*8 + 0x10]
andps xmm0, xmm2
movsd xmm1, qword [rdx + rcx*8]
movsd qword [rsp + 0x88], xmm0
andps xmm1, xmm2
movsd qword [rsp + 0x60], xmm1
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm1, xmm0
jbe 0x140066ef8
mov rax, qword [r8]
mov qword [rax + rbx*8 + 0x10], rdi
inc rdi
cmp rdi, rbx
jle 0x140066eb0
lea r8, [r15 + 0x38]
mov rdx, qword [r8]
lea rdi, [rsi + 0x38]
mov rcx, qword [rdi]
mov rax, qword [rdx + rbx*8 + 0x10]
movsd xmm1, qword [rcx + rax*8]
mov rax, qword [rdx + rbx*8 + 0x18]
andps xmm1, xmm2
movsd xmm0, qword [rcx + rax*8]
movsd qword [rsp + 0x88], xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
ucomisd xmm1, xmm0
jp 0x140066f4f
je 0x140067075
mov rcx, qword [r8]
mov rax, qword [rcx + rbx*8 + 8]
cmp rax, 5
jge 0x140067075
inc rax
mov qword [rcx + rbx*8 + 8], rax
mov ecx, 1
cmp rbx, rcx
jl 0x140067040
cmp rbx, r9
jb 0x140066fd4
mov r8, qword [rdi]
lea rax, [r8 + 8]
lea rdx, [r8 + rbx*8]
cmp rax, rdi
ja 0x140066f91
cmp rdx, rdi
jae 0x140066fd4
mov rax, rbx
and rax, 0xfffffffffffffffe
nop dword [rax + rax]
add rcx, r9
mov rdi, rcx
cmp rcx, rax
jle 0x140066fa0
inc rax
lea rcx, [r8 + 8]
cqo
sub rax, rdx
xor edx, edx
sar rax, 1
shl rax, 4
and rax, 0xfffffffffffffff8
mov r8, rax
call fcn.140172380
mov rcx, rdi
cmp rdi, rbx
jg 0x140067040
mov rax, rbx
xor ebp, ebp
sub rax, rcx
inc rax
cmp rax, 4
jl 0x140067030
lea rdx, [rbx - 3]
nop dword [rax]
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8], rbp
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8 + 8], rbp
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8 + 0x18], rbp
add rcx, 4
cmp rcx, rdx
jle 0x140066ff0
cmp rcx, rbx
jg 0x140067040
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8], rbp
inc rcx
cmp rcx, rbx
jle 0x140067030
mov rax, qword [r15 + 0x38]
movabs rdx, 0x3ff0000000000000
mov qword [r12], 1
mov rcx, qword [rax + rbx*8 + 0x10]
mov rax, qword [rsi + 0x38]
mov qword [rax + rcx*8], rdx
mov rax, qword [r15 + 0x38]
mov qword [rax + rbx*8 + 0x20], 3
jmp 0x140067395
mov rax, qword [r14 + 0x38]
movabs rdx, 0x3ff0000000000000
movsd xmm2, qword [0x140216560]
mov ecx, 1
movsd xmm3, qword [0x140215ec0]
mov qword [rax + rbx*8 + 8], rdx
cmp rbx, 4
jl 0x1400671b8
lea rax, [rbx - 1]
xorps xmm4, xmm4
cvtsi2sd xmm4, rax
lea rdx, [rbx - 3]
nop word [rax + rax]
xorps xmm1, xmm1
lea rax, [r9 - 2]
cvtsi2sd xmm1, rcx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov rax, qword [r14 + 0x38]
divsd xmm1, xmm4
divsd xmm0, xmm4
addsd xmm1, xmm3
addsd xmm0, xmm3
mulsd xmm0, qword [rax + rbx*8 + 8]
mov rax, qword [rdi]
movsd qword [rax + rcx*8], xmm0
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
mov rax, qword [r14 + 0x38]
mulsd xmm1, qword [rax + rbx*8 + 8]
mov rax, qword [rdi]
movsd qword [rax + rcx*8 + 8], xmm1
xorps xmm1, xmm1
mov rax, qword [r14 + 0x38]
cvtsi2sd xmm1, r9
movsd xmm0, qword [rax + rbx*8 + 8]
divsd xmm1, xmm4
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
addsd xmm1, xmm3
mov rax, qword [r14 + 0x38]
mulsd xmm1, qword [rax + rbx*8 + 8]
mov rax, qword [rdi]
movsd qword [rax + rcx*8 + 0x10], xmm1
xorps xmm1, xmm1
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
lea rax, [r9 + 1]
cvtsi2sd xmm1, rax
mov rax, qword [r14 + 0x38]
add r9, 4
divsd xmm1, xmm4
addsd xmm1, xmm3
mulsd xmm1, qword [rax + rbx*8 + 8]
mov rax, qword [rdi]
movsd qword [rax + rcx*8 + 0x18], xmm1
add rcx, 4
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
cmp rcx, rdx
jle 0x1400670c0
lea rdi, [rsi + 0x38]
lea r8, [r15 + 0x38]
cmp rcx, rbx
jg 0x14006720e
lea rax, [rbx - 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
xorps xmm0, xmm0
lea rax, [rcx - 1]
cvtsi2sd xmm0, rax
mov rax, qword [r14 + 0x38]
divsd xmm0, xmm1
addsd xmm0, xmm3
mulsd xmm0, qword [rax + rbx*8 + 8]
mov rax, qword [rdi]
movsd qword [rax + rcx*8], xmm0
inc rcx
mov rax, qword [r14 + 0x38]
movsd xmm0, qword [rax + rbx*8 + 8]
xorps xmm0, xmm2
movsd qword [rax + rbx*8 + 8], xmm0
cmp rcx, rbx
jle 0x1400671c9
lea r8, [r15 + 0x38]
mov rax, qword [r8]
mov qword [r12], 1
mov qword [rax + rbx*8 + 0x20], 5
jmp 0x140067395
cmp rax, 5
jne 0x140067395
mov rax, qword [rdx + 0x38]
xor ebp, ebp
movsd xmm1, qword [0x140216550]
mov qword [rax + rbx*8 + 0x18], rbp
lea edx, [rbp + 1]
cmp rbx, 4
jl 0x1400672dc
lea rdi, [rbx - 3]
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
mov rcx, qword [r14 + 0x38]
movsd xmm0, qword [rax + rdx*8]
andps xmm0, xmm1
addsd xmm0, qword [rcx + rbx*8 + 0x18]
movsd qword [rcx + rbx*8 + 0x18], xmm0
mov rax, qword [rsi + 0x38]
mov rcx, qword [r14 + 0x38]
movsd xmm0, qword [rax + rdx*8 + 8]
andps xmm0, xmm1
addsd xmm0, qword [rcx + rbx*8 + 0x18]
movsd qword [rcx + rbx*8 + 0x18], xmm0
mov rax, qword [rsi + 0x38]
mov rcx, qword [r14 + 0x38]
movsd xmm0, qword [rax + rdx*8 + 0x10]
andps xmm0, xmm1
addsd xmm0, qword [rcx + rbx*8 + 0x18]
movsd qword [rcx + rbx*8 + 0x18], xmm0
mov rax, qword [rsi + 0x38]
mov rcx, qword [r14 + 0x38]
movsd xmm0, qword [rax + rdx*8 + 0x18]
add rdx, 4
andps xmm0, xmm1
addsd xmm0, qword [rcx + rbx*8 + 0x18]
movsd qword [rcx + rbx*8 + 0x18], xmm0
cmp rdx, rdi
jle 0x140067260
cmp rdx, rbx
jg 0x140067305
mov rax, qword [rsi + 0x38]
mov rcx, qword [r14 + 0x38]
movsd xmm0, qword [rax + rdx*8]
inc rdx
andps xmm0, xmm1
addsd xmm0, qword [rcx + rbx*8 + 0x18]
movsd qword [rcx + rbx*8 + 0x18], xmm0
cmp rdx, rbx
jle 0x1400672e1
mov rcx, qword [r14 + 0x38]
lea rax, [rbx + rbx*2]
mov rdi, qword [rsp + 0x80]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd xmm1, qword [rcx + rbx*8 + 0x18]
addsd xmm1, xmm1
divsd xmm1, xmm0
movsd qword [rcx + rbx*8 + 0x18], xmm1
mov rax, qword [r14 + 0x38]
movsd xmm1, qword [rdi]
movsd xmm0, qword [rax + rbx*8 + 0x18]
movsd qword [rsp + 0x88], xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x60]
comisd xmm2, xmm0
jbe 0x140067391
mov r8, qword [rsi + 0x38]
mov edx, 1
mov rcx, qword [r14 + 0x38]
add r8, 8
add rcx, 8
mov qword [rsp + 0x20], rbx
mov r9d, edx
call fcn.14003f060
mov rax, qword [r14 + 0x38]
mov rcx, qword [rax + rbx*8 + 0x18]
mov qword [rdi], rcx
mov qword [r12], rbp
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret