Function at 0x14016a5b8
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 0x14016a600
call fcn.14016a3c0
jmp 0x14016c44b
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 0x14016a636
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 0x14016a651
xor ecx, ecx
mov rax, qword [r12 + rcx*8]
xor qword [rbp + rcx*8 - 0x50], rax
add rcx, r11
cmp rcx, r10
jl 0x14016a664
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 0x14016a699
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 0x14016a6e8
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 0x14016a737
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 0x14016a786
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 0x14016a7d5
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 0x14016a824
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 0x14016a873
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 0x14016a8c2
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 0x14016a911
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 0x14016a960
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 0x14016a9af
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 0x14016a9fe
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 0x14016aa4d
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 0x14016aa9c
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 0x14016aaeb
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 0x14016ab3a
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 0x14016ab89
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 0x14016abd8
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 0x14016ac27
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 0x14016ac76
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 0x14016acc5
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 0x14016ad14
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 0x14016ad63
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 0x14016adb2
mov r8d, 0x40
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.1403367f0
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 0x14016adf5
xor ecx, ecx
mov rax, qword [r12 + rcx*8 + 0x40]
xor qword [rbp + rcx*8 - 0x50], rax
add rcx, r11
cmp rcx, 8
jl 0x14016ae0a
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 0x14016ae41
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 0x14016ae90
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 0x14016aedf
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 0x14016af2e
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 0x14016af7d
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 0x14016afcc
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 0x14016b01b
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 0x14016b06a
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 0x14016b0b9
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 0x14016b108
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 0x14016b157
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 0x14016b1a6
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 0x14016b1f5
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 0x14016b244
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 0x14016b293
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 0x14016b2e2
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 0x14016b331
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 0x14016b380
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 0x14016b3cf
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 0x14016b41e
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 0x14016b46d
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 0x14016b4bc
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 0x14016b50b
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 0x14016b55a
test r13, r13
je 0x14016c42e
lea rcx, [r14 + 1]
mov r8d, 0x40
shl rcx, 6
lea rdx, [rbp - 0x50]
add rcx, rsi
call fcn.1403367f0
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 0x14016b5c7
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 0x14016b5e4
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 0x14016b61f
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 0x14016b66e
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 0x14016b6bd
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 0x14016b70c
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 0x14016b75b
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 0x14016b7aa
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 0x14016b7f9
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 0x14016b848
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 0x14016b897
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 0x14016b8e6
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 0x14016b935
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 0x14016b984
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 0x14016b9d3
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 0x14016ba22
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 0x14016ba71
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 0x14016bac0
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 0x14016bb0f
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 0x14016bb5e
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 0x14016bbad
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 0x14016bbfc
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 0x14016bc4b
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 0x14016bc9a
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 0x14016bce9
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 0x14016bd38
mov rcx, qword [rbp - 0x60]
lea rdx, [rbp - 0x50]
add rcx, r11
mov r8d, 0x40
call fcn.1403367f0
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 0x14016bd7f
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 0x14016bd98
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 0x14016bdd7
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 0x14016be1b
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 0x14016be5f
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 0x14016bea3
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 0x14016bee7
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 0x14016bf2b
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 0x14016bf6f
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 0x14016bfb3
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 0x14016bff7
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 0x14016c03b
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 0x14016c07f
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 0x14016c0c3
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 0x14016c107
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 0x14016c14b
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 0x14016c18f
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 0x14016c1d3
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 0x14016c217
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 0x14016c25b
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 0x14016c29f
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 0x14016c2e3
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 0x14016c327
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 0x14016c36b
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 0x14016c3af
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 0x14016c3f3
mov r14, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x60]
cmp r14, r13
jb 0x14016b58e
lea rdx, [r14 + 1]
mov r8d, 4
shl rdx, 6
lea rcx, [rbp - 0x50]
add rdx, rsi
call fcn.1401707c0
mov eax, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1403354e0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret