Function at 0x14016b2b8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1404e8f18]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x60]
mov rsi, r8
mov qword [rbp - 0x60], r8
mov r12, rdx
mov r15, rcx
test rax, rax
jne 0x14016b300
call fcn.14016b0c0
jmp 0x14016d14b
mov rbx, qword [rax]
lea r13, [r9*2 - 1]
mov rdi, qword [rax + 8]
lea rdx, [rbp - 0x50]
mov r10d, 8
mov rax, r13
shl rax, 6
mov r8, r12
add rcx, rax
sub rdx, rax
sub r8, r15
mov r9d, r10d
sub rdx, r15
lea r11d, [r10 - 7]
mov rax, qword [r8 + rcx]
xor rax, qword [rcx]
mov qword [rdx + rcx], rax
add rcx, r10
sub r9, r11
jne 0x14016b336
xor r14d, r14d
sub r13, r11
xor ecx, ecx
mov rax, qword [r15 + rcx*8]
xor qword [rbp + rcx*8 - 0x50], rax
add rcx, r11
cmp rcx, r10
jl 0x14016b351
xor ecx, ecx
mov rax, qword [r12 + rcx*8]
xor qword [rbp + rcx*8 - 0x50], rax
add rcx, r11
cmp rcx, r10
jl 0x14016b364
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016b399
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016b3e8
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016b437
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016b486
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016b4d5
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016b524
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016b573
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016b5c2
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016b611
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016b660
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016b6af
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016b6fe
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016b74d
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016b79c
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016b7eb
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016b83a
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016b889
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016b8d8
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016b927
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016b976
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016b9c5
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016ba14
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016ba63
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016bab2
mov r8d, 0x40
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.140336c00
xor ecx, ecx
lea r11d, [rcx + 1]
mov rax, qword [r15 + rcx*8 + 0x40]
xor qword [rbp + rcx*8 - 0x50], rax
add rcx, r11
cmp rcx, 8
jl 0x14016baf5
xor ecx, ecx
mov rax, qword [r12 + rcx*8 + 0x40]
xor qword [rbp + rcx*8 - 0x50], rax
add rcx, r11
cmp rcx, 8
jl 0x14016bb0a
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016bb41
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016bb90
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016bbdf
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016bc2e
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016bc7d
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016bccc
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016bd1b
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016bd6a
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016bdb9
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016be08
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016be57
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016bea6
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016bef5
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016bf44
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016bf93
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016bfe2
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016c031
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016c080
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016c0cf
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016c11e
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, 2
jl 0x14016c16d
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, 2
jl 0x14016c1bc
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, 2
jl 0x14016c20b
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, 2
jl 0x14016c25a
test r13, r13
je 0x14016d12e
lea rcx, [r14 + 1]
mov r8d, 0x40
shl rcx, 6
lea rdx, [rbp - 0x50]
add rcx, rsi
call fcn.140336c00
add r14, 2
lea rax, [rbp - 0x50]
mov r11, r14
mov qword [rbp - 0x58], r14
shl r11, 6
xor edx, edx
mov r8, r11
sub r8, rax
lea r14, [r8 + r15]
lea rax, [r14 + rdx*8]
mov rcx, qword [rbp + rax - 0x50]
xor qword [rbp + rdx*8 - 0x50], rcx
inc rdx
cmp rdx, 8
jl 0x14016c2c7
xor edx, edx
lea rsi, [r8 + r12]
lea rax, [rsi + rdx*8]
mov rcx, qword [rbp + rax - 0x50]
xor qword [rbp + rdx*8 - 0x50], rcx
inc rdx
cmp rdx, 8
jl 0x14016c2e4
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
inc r9
cmp r9, 2
jl 0x14016c31f
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
inc r9
cmp r9, 2
jl 0x14016c36e
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
inc r9
cmp r9, 2
jl 0x14016c3bd
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
inc r9
cmp r9, 2
jl 0x14016c40c
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
inc r9
cmp r9, 2
jl 0x14016c45b
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
inc r9
cmp r9, 2
jl 0x14016c4aa
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
inc r9
cmp r9, 2
jl 0x14016c4f9
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
inc r9
cmp r9, 2
jl 0x14016c548
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
inc r9
cmp r9, 2
jl 0x14016c597
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
inc r9
cmp r9, 2
jl 0x14016c5e6
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
inc r9
cmp r9, 2
jl 0x14016c635
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
inc r9
cmp r9, 2
jl 0x14016c684
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
inc r9
cmp r9, 2
jl 0x14016c6d3
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
inc r9
cmp r9, 2
jl 0x14016c722
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
inc r9
cmp r9, 2
jl 0x14016c771
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
inc r9
cmp r9, 2
jl 0x14016c7c0
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
inc r9
cmp r9, 2
jl 0x14016c80f
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
inc r9
cmp r9, 2
jl 0x14016c85e
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
inc r9
cmp r9, 2
jl 0x14016c8ad
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
inc r9
cmp r9, 2
jl 0x14016c8fc
mov r8, qword [rbp - 0x50]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
inc r9
cmp r9, 2
jl 0x14016c94b
mov r8, qword [rbp - 0x40]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
inc r9
cmp r9, 2
jl 0x14016c99a
mov r8, qword [rbp - 0x30]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
inc r9
cmp r9, 2
jl 0x14016c9e9
mov r8, qword [rbp - 0x20]
movabs rax, 0xff000000ff0
and r8, rax
xor r9d, r9d
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
inc r9
cmp r9, 2
jl 0x14016ca38
mov rcx, qword [rbp - 0x60]
lea rdx, [rbp - 0x50]
add rcx, r11
mov r8d, 0x40
call fcn.140336c00
xor edx, edx
lea r11d, [rdx + 1]
lea rax, [r14 + rdx*8]
mov rcx, qword [rbp + rax - 0x10]
xor qword [rbp + rdx*8 - 0x50], rcx
add rdx, r11
cmp rdx, 8
jl 0x14016ca7f
xor edx, edx
lea rax, [rsi + rdx*8]
mov rcx, qword [rbp + rax - 0x10]
xor qword [rbp + rdx*8 - 0x50], rcx
add rdx, r11
cmp rdx, 8
jl 0x14016ca98
mov r8, qword [rbp - 0x50]
xor r9d, r9d
movabs r14, 0xff000000ff0
and r8, r14
mov r10d, r8d
shr r8, 0x20
lea esi, [r9 + 2]
add r8, rdi
add r10, rbx
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cad7
mov r8, qword [rbp - 0x40]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cb1b
mov r8, qword [rbp - 0x30]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cb5f
mov r8, qword [rbp - 0x20]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cba3
mov r8, qword [rbp - 0x50]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cbe7
mov r8, qword [rbp - 0x40]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cc2b
mov r8, qword [rbp - 0x30]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cc6f
mov r8, qword [rbp - 0x20]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, rsi
jl 0x14016ccb3
mov r8, qword [rbp - 0x50]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, rsi
jl 0x14016ccf7
mov r8, qword [rbp - 0x40]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cd3b
mov r8, qword [rbp - 0x30]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cd7f
mov r8, qword [rbp - 0x20]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cdc3
mov r8, qword [rbp - 0x50]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, rsi
jl 0x14016ce07
mov r8, qword [rbp - 0x40]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, rsi
jl 0x14016ce4b
mov r8, qword [rbp - 0x30]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, rsi
jl 0x14016ce8f
mov r8, qword [rbp - 0x20]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, rsi
jl 0x14016ced3
mov r8, qword [rbp - 0x50]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cf17
mov r8, qword [rbp - 0x40]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cf5b
mov r8, qword [rbp - 0x30]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cf9f
mov r8, qword [rbp - 0x20]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, rsi
jl 0x14016cfe3
mov r8, qword [rbp - 0x50]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x50]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x50]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x50], rdx
add r9, r11
cmp r9, rsi
jl 0x14016d027
mov r8, qword [rbp - 0x40]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x40]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x40]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x40], rdx
add r9, r11
cmp r9, rsi
jl 0x14016d06b
mov r8, qword [rbp - 0x30]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x30]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x30]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [r10 + rcx]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x30], rdx
add r9, r11
cmp r9, rsi
jl 0x14016d0af
mov r8, qword [rbp - 0x20]
xor r9d, r9d
and r8, r14
mov r10d, r8d
shr r8, 0x20
add r10, rbx
add r8, rdi
sub r10, r8
mov rdx, qword [rbp + r9*8 - 0x20]
lea rcx, [r8 + r9*8]
mov eax, dword [rbp + r9*8 - 0x20]
shr rdx, 0x20
imul rdx, rax
add rdx, qword [rcx + r10]
xor rdx, qword [rcx]
mov qword [rbp + r9*8 - 0x20], rdx
add r9, r11
cmp r9, rsi
jl 0x14016d0f3
mov r14, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x60]
cmp r14, r13
jb 0x14016c28e
lea rdx, [r14 + 1]
mov r8d, 4
shl rdx, 6
lea rcx, [rbp - 0x50]
add rdx, rsi
call fcn.1401714c0
mov eax, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1403358f0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret