Function at 0x1402e1a68
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [rdx + 0x20]
mov rbx, rcx
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
mov r14, qword [rdx + 0x10]
mov r13, qword [rdx + 0x18]
mov qword [rbp - 0x18], rax
mov rax, qword [rdx + 0x28]
mov qword [rbp + 0x28], rax
mov rax, qword [rdx + 0x30]
mov qword [rbp + 0x10], rax
mov rax, qword [rdx + 0x38]
mov qword [rbp + 0x20], rax
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x10], rax
mov rax, qword [rdx + 0x48]
mov qword [rbp - 8], rax
mov rax, qword [rdx + 0x50]
mov qword [rbp - 0x20], rax
mov rax, qword [rdx + 0x58]
mov qword [rbp + 0x48], rax
mov rax, qword [rdx + 0x60]
mov qword [rbp + 0x18], rax
mov rax, qword [rdx + 0x68]
mov qword [rbp + 8], rax
mov rax, qword [rdx + 0x70]
mov qword [rbp - 0x28], rax
mov rax, qword [rdx + 0x78]
mov rdx, rcx
mov qword [rbp - 0x30], r8
mov r8d, 0x40
mov qword [rbp + 0x60], rcx
lea rcx, [rsp + 0x20]
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x50], r13
mov qword [rbp], rax
call fcn.140336c00
movaps xmm0, xmmword [0x14045aa70]
lea r8, [0x14045aa90]
movaps xmm1, xmmword [0x14045aa80]
sub rbx, r8
xor edx, edx
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
lea rax, [rdx + r8]
mov rcx, qword [rbx + rax + 0x40]
xor rcx, qword [rax]
mov qword [rbp + rdx - 0x80], rcx
add rdx, 8
cmp rdx, 0x10
jl 0x1402e1b4d
mov rcx, qword [rsp + 0x40]
movabs rax, 0x1f83d9abfb41bd6b
mov r11, qword [rbp - 0x30]
mov rdx, qword [rsp + 0x60]
xor r11, rax
mov r8, qword [rsp + 0x20]
lea rax, [rcx + rdi]
add r8, rax
mov r10, r8
mov rax, r8
xor rax, qword [rbp - 0x80]
xor r10, qword [rbp - 0x80]
shl rax, 0x20
shr r10, 0x20
or r10, rax
add rdx, r10
mov r9, rdx
mov rax, rdx
xor rax, rcx
xor r9, rcx
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [r9 + r8]
mov r8, qword [rsp + 0x28]
add r15, rsi
mov rcx, r15
mov rax, r15
xor rax, r10
xor rcx, r10
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x30], rcx
lea rax, [rdx + rcx]
mov rdx, qword [rsp + 0x68]
mov rcx, rax
mov qword [rsp + 0x60], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x40], rcx
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + r14]
add r8, rax
mov r10, r8
mov rax, r8
xor rax, qword [rbp - 0x78]
xor r10, qword [rbp - 0x78]
shl rax, 0x20
shr r10, 0x20
or r10, rax
add rdx, r10
mov r9, rdx
xor r9, rcx
xor rcx, rdx
shl rcx, 0x28
shr r9, 0x18
or r9, rcx
lea r12, [r9 + r8]
add r12, r13
mov rcx, r12
mov rax, r12
xor rax, r10
xor rcx, r10
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x38], rcx
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x50]
mov rsi, rax
mov qword [rsp + 0x68], rax
xor rax, r9
xor rsi, r9
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, qword [rbp - 0x18]
add rax, rcx
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x70]
add rdx, rax
mov r10, rdx
mov rax, rdx
xor rax, r11
xor r10, r11
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
mov r9, r8
mov rax, r8
xor rax, rcx
xor r9, rcx
shl rax, 0x28
shr r9, 0x18
or r9, rax
lea r13, [r9 + rdx]
movabs rdx, 0x137e217900000000
add r13, qword [rbp + 0x28]
mov rcx, r13
mov rax, r13
xor rax, r10
xor rcx, r10
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x60], rcx
lea r11, [r8 + rcx]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov rdi, r11
xor rdi, r9
mov rax, r11
xor rax, r9
shr rdi, 0x3f
add rax, rax
or rdi, rax
mov rax, qword [rbp + 0x10]
add rax, rcx
add r8, rax
mov r10, r8
mov rax, r8
shl rax, 0x20
xor rax, rdx
shr r10, 0x20
mov rdx, qword [rsp + 0x78]
xor r10, 0x5be0cd19
or r10, rax
add rdx, r10
mov r9, rdx
xor r9, rcx
xor rcx, rdx
shr rcx, 0x18
shl r9, 0x28
or r9, rcx
lea rcx, [r15 + rsi]
add rcx, qword [rbp - 0x10]
lea r14, [r9 + r8]
add r14, qword [rbp + 0x20]
mov r8, r14
mov rax, r14
xor rax, r10
xor r8, r10
shr rax, 0x10
shl r8, 0x30
or r8, rax
lea r10, [rdx + r8]
mov rbx, r10
mov rax, r10
xor rbx, r9
xor rax, r9
add rax, rax
shr rbx, 0x3f
or rbx, rax
mov r9, rcx
xor r9, r8
mov rax, rcx
shr r9, 0x20
xor rax, r8
shl rax, 0x20
or r9, rax
lea rdx, [r11 + r9]
mov r8, rdx
mov rax, rdx
xor rax, rsi
xor r8, rsi
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r15, [rcx + r8]
add r15, qword [rbp - 8]
mov rcx, r15
mov rax, r15
xor rax, r9
xor rcx, r9
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x50], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x70], rax
xor rax, r8
xor rcx, r8
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x58], rcx
lea rcx, [r12 + rdi]
add rcx, qword [rbp - 0x20]
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x30]
xor r8, qword [rbp - 0x30]
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp + 0x48]
mov rdi, r12
mov rax, r12
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [rdx + rdi]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rcx, r9
xor rax, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x30], rcx
mov rcx, qword [rbp + 0x18]
add rcx, r13
add rcx, rbx
mov r8, rcx
mov rax, rcx
xor r8, qword [rbp - 0x38]
xor rax, qword [rbp - 0x38]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, rbx
shl r9, 0x28
mov r11, qword [rbp - 0x40]
xor rax, rbx
shr rax, 0x18
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rbp + 8]
mov rbx, r13
mov rax, r13
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea r10, [rdx + rbx]
mov rdx, qword [rsp + 0x68]
mov rcx, r10
mov rax, r10
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp - 0x28]
add rcx, r14
add rcx, r11
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x60]
xor r8, qword [rbp - 0x60]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rbp]
mov rsi, r14
mov rax, r14
xor rax, r8
xor rsi, r8
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rdx + rsi]
mov r8, r11
mov rax, r11
xor rax, r9
xor r8, r9
add rax, rax
shr r8, 0x3f
or r8, rax
mov r9, rdi
lea rdx, [r15 + r8]
mov r15, qword [rbp - 0x20]
add rdx, qword [rbp - 0x28]
xor r9, rdx
xor rdi, rdx
shr r9, 0x20
shl rdi, 0x20
or r9, rdi
lea rcx, [r10 + r9]
mov r10, rcx
mov rax, rcx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
mov rax, r9
add r15, r10
add r15, rdx
xor rax, r15
shl rax, 0x30
xor r9, r15
shr r9, 0x10
mov r8, rbx
or rax, r9
mov qword [rbp - 0x60], rax
add rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, r10
xor rcx, rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rbp - 0x58]
mov qword [rbp - 0x40], rcx
lea rcx, [r12 + r10]
add rcx, qword [rbp - 0x18]
xor r8, rcx
xor rbx, rcx
shr r8, 0x20
shl rbx, 0x20
or r8, rbx
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor r9, r10
xor rax, r10
mov r10, qword [rbp - 0x38]
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov r11, r9
lea r12, [r9 + rcx]
add r12, qword [rbp - 0x10]
xor r8, r12
xor rax, r12
shr r8, 0x10
shl rax, 0x30
or rax, r8
mov qword [rbp - 0x58], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x68], rax
add r9, r9
mov rdx, rsi
xor r11, rax
mov rax, qword [rsp + 0x70]
shr r11, 0x3f
or r11, r9
mov r9, qword [rbp - 0x30]
mov r8, r9
lea rcx, [r9 + r13]
add rcx, qword [rbp - 8]
xor rdx, rcx
xor rsi, rcx
shl rsi, 0x20
shr rdx, 0x20
or rdx, rsi
mov rsi, qword [rbp]
add rax, rdx
xor r8, rax
xor r9, rax
shl r8, 0x28
shr r9, 0x18
or r8, r9
add rsi, r8
mov rbx, r8
add rsi, rcx
mov rcx, rdx
xor rcx, rsi
xor rdx, rsi
shl rcx, 0x30
shr rdx, 0x10
or rcx, rdx
mov qword [rbp - 0x30], rcx
lea r9, [rcx + rax]
xor rbx, r9
xor r8, r9
shr rbx, 0x3f
add r8, r8
or rbx, r8
mov rcx, qword [rbp - 0x50]
lea rax, [r14 + r10]
add rax, qword [rbp + 8]
mov rdx, rcx
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
mov r8, r10
shl rcx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x78]
add rcx, rdx
xor r8, rcx
xor r10, rcx
shl r8, 0x28
shr r10, 0x18
or r8, r10
mov rdi, r8
lea r14, [r8 + rax]
mov rax, rdx
add r14, qword [rbp + 0x10]
xor rax, r14
xor rdx, r14
shr rax, 0x10
shl rdx, 0x30
or rax, rdx
lea rdx, [r11 + r15]
add rdx, qword [rbp + 0x30]
mov r15, qword [rbp + 0x18]
lea r10, [rax + rcx]
xor r8, r10
xor rdi, r10
add r8, r8
shr rdi, 0x3f
or rdi, r8
mov r8, rax
xor rax, rdx
xor r8, rdx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rcx, [r8 + r9]
mov r9, rcx
mov rax, rcx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
add r15, r9
add r15, rdx
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rbx
add rcx, rax
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x70], rcx
mov rax, r9
xor rax, rcx
xor r9, rcx
mov rcx, qword [rbp - 0x60]
add r9, r9
shr rax, 0x3f
mov rdx, rcx
or rax, r9
mov qword [rbp - 0x50], rax
lea rax, [rbx + r12]
add rax, qword [rbp + 0x38]
xor rdx, rax
xor rcx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
lea rcx, [rdx + r10]
xor r8, rcx
shl r8, 0x28
xor rbx, rcx
shr rbx, 0x18
or r8, rbx
mov rbx, rdx
lea r13, [r8 + rax]
mov rax, r8
add r13, qword [rbp + 0x40]
xor rdx, r13
xor rbx, r13
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
add rcx, rbx
xor rax, rcx
mov qword [rsp + 0x78], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rbp - 0x58]
add r8, r8
or rax, r8
mov rdx, rcx
mov qword [rbp - 0x60], rax
mov r8, rdi
lea rax, [rdi + rsi]
add rax, qword [rbp + 0x48]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x60]
add rcx, rdx
xor r8, rcx
xor rdi, rcx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
mov rdi, rdx
lea r12, [r8 + rax]
mov rax, r8
add r12, qword [rbp + 0x20]
xor rdx, r12
xor rdi, r12
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea r10, [rdi + rcx]
mov rcx, qword [rbp - 0x30]
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov rdx, rcx
mov r8, qword [rbp - 0x40]
mov qword [rbp - 0x58], rax
mov r9, r8
lea rax, [r8 + r14]
add rax, qword [rbp + 0x28]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rdx
mov rsi, rdx
xor r9, rcx
xor r8, rcx
shr r8, 0x18
shl r9, 0x28
or r9, r8
add rax, r9
mov r8, r9
add rax, qword [rbp + 0x50]
xor rsi, rax
mov qword [rbp - 0x40], rax
xor rdx, rax
shl rsi, 0x30
shr rdx, 0x10
or rsi, rdx
lea r11, [rsi + rcx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rcx, [r8 + r15]
add rcx, qword [rbp + 0x48]
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
mov rax, r9
lea r14, [r10 + rcx]
mov rcx, r10
add r14, qword [rbp - 0x10]
xor rax, r14
xor r9, r14
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov r9, qword [rbp - 0x50]
mov qword [rbp - 0x30], rax
mov r8, r9
add rax, rdx
mov rdx, rdi
xor rcx, rax
mov qword [rsp + 0x60], rax
xor r10, rax
shr rcx, 0x3f
mov rax, qword [rbp + 0x18]
add r10, r10
add rax, r9
or rcx, r10
add rax, r13
mov qword [rbp - 0x48], rcx
xor rdx, rax
xor rdi, rax
shr rdx, 0x20
shl rdi, 0x20
or rdx, rdi
lea rcx, [r11 + rdx]
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
lea r15, [rax + r8]
add r15, qword [rbp + 0x38]
mov r9, r15
mov rax, r15
xor rax, rdx
xor r9, rdx
shr rax, 0x10
mov rdx, rsi
shl r9, 0x30
or r9, rax
mov qword [rbp - 0x50], r9
lea rax, [r9 + rcx]
mov r9, qword [rbp - 0x60]
mov rbx, rax
mov qword [rsp + 0x68], rax
xor rax, r8
xor rbx, r8
add rax, rax
shr rbx, 0x3f
or rbx, rax
lea rax, [r9 + r12]
add rax, qword [rbp + 0x28]
xor rdx, rax
shr rdx, 0x20
xor rsi, rax
mov rcx, qword [rsp + 0x70]
mov r8, r9
mov r13, qword [rbp + 8]
shl rsi, 0x20
or rdx, rsi
add rcx, rdx
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
lea r12, [rax + r8]
add r12, qword [rbp + 0x40]
mov r9, r12
mov rax, r12
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
mov qword [rbp - 0x60], r9
lea r10, [rcx + r9]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x38]
mov rdi, r10
xor rdi, r8
mov rdx, rcx
shr rdi, 0x3f
mov rax, r10
xor rax, r8
mov r8, r9
add rax, rax
or rdi, rax
mov rax, qword [rbp]
add rax, r9
add rax, qword [rbp - 0x40]
xor rcx, rax
xor rdx, rax
add r13, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x78]
add rcx, rdx
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
add r13, r8
mov r9, r13
mov rax, r13
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
lea r11, [rcx + r9]
mov rsi, r11
lea rcx, [r14 + rbx]
add rcx, qword [rbp - 0x20]
xor rsi, r8
shr rsi, 0x3f
mov rax, r11
xor rax, r8
mov r8, rcx
add rax, rax
xor r8, r9
or rsi, rax
shr r8, 0x20
mov rax, rcx
xor rax, r9
shl rax, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r9, rdx
mov rax, rdx
xor r9, rbx
xor rax, rbx
shl r9, 0x28
shr rax, 0x18
or r9, rax
mov r14, qword [rbp - 0x28]
add r14, rcx
add r14, r9
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x38], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x70], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rbp - 0x30]
mov r8, rax
mov qword [rbp - 0x58], rcx
lea rcx, [r15 + rdi]
add rcx, qword [rbp + 0x50]
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp + 0x10]
mov rbx, r15
mov rax, r15
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x40], rcx
lea rcx, [r12 + rsi]
add rcx, qword [rbp + 0x20]
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x50]
xor r8, qword [rbp - 0x50]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, rsi
xor rax, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp + 0x30]
mov rdi, r12
mov rax, r12
xor rdi, r8
shl rdi, 0x30
xor rax, r8
mov r11, qword [rbp - 0x48]
shr rax, 0x10
or rdi, rax
lea r10, [rdx + rdi]
mov rdx, qword [rsp + 0x68]
mov rcx, r10
mov rax, r10
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp - 8]
add rcx, r13
add rcx, r11
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x60]
xor r8, qword [rbp - 0x60]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rbp - 0x18]
mov rsi, r13
mov rax, r13
xor rax, r8
xor rsi, r8
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rdx + rsi]
mov r8, r11
mov rax, r11
xor rax, r9
xor r8, r9
add rax, rax
shr r8, 0x3f
or r8, rax
lea rcx, [r14 + r8]
add rcx, qword [rbp + 0x20]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 0x20
or r9, rax
lea rdx, [r10 + r9]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea rax, [rcx + r10]
add rax, qword [rbp - 8]
mov rcx, rax
mov qword [rbp - 0x48], rax
xor rcx, r9
xor rax, r9
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rbp - 0x60], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x60], rax
xor rcx, r10
shr rcx, 0x3f
xor rax, r10
mov r10, qword [rbp - 0x58]
add rax, rax
or rcx, rax
mov qword [rbp - 0x30], rcx
lea rcx, [r15 + r10]
add rcx, qword [rbp + 0x50]
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rbp - 0x40]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp + 0x30]
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x58], rcx
lea rax, [rcx + rdx]
mov rcx, qword [rbp + 8]
mov rdx, qword [rsp + 0x70]
mov rdi, rax
mov qword [rsp + 0x68], rax
add rcx, r12
xor rax, r9
add rcx, r10
add rax, rax
xor rdi, r9
mov r8, rcx
shr rdi, 0x3f
or rdi, rax
xor r8, rsi
mov rax, rcx
shr r8, 0x20
xor rax, rsi
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rbp - 0x50]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp + 0x18]
mov rcx, r12
mov rax, r12
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x40], rcx
lea r11, [rdx + rcx]
mov rsi, r11
lea rcx, [r10 + r13]
xor rsi, r9
mov rax, r11
xor rax, r9
shr rsi, 0x3f
add rax, rax
or rsi, rax
add rcx, qword [rbp + 0x48]
mov r8, rcx
xor r8, qword [rbp - 0x38]
mov rax, rcx
xor rax, qword [rbp - 0x38]
mov rdx, qword [rsp + 0x78]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [rcx + r9]
mov rcx, qword [rbp - 0x48]
add r13, qword [rbp - 0x28]
add rcx, rdi
add rcx, qword [rbp + 0x40]
mov r10, r13
xor r10, r8
mov rax, r13
xor rax, r8
shl r10, 0x30
shr rax, 0x10
mov r8, rcx
or r10, rax
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov r14, rbx
mov rax, rbx
xor rax, r9
xor r14, r9
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rax, [rcx + r9]
add rax, qword [rbp + 0x10]
mov rcx, rax
mov qword [rbp - 0x48], rax
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rbp - 0x38], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x70], rax
xor rcx, r9
xor rax, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x50], rcx
lea rcx, [r15 + rsi]
add rcx, qword [rbp + 0x28]
mov r8, rcx
mov rax, rcx
xor r8, qword [rbp - 0x60]
xor rax, qword [rbp - 0x60]
shr r8, 0x20
shl rax, 0x20
or r8, rax
lea rdx, [rbx + r8]
mov r9, rdx
xor r9, rsi
mov r11, qword [rbp - 0x30]
mov rax, rdx
xor rax, rsi
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp - 0x20]
mov rbx, r15
mov rax, r15
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x60], rcx
lea rcx, [r12 + r14]
add rcx, qword [rbp - 0x18]
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x58]
xor r8, qword [rbp - 0x58]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r14
xor r9, r14
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rbp + 0x38]
mov rdi, r14
mov rax, r14
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rdx + rdi]
mov rdx, qword [rsp + 0x68]
mov rcx, r10
mov rax, r10
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbp]
add rcx, r13
add rcx, r11
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x40]
xor r8, qword [rbp - 0x40]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x48]
mov rsi, r12
xor rsi, r8
mov rax, r12
xor rax, r8
shl rsi, 0x30
shr rax, 0x10
or rsi, rax
lea r11, [rdx + rsi]
mov r8, r11
mov rax, r11
xor rax, r9
xor r8, r9
add rax, rax
shr r8, 0x3f
or r8, rax
add rcx, r8
add rcx, qword [rbp - 8]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 0x20
or r9, rax
lea rdx, [r10 + r9]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea r13, [rcx + r10]
add r13, qword [rbp + 0x38]
mov rcx, r13
mov rax, r13
xor rax, r9
xor rcx, r9
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x48], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x60], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rbp - 0x50]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x40], rcx
lea rcx, [r15 + r10]
add rcx, qword [rbp + 0x28]
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp + 0x20]
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x50], rcx
lea rax, [rcx + rdx]
mov r10, qword [rbp - 0x60]
mov rbx, rax
mov rdx, qword [rsp + 0x70]
xor rbx, r9
mov qword [rsp + 0x68], rax
xor rax, r9
add rax, rax
shr rbx, 0x3f
or rbx, rax
lea rcx, [r14 + r10]
add rcx, qword [rbp + 0x40]
mov r8, rcx
mov rax, rcx
xor rax, rsi
xor r8, rsi
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rbp - 0x18]
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x60], rcx
lea r10, [rdx + rcx]
mov rdi, r10
mov rax, r10
xor rax, r9
xor rdi, r9
mov r9, qword [rbp - 0x58]
add rax, rax
mov r8, r9
shr rdi, 0x3f
or rdi, rax
lea rcx, [r12 + r9]
add rcx, qword [rbp - 0x20]
mov rdx, rcx
mov rax, rcx
xor rdx, qword [rbp - 0x38]
xor rax, qword [rbp - 0x38]
shr rdx, 0x20
shl rax, 0x20
or rdx, rax
mov rax, qword [rsp + 0x78]
add rax, rdx
xor r8, rax
xor r9, rax
shr r9, 0x18
shl r8, 0x28
or r8, r9
mov r9, rdx
mov rsi, r8
lea r12, [rcx + r8]
add r12, qword [rbp]
lea rcx, [rbx + r13]
add rcx, qword [rbp - 0x28]
xor r9, r12
xor rdx, r12
shl r9, 0x30
shr rdx, 0x10
or r9, rdx
lea r11, [r9 + rax]
xor rsi, r11
xor r8, r11
add r8, r8
shr rsi, 0x3f
or rsi, r8
mov r8, r9
xor r8, rcx
xor r9, rcx
shr r8, 0x20
shl r9, 0x20
or r8, r9
lea rdx, [r10 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r13, [r9 + rcx]
add r13, qword [rbp + 0x30]
xor rax, r13
xor r8, r13
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rbp - 0x38], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x70], rcx
xor r9, rcx
shr rax, 0x3f
mov rcx, qword [rbp - 0x48]
mov rdx, rdi
mov r8, rcx
add r9, r9
or rax, r9
mov qword [rbp - 0x58], rax
lea rax, [r15 + rdi]
add rax, qword [rbp + 0x48]
mov r15, qword [rbp + 0x18]
xor rcx, rax
xor r8, rax
shl rcx, 0x20
shr r8, 0x20
add r15, rax
or r8, rcx
mov rbx, r8
lea rcx, [r8 + r11]
xor rdx, rcx
xor rdi, rcx
shl rdx, 0x28
shr rdi, 0x18
or rdx, rdi
add r15, rdx
xor r8, r15
xor rbx, r15
shr r8, 0x10
shl rbx, 0x30
or rbx, r8
mov r8, rsi
lea rax, [rcx + rbx]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rcx, rdx
xor rax, rdx
shr rcx, 0x3f
add rax, rax
or rcx, rax
lea rax, [r14 + rsi]
add rax, qword [rbp + 0x10]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp - 0x50]
mov rdx, rcx
xor rcx, rax
shl rcx, 0x20
xor rdx, rax
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x60]
add rcx, rdx
xor r8, rcx
xor rsi, rcx
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
mov r9, qword [rbp - 0x40]
lea r14, [rax + r8]
add r14, qword [rbp - 0x10]
mov rdi, r14
mov rax, r14
xor rax, rdx
xor rdi, rdx
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rcx + rdi]
mov rcx, r10
mov rax, r10
xor rax, r8
xor rcx, r8
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov r8, r9
mov qword [rbp - 0x50], rcx
lea rax, [r9 + r12]
add rax, qword [rbp + 0x50]
mov rcx, qword [rbp - 0x60]
mov r12, qword [rbp + 8]
mov rdx, rcx
xor rcx, rax
xor rdx, rax
add r12, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
add r12, r8
mov rsi, r12
mov rax, r12
xor rax, rdx
xor rsi, rdx
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rcx + rsi]
mov r9, r11
mov rax, r11
xor rax, r8
xor r9, r8
add rax, rax
shr r9, 0x3f
or r9, rax
lea rcx, [r9 + r13]
mov r13, qword [rbp + 0x18]
add rcx, qword [rbp + 0x40]
mov r8, rcx
mov rax, rcx
xor rax, rbx
add r13, rcx
shl rax, 0x20
xor r8, rbx
shr r8, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r10, rdx
mov rax, rdx
xor rax, r9
xor r10, r9
shr rax, 0x18
shl r10, 0x28
or r10, rax
add r13, r10
mov rcx, r13
mov rax, r13
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
lea rax, [rcx + rdx]
mov qword [rbp - 0x60], rcx
mov rcx, rax
mov qword [rsp + 0x60], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rbp - 0x58]
add rax, rax
shr rcx, 0x3f
mov r9, r10
or rcx, rax
mov qword [rbp - 0x40], rcx
lea rcx, [r10 + r15]
add rcx, qword [rbp + 0x10]
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r11]
xor r9, rdx
xor r10, rdx
shl r9, 0x28
shr r10, 0x18
or r9, r10
mov r10, qword [rbp - 0x48]
lea r15, [rcx + r9]
add r15, qword [rbp - 0x20]
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x58], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x70]
mov rbx, rax
mov qword [rsp + 0x68], rax
xor rax, r9
lea rcx, [r14 + r10]
add rcx, qword [rbp + 0x38]
add rax, rax
xor rbx, r9
mov r8, rcx
xor r8, rsi
shr rbx, 0x3f
or rbx, rax
shr r8, 0x20
mov rax, rcx
xor rax, rsi
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rax, [rcx + r9]
add rax, qword [rbp + 0x48]
mov rcx, rax
mov qword [rbp - 0x48], rax
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x30], rcx
lea r10, [rdx + rcx]
mov rdi, r10
mov rax, r10
xor rdi, r9
xor rax, r9
shr rdi, 0x3f
add rax, rax
mov r11, qword [rbp - 0x50]
or rdi, rax
mov rax, qword [rbp - 0x38]
mov rdx, qword [rsp + 0x78]
mov r8, rax
lea rcx, [r12 + r11]
add rcx, qword [rbp - 0x10]
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rbp + 0x50]
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea r11, [rdx + rcx]
lea rdx, [rbx + r13]
mov rsi, r11
add rdx, qword [rbp - 0x18]
xor rsi, r9
mov r13, qword [rbp + 8]
mov r8, rdx
xor r8, rcx
shr rsi, 0x3f
shr r8, 0x20
mov rax, r11
xor rax, r9
add rax, rax
or rsi, rax
mov rax, rdx
xor rax, rcx
shl rax, 0x20
or r8, rax
lea rcx, [r8 + r10]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r13, r9
add r13, rdx
mov rdx, r13
mov rax, r13
xor rax, r8
xor rdx, r8
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rbp - 0x38], rdx
lea rax, [rdx + rcx]
mov rcx, rax
mov qword [rsp + 0x70], rax
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rbp - 0x50], rcx
lea rcx, [rdi + r15]
add rcx, qword [rbp + 0x20]
mov r8, rcx
mov rax, rcx
xor r8, qword [rbp - 0x60]
shr r8, 0x20
xor rax, qword [rbp - 0x60]
mov r12, qword [rbp - 0x28]
shl rax, 0x20
or r8, rax
lea rdx, [r8 + r11]
mov r11, qword [rbp - 0x40]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [r9 + rcx]
add r15, qword [rbp + 0x28]
mov rbx, r15
mov rax, r15
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rbx + rdx]
mov rdx, qword [rbp]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
add rdx, rsi
add rdx, qword [rbp - 0x48]
mov qword [rbp - 0x60], rcx
mov rax, rdx
xor rax, qword [rbp - 0x58]
mov r8, rdx
xor r8, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x60]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rcx, r8
mov r9, rcx
mov rax, rcx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r12, r9
add r12, rdx
mov rdx, qword [rsp + 0x68]
mov rdi, r12
mov rax, r12
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
mov rax, r9
lea r10, [rdi + rcx]
xor rax, r10
lea rcx, [r14 + r11]
add rcx, qword [rbp + 0x30]
xor r9, r10
shr rax, 0x3f
add r9, r9
or rax, r9
mov r8, rcx
xor r8, qword [rbp - 0x30]
mov qword [rbp - 0x48], rax
mov rax, rcx
xor rax, qword [rbp - 0x30]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
shl r9, 0x28
xor rax, r11
mov rsi, r8
shr rax, 0x18
or r9, rax
lea r14, [r9 + rcx]
mov rcx, qword [rbp + 0x18]
add r14, qword [rbp - 8]
xor r8, r14
xor rsi, r14
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rdx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
add rcx, r8
add rcx, r13
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 0x20
or r9, rax
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
mov rax, r9
lea r13, [r10 + rcx]
mov rcx, r10
add r13, qword [rbp + 0x28]
xor rax, r13
xor r9, r13
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rbp - 0x58], rax
add rax, rdx
xor rcx, rax
mov qword [rsp + 0x60], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rbp - 0x50]
mov qword [rbp - 0x40], rcx
lea rcx, [r15 + r10]
add rcx, qword [rbp + 0x30]
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r15, [r9 + rcx]
add r15, qword [rbp]
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rbp - 0x50], rax
mov r10, qword [rbp - 0x60]
add rax, rdx
mov r11, qword [rbp - 0x48]
mov rbx, r9
xor r9, rax
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rsp + 0x70]
xor rbx, rax
mov qword [rsp + 0x68], rax
add r9, r9
add rcx, r12
shr rbx, 0x3f
or rbx, r9
add rcx, r10
mov r8, rcx
mov rax, rcx
xor rax, rsi
xor r8, rsi
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov rdi, r9
lea r12, [r9 + rcx]
add r12, qword [rbp + 8]
lea rcx, [r14 + r11]
add rcx, qword [rbp - 0x18]
xor rax, r12
shl rax, 0x30
xor r8, r12
shr r8, 0x10
or rax, r8
mov r8, rcx
xor r8, qword [rbp - 0x38]
mov qword [rbp - 0x60], rax
shr r8, 0x20
lea r10, [rax + rdx]
mov rdx, qword [rsp + 0x78]
xor r9, r10
mov rax, rcx
xor rax, qword [rbp - 0x38]
add r9, r9
shl rax, 0x20
xor rdi, r10
or r8, rax
shr rdi, 0x3f
add rdx, r8
or rdi, r9
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov rsi, r9
lea r14, [r9 + rcx]
add r14, qword [rbp - 0x20]
lea rcx, [rbx + r13]
xor rax, r14
xor r8, r14
shr r8, 0x10
shl rax, 0x30
or rax, r8
mov r8, rax
lea r11, [rax + rdx]
xor rsi, r11
xor r9, r11
shr rsi, 0x3f
add r9, r9
or rsi, r9
add rcx, qword [rbp + 0x38]
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r10]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r13, [r9 + rcx]
add r13, qword [rbp + 0x20]
xor rax, r13
xor r8, r13
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rbp - 0x30], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x70], rcx
xor r9, rcx
shr rax, 0x3f
add r9, r9
lea rcx, [rdi + r15]
add rcx, qword [rbp + 0x10]
or rax, r9
mov qword [rbp - 0x48], rax
mov r8, rcx
xor r8, qword [rbp - 0x58]
mov rax, rcx
xor rax, qword [rbp - 0x58]
shl rax, 0x20
shr r8, 0x20
or r8, rax
mov rbx, r8
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r9
lea r15, [r9 + rcx]
add r15, qword [rbp + 0x50]
xor r8, r15
xor rbx, r15
shr r8, 0x10
shl rbx, 0x30
or rbx, r8
lea rcx, [rbx + rdx]
mov rdx, qword [rsp + 0x60]
xor rax, rcx
mov qword [rsp + 0x78], rcx
xor r9, rcx
shr rax, 0x3f
add r9, r9
lea rcx, [rsi + r12]
add rcx, qword [rbp - 8]
or rax, r9
mov qword [rbp - 0x58], rax
mov r8, rcx
xor r8, qword [rbp - 0x50]
mov rax, rcx
xor rax, qword [rbp - 0x50]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, rsi
shl r9, 0x28
xor rax, rsi
mov r11, qword [rbp - 0x40]
mov rdi, r8
shr rax, 0x18
or r9, rax
mov rax, r9
lea r12, [r9 + rcx]
add r12, qword [rbp + 0x40]
lea rcx, [r14 + r11]
add rcx, qword [rbp - 0x10]
xor r8, r12
shr r8, 0x10
xor rdi, r12
shl rdi, 0x30
or rdi, r8
mov r8, rcx
xor r8, qword [rbp - 0x60]
shr r8, 0x20
lea r10, [rdi + rdx]
mov rdx, qword [rsp + 0x68]
xor rax, r10
xor r9, r10
shr rax, 0x3f
add r9, r9
or rax, r9
mov qword [rbp - 0x38], rax
mov rax, rcx
xor rax, qword [rbp - 0x60]
shl rax, 0x20
or r8, rax
add rdx, r8
mov rsi, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rax, [r9 + rcx]
add rax, qword [rbp + 0x48]
xor r8, rax
mov qword [rbp - 0x50], rax
xor rsi, rax
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rdx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rcx, [r8 + r13]
add rcx, qword [rbp + 8]
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
mov rax, r9
lea r13, [r10 + rcx]
mov rcx, r10
add r13, qword [rbp + 0x48]
xor rax, r13
xor r9, r13
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rbp - 0x60], rax
add rax, rdx
mov qword [rsp + 0x60], rax
xor rcx, rax
xor r10, rax
shr rcx, 0x3f
mov r8, rdi
add r10, r10
or rcx, r10
mov r10, qword [rbp - 0x48]
mov qword [rbp - 0x40], rcx
lea rcx, [r10 + r15]
add rcx, qword [rbp + 0x20]
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rbp - 0x58]
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov r14, r9
lea r15, [r9 + rcx]
add r15, qword [rbp - 0x28]
lea rcx, [r10 + r12]
add rcx, qword [rbp + 0x18]
xor rax, r15
shl rax, 0x30
xor r8, r15
shr r8, 0x10
or rax, r8
mov r8, rsi
xor r8, rcx
mov qword [rbp - 0x48], rax
add rax, rdx
shr r8, 0x20
mov rdx, qword [rsp + 0x70]
xor r9, rax
xor r14, rax
mov qword [rsp + 0x68], rax
xor rsi, rcx
shr r14, 0x3f
add r9, r9
shl rsi, 0x20
or r8, rsi
or r14, r9
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rbp - 0x38]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp + 0x30]
mov rcx, r12
mov rax, r12
xor rcx, r8
xor rax, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x58], rcx
lea r11, [rdx + rcx]
mov rcx, qword [rbp - 0x50]
mov rdi, r11
mov rax, r11
xor rdi, r9
xor rax, r9
shr rdi, 0x3f
add rax, rax
or rdi, rax
add rcx, r10
add rcx, qword [rbp + 0x50]
mov r8, rcx
xor r8, qword [rbp - 0x30]
mov rax, rcx
xor rax, qword [rbp - 0x30]
mov rdx, qword [rsp + 0x78]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rax, [rcx + r9]
add rax, qword [rbp - 8]
lea rcx, [r14 + r13]
add rcx, qword [rbp + 0x28]
mov r10, rax
mov qword [rbp - 0x50], rax
xor r10, r8
xor rax, r8
shl r10, 0x30
shr rax, 0x10
mov r8, rcx
or r10, rax
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov rsi, rbx
mov rax, rbx
xor rax, r9
xor rsi, r9
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov r9, r14
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
xor r9, rdx
xor r14, rdx
shl r9, 0x28
shr r14, 0x18
or r9, r14
lea r14, [rcx + r9]
add r14, qword [rbp + 0x38]
mov rcx, r14
mov rax, r14
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rbp - 0x30], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x70], rax
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp]
add rcx, r15
add rcx, rdi
mov r8, rcx
mov rax, rcx
xor r8, qword [rbp - 0x60]
xor rax, qword [rbp - 0x60]
shr r8, 0x20
shl rax, 0x20
or r8, rax
lea rdx, [rbx + r8]
mov r9, rdx
xor r9, rdi
shl r9, 0x28
mov r11, qword [rbp - 0x40]
mov rax, rdx
xor rax, rdi
shr rax, 0x18
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp - 0x18]
mov rbx, r15
mov rax, r15
xor rax, r8
xor rbx, r8
shr rax, 0x10
mov r8, rsi
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov r9, r11
mov qword [rbp - 0x60], rcx
lea rcx, [r12 + rsi]
add rcx, qword [rbp - 0x10]
mov rdx, rcx
mov rax, rcx
xor rax, qword [rbp - 0x48]
xor rdx, qword [rbp - 0x48]
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x60]
add rax, rdx
mov rdi, rdx
xor r8, rax
xor rsi, rax
shr rsi, 0x18
shl r8, 0x28
or r8, rsi
lea r13, [rcx + r8]
mov rcx, qword [rbp - 0x50]
add r13, qword [rbp + 0x10]
add rcx, r11
add rcx, qword [rbp + 0x40]
xor rdx, r13
shr rdx, 0x10
xor rdi, r13
shl rdi, 0x30
or rdi, rdx
mov rdx, rcx
xor rdx, qword [rbp - 0x58]
shr rdx, 0x20
lea r10, [rdi + rax]
mov rax, r8
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov qword [rbp - 0x48], rax
mov rax, rcx
xor rax, qword [rbp - 0x58]
shl rax, 0x20
or rdx, rax
mov rax, qword [rsp + 0x68]
add rax, rdx
mov rsi, rdx
xor r9, rax
xor r11, rax
shl r9, 0x28
shr r11, 0x18
or r9, r11
lea r12, [r9 + rcx]
add r12, qword [rbp - 0x20]
xor rsi, r12
xor rdx, r12
shl rsi, 0x30
shr rdx, 0x10
mov r8, r9
or rsi, rdx
lea r11, [rsi + rax]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rdx, [r14 + r8]
add rdx, qword [rbp + 0x10]
xor r9, rdx
xor rbx, rdx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rcx, [r9 + r10]
mov r10, rcx
mov rax, rcx
xor rax, r8
xor r10, r8
shr rax, 0x18
mov r8, rdi
shl r10, 0x28
or r10, rax
mov rax, qword [rbp]
add rax, r10
add rax, rdx
mov rdx, r9
xor r9, rax
mov qword [rbp - 0x50], rax
xor rdx, rax
shr r9, 0x10
shl rdx, 0x30
or rdx, r9
mov qword [rbp - 0x40], rdx
lea rax, [rdx + rcx]
mov rcx, r10
xor rcx, rax
mov qword [rsp + 0x60], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rbp - 0x38]
mov qword [rbp + 0x58], rcx
mov rcx, qword [rbp - 0x28]
add rcx, r15
add rcx, r10
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor r9, r10
xor rax, r10
shl r9, 0x28
shr rax, 0x18
or r9, rax
mov rbx, r9
lea rax, [r9 + rcx]
mov rcx, r8
add rax, qword [rbp - 8]
xor rcx, rax
mov qword [rbp - 0x58], rax
xor r8, rax
shl rcx, 0x30
shr r8, 0x10
or rcx, r8
mov qword [rbp - 0x38], rcx
lea rax, [rcx + rdx]
xor r9, rax
mov qword [rsp + 0x68], rax
xor rbx, rax
add r9, r9
shr rbx, 0x3f
or rbx, r9
mov r9, qword [rbp - 0x60]
mov rax, qword [rbp + 0x48]
mov r8, r9
mov rcx, qword [rsp + 0x70]
add rax, r9
add rax, r13
mov rdx, rsi
xor rdx, rax
xor rsi, rax
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
mov r9, qword [rbp - 0x48]
mov rdi, r8
lea r14, [r8 + rax]
mov rax, rdx
add r14, qword [rbp + 0x50]
xor rax, r14
xor rdx, r14
shr rdx, 0x10
shl rax, 0x30
or rax, rdx
mov qword [rbp - 0x60], rax
lea r10, [rax + rcx]
lea rcx, [r9 + r12]
xor r8, r10
add rcx, qword [rbp + 0x38]
add r8, r8
mov rdx, rcx
mov rax, rcx
xor rdx, qword [rbp - 0x30]
xor rdi, r10
xor rax, qword [rbp - 0x30]
shr rdx, 0x20
shl rax, 0x20
or rdx, rax
shr rdi, 0x3f
mov rax, qword [rsp + 0x78]
or rdi, r8
mov r8, r9
add rax, rdx
xor r9, rax
xor r8, rax
shr r9, 0x18
shl r8, 0x28
or r8, r9
mov r9, rdx
mov rsi, r8
lea r15, [r8 + rcx]
mov rcx, qword [rbp + 0x18]
add r15, qword [rbp - 0x10]
add rcx, rbx
add rcx, qword [rbp - 0x50]
xor r9, r15
shl r9, 0x30
xor rdx, r15
shr rdx, 0x10
or r9, rdx
lea r11, [r9 + rax]
xor r8, r11
xor rsi, r11
add r8, r8
shr rsi, 0x3f
or rsi, r8
mov r8, r9
xor r9, rcx
xor r8, rcx
shl r9, 0x20
shr r8, 0x20
or r8, r9
lea rdx, [r8 + r10]
mov r9, rdx
mov rax, rdx
xor r9, rbx
shl r9, 0x28
xor rax, rbx
shr rax, 0x18
or r9, rax
mov rax, r8
lea r12, [r9 + rcx]
add r12, qword [rbp + 0x40]
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rdi
mov qword [rbp - 0x30], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x70], rcx
xor r9, rcx
shr rax, 0x3f
mov rcx, qword [rbp - 0x40]
add r9, r9
or rax, r9
mov rdx, rcx
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 8]
add rax, rdi
add rax, qword [rbp - 0x58]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rbx, rdx
lea rcx, [rdx + r11]
xor r8, rcx
xor rdi, rcx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
lea r13, [r8 + rax]
mov rax, r8
add r13, qword [rbp + 0x20]
xor rdx, r13
xor rbx, r13
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
add rcx, rbx
xor rax, rcx
mov qword [rsp + 0x78], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rbp - 0x38]
add r8, r8
or rax, r8
mov rdx, rcx
mov qword [rbp - 0x50], rax
mov r8, rsi
lea rax, [rsi + r14]
add rax, qword [rbp + 0x30]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x60]
add rcx, rdx
mov rdi, rdx
xor r8, rcx
xor rsi, rcx
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
lea r14, [r8 + rax]
mov rax, r8
add r14, qword [rbp - 0x18]
xor rdi, r14
xor rdx, r14
shl rdi, 0x30
shr rdx, 0x10
or rdi, rdx
lea r10, [rdi + rcx]
mov r11, qword [rbp + 0x58]
xor rax, r10
mov rdx, qword [rsp + 0x68]
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov qword [rbp - 0x58], rax
lea rcx, [r11 + r15]
add rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x60]
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov rsi, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r15, [r9 + rcx]
add r15, qword [rbp + 0x28]
xor r8, r15
xor rsi, r15
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rdx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rcx, [r8 + r12]
add rcx, qword [rbp - 0x20]
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor r10, r8
xor rax, r8
shl r10, 0x28
mov r8, rdi
shr rax, 0x18
or r10, rax
lea rax, [r10 + rcx]
mov rcx, r9
add rax, qword [rbp + 0x40]
xor rcx, rax
mov qword [rbp + 0x58], rax
shl rcx, 0x30
xor r9, rax
shr r9, 0x10
or rcx, r9
mov qword [rbp - 0x60], rcx
lea rax, [rcx + rdx]
mov rcx, r10
xor rcx, rax
mov qword [rsp + 0x60], rax
shr rcx, 0x3f
xor r10, rax
add r10, r10
or rcx, r10
mov r10, qword [rbp - 0x48]
mov qword [rbp - 0x40], rcx
lea rcx, [r10 + r13]
add rcx, qword [rbp - 0x10]
xor r8, rcx
shr r8, 0x20
xor rdi, rcx
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rbp - 0x58]
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov r11, r9
lea r12, [r9 + rcx]
mov rcx, qword [rsp + 0x70]
add r12, qword [rbp - 0x18]
xor rax, r12
xor r8, r12
shr r8, 0x10
shl rax, 0x30
or rax, r8
mov qword [rbp - 0x48], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x68], rax
xor r11, rax
add r9, r9
mov rdx, rsi
shr r11, 0x3f
or r11, r9
mov r9, qword [rbp - 0x50]
mov r8, r9
lea rax, [r9 + r14]
add rax, qword [rbp + 0x20]
xor rdx, rax
xor rsi, rax
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
mov rbx, r8
lea r14, [r8 + rax]
mov rax, rdx
add r14, qword [rbp + 0x10]
xor rdx, r14
xor rax, r14
shr rdx, 0x10
shl rax, 0x30
or rax, rdx
mov qword [rbp - 0x50], rax
lea r9, [rax + rcx]
mov rcx, qword [rbp - 0x30]
xor r8, r9
lea rax, [r10 + r15]
add rax, qword [rbp + 0x30]
add r8, r8
mov rdx, rcx
xor rbx, r9
xor rcx, rax
shr rbx, 0x3f
or rbx, r8
shl rcx, 0x20
xor rdx, rax
mov r8, r10
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x78]
add rcx, rdx
xor r8, rcx
xor r10, rcx
shl r8, 0x28
shr r10, 0x18
or r8, r10
lea r15, [r8 + rax]
add r15, qword [rbp + 0x28]
mov rdi, r8
mov rax, rdx
xor rax, r15
xor rdx, r15
shl rax, 0x30
shr rdx, 0x10
or rax, rdx
lea r10, [rax + rcx]
mov rcx, qword [rbp]
xor r8, r10
add rcx, r11
add rcx, qword [rbp + 0x58]
add r8, r8
xor rdi, r10
shr rdi, 0x3f
or rdi, r8
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r9]
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r13, [r9 + rcx]
add r13, qword [rbp + 0x48]
xor rax, r13
xor r8, r13
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rbx
mov qword [rbp - 0x38], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x70], rcx
xor r9, rcx
shr rax, 0x3f
mov rcx, qword [rbp - 0x60]
add r9, r9
or rax, r9
mov rdx, rcx
mov qword [rbp + 0x58], rax
lea rax, [rbx + r12]
add rax, qword [rbp - 8]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rsi, rdx
lea rcx, [rdx + r10]
xor r8, rcx
xor rbx, rcx
shl r8, 0x28
shr rbx, 0x18
or r8, rbx
lea r12, [r8 + rax]
mov rax, r8
add r12, qword [rbp - 0x28]
xor rsi, r12
xor rdx, r12
shl rsi, 0x30
shr rdx, 0x10
or rsi, rdx
add rcx, rsi
xor rax, rcx
mov qword [rsp + 0x78], rcx
xor r8, rcx
shr rax, 0x3f
add r8, r8
or rax, r8
mov qword [rbp - 0x58], rax
mov rcx, qword [rbp - 0x48]
lea rax, [rdi + r14]
add rax, qword [rbp + 0x50]
mov rdx, rcx
mov r9, qword [rbp - 0x40]
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
mov r8, rdi
or rdx, rcx
mov rcx, qword [rsp + 0x60]
add rcx, rdx
xor r8, rcx
xor rdi, rcx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
mov rdi, rdx
lea r14, [r8 + rax]
mov rax, r8
add r14, qword [rbp + 0x18]
xor rdx, r14
xor rdi, r14
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea r10, [rdi + rcx]
mov rcx, qword [rbp - 0x50]
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov rdx, rcx
mov qword [rbp - 0x48], rax
mov r8, r9
lea rax, [r9 + r15]
add rax, qword [rbp + 8]
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
lea r15, [rax + r8]
add r15, qword [rbp + 0x38]
mov rbx, r15
mov rax, r15
xor rax, rdx
xor rbx, rdx
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea r11, [rcx + rbx]
mov r9, r11
mov rax, r11
xor r9, r8
xor rax, r8
add rax, rax
shr r9, 0x3f
or r9, rax
mov r8, rsi
lea rcx, [r9 + r13]
add rcx, qword [rbp + 0x38]
xor r8, rcx
xor rsi, rcx
shr r8, 0x20
shl rsi, 0x20
or r8, rsi
lea rdx, [r10 + r8]
mov r10, rdx
mov rax, rdx
xor r10, r9
shl r10, 0x28
xor rax, r9
mov r9, qword [rbp + 0x58]
shr rax, 0x18
or r10, rax
lea r13, [rcx + r10]
add r13, qword [rbp + 0x30]
mov rcx, r13
mov rax, r13
xor rax, r8
xor rcx, r8
shr rax, 0x10
mov r8, r9
shl rcx, 0x30
or rcx, rax
mov qword [rbp - 0x50], rcx
lea rax, [rcx + rdx]
mov rdx, rdi
mov rcx, rax
mov qword [rsp + 0x60], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rbp - 0x58]
add rax, rax
shr rcx, 0x3f
or rcx, rax
lea rax, [r9 + r12]
add rax, qword [rbp + 0x40]
xor rdi, rax
mov qword [rbp - 0x40], rcx
xor rdx, rax
shl rdi, 0x20
shr rdx, 0x20
or rdx, rdi
lea rcx, [r11 + rdx]
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
lea r12, [rax + r8]
add r12, qword [rbp + 0x50]
mov r9, r12
mov rax, r12
xor rax, rdx
xor r9, rdx
mov rdx, qword [rsp + 0x70]
shr rax, 0x10
shl r9, 0x30
or r9, rax
mov qword [rbp - 0x60], r9
lea rax, [r9 + rcx]
mov r9, r10
mov rdi, rax
mov qword [rsp + 0x68], rax
xor rax, r8
lea rcx, [r10 + r14]
add rcx, qword [rbp - 0x18]
xor rdi, r8
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov r8, rcx
mov rax, rcx
xor r8, rbx
xor rax, rbx
shr r8, 0x20
shl rax, 0x20
or r8, rax
add rdx, r8
xor r9, rdx
xor r10, rdx
shl r9, 0x28
shr r10, 0x18
or r9, r10
lea rax, [rcx + r9]
add rax, qword [rbp + 0x28]
mov rcx, rax
mov qword [rbp + 0x58], rax
xor rcx, r8
shl rcx, 0x30
xor rax, r8
mov r10, qword [rbp - 0x48]
shr rax, 0x10
or rcx, rax
mov qword [rbp - 0x58], rcx
lea r11, [rdx + rcx]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rsp + 0x78]
add rcx, r15
add rcx, r10
mov rsi, r11
xor rsi, r9
mov rax, r11
xor rax, r9
shr rsi, 0x3f
add rax, rax
or rsi, rax
mov rax, qword [rbp - 0x38]
mov r8, rax
xor rax, rcx
shl rax, 0x20
xor r8, rcx
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp + 0x20]
lea rcx, [rdi + r13]
add rcx, qword [rbp - 0x10]
mov r10, r15
xor r10, r8
mov rax, r15
xor rax, r8
shl r10, 0x30
shr rax, 0x10
mov r8, rcx
or r10, rax
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov r14, rbx
mov rax, rbx
xor rax, r9
xor r14, r9
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rbp - 8]
mov rcx, r13
mov rax, r13
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rbp - 0x38], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x70], rax
xor rcx, r9
shr rcx, 0x3f
xor rax, r9
mov r11, qword [rbp - 0x40]
add rax, rax
or rcx, rax
mov qword [rbp - 0x48], rcx
lea rcx, [r12 + rsi]
add rcx, qword [rbp - 0x20]
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x50]
xor r8, qword [rbp - 0x50]
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [rbx + r8]
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp + 0x48]
mov rbx, r12
mov rax, r12
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
mov qword [rsp + 0x78], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp + 0x58]
add rcx, qword [rbp + 0x18]
add rcx, r14
mov r8, rcx
mov rax, rcx
xor rax, qword [rbp - 0x60]
xor r8, qword [rbp - 0x60]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r14
xor r9, r14
mov r14, qword [rbp + 8]
shr rax, 0x18
add r14, rcx
shl r9, 0x28
or r9, rax
add r14, r9
mov rdi, r14
mov rax, r14
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rdx + rdi]
mov rcx, r10
mov rax, r10
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbp - 0x28]
add rcx, r15
add rcx, r11
mov r8, rcx
xor r8, qword [rbp - 0x58]
mov rax, rcx
xor rax, qword [rbp - 0x58]
mov rdx, qword [rsp + 0x68]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rbp]
add rax, rcx
add rax, r9
mov rsi, rax
mov qword [rbp + 0x58], rax
xor rax, r8
xor rsi, r8
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rdx + rsi]
mov r8, r11
mov rax, r11
xor rax, r9
xor r8, r9
add rax, rax
shr r8, 0x3f
or r8, rax
lea rcx, [r8 + r13]
add rcx, qword [rbp - 0x28]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 0x20
or r9, rax
lea rdx, [r10 + r9]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea r13, [rcx + r10]
add r13, qword [rbp - 0x20]
mov rcx, r13
mov rax, r13
xor rcx, r9
xor rax, r9
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rbp - 0x58], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x60], rax
xor rcx, r10
xor rax, r10
mov r10, qword [rbp - 0x48]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rbp - 0x40], rcx
lea rcx, [r12 + r10]
add rcx, qword [rbp - 0x18]
mov r8, rcx
mov rax, rcx
xor r8, rdi
xor rax, rdi
shr r8, 0x20
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor r9, r10
xor rax, r10
shl r9, 0x28
mov r10, qword [rbp - 0x60]
shr rax, 0x18
or r9, rax
mov rax, r8
mov r11, r9
lea r15, [rcx + r9]
add r15, qword [rbp - 0x10]
xor rax, r15
xor r8, r15
shr r8, 0x10
shl rax, 0x30
or rax, r8
mov qword [rbp - 0x48], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x68], rax
xor r11, rax
add r9, r9
mov rax, qword [rsp + 0x70]
mov rdx, rsi
shr r11, 0x3f
or r11, r9
mov r9, qword [rbp - 0x50]
mov r8, r9
lea rcx, [r14 + r9]
mov r14, qword [rbp]
add rcx, qword [rbp - 8]
xor rdx, rcx
xor rsi, rcx
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
add rax, rdx
mov r12, rdx
xor r8, rax
xor r9, rax
shl r8, 0x28
shr r9, 0x18
or r8, r9
add r14, r8
mov rdi, r8
add r14, rcx
mov rcx, qword [rbp - 0x38]
xor rdx, r14
xor r12, r14
shr rdx, 0x10
shl r12, 0x30
or r12, rdx
mov rdx, rcx
lea r9, [r12 + rax]
mov rax, qword [rbp + 0x58]
add rax, qword [rbp + 8]
xor r8, r9
add rax, r10
add r8, r8
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
xor rdi, r9
shr rdx, 0x20
or rdx, rcx
shr rdi, 0x3f
mov rcx, qword [rsp + 0x78]
or rdi, r8
add rcx, rdx
mov r8, r10
xor r8, rcx
xor r10, rcx
shl r8, 0x28
shr r10, 0x18
or r8, r10
lea rsi, [r8 + rax]
mov rax, rdx
add rsi, qword [rbp + 0x10]
xor rax, rsi
shl rax, 0x30
xor rdx, rsi
mov rbx, r8
shr rdx, 0x10
or rax, rdx
lea r10, [rax + rcx]
xor r8, r10
lea rcx, [r11 + r13]
add rcx, qword [rbp + 0x30]
add r8, r8
xor rbx, r10
shr rbx, 0x3f
or rbx, r8
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r9]
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rbp + 0x18]
add rax, r9
add rax, rcx
mov rcx, r8
xor rcx, rax
mov qword [rsp + 0x20], rax
shl rcx, 0x30
xor r8, rax
shr r8, 0x10
or rcx, r8
mov qword [rbp - 0x68], rcx
lea rax, [rcx + rdx]
mov rcx, r9
xor rcx, rax
mov qword [rsp + 0x70], rax
xor r9, rax
shr rcx, 0x3f
add r9, r9
lea rax, [rdi + r15]
add rax, qword [rbp + 0x38]
or rcx, r9
mov qword [rsp + 0x48], rcx
mov r9, rdi
mov rcx, qword [rbp - 0x58]
mov r8, rcx
xor rcx, rax
xor r8, rax
shl rcx, 0x20
shr r8, 0x20
or r8, rcx
mov rcx, r8
lea rdx, [r8 + r10]
xor r9, rdx
xor rdi, rdx
shl r9, 0x28
shr rdi, 0x18
or r9, rdi
add rax, r9
add rax, qword [rbp + 0x40]
xor rcx, rax
mov qword [rsp + 0x28], rax
shl rcx, 0x30
xor r8, rax
shr r8, 0x10
or rcx, r8
mov qword [rbp - 0x80], rcx
lea rax, [rcx + rdx]
mov rcx, r9
xor rcx, rax
mov qword [rsp + 0x78], rax
xor r9, rax
shr rcx, 0x3f
add r9, r9
lea rax, [rbx + r14]
or rcx, r9
mov qword [rsp + 0x50], rcx
add rax, qword [rbp + 0x48]
mov r9, rbx
mov r10, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rsp + 0x60]
mov r8, rcx
xor rcx, rax
xor r8, rax
shl rcx, 0x20
shr r8, 0x20
or r8, rcx
add rdx, r8
mov rcx, r8
xor r9, rdx
xor rbx, rdx
shl r9, 0x28
shr rbx, 0x18
or r9, rbx
add rax, r9
add rax, qword [rbp + 0x20]
xor rcx, rax
mov qword [rsp + 0x30], rax
xor r8, rax
shl rcx, 0x30
shr r8, 0x10
or rcx, r8
mov r8, r12
mov qword [rbp - 0x78], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x68]
mov rcx, r9
mov qword [rsp + 0x60], rax
xor rcx, rax
xor r9, rax
shr rcx, 0x3f
lea rax, [r10 + rsi]
add rax, qword [rbp + 0x28]
add r9, r9
or rcx, r9
xor r8, rax
mov qword [rsp + 0x58], rcx
xor r12, rax
shr r8, 0x20
mov r9, r10
shl r12, 0x20
or r8, r12
add rdx, r8
mov rcx, r8
xor r9, rdx
xor r10, rdx
shl r9, 0x28
shr r10, 0x18
or r9, r10
add rax, r9
add rax, qword [rbp + 0x50]
xor rcx, rax
mov qword [rsp + 0x38], rax
shl rcx, 0x30
xor r8, rax
shr r8, 0x10
or rcx, r8
mov r8d, 8
mov qword [rbp - 0x70], rcx
lea rax, [rcx + rdx]
mov rcx, r9
xor rcx, rax
mov qword [rsp + 0x68], rax
shr rcx, 0x3f
lea rdx, [rsp + 0x60]
xor r9, rax
add r9, r9
or rcx, r9
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp + 0x60]
sub rdx, rcx
mov rax, qword [rdx + rcx - 0x40]
xor rax, qword [rdx + rcx]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x1402e4992
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret