Function at 0x140193cb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140519680]
xor rax, rsp
mov qword [rbp], rax
mov r12, qword [rbp + 0x60]
mov rdi, r8
mov qword [rsp + 0x38], r8
mov r13, rdx
mov qword [rsp + 0x70], r12
mov rbx, rcx
test r12, r12
jne 0x140193e3b
mov rax, qword [rcx]
lea r8d, [r12 + 1]
xor rax, qword [rdx]
xor rax, qword [rcx + 0x40]
xor rax, qword [rdx + 0x40]
mov qword [rbp - 0x40], rax
mov rax, qword [rcx + 8]
xor rax, qword [rdx + 8]
xor rax, qword [rcx + 0x48]
xor rax, qword [rdx + 0x48]
mov qword [rbp - 0x38], rax
mov rax, qword [rcx + 0x10]
xor rax, qword [rdx + 0x10]
xor rax, qword [rdx + 0x50]
xor rax, qword [rcx + 0x50]
mov qword [rbp - 0x30], rax
mov rax, qword [rcx + 0x18]
xor rax, qword [rdx + 0x18]
xor rax, qword [rcx + 0x58]
xor rax, qword [rdx + 0x58]
mov qword [rbp - 0x28], rax
mov rax, qword [rcx + 0x20]
xor rax, qword [rdx + 0x20]
xor rax, qword [rdx + 0x60]
xor rax, qword [rcx + 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rcx + 0x28]
xor rax, qword [rdx + 0x28]
xor rax, qword [rcx + 0x68]
xor rax, qword [rdx + 0x68]
mov qword [rbp - 0x18], rax
mov rax, qword [rcx + 0x30]
xor rax, qword [rdx + 0x30]
xor rax, qword [rdx + 0x70]
xor rax, qword [rcx + 0x70]
mov qword [rbp - 0x10], rax
mov rax, qword [rcx + 0x38]
xor rax, qword [rdx + 0x38]
xor rax, qword [rcx + 0x78]
lea rcx, [rbp - 0x40]
xor rax, qword [rdx + 0x78]
mov rdx, rdi
mov qword [rbp - 8], rax
call fcn.14018c5f0
mov rax, qword [rbp - 0x40]
lea rdx, [rdi + 0x40]
xor rax, qword [rbx + 0x40]
lea r8d, [r12 + 1]
xor rax, qword [r13 + 0x40]
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x38]
xor rax, qword [rbx + 0x48]
xor rax, qword [r13 + 0x48]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x30]
xor rax, qword [r13 + 0x50]
xor rax, qword [rbx + 0x50]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x28]
xor rax, qword [rbx + 0x58]
xor rax, qword [r13 + 0x58]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x20]
xor rax, qword [r13 + 0x60]
xor rax, qword [rbx + 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x18]
xor rax, qword [rbx + 0x68]
xor rax, qword [r13 + 0x68]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x10]
xor rax, qword [r13 + 0x70]
xor rax, qword [rbx + 0x70]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 8]
xor rax, qword [rbx + 0x78]
xor rax, qword [r13 + 0x78]
mov qword [rbp - 8], rax
call fcn.14018c5f0
mov eax, dword [rbp - 0x40]
jmp 0x140195245
mov rax, qword [r12]
lea rdi, [r9*2 - 1]
mov qword [rsp + 0x30], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x20], rax
lea rax, [rdi*8]
lea rcx, [rax*8 + 0x10]
mov qword [rsp + 0x140], rsi
mov rsi, qword [rbx + rax*8 + 8]
lea rdx, [rax*8 + 0x18]
xor rsi, qword [r13 + rax*8 + 8]
lea r8, [rax*8 + 0x20]
xor rsi, qword [rbx + 8]
lea r9, [rax*8 + 0x28]
xor rsi, qword [r13 + 8]
lea r10, [rax*8 + 0x30]
lea r11, [rax*8 + 0x38]
mov qword [rsp + 0x148], r14
mov r14, qword [r12 + 8]
dec rdi
mov qword [rsp + 0x60], rdi
mov rdi, qword [rbx + rax*8]
xor rdi, qword [r13 + rax*8]
mov rax, qword [rcx + rbx]
xor rax, qword [rcx + r13]
mov rcx, rsi
xor rax, qword [rbx + 0x10]
xor rax, qword [r13 + 0x10]
xor rdi, qword [rbx]
xor rdi, qword [r13]
mov qword [rbp - 0x70], rax
mov rax, qword [rdx + rbx]
xor rax, qword [rdx + r13]
mov rdx, rdi
xor rax, qword [rbx + 0x18]
xor rax, qword [r13 + 0x18]
mov qword [rbp - 0x68], rax
mov rax, qword [r8 + rbx]
xor rax, qword [r8 + r13]
xor rax, qword [rbx + 0x20]
xor rax, qword [r13 + 0x20]
mov qword [rbp - 0x60], rax
mov rax, qword [r9 + rbx]
xor rax, qword [r9 + r13]
mov r9, rdi
xor rax, qword [rbx + 0x28]
xor rax, qword [r13 + 0x28]
mov qword [rbp - 0x58], rax
mov rax, qword [r10 + rbx]
xor rax, qword [r10 + r13]
xor rax, qword [rbx + 0x30]
xor rax, qword [r13 + 0x30]
mov r10, qword [rsp + 0x30]
mov qword [rbp - 0x50], rax
mov rax, qword [r11 + rbx]
xor rax, qword [r11 + r13]
movabs r11, 0x7ff000007ff0
xor rax, qword [rbx + 0x38]
and r9, r11
xor rax, qword [r13 + 0x38]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x80], rdi
shr rdx, 0x20
shr rcx, 0x20
mov r8d, r9d
mov eax, edi
imul rdx, rax
mov eax, esi
add rdx, qword [r8 + r10]
imul rcx, rax
shr r9, 0x20
mov qword [rsp + 0x158], r15
mov r15, qword [r12 + 0x18]
mov qword [rsp + 0x28], r14
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x80], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x78], rcx
mov qword [r15 + r10], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + r10 + 8], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + r10]
shr r9, 0x20
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x68], rcx
mov qword [r15 + r14], rdx
mov rax, qword [rbp - 0x68]
mov qword [r15 + r14 + 8], rax
mov rax, qword [rbp - 0x60]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x58]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + r10]
shr r9, 0x20
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x60], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x58], rcx
mov qword [r15 + r10 + 0x10], rdx
mov rax, qword [rbp - 0x58]
mov qword [r15 + r10 + 0x18], rax
mov rax, qword [rbp - 0x50]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov r8d, r9d
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x48]
add rdx, qword [r8 + r10]
mov rcx, rax
shr r9, 0x20
shr rcx, 0x20
mov eax, eax
imul rcx, rax
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x50], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x48], rcx
mov qword [r15 + r14 + 0x10], rdx
mov rax, qword [rbp - 0x48]
mov qword [r15 + r14 + 0x18], rax
mov rax, qword [rbp - 0x80]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov r8d, r9d
mov eax, eax
imul rdx, rax
shr r9, 0x20
add rdx, qword [r8 + r10]
xor rdx, qword [r9 + r14]
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rdx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x78], rcx
mov qword [r15 + r10 + 0x20], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + r10 + 0x28], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r11
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + r10]
shr r9, 0x20
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x68], rcx
mov qword [r15 + r14 + 0x20], rdx
mov rax, qword [rbp - 0x68]
mov qword [r15 + r14 + 0x28], rax
mov rax, qword [rbp - 0x60]
mov rcx, rax
mov r8, rax
shr rcx, 0x20
and r8, r11
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x58]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + r10]
xor rcx, qword [r8 + r14]
mov qword [rbp - 0x60], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x50]
add rcx, qword [rdx + r10 + 8]
xor rcx, qword [r8 + r14 + 8]
mov r8, rax
mov qword [rbp - 0x58], rcx
and r8, r11
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x48]
add rcx, qword [rdx + r10]
shr r8, 0x20
xor rcx, qword [r8 + r14]
mov qword [rbp - 0x50], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x80]
add rcx, qword [rdx + r10 + 8]
mov r9, rax
xor rcx, qword [r8 + r14 + 8]
and r9, r11
mov r8d, r9d
mov rdx, rax
mov qword [rbp - 0x48], rcx
shr r9, 0x20
shr rdx, 0x20
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
add rdx, qword [r8 + r10]
mov rcx, rax
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x80], rdx
mov eax, eax
shr rcx, 0x20
imul rcx, rax
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x78], rcx
mov qword [r15 + r10 + 0x30], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + r10 + 0x38], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
mov eax, eax
shr r9, 0x20
shr rcx, 0x20
add rdx, qword [r8 + r10]
imul rcx, rax
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x68], rcx
mov qword [r15 + r14 + 0x30], rdx
mov rax, qword [rbp - 0x68]
mov qword [r15 + r14 + 0x38], rax
mov rax, qword [rbp - 0x60]
mov rdx, rax
and rdx, r11
mov ecx, edx
shr rdx, 0x20
add rdx, r14
mov r14, rax
mov eax, eax
shr r14, 0x20
imul r14, rax
mov rax, qword [rbp - 0x58]
add r14, qword [rcx + r10]
mov rsi, rax
xor r14, qword [rdx]
mov qword [rbp - 0x60], r14
mov eax, eax
shr rsi, 0x20
imul rsi, rax
mov rax, qword [rbp - 0x50]
add rsi, qword [rcx + r10 + 8]
mov rdi, rax
xor rsi, qword [rdx + 8]
mov rdx, rax
shr rdi, 0x20
and rdx, r11
mov ecx, edx
mov qword [rbp - 0x58], rsi
mov eax, eax
imul rdi, rax
mov rax, qword [rbp - 0x48]
add rdi, qword [rcx + r10]
mov r9, rax
shr r9, 0x20
shr rdx, 0x20
add rdx, qword [rsp + 0x28]
mov eax, eax
imul r9, rax
xor rdi, qword [rdx]
mov qword [rbp - 0x50], rdi
add r9, qword [rcx + r10 + 8]
xor r9, qword [rdx + 8]
mov r10, qword [rsp + 0x38]
add r15, 0x40
mov rax, qword [rbp - 0x80]
and r15, r11
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
mov qword [r10], rax
mov r8, qword [rbp - 0x68]
mov qword [r10 + 8], rcx
mov qword [r10 + 0x10], rdx
mov qword [r10 + 0x18], r8
mov qword [r10 + 0x20], r14
mov qword [r10 + 0x28], rsi
mov qword [r10 + 0x30], rdi
mov qword [r10 + 0x38], r9
mov r10, qword [rbx + 0x40]
xor r10, qword [r13 + 0x40]
mov r11, qword [rbx + 0x48]
xor r10, rax
mov rax, qword [rbx + 0x50]
xor rax, qword [r13 + 0x50]
xor r11, qword [r13 + 0x48]
xor rdx, rax
mov rax, qword [rbx + 0x58]
xor r11, rcx
xor rax, qword [r13 + 0x58]
mov rcx, r11
xor r8, rax
mov qword [rbp - 0x70], rdx
mov rax, qword [rbx + 0x60]
mov rdx, r10
xor rax, qword [r13 + 0x60]
xor rax, r14
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x60], rax
mov rax, qword [rbx + 0x68]
xor rax, qword [r13 + 0x68]
xor rax, rsi
mov qword [rbp - 0x80], r10
mov rsi, qword [rsp + 0x30]
mov qword [rbp - 0x58], rax
mov rax, qword [rbx + 0x70]
xor rax, qword [r13 + 0x70]
xor rax, rdi
shr rdx, 0x20
mov rdi, qword [rsp + 0x20]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + 0x78]
xor rax, qword [r13 + 0x78]
xor rax, r9
shr rcx, 0x20
mov qword [rbp - 0x48], rax
mov r9, r10
movabs rax, 0x7ff000007ff0
and r9, rax
mov eax, r10d
imul rdx, rax
mov r8d, r9d
movabs r10, 0x7ff000007ff0
shr r9, 0x20
mov eax, r11d
imul rcx, rax
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x80], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x78], rcx
mov qword [rdi + r15], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + rdi + 8], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
and r9, r10
shr rdx, 0x20
mov r8d, r9d
mov eax, eax
imul rdx, rax
shr r9, 0x20
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rdx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x68], rcx
mov qword [r15 + rsi], rdx
mov rax, qword [rbp - 0x68]
mov qword [r15 + rsi + 8], rax
mov rax, qword [rbp - 0x60]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x58]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x60], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x58], rcx
mov qword [rdi + r15 + 0x10], rdx
mov rax, qword [rbp - 0x58]
mov qword [r15 + rdi + 0x18], rax
mov rax, qword [rbp - 0x50]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x48]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x50], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x48], rcx
mov qword [r15 + rsi + 0x10], rdx
mov rax, qword [rbp - 0x48]
mov qword [r15 + rsi + 0x18], rax
mov rax, qword [rbp - 0x80]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x80], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x78], rcx
mov qword [rdi + r15 + 0x20], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + rdi + 0x28], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x68], rcx
mov qword [r15 + rsi + 0x20], rdx
mov rax, qword [rbp - 0x68]
mov qword [r15 + rsi + 0x28], rax
mov rax, qword [rbp - 0x60]
mov rcx, rax
mov r8, rax
shr rcx, 0x20
and r8, r10
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x58]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + rdi]
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x60], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x50]
add rcx, qword [rdx + rdi + 8]
xor rcx, qword [r8 + rsi + 8]
mov r8, rax
mov qword [rbp - 0x58], rcx
and r8, r10
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x48]
add rcx, qword [rdx + rdi]
shr r8, 0x20
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x50], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x80]
add rcx, qword [rdx + rdi + 8]
mov r9, rax
xor rcx, qword [r8 + rsi + 8]
mov rdx, rax
mov qword [rbp - 0x48], rcx
and r9, r10
shr rdx, 0x20
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
shr rcx, 0x20
mov eax, eax
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x80], rdx
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
lea r14, [r15 + 0x40]
xor rcx, qword [r9 + rsi + 8]
and r14, r10
mov qword [rbp - 0x78], rcx
xor r11d, r11d
mov qword [rdi + r15 + 0x30], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + rdi + 0x38], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov qword [rsp + 0x58], rdi
mov r9, rax
shr rdx, 0x20
mov eax, eax
and r9, r10
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
mov eax, eax
shr rcx, 0x20
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x68], rcx
mov qword [r15 + rsi + 0x30], rdx
mov rax, qword [rbp - 0x68]
mov qword [r15 + rsi + 0x38], rax
mov rax, qword [rbp - 0x60]
mov r15, qword [rsp + 0x28]
mov r8, rax
shr r8, 0x20
mov rdx, rax
mov eax, eax
and rdx, r10
imul r8, rax
mov rax, qword [rbp - 0x58]
mov ecx, edx
shr rdx, 0x20
add r8, qword [rcx + rdi]
xor r8, qword [rdx + rsi]
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x60], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x50]
add r8, qword [rcx + rdi + 8]
xor r8, qword [rdx + rsi + 8]
mov rdx, rax
mov qword [rsp + 0x20], r8
and rdx, r10
mov qword [rbp - 0x58], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x48]
mov ecx, edx
shr rdx, 0x20
add r8, qword [rcx + rdi]
xor r8, qword [rdx + rsi]
mov qword [rsp + 0x48], r8
mov qword [rbp - 0x50], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
add r8, qword [rcx + rdi + 8]
xor r8, qword [rdx + rsi + 8]
mov qword [rsp + 0x50], r8
mov qword [rbp - 0x48], r8
cmp qword [rsp + 0x60], r11
jbe 0x1401951fb
nop dword [rax]
mov r10, qword [rsp + 0x38]
lea rax, [r11*8]
mov rcx, qword [rbp - 0x80]
add r11, 2
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov qword [r10 + rax*8 + 0x40], rcx
mov qword [r10 + rax*8 + 0x48], rdx
mov r9, qword [rbp - 0x68]
mov qword [r10 + rax*8 + 0x50], r8
mov qword [r10 + rax*8 + 0x58], r9
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x20]
mov qword [r10 + rax*8 + 0x60], rsi
mov qword [r10 + rax*8 + 0x68], r12
mov r12, qword [rsp + 0x48]
mov qword [r10 + rax*8 + 0x70], r12
mov r12, qword [rsp + 0x50]
mov qword [r10 + rax*8 + 0x78], r12
lea r12, [r11*8]
mov rax, qword [rbx + r12*8 + 0x10]
xor rax, qword [r13 + r12*8 + 0x10]
mov r10, qword [rbx + r12*8]
xor r8, rax
xor r10, qword [r13 + r12*8]
mov rax, qword [rbx + r12*8 + 0x18]
xor r10, rcx
xor rax, qword [r13 + r12*8 + 0x18]
mov rcx, qword [rsp + 0x20]
xor r9, rax
mov rax, qword [rbx + r12*8 + 0x20]
xor rax, qword [r13 + r12*8 + 0x20]
xor rsi, rax
mov qword [rbp - 0x68], r9
mov rax, qword [rbx + r12*8 + 0x28]
mov r9, r10
xor rax, qword [r13 + r12*8 + 0x28]
xor rcx, rax
mov qword [rbp - 0x70], r8
mov rax, qword [r13 + r12*8 + 0x30]
xor rax, qword [rbx + r12*8 + 0x30]
mov qword [rbp - 0x58], rcx
mov rcx, qword [rsp + 0x48]
xor rcx, rax
mov qword [rbp - 0x80], r10
mov rax, qword [r13 + r12*8 + 0x38]
xor rax, qword [rbx + r12*8 + 0x38]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rsp + 0x50]
xor rcx, rax
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x48], rcx
movabs rax, 0x7ff000007ff0
and r9, rax
mov qword [rsp + 0x68], r11
mov r11, qword [rbx + r12*8 + 8]
xor r11, qword [r13 + r12*8 + 8]
xor r11, rdx
mov r8d, r9d
shr r9, 0x20
mov rdx, r10
shr rdx, 0x20
mov rcx, r11
shr rcx, 0x20
mov eax, r10d
movabs r10, 0x7ff000007ff0
imul rdx, rax
mov eax, r11d
add rdx, qword [r8 + r15]
xor rdx, qword [r9 + rdi]
imul rcx, rax
mov qword [rbp - 0x80], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x78], rcx
mov qword [r15 + r14], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + r14 + 8], rax
mov rax, qword [rbp - 0x70]
mov r9, rax
and r9, r10
mov rdx, rax
mov r8d, r9d
shr rdx, 0x20
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x68]
add rdx, qword [r8 + r15]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
shr r9, 0x20
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x68], rcx
mov qword [rdi + r14], rdx
mov rax, qword [rbp - 0x68]
mov qword [rdi + r14 + 8], rax
mov rax, qword [rbp - 0x60]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x58]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + r15]
shr r9, 0x20
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x60], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x58], rcx
mov qword [r15 + r14 + 0x10], rdx
mov rax, qword [rbp - 0x58]
mov qword [r15 + r14 + 0x18], rax
mov rax, qword [rbp - 0x50]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x48]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
shr rcx, 0x20
mov eax, eax
add rdx, qword [r8 + r15]
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x50], rdx
imul rcx, rax
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x48], rcx
mov qword [rdi + r14 + 0x10], rdx
mov rax, qword [rbp - 0x48]
mov qword [rdi + r14 + 0x18], rax
mov rax, qword [rbp - 0x80]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
add rdx, qword [r8 + r15]
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x80], rdx
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x78], rcx
mov qword [r15 + r14 + 0x20], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + r14 + 0x28], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + r15]
shr r9, 0x20
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x68], rcx
mov qword [rdi + r14 + 0x20], rdx
mov rax, qword [rbp - 0x68]
mov qword [rdi + r14 + 0x28], rax
add r14, 0x30
mov rax, qword [rbp - 0x60]
mov rcx, rax
mov qword [rsp + 0x40], r14
shr rcx, 0x20
mov r8, rax
mov eax, eax
and r8, r10
imul rcx, rax
mov rax, qword [rbp - 0x58]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + r15]
xor rcx, qword [r8 + rdi]
mov qword [rbp - 0x60], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x50]
add rcx, qword [rdx + r15 + 8]
xor rcx, qword [r8 + rdi + 8]
mov r8, rax
mov qword [rbp - 0x58], rcx
and r8, r10
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x48]
add rcx, qword [rdx + r15]
shr r8, 0x20
xor rcx, qword [r8 + rdi]
mov qword [rbp - 0x50], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x80]
add rcx, qword [rdx + r15 + 8]
mov r9, rax
xor rcx, qword [r8 + rdi + 8]
and r9, r10
mov rdx, rax
mov r8d, r9d
shr r9, 0x20
shr rdx, 0x20
mov qword [rbp - 0x48], rcx
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
add rdx, qword [r8 + r15]
mov rcx, rax
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x80], rdx
mov eax, eax
shr rcx, 0x20
imul rcx, rax
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x78], rcx
mov qword [r15 + r14], rdx
mov rax, qword [rbp - 0x78]
mov qword [r15 + r14 + 8], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
mov eax, eax
shr r9, 0x20
shr rcx, 0x20
add rdx, qword [r8 + r15]
imul rcx, rax
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x68], rcx
mov qword [rdi + r14], rdx
mov rax, qword [rbp - 0x68]
mov qword [rdi + r14 + 8], rax
mov rax, qword [rbp - 0x60]
mov r14, rax
mov rdx, rax
mov eax, eax
and rdx, r10
mov ecx, edx
shr rdx, 0x20
shr r14, 0x20
imul r14, rax
mov rax, qword [rbp - 0x58]
add r14, qword [rcx + r15]
mov rsi, rax
xor r14, qword [rdx + rdi]
mov qword [rbp - 0x60], r14
mov eax, eax
shr rsi, 0x20
imul rsi, rax
mov rax, qword [rbp - 0x50]
add rsi, qword [rcx + r15 + 8]
xor rsi, qword [rdx + rdi + 8]
mov rdx, rax
and rdx, r10
mov qword [rbp - 0x58], rsi
mov ecx, edx
shr rdx, 0x20
add rdx, rdi
mov rdi, rax
shr rdi, 0x20
mov eax, eax
imul rdi, rax
mov rax, qword [rbp - 0x48]
add rdi, qword [rcx + r15]
mov r9, rax
xor rdi, qword [rdx]
shr r9, 0x20
mov qword [rbp - 0x50], rdi
mov eax, eax
imul r9, rax
add r9, qword [rcx + r15 + 8]
mov r15, qword [rsp + 0x40]
xor r9, qword [rdx + 8]
add r15, 0x10
and r15, r10
mov r10, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x68]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x80]
mov qword [r10 + r12*8], rax
mov qword [r10 + r12*8 + 8], rcx
mov qword [r10 + r12*8 + 0x10], rdx
mov qword [r10 + r12*8 + 0x18], r8
mov qword [r10 + r12*8 + 0x20], r14
mov qword [r10 + r12*8 + 0x28], rsi
mov qword [r10 + r12*8 + 0x30], rdi
mov qword [r10 + r12*8 + 0x38], r9
mov r10, qword [rbx + r12*8 + 0x40]
xor r10, qword [r13 + r12*8 + 0x40]
mov r11, qword [rbx + r12*8 + 0x48]
xor r10, rax
mov rax, qword [rbx + r12*8 + 0x50]
xor rax, qword [r13 + r12*8 + 0x50]
xor r11, qword [r13 + r12*8 + 0x48]
xor rdx, rax
mov rax, qword [rbx + r12*8 + 0x58]
xor r11, rcx
xor rax, qword [r13 + r12*8 + 0x58]
mov rcx, r11
xor r8, rax
mov qword [rbp - 0x70], rdx
mov rax, qword [rbx + r12*8 + 0x60]
mov rdx, r10
xor rax, qword [r13 + r12*8 + 0x60]
xor r14, rax
mov qword [rbp - 0x68], r8
mov rax, qword [rbx + r12*8 + 0x68]
xor rax, qword [r13 + r12*8 + 0x68]
xor rsi, rax
mov qword [rbp - 0x80], r10
mov rax, qword [rbx + r12*8 + 0x70]
xor rax, qword [r13 + r12*8 + 0x70]
xor rax, rdi
mov qword [rbp - 0x58], rsi
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + r12*8 + 0x78]
xor rax, qword [r13 + r12*8 + 0x78]
movabs r12, 0x7ff000007ff0
xor rax, r9
shr rdx, 0x20
mov qword [rbp - 0x48], rax
mov r9, r10
and r9, r12
mov qword [rbp - 0x60], r14
mov r8d, r9d
shr r9, 0x20
shr rcx, 0x20
mov eax, r10d
imul rdx, rax
mov eax, r11d
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x80], rdx
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x78], rcx
mov qword [rdi + r15], rdx
mov rax, qword [rbp - 0x78]
mov qword [rdi + r15 + 8], rax
mov rax, qword [rbp - 0x70]
mov r9, rax
mov rdx, rax
and r9, r12
shr rdx, 0x20
mov r8d, r9d
shr r9, 0x20
mov eax, eax
imul rdx, rax
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rdx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x68], rcx
mov qword [rsi + r15], rdx
mov rax, qword [rbp - 0x68]
mov qword [rsi + r15 + 8], rax
mov rax, qword [rbp - 0x60]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r12
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x58]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x60], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x58], rcx
mov qword [rdi + r15 + 0x10], rdx
mov rax, qword [rbp - 0x58]
mov qword [rdi + r15 + 0x18], rax
mov rax, qword [rbp - 0x50]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r12
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x48]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x50], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x48], rcx
mov qword [rsi + r15 + 0x10], rdx
mov rax, qword [rbp - 0x48]
mov qword [rsi + r15 + 0x18], rax
mov rax, qword [rbp - 0x80]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r12
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
mov r8d, r9d
mov rcx, rax
shr rcx, 0x20
shr r9, 0x20
mov eax, eax
add rdx, qword [r8 + rdi]
imul rcx, rax
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x80], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x78], rcx
mov qword [rdi + r15 + 0x20], rdx
mov rax, qword [rbp - 0x78]
mov qword [rdi + r15 + 0x28], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r12
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x68], rcx
mov qword [rsi + r15 + 0x20], rdx
mov rax, qword [rbp - 0x68]
mov qword [rsi + r15 + 0x28], rax
mov rax, qword [rbp - 0x60]
mov rcx, rax
mov r8, rax
shr rcx, 0x20
and r8, r12
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x58]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + rdi]
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x60], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x50]
add rcx, qword [rdx + rdi + 8]
xor rcx, qword [r8 + rsi + 8]
mov r8, rax
mov qword [rbp - 0x58], rcx
and r8, r12
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x48]
add rcx, qword [rdx + rdi]
shr r8, 0x20
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x50], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x80]
add rcx, qword [rdx + rdi + 8]
mov r9, rax
xor rcx, qword [r8 + rsi + 8]
mov rdx, rax
shr rdx, 0x20
and r9, r12
mov qword [rbp - 0x48], rcx
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x78]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
mov eax, eax
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x80], rdx
shr rcx, 0x20
mov r11, qword [rsp + 0x68]
lea r14, [r15 + 0x40]
imul rcx, rax
and r14, r12
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x78], rcx
mov qword [rdi + r15 + 0x30], rdx
mov rax, qword [rbp - 0x78]
mov qword [rdi + r15 + 0x38], rax
mov rax, qword [rbp - 0x70]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r12
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x68]
mov rcx, rax
mov r8d, r9d
mov eax, eax
shr rcx, 0x20
imul rcx, rax
add rdx, qword [r8 + rdi]
shr r9, 0x20
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x70], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x68], rcx
mov qword [rsi + r15 + 0x30], rdx
mov rax, qword [rbp - 0x68]
mov qword [rsi + r15 + 0x38], rax
mov rax, qword [rbp - 0x60]
mov r15, qword [rsp + 0x58]
mov r8, rax
shr r8, 0x20
mov rdx, rax
mov eax, eax
and rdx, r12
imul r8, rax
mov rax, qword [rbp - 0x58]
mov ecx, edx
shr rdx, 0x20
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x58], rdi
add r8, qword [rcx + rdi]
xor r8, qword [rdx + rsi]
mov qword [rsp + 0x40], r8
mov qword [rbp - 0x60], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x50]
add r8, qword [rcx + rdi + 8]
xor r8, qword [rdx + rsi + 8]
mov rdx, rax
mov qword [rsp + 0x20], r8
and rdx, r12
mov qword [rbp - 0x58], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x48]
mov ecx, edx
shr rdx, 0x20
add r8, qword [rcx + rdi]
xor r8, qword [rdx + rsi]
mov qword [rsp + 0x48], r8
mov qword [rbp - 0x50], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
add r8, qword [rcx + rdi + 8]
xor r8, qword [rdx + rsi + 8]
cmp r11, qword [rsp + 0x60]
mov qword [rsp + 0x50], r8
mov qword [rbp - 0x48], r8
jb 0x140194810
mov r12, qword [rsp + 0x70]
lea rdx, [r11 + 1]
mov qword [r12], r15
shl rdx, 6
lea rcx, [rbp - 0x80]
add rdx, qword [rsp + 0x38]
mov r8d, 1
mov qword [r12 + 8], rdi
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], r14
call fcn.14018c5f0
mov eax, dword [rbp - 0x80]
mov r15, qword [rsp + 0x158]
mov r14, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x140]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.140367840
add rsp, 0x110
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret