Function at 0x140100390
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0x2f]
sub rsp, 0x100
mov rax, qword [0x140396618]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r12, qword [rbp + 0x7f]
mov rdi, r8
mov qword [rsp + 0x40], r8
mov r13, rdx
mov qword [rbp - 0x69], r12
mov rbx, rcx
test r12, r12
jne 0x14010051a
mov rax, qword [rdx + 0x40]
lea r8d, [r12 + 1]
xor rax, qword [rcx]
xor rax, qword [rdx]
xor rax, qword [rcx + 0x40]
mov qword [rbp - 0x21], rax
mov rax, qword [rcx + 8]
xor rax, qword [rdx + 8]
xor rax, qword [rcx + 0x48]
xor rax, qword [rdx + 0x48]
mov qword [rbp - 0x19], rax
mov rax, qword [rcx + 0x10]
xor rax, qword [rdx + 0x10]
xor rax, qword [rdx + 0x50]
xor rax, qword [rcx + 0x50]
mov qword [rbp - 0x11], rax
mov rax, qword [rcx + 0x18]
xor rax, qword [rdx + 0x18]
xor rax, qword [rcx + 0x58]
xor rax, qword [rdx + 0x58]
mov qword [rbp - 9], rax
mov rax, qword [rcx + 0x20]
xor rax, qword [rdx + 0x20]
xor rax, qword [rdx + 0x60]
xor rax, qword [rcx + 0x60]
mov qword [rbp - 1], rax
mov rax, qword [rcx + 0x28]
xor rax, qword [rdx + 0x28]
xor rax, qword [rcx + 0x68]
xor rax, qword [rdx + 0x68]
mov qword [rbp + 7], rax
mov rax, qword [rcx + 0x30]
xor rax, qword [rdx + 0x30]
xor rax, qword [rdx + 0x70]
xor rax, qword [rcx + 0x70]
mov qword [rbp + 0xf], rax
mov rax, qword [rcx + 0x38]
xor rax, qword [rdx + 0x38]
xor rax, qword [rcx + 0x78]
lea rcx, [rbp - 0x21]
xor rax, qword [rdx + 0x78]
mov rdx, rdi
mov qword [rbp + 0x17], rax
call fcn.1400f8e20
mov rax, qword [rbp - 0x21]
lea rdx, [rdi + 0x40]
xor rax, qword [r13 + 0x40]
lea r8d, [r12 + 1]
xor rax, qword [rbx + 0x40]
lea rcx, [rbp - 0x21]
mov qword [rbp - 0x21], rax
mov rax, qword [rbp - 0x19]
xor rax, qword [rbx + 0x48]
xor rax, qword [r13 + 0x48]
mov qword [rbp - 0x19], rax
mov rax, qword [rbp - 0x11]
xor rax, qword [r13 + 0x50]
xor rax, qword [rbx + 0x50]
mov qword [rbp - 0x11], rax
mov rax, qword [rbp - 9]
xor rax, qword [rbx + 0x58]
xor rax, qword [r13 + 0x58]
mov qword [rbp - 9], rax
mov rax, qword [rbp - 1]
xor rax, qword [r13 + 0x60]
xor rax, qword [rbx + 0x60]
mov qword [rbp - 1], rax
mov rax, qword [rbp + 7]
xor rax, qword [rbx + 0x68]
xor rax, qword [r13 + 0x68]
mov qword [rbp + 7], rax
mov rax, qword [rbp + 0xf]
xor rax, qword [r13 + 0x70]
xor rax, qword [rbx + 0x70]
mov qword [rbp + 0xf], rax
mov rax, qword [rbp + 0x17]
xor rax, qword [rbx + 0x78]
xor rax, qword [r13 + 0x78]
mov qword [rbp + 0x17], rax
call fcn.1400f8e20
mov eax, dword [rbp - 0x21]
jmp 0x140101924
mov rax, qword [r12]
lea rcx, [r9 + r9]
mov qword [rsp + 0x30], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x20], rax
lea rax, [rcx*8]
lea rdx, [rax*8 - 0x30]
mov qword [rsp + 0x130], rsi
mov rsi, qword [rbx + rax*8 - 0x38]
lea r8, [rax*8 - 0x28]
xor rsi, qword [r13 + rax*8 - 0x38]
lea r9, [rax*8 - 0x20]
xor rsi, qword [rbx + 8]
lea r10, [rax*8 - 0x18]
xor rsi, qword [r13 + 8]
lea r11, [rax*8 - 0x10]
lea rdi, [rax*8 - 8]
mov qword [rbp - 0x59], rsi
add rcx, 0xfffffffffffffffe
mov qword [rsp + 0x138], r14
mov r14, qword [r12 + 8]
mov qword [rbp - 0x79], rcx
mov rcx, qword [rbx + rax*8 - 0x40]
xor rcx, qword [r13 + rax*8 - 0x40]
mov rax, qword [rdx + rbx]
xor rax, qword [rdx + r13]
xor rax, qword [rbx + 0x10]
xor rax, qword [r13 + 0x10]
xor rcx, qword [rbx]
xor rcx, qword [r13]
mov qword [rbp - 0x51], rax
mov rdx, rcx
mov rax, qword [r8 + rbx]
xor rax, qword [r8 + r13]
xor rax, qword [rbx + 0x18]
xor rax, qword [r13 + 0x18]
mov qword [rbp - 0x49], rax
mov rax, qword [r9 + rbx]
xor rax, qword [r9 + r13]
mov r9, rcx
xor rax, qword [rbx + 0x20]
xor rax, qword [r13 + 0x20]
mov qword [rbp - 0x41], rax
mov rax, qword [r10 + rbx]
xor rax, qword [r10 + r13]
xor rax, qword [rbx + 0x28]
xor rax, qword [r13 + 0x28]
mov r10, qword [rsp + 0x30]
mov qword [rbp - 0x39], rax
mov rax, qword [r11 + rbx]
xor rax, qword [r11 + r13]
movabs r11, 0x7ff000007ff0
xor rax, qword [rbx + 0x30]
and r9, r11
xor rax, qword [r13 + 0x30]
mov qword [rbp - 0x31], rax
mov rax, qword [rdi + rbx]
xor rax, qword [rdi + r13]
xor rax, qword [rbx + 0x38]
xor rax, qword [r13 + 0x38]
mov qword [rbp - 0x61], rcx
mov qword [rbp - 0x29], rax
mov eax, ecx
mov rcx, rsi
shr rdx, 0x20
imul rdx, rax
shr rcx, 0x20
mov r8d, r9d
shr r9, 0x20
mov eax, esi
imul rcx, rax
add rdx, qword [r8 + r10]
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x61], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rsp + 0x148], r15
mov r15, qword [r12 + 0x18]
mov qword [rbp - 0x59], rcx
mov qword [rsp + 0x28], r14
mov qword [r15 + r10], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + r10 + 8], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x49], rcx
mov qword [r15 + r14], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + r14 + 8], rax
mov rax, qword [rbp - 0x41]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x39]
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 - 0x41], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x39], rcx
mov qword [r15 + r10 + 0x10], rdx
mov rax, qword [rbp - 0x39]
mov qword [r15 + r10 + 0x18], rax
mov rax, qword [rbp - 0x31]
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 - 0x29]
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 - 0x31], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x29], rcx
mov qword [r15 + r14 + 0x10], rdx
mov rax, qword [rbp - 0x29]
mov qword [r15 + r14 + 0x18], rax
mov rax, qword [rbp - 0x61]
mov rdx, rax
mov r9, rax
and r9, r11
shr rdx, 0x20
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 - 0x59]
mov qword [rbp - 0x61], 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 - 0x59], rcx
mov qword [r15 + r10 + 0x20], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + r10 + 0x28], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r11
mov r8d, r9d
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
add rdx, qword [r8 + r10]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
shr r9, 0x20
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x51], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x49], rcx
mov qword [r15 + r14 + 0x20], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + r14 + 0x28], rax
mov rax, qword [rbp - 0x41]
mov rcx, rax
mov r8, rax
shr rcx, 0x20
and r8, r11
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x39]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + r10]
xor rcx, qword [r8 + r14]
mov qword [rbp - 0x41], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x31]
add rcx, qword [rdx + r10 + 8]
xor rcx, qword [r8 + r14 + 8]
mov r8, rax
mov qword [rbp - 0x39], rcx
and r8, r11
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x29]
add rcx, qword [rdx + r10]
shr r8, 0x20
xor rcx, qword [r8 + r14]
mov qword [rbp - 0x31], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x61]
add rcx, qword [rdx + r10 + 8]
mov r9, rax
xor rcx, qword [r8 + r14 + 8]
and r9, r11
mov r8d, r9d
mov qword [rbp - 0x29], rcx
shr r9, 0x20
mov rdx, rax
mov eax, eax
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x59]
add rdx, qword [r8 + r10]
mov rcx, rax
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x61], 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 - 0x59], rcx
mov qword [r15 + r10 + 0x30], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + r10 + 0x38], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r11
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x49]
mov rcx, rax
mov r8d, r9d
mov eax, eax
shr rcx, 0x20
imul rcx, rax
add rdx, qword [r8 + r10]
shr r9, 0x20
xor rdx, qword [r9 + r14]
mov qword [rbp - 0x51], rdx
add rcx, qword [r8 + r10 + 8]
xor rcx, qword [r9 + r14 + 8]
mov qword [rbp - 0x49], rcx
mov qword [r15 + r14 + 0x30], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + r14 + 0x38], rax
mov rax, qword [rbp - 0x41]
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 - 0x39]
add r14, qword [rcx + r10]
mov rsi, rax
xor r14, qword [rdx]
mov eax, eax
mov qword [rbp - 0x41], r14
shr rsi, 0x20
imul rsi, rax
mov rax, qword [rbp - 0x31]
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 eax, eax
imul rdi, rax
mov rax, qword [rbp - 0x29]
mov qword [rbp - 0x39], rsi
mov r9, rax
add rdi, qword [rcx + r10]
shr r9, 0x20
shr rdx, 0x20
add rdx, qword [rsp + 0x28]
mov eax, eax
imul r9, rax
xor rdi, qword [rdx]
mov qword [rbp - 0x31], rdi
add r9, qword [rcx + r10 + 8]
xor r9, qword [rdx + 8]
add r15, 0x40
mov r10, qword [rsp + 0x40]
and r15, r11
mov rax, qword [rbp - 0x61]
mov rcx, qword [rbp - 0x59]
mov rdx, qword [rbp - 0x51]
mov qword [r10], rax
mov r8, qword [rbp - 0x49]
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 - 0x51], rdx
mov rax, qword [rbx + 0x60]
mov rdx, r10
xor rax, qword [r13 + 0x60]
xor rax, r14
mov qword [rbp - 0x49], r8
mov qword [rbp - 0x41], rax
mov rax, qword [rbx + 0x68]
xor rax, qword [r13 + 0x68]
xor rax, rsi
mov qword [rbp - 0x61], r10
mov rsi, qword [rsp + 0x30]
mov qword [rbp - 0x39], rax
mov rax, qword [rbx + 0x70]
xor rax, qword [r13 + 0x70]
xor rax, rdi
mov qword [rbp - 0x59], r11
mov rdi, qword [rsp + 0x20]
mov qword [rbp - 0x31], rax
mov rax, qword [rbx + 0x78]
xor rax, qword [r13 + 0x78]
xor rax, r9
shr rdx, 0x20
mov qword [rbp - 0x29], rax
mov r9, r10
shr rcx, 0x20
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 - 0x61], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x59], rcx
mov qword [rdi + r15], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + rdi + 8], rax
mov rax, qword [rbp - 0x51]
mov r9, rax
mov rdx, rax
and r9, r10
mov eax, eax
mov r8d, r9d
shr r9, 0x20
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
add rdx, qword [r8 + rdi]
mov rcx, rax
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x51], rdx
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x49], rcx
mov qword [r15 + rsi], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + rsi + 8], rax
mov rax, qword [rbp - 0x41]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x39]
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 - 0x41], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x39], rcx
mov qword [rdi + r15 + 0x10], rdx
mov rax, qword [rbp - 0x39]
mov qword [r15 + rdi + 0x18], rax
mov rax, qword [rbp - 0x31]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x29]
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 - 0x31], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x29], rcx
mov qword [r15 + rsi + 0x10], rdx
mov rax, qword [rbp - 0x29]
mov qword [r15 + rsi + 0x18], rax
mov rax, qword [rbp - 0x61]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x59]
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 - 0x61], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x59], rcx
mov qword [rdi + r15 + 0x20], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + rdi + 0x28], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x49], rcx
mov qword [r15 + rsi + 0x20], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + rsi + 0x28], rax
mov rax, qword [rbp - 0x41]
mov rcx, rax
mov r8, rax
shr rcx, 0x20
and r8, r10
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x39]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + rdi]
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x41], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x31]
add rcx, qword [rdx + rdi + 8]
xor rcx, qword [r8 + rsi + 8]
mov r8, rax
mov qword [rbp - 0x39], rcx
and r8, r10
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x29]
add rcx, qword [rdx + rdi]
shr r8, 0x20
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x31], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x61]
add rcx, qword [rdx + rdi + 8]
mov r9, rax
xor rcx, qword [r8 + rsi + 8]
mov rdx, rax
shr rdx, 0x20
and r9, r10
mov qword [rbp - 0x29], rcx
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x59]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x61], rdx
shr rcx, 0x20
mov eax, eax
xor r11d, r11d
imul rcx, rax
mov qword [rsp + 0x50], rdi
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x59], rcx
mov qword [rdi + r15 + 0x30], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + rdi + 0x38], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x49], rcx
mov qword [r15 + rsi + 0x30], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + rsi + 0x38], rax
mov rax, qword [rbp - 0x41]
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 - 0x39]
add r14, qword [rcx + rdi]
mov r8, rax
xor r14, qword [rdx + rsi]
shr r8, 0x20
mov qword [rbp - 0x41], r14
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x31]
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 - 0x39], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x29]
mov ecx, edx
shr rdx, 0x20
add r8, qword [rcx + rdi]
xor r8, qword [rdx + rsi]
mov qword [rsp + 0x48], r8
mov qword [rbp - 0x31], 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]
lea rsi, [r15 + 0x40]
mov r15, qword [rsp + 0x28]
and rsi, r10
mov qword [rsp + 0x38], r8
mov qword [rbp - 0x29], r8
cmp qword [rbp - 0x79], r11
jbe 0x1401018d5
nop word [rax + rax]
mov r10, qword [rsp + 0x40]
lea rax, [r11*8]
mov rcx, qword [rbp - 0x61]
add r11, 2
mov rdx, qword [rbp - 0x59]
mov r8, qword [rbp - 0x51]
mov qword [r10 + rax*8 + 0x40], rcx
mov qword [r10 + rax*8 + 0x48], rdx
mov r9, qword [rbp - 0x49]
mov qword [r10 + rax*8 + 0x50], r8
mov qword [r10 + rax*8 + 0x58], r9
mov r12, qword [rsp + 0x20]
mov qword [r10 + rax*8 + 0x60], r14
mov qword [r10 + rax*8 + 0x68], r12
mov r12, qword [rsp + 0x48]
mov qword [r10 + rax*8 + 0x70], r12
mov r12, qword [rsp + 0x38]
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 r14, rax
mov qword [rbp - 0x49], r9
mov rax, qword [rbx + r12*8 + 0x28]
mov r9, r10
xor rax, qword [r13 + r12*8 + 0x28]
xor rcx, rax
mov qword [rbp - 0x51], r8
mov rax, qword [rbx + r12*8 + 0x30]
xor rax, qword [r13 + r12*8 + 0x30]
mov qword [rbp - 0x39], rcx
mov rcx, qword [rsp + 0x48]
xor rcx, rax
mov qword [rbp - 0x61], r10
mov rax, qword [rbx + r12*8 + 0x38]
xor rax, qword [r13 + r12*8 + 0x38]
mov qword [rbp - 0x31], rcx
mov rcx, qword [rsp + 0x38]
xor rcx, rax
mov qword [rbp - 0x41], r14
mov qword [rbp - 0x29], rcx
movabs rax, 0x7ff000007ff0
and r9, rax
mov qword [rbp - 0x71], r11
mov r11, qword [rbx + r12*8 + 8]
xor r11, qword [r13 + r12*8 + 8]
xor r11, rdx
mov r8d, r9d
mov qword [rbp - 0x59], r11
mov rdx, r10
shr rdx, 0x20
mov rcx, r11
shr rcx, 0x20
shr r9, 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 - 0x61], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x59], rcx
mov qword [r15 + rsi], rdx
mov rax, qword [rbp - 0x59]
mov qword [rsi + r15 + 8], rax
mov rax, qword [rbp - 0x51]
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 - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x49], rcx
mov qword [rdi + rsi], rdx
mov rax, qword [rbp - 0x49]
mov qword [rsi + rdi + 8], rax
mov rax, qword [rbp - 0x41]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x39]
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 - 0x41], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x39], rcx
mov qword [r15 + rsi + 0x10], rdx
mov rax, qword [rbp - 0x39]
mov qword [rsi + r15 + 0x18], rax
mov rax, qword [rbp - 0x31]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x29]
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 - 0x31], rdx
imul rcx, rax
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x29], rcx
mov qword [rdi + rsi + 0x10], rdx
mov rax, qword [rbp - 0x29]
mov qword [rsi + rdi + 0x18], rax
mov rax, qword [rbp - 0x61]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r10
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x59]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
add rdx, qword [r8 + r15]
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x61], 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 - 0x59], rcx
mov qword [r15 + rsi + 0x20], rdx
mov rax, qword [rbp - 0x59]
mov qword [rsi + r15 + 0x28], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x49], rcx
mov qword [rdi + rsi + 0x20], rdx
mov rax, qword [rbp - 0x49]
mov qword [rsi + rdi + 0x28], rax
add rsi, 0x30
mov rax, qword [rbp - 0x41]
mov rcx, rax
mov qword [rsp + 0x38], rsi
shr rcx, 0x20
mov r8, rax
mov eax, eax
and r8, r10
imul rcx, rax
mov rax, qword [rbp - 0x39]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + r15]
xor rcx, qword [r8 + rdi]
mov qword [rbp - 0x41], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x31]
add rcx, qword [rdx + r15 + 8]
xor rcx, qword [r8 + rdi + 8]
mov r8, rax
mov qword [rbp - 0x39], rcx
and r8, r10
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x29]
add rcx, qword [rdx + r15]
shr r8, 0x20
xor rcx, qword [r8 + rdi]
mov qword [rbp - 0x31], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x61]
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 - 0x29], rcx
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x59]
add rdx, qword [r8 + r15]
mov rcx, rax
xor rdx, qword [r9 + rdi]
mov qword [rbp - 0x61], 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 - 0x59], rcx
mov qword [r15 + rsi], rdx
mov rax, qword [rbp - 0x59]
mov qword [rsi + r15 + 8], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r10
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + r15 + 8]
xor rcx, qword [r9 + rdi + 8]
mov qword [rbp - 0x49], rcx
mov qword [rdi + rsi], rdx
mov rax, qword [rbp - 0x49]
mov qword [rsi + rdi + 8], rax
mov rax, qword [rbp - 0x41]
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 - 0x39]
add r14, qword [rcx + r15]
mov rsi, rax
xor r14, qword [rdx + rdi]
mov qword [rbp - 0x41], r14
mov eax, eax
shr rsi, 0x20
imul rsi, rax
mov rax, qword [rbp - 0x31]
add rsi, qword [rcx + r15 + 8]
xor rsi, qword [rdx + rdi + 8]
mov rdx, rax
and rdx, r10
mov qword [rbp - 0x39], 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 - 0x29]
add rdi, qword [rcx + r15]
mov r9, rax
xor rdi, qword [rdx]
shr r9, 0x20
mov qword [rbp - 0x31], rdi
mov eax, eax
imul r9, rax
add r9, qword [rcx + r15 + 8]
mov r15, qword [rsp + 0x38]
xor r9, qword [rdx + 8]
add r15, 0x10
and r15, r10
mov r10, qword [rsp + 0x40]
mov rcx, qword [rbp - 0x59]
mov rdx, qword [rbp - 0x51]
mov r8, qword [rbp - 0x49]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x61]
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 - 0x51], rdx
mov rax, qword [rbx + r12*8 + 0x60]
mov rdx, r10
xor rax, qword [r13 + r12*8 + 0x60]
xor rax, r14
mov qword [rbp - 0x49], r8
mov qword [rbp - 0x41], rax
mov rax, qword [rbx + r12*8 + 0x68]
xor rax, qword [r13 + r12*8 + 0x68]
xor rax, rsi
mov qword [rbp - 0x61], r10
mov rsi, qword [rsp + 0x28]
mov qword [rbp - 0x39], rax
mov rax, qword [rbx + r12*8 + 0x70]
xor rax, qword [r13 + r12*8 + 0x70]
xor rax, rdi
mov qword [rbp - 0x59], r11
mov rdi, qword [rsp + 0x20]
mov qword [rbp - 0x31], 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 - 0x29], rax
mov r9, r10
and r9, r12
shr rcx, 0x20
mov r8d, r9d
shr r9, 0x20
mov eax, r10d
imul rdx, rax
mov eax, r11d
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
imul rcx, rax
mov qword [rbp - 0x61], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x59], rcx
mov qword [rdi + r15], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + rdi + 8], rax
mov rax, qword [rbp - 0x51]
mov r9, rax
mov rdx, rax
and r9, r12
mov eax, eax
mov r8d, r9d
shr r9, 0x20
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
add rdx, qword [r8 + rdi]
mov rcx, rax
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x51], rdx
shr rcx, 0x20
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x49], rcx
mov qword [rsi + r15], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + rsi + 8], rax
mov rax, qword [rbp - 0x41]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r12
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x39]
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 - 0x41], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x39], rcx
mov qword [rdi + r15 + 0x10], rdx
mov rax, qword [rbp - 0x39]
mov qword [r15 + rdi + 0x18], rax
mov rax, qword [rbp - 0x31]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r12
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x29]
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 - 0x31], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x29], rcx
mov qword [rsi + r15 + 0x10], rdx
mov rax, qword [rbp - 0x29]
mov qword [r15 + rsi + 0x18], rax
mov rax, qword [rbp - 0x61]
mov rdx, rax
mov r9, rax
shr rdx, 0x20
and r9, r12
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x59]
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 - 0x61], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x59], rcx
mov qword [rdi + r15 + 0x20], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + rdi + 0x28], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r12
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x49], rcx
mov qword [rsi + r15 + 0x20], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + rsi + 0x28], rax
mov rax, qword [rbp - 0x41]
mov rcx, rax
mov r8, rax
shr rcx, 0x20
and r8, r12
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x39]
mov edx, r8d
shr r8, 0x20
add rcx, qword [rdx + rdi]
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x41], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x31]
add rcx, qword [rdx + rdi + 8]
xor rcx, qword [r8 + rsi + 8]
mov r8, rax
mov qword [rbp - 0x39], rcx
and r8, r12
mov rcx, rax
mov edx, r8d
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x29]
add rcx, qword [rdx + rdi]
shr r8, 0x20
xor rcx, qword [r8 + rsi]
mov qword [rbp - 0x31], rcx
mov rcx, rax
shr rcx, 0x20
mov eax, eax
imul rcx, rax
mov rax, qword [rbp - 0x61]
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 - 0x29], rcx
mov eax, eax
imul rdx, rax
mov rax, qword [rbp - 0x59]
mov r8d, r9d
mov rcx, rax
shr r9, 0x20
add rdx, qword [r8 + rdi]
xor rdx, qword [r9 + rsi]
mov qword [rbp - 0x61], rdx
shr rcx, 0x20
mov r11, qword [rbp - 0x71]
mov eax, eax
imul rcx, rax
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x59], rcx
mov qword [rdi + r15 + 0x30], rdx
mov rax, qword [rbp - 0x59]
mov qword [r15 + rdi + 0x38], rax
mov rax, qword [rbp - 0x51]
mov rdx, rax
mov r9, rax
mov eax, eax
and r9, r12
shr rdx, 0x20
imul rdx, rax
mov rax, qword [rbp - 0x49]
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 - 0x51], rdx
add rcx, qword [r8 + rdi + 8]
xor rcx, qword [r9 + rsi + 8]
mov qword [rbp - 0x49], rcx
mov qword [rsi + r15 + 0x30], rdx
mov rax, qword [rbp - 0x49]
mov qword [r15 + rsi + 0x38], rax
mov rax, qword [rbp - 0x41]
mov r14, rax
mov rdx, rax
mov eax, eax
and rdx, r12
mov ecx, edx
shr rdx, 0x20
shr r14, 0x20
imul r14, rax
mov rax, qword [rbp - 0x39]
add r14, qword [rcx + rdi]
mov r8, rax
xor r14, qword [rdx + rsi]
shr r8, 0x20
mov qword [rbp - 0x41], r14
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x31]
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 - 0x39], r8
mov r8, rax
shr r8, 0x20
mov eax, eax
imul r8, rax
mov rax, qword [rbp - 0x29]
mov ecx, edx
shr rdx, 0x20
add r8, qword [rcx + rdi]
xor r8, qword [rdx + rsi]
mov qword [rsp + 0x48], r8
mov qword [rbp - 0x31], 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]
lea rsi, [r15 + 0x40]
mov r15, qword [rsp + 0x50]
and rsi, r12
cmp r11, qword [rbp - 0x79]
mov qword [rsp + 0x38], r8
mov qword [rbp - 0x29], r8
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x50], rdi
jb 0x140100ef0
mov r12, qword [rbp - 0x69]
mov rax, qword [rsp + 0x30]
lea rdx, [r11 + 1]
shl rdx, 6
lea rcx, [rbp - 0x61]
add rdx, qword [rsp + 0x40]
mov r8d, 1
mov qword [r12], r15
mov qword [r12 + 8], rdi
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], rsi
call fcn.1400f8e20
mov eax, dword [rbp - 0x61]
mov r15, qword [rsp + 0x148]
mov r14, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x130]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140283d00
add rsp, 0x100
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret