Function at 0x140317950
Capabilities:
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 - 0x80]
mov eax, 0x180
call fcn.1404a6760
sub rsp, rax
mov rax, qword [0x14064a080]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rax, r8
mov qword [rbp - 0x38], rcx
mov r8, rcx
mov qword [rsp + 0x70], rax
mov ecx, 0x80
cmp rax, rcx
mov r13, qword [r8 + 0x50]
cmovb rcx, rax
mov r9, qword [r8 + 8]
mov rax, qword [r8 + 0x18]
mov r14, qword [r8]
mov r12, qword [r8 + 0x10]
mov rdi, qword [r8 + 0x20]
mov rsi, qword [r8 + 0x28]
mov rbx, qword [r8 + 0x30]
mov r15, qword [r8 + 0x38]
mov r10, qword [r8 + 0x40]
mov r11, qword [r8 + 0x48]
mov qword [rbp - 0x48], r13
mov r13, qword [r8 + 0x58]
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x30], rcx
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], r15
nop dword [rax]
lea rax, [rdx + 0x78]
lea r9, [rbp - 0x10]
cmp r9, rax
ja 0x140317a67
lea rax, [rbp + 0x68]
cmp rax, rdx
jb 0x140317a67
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rbp + 0x40], xmm1
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm1
jmp 0x140317aa6
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rdx + 0x20]
movaps xmmword [rbp], xmm1
movups xmm1, xmmword [rdx + 0x30]
movaps xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdx + 0x40]
movaps xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rdx + 0x50]
movaps xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [rdx + 0x60]
movaps xmmword [rbp + 0x40], xmm1
movups xmm1, xmmword [rdx + 0x70]
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x60], xmm1
mov r13, qword [rbp - 8]
lea r9, [rdi + r14]
add r10, rcx
cmp r10, rcx
mov qword [r8 + 0x40], r10
mov qword [rbp - 0x20], r10
movabs rcx, 0x510e527fade682d1
adc r11, 0
add r9, qword [rbp - 0x10]
mov rax, r9
mov qword [r8 + 0x48], r11
xor rax, r10
mov qword [rbp - 0x28], r11
xor rax, rcx
movabs r8, 0x6a09e667f3bcc908
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor rdi, r8
mov rcx, rdi
shr rdi, 0x18
shl rcx, 0x28
or rcx, rdi
add r13, rcx
add r13, r9
mov r9, qword [rsp + 0x28]
xor r10, r13
add r9, rsi
add r9, qword [rbp]
mov rax, r10
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x30], rax
add rax, r8
mov qword [rsp + 0x58], rax
movabs r8, 0xbb67ae8584caa73b
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r11
xor rax, r9
mov qword [rsp + 0x38], rcx
movabs rcx, 0x9b05688c2b3e6c1f
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
mov rax, qword [rbp + 8]
add r8, r10
xor rsi, r8
mov rcx, rsi
shr rsi, 0x18
shl rcx, 0x28
or rcx, rsi
add rax, rcx
add rax, r9
lea r9, [rbx + r12]
add r9, qword [rbp + 0x10]
xor r10, rax
mov qword [rsp + 0x28], rax
mov rax, r10
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x50], rax
add rax, r8
mov qword [rsp + 0x20], rax
xor rax, rcx
mov r14, rax
movabs rcx, 0x1f83d9abfb41bd6b
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, qword [rbp - 0x48]
xor rax, r9
mov r12, qword [rbp + 0x18]
xor rax, rcx
mov r10, rax
movabs r8, 0x3c6ef372fe94f82b
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor rbx, r8
mov rcx, rbx
shr rbx, 0x18
shl rcx, 0x28
or rcx, rbx
add r12, rcx
add r12, r9
mov r9, qword [rbp + 0x20]
add r9, r15
xor r10, r12
add r9, qword [rsp + 0x60]
mov rax, r10
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x40], rax
lea rbx, [r8 + rax]
movabs r8, 0xa54ff53a5f1d36f1
mov rax, rbx
xor rax, rcx
movabs rcx, 0x5be0cd19137e2179
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, qword [rbp - 0x40]
xor rax, r9
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor r15, r8
mov rcx, r15
shr r15, 0x18
shl rcx, 0x28
or rcx, r15
mov r15, qword [rbp + 0x28]
add r15, rcx
add r15, r9
xor r10, r15
mov r9, r10
shr r10, 0x10
shl r9, 0x30
or r9, r10
lea r11, [r8 + r9]
mov r8, qword [rbp + 0x30]
add r8, r14
mov rax, r11
xor rax, rcx
add r8, r13
mov r13, qword [rbp + 0x38]
mov rdi, rax
add rax, rax
shr rdi, 0x3f
or rdi, rax
xor r9, r8
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
lea r9, [rbx + r10]
mov rax, r9
xor rax, r14
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r13, rcx
add r13, r8
xor r10, r13
mov rax, r10
mov r8, qword [rbp + 0x40]
shl rax, 0x30
add r8, rsi
add r8, qword [rsp + 0x28]
shr r10, 0x10
or rax, r10
mov qword [rsp + 8], rax
add rax, r9
mov qword [rsp + 0x18], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x30]
mov r10, rax
mov qword [rsp + 0x60], rcx
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r9, [r11 + r10]
mov rax, r9
xor rax, rsi
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp + 0x48]
add rax, rcx
add rax, r8
xor r10, rax
mov qword [rsp + 0x28], rax
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
mov r10, qword [rsp + 0x58]
lea rax, [r9 + r14]
mov r9, qword [rbp + 0x50]
mov qword [rsp + 0x10], rax
add r9, rdi
xor rax, rcx
add r9, r12
mov r12, qword [rbp + 0x58]
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
xor rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r12, r8
add r12, r9
mov r9, qword [rbp + 0x60]
mov rax, r12
xor rax, rcx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea rbx, [r10 + rsi]
mov rax, rbx
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x58], rcx
add r9, r15
add r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x20]
mov rax, r9
xor rax, qword [rsp + 0x40]
mov r15, qword [rbp + 0x68]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, qword [rsp + 0x38]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r15, r8
add r15, r9
mov r9, qword [rbp + 0x60]
mov rax, r15
xor rax, rcx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r11, [r10 + rdi]
mov rax, r11
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r9, rcx
add r9, r13
mov r13, qword [rbp + 0x40]
mov rax, r9
xor rax, r14
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [rbx + r8]
mov rax, r10
xor rax, rcx
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r13, rcx
add r13, r9
mov rax, r13
xor rax, r8
mov r8, rax
shr rax, 0x10
shl r8, 0x30
or r8, rax
mov qword [rsp + 0x40], r8
lea rax, [r10 + r8]
mov r8, qword [rsp + 0x28]
add r8, qword [rbp + 0x10]
add r8, qword [rsp + 0x60]
mov qword [rsp + 0x50], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r8
xor rax, rsi
mov qword [rsp], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r9, [rcx + r11]
mov rax, r9
xor rax, qword [rsp + 0x60]
mov r10, rax
shr rax, 0x18
shl r10, 0x28
or r10, rax
mov rax, qword [rbp + 0x30]
add rax, r8
mov r8, qword [rbp + 0x38]
add rax, r10
add r8, r12
add r8, qword [rsp + 0x30]
mov r12, qword [rbp + 0x68]
mov qword [rsp + 0x20], rax
add r12, r8
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [rcx + r9]
mov r9, qword [rsp + 0x18]
xor r10, rax
mov qword [rsp + 0x28], rax
mov rsi, r10
shr rsi, 0x3f
lea rax, [r10 + r10]
or rsi, rax
mov rax, r8
mov r8, qword [rbp + 0x58]
xor rax, rdi
mov rcx, rax
add r8, r15
add r8, qword [rsp + 0x58]
mov r15, qword [rbp + 0x20]
shl rax, 0x20
add r15, r8
shr rcx, 0x20
or rcx, rax
add r9, rcx
mov rax, r9
xor rax, qword [rsp + 0x30]
mov r10, rax
shr rax, 0x18
shl r10, 0x28
or r10, rax
add r12, r10
mov rax, r12
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x18], rcx
lea r11, [rcx + r9]
mov r9, qword [rsp + 0x10]
xor r10, r11
mov rdi, r10
shr rdi, 0x3f
lea rax, [r10 + r10]
or rdi, rax
mov rax, r8
xor rax, qword [rsp + 8]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
mov rax, r9
xor rax, qword [rsp + 0x58]
mov r10, rax
shr rax, 0x18
shl r10, 0x28
or r10, rax
add r15, r10
mov rax, r15
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea rbx, [rcx + r9]
xor r10, rbx
mov r14, r10
shr r14, 0x3f
lea rax, [r10 + r10]
mov r8, qword [rbp - 8]
or r14, rax
add r8, rsi
add r8, r13
mov rax, r8
xor rax, rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r9, [rcx + r11]
xor rsi, r9
mov r10, rsi
shr rsi, 0x18
shl r10, 0x28
or r10, rsi
lea r11, [r8 + r10]
mov r8, qword [rbp - 0x10]
add r11, qword [rbp + 0x50]
add r8, rdi
add r8, qword [rsp + 0x20]
mov rax, r11
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x30], rcx
lea rax, [rcx + r9]
xor r10, rax
mov qword [rsp + 0x58], rax
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x40]
mov qword [rsp + 0x10], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r9, [rcx + rbx]
xor rdi, r9
mov r10, rdi
shr rdi, 0x18
shl r10, 0x28
or r10, rdi
lea r13, [r8 + r10]
mov r8, qword [rbp + 0x48]
add r13, qword [rbp]
mov rax, r13
xor rax, rcx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea rax, [rsi + r9]
mov r9, qword [rsp + 0x50]
xor r10, rax
mov qword [rsp + 0x40], rax
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
lea rax, [r14 + r12]
add r8, rax
mov qword [rsp + 8], rcx
mov rax, r8
xor rax, qword [rsp + 0x38]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
xor r14, r9
mov r10, r14
shr r14, 0x18
shl r10, 0x28
or r10, r14
lea r12, [r8 + r10]
add r12, qword [rbp + 0x28]
mov r8, qword [rsp + 0x28]
mov rax, r12
xor rax, rcx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
lea rbx, [r14 + r9]
xor r10, rbx
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0x18]
add rcx, r15
add rcx, qword [rsp]
mov rax, rcx
xor rax, qword [rsp + 0x18]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
mov rax, r8
xor rax, qword [rsp]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rax, [rcx + r9]
mov rcx, qword [rbp + 0x48]
add rax, qword [rbp + 8]
xor r10, rax
mov qword [rsp], rax
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rdi, [r15 + r8]
xor r9, rdi
mov r10, r9
shr r10, 0x3f
lea rax, [r9 + r9]
or r10, rax
lea rax, [r10 + r11]
add rcx, rax
mov rax, qword [rbp + 0x30]
xor rsi, rcx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
add rax, r9
add rax, rcx
xor r11, rax
mov qword [rsp + 0x18], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov r11, qword [rsp + 0x10]
mov qword [rsp + 0x38], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x50], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
lea rax, [r11 + r13]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x50]
add rcx, rax
mov r13, qword [rbp - 0x10]
xor r14, rcx
mov rbx, qword [rsp + 0x20]
mov r10, r14
shr r10, 0x20
shl r14, 0x20
or r10, r14
lea r8, [r10 + rdi]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 8]
add r13, r9
add r13, rcx
xor r10, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, qword [rsp + 0x58]
mov qword [rsp + 0x10], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x60], rax
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
lea r9, [r12 + r11]
add r9, qword [rbp + 0x18]
xor r15, r9
mov rcx, r15
shl r15, 0x20
shr rcx, 0x20
or rcx, r15
mov r15, qword [rbp]
add r10, rcx
add r15, r9
mov r9, qword [rbp + 0x68]
xor r11, r10
add r9, rbx
mov r8, r11
add r9, qword [rsp]
shl r8, 0x28
shr r11, 0x18
or r8, r11
add r15, r8
mov rax, r15
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 8], rcx
lea r11, [r10 + rcx]
mov r10, qword [rsp + 0x40]
mov rax, r11
xor rax, r8
mov rdi, rax
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov rax, qword [rsp + 0x30]
xor rax, r9
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x58]
add r10, rcx
add rax, r9
xor rbx, r10
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
add rax, r8
mov qword [rsp], rax
xor rax, rcx
mov r9, qword [rbp + 0x40]
mov rcx, rax
mov r12, qword [rbp + 0x60]
add r9, r14
add r9, qword [rsp + 0x18]
shr rax, 0x10
add r12, r9
shl rcx, 0x30
or rcx, rax
lea rbx, [r10 + rcx]
mov rax, rbx
xor rax, r8
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, r9
xor rax, rcx
mov r9, qword [rbp + 8]
mov rcx, rax
add r9, r13
mov r13, qword [rbp + 0x20]
add r9, rdi
shl rax, 0x20
add r13, r9
shr rcx, 0x20
or rcx, rax
lea r10, [r11 + rcx]
xor r14, r10
mov r8, r14
shr r14, 0x18
shl r8, 0x28
or r8, r14
add r12, r8
mov rax, r12
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x58], rcx
lea rax, [r10 + rcx]
mov qword [rsp + 0x40], rax
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rsp + 0x38]
xor rax, r9
mov qword [rsp + 0x18], rcx
mov r9, qword [rbp + 0x28]
mov rcx, rax
shl rax, 0x20
add r9, r15
shr rcx, 0x20
or rcx, rax
lea r10, [rbx + rcx]
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r13, r8
mov rax, r13
xor rax, rcx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [r10 + rdi]
mov qword [rsp + 0x38], rax
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x20], rcx
add r9, rsi
xor rax, r9
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
mov rcx, rax
mov r15, qword [rbp - 8]
shl rax, 0x20
add r15, r9
mov r9, qword [rbp + 0x38]
shr rcx, 0x20
add r9, rbx
or rcx, rax
add r9, qword [rsp]
add r10, rcx
mov rax, r10
xor rax, rsi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r15, r8
mov rax, r15
xor rax, rcx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [r10 + rsi]
mov r10, qword [rsp + 0x60]
mov rax, r11
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
xor rax, qword [rsp + 8]
mov qword [rsp + 0x10], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x10]
add rax, r9
add r10, rcx
mov r9, qword [rbp + 0x28]
xor rbx, r10
mov r8, rbx
add r9, r12
mov r12, qword [rbp + 0x38]
shl r8, 0x28
shr rbx, 0x18
or r8, rbx
add rax, r8
mov qword [rsp], rax
xor rax, rcx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
lea rbx, [r10 + r14]
mov rax, rbx
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r9, rcx
mov rax, r9
xor rax, rdi
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [r11 + r8]
mov rax, r10
xor rax, rcx
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r12, r9
mov r9, qword [rbp + 8]
add r12, rcx
add r9, r13
mov rax, r12
add r9, qword [rsp + 0x18]
xor rax, r8
mov r13, qword [rbp - 8]
mov r8, rax
shr rax, 0x10
add r13, r9
shl r8, 0x30
or r8, rax
mov qword [rsp + 8], r8
lea rax, [r10 + r8]
mov qword [rsp + 0x50], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
mov r9, qword [rbp + 0x58]
xor rax, rsi
mov qword [rsp + 0x28], rcx
add r9, r15
add r9, qword [rsp + 0x20]
mov rcx, rax
mov r15, qword [rbp + 0x50]
shl rax, 0x20
add r15, r9
shr rcx, 0x20
or rcx, rax
lea r10, [rbx + rcx]
mov rax, r10
xor rax, qword [rsp + 0x18]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r13, r8
mov rax, r13
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x18], rcx
lea rax, [r10 + rcx]
mov r10, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
xor rax, r8
mov rdi, rax
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov rax, r9
xor rax, r14
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, qword [rsp + 0x20]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r15, r8
mov rax, r15
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x20], rcx
lea r11, [r10 + rcx]
mov rax, r11
xor rax, r8
mov rsi, rax
shr rsi, 0x3f
mov r9, qword [rsp]
add rax, rax
add r9, qword [rbp + 0x48]
or rsi, rax
add r9, qword [rsp + 0x10]
mov r10, qword [rsp + 0x38]
mov rax, r9
xor rax, qword [rsp + 0x58]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, qword [rsp + 0x10]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, qword [rbp + 0x60]
add rax, r9
mov r9, qword [rbp]
add rax, r8
add r9, r12
mov r12, qword [rbp + 0x20]
add r9, rdi
mov qword [rsp], rax
add r12, r9
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea rbx, [r10 + rcx]
mov rax, rbx
xor rax, r8
mov r14, rax
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, r9
mov r9, qword [rbp + 0x18]
xor rax, rcx
mov rcx, rax
add r9, r13
shl rax, 0x20
add r9, rsi
shr rcx, 0x20
or rcx, rax
lea r10, [r11 + rcx]
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r12, r8
mov rax, r12
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [r10 + rcx]
mov qword [rsp + 0x40], rax
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
xor rax, qword [rsp + 8]
mov qword [rsp + 0x10], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r10, [rbx + rcx]
mov rax, r10
xor rax, rsi
mov r13, qword [rbp + 0x40]
mov r8, rax
shr rax, 0x18
add r13, r9
mov r9, qword [rbp + 0x10]
shl r8, 0x28
add r9, r15
or r8, rax
mov r15, qword [rbp - 0x10]
add r13, r8
add r9, r14
add r15, r9
mov rax, r13
xor rax, rcx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [r10 + rdi]
mov r10, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
xor rax, qword [rsp + 0x18]
mov r9, qword [rsp]
add r9, qword [rbp + 0x68]
add r9, qword [rsp + 0x28]
mov qword [rsp + 8], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, r14
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r15, r8
mov rax, r15
xor rax, rcx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [r10 + rsi]
mov r10, qword [rsp + 0x30]
mov rax, r11
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
xor rax, qword [rsp + 0x20]
mov qword [rsp + 0x18], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, qword [rsp + 0x28]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, qword [rbp + 0x30]
add rax, r9
add rax, r8
mov qword [rsp], rax
xor rax, rcx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
mov r9, qword [rbp + 0x38]
lea rbx, [r10 + r14]
add r9, r12
mov rax, rbx
xor rax, r8
mov r12, qword [rbp - 0x10]
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r9, rcx
add r12, r9
mov rax, r9
xor rax, rdi
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [r11 + r8]
mov rax, r10
xor rax, rcx
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r12, rcx
mov rax, r12
xor rax, r8
mov r8, rax
shr rax, 0x10
shl r8, 0x30
or r8, rax
mov qword [rsp + 0x20], r8
lea rax, [r10 + r8]
mov r8, qword [rbp + 0x18]
mov qword [rsp + 0x28], rax
add r8, r13
add r8, qword [rsp + 0x10]
xor rax, rcx
mov r13, qword [rbp + 0x28]
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r13, r8
mov rax, r8
mov qword [rsp + 0x30], rcx
mov r8, qword [rbp]
xor rax, rsi
mov r10, rax
add r8, r15
add r8, qword [rsp + 8]
shl rax, 0x20
xor r14, r8
shr r10, 0x20
or r10, rax
lea r9, [rbx + r10]
mov rax, r9
xor rax, qword [rsp + 0x10]
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r13, rcx
xor r10, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, r14
mov qword [rsp + 0x50], rax
add rax, r9
mov qword [rsp + 0x60], rax
xor rax, rcx
mov rsi, rax
shr r10, 0x20
shr rsi, 0x3f
add rax, rax
or rsi, rax
shl r14, 0x20
or r10, r14
mov r9, qword [rsp + 0x40]
add r9, r10
mov rax, r9
xor rax, qword [rsp + 8]
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp + 0x10]
add rax, rcx
add rax, r8
mov r8, qword [rbp + 0x40]
add r8, qword [rsp]
xor r10, rax
add r8, qword [rsp + 0x18]
mov qword [rsp + 0x10], rax
mov rax, r10
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov qword [rsp + 8], rax
lea rbx, [r9 + rax]
mov r9, qword [rsp + 0x58]
mov rax, rbx
xor rax, rcx
mov r14, rax
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, qword [rsp + 0x38]
xor rax, r8
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r9, r11
mov rax, r9
xor rax, qword [rsp + 0x18]
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp + 0x68]
add rax, rcx
add rax, r8
mov r8, qword [rbp + 0x60]
xor r11, rax
mov qword [rsp], rax
mov r10, r11
add r8, r12
mov r12, qword [rbp - 8]
add r8, rsi
shr r11, 0x10
shl r10, 0x30
or r10, r11
lea rdi, [r9 + r10]
xor r10, r8
mov r11, r10
mov rax, rdi
xor rax, rcx
shr r11, 0x20
mov r15, rax
shl r10, 0x20
add rax, rax
shr r15, 0x3f
or r15, rax
or r11, r10
lea r9, [rbx + r11]
mov rax, r9
xor rax, rsi
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r12, rcx
add r12, r8
xor r11, r12
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov r8, qword [rbp + 0x48]
mov qword [rsp + 0x58], rax
add r8, r14
add rax, r9
add r8, r13
mov r13, qword [rbp + 0x50]
mov qword [rsp + 0x40], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rsp + 0x20]
xor rax, r8
mov qword [rsp + 0x18], rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r9, [rdi + r10]
mov rax, r9
xor rax, r14
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r13, rcx
add r13, r8
mov r8, qword [rbp + 0x20]
xor r10, r13
add r8, r15
add r8, qword [rsp + 0x10]
mov rdi, r10
shr r10, 0x10
shl rdi, 0x30
or rdi, r10
lea rax, [r9 + rdi]
mov r9, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rsp + 0x50]
xor rax, r8
mov qword [rsp + 0x20], rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, r15
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp + 0x30]
add rax, rcx
add rax, r8
mov r8, qword [rbp + 8]
add r8, qword [rsp + 0x30]
xor r10, rax
add r8, qword [rsp]
mov rsi, r10
mov qword [rsp + 0x10], rax
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea r11, [r9 + rsi]
mov rax, r11
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rsp + 8]
xor rax, r8
mov qword [rsp + 0x38], rcx
mov r10, rax
mov r9, qword [rsp + 0x60]
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, qword [rsp + 0x30]
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp + 0x58]
add rax, rcx
add rax, r8
mov r8, qword [rbp]
xor r10, rax
mov qword [rsp], rax
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r9 + r14]
mov rax, rbx
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r8, rcx
add r8, r12
mov r12, qword [rbp + 0x40]
xor rdi, r8
mov r10, rdi
shl rdi, 0x20
shr r10, 0x20
or r10, rdi
lea r9, [r11 + r10]
mov rax, r9
xor rax, rcx
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp + 0x50]
add rax, rcx
add rax, r8
xor r10, rax
mov qword [rsp + 8], rax
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x50], rax
add rax, r9
mov qword [rsp + 0x28], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbp + 0x20]
add rcx, qword [rsp + 0x18]
add rcx, r13
xor rsi, rcx
mov r10, rsi
shl rsi, 0x20
shr r10, 0x20
or r10, rsi
lea r8, [r10 + rbx]
mov rax, r8
xor rax, qword [rsp + 0x18]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r12, r9
add r12, rcx
xor r10, r12
mov rax, r10
shl rax, 0x30
mov r13, qword [rbp + 0x48]
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x18], rax
add rax, r8
xor r9, rax
mov r8, qword [rbp - 0x10]
add r8, qword [rsp + 0x20]
mov r15, r9
add r8, qword [rsp + 0x10]
mov qword [rsp + 0x60], rax
xor r14, r8
lea rax, [r9 + r9]
shr r15, 0x3f
mov r9, qword [rsp + 0x40]
or r15, rax
add r13, r8
mov r10, r14
shr r10, 0x20
shl r14, 0x20
or r10, r14
add r9, r10
mov rax, r9
xor rax, qword [rsp + 0x20]
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r13, rcx
xor r10, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, qword [rsp + 0x48]
mov qword [rsp + 0x10], rax
lea r11, [r9 + rax]
mov r9, qword [rbp + 0x30]
add r9, qword [rsp + 0x38]
mov rax, r11
add r9, qword [rsp]
xor rax, rcx
mov rdi, rax
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov rax, qword [rsp + 0x58]
xor rax, r9
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, qword [rsp + 0x38]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, qword [rbp + 8]
add rax, r9
mov r9, qword [rbp + 0x10]
add rax, r8
add r9, r15
add r9, qword [rsp + 8]
mov qword [rsp + 0x48], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea rbx, [r10 + rcx]
mov rax, rbx
xor rax, r8
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, r9
xor rax, rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x58]
add rax, r9
mov r9, qword [rbp + 0x28]
add r9, r12
mov r12, qword [rbp + 0x18]
add r9, rdi
lea r10, [r11 + rcx]
add r12, r9
xor r15, r10
mov r8, r15
shr r15, 0x18
shl r8, 0x28
or r8, r15
add rax, r8
mov qword [rsp], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [r10 + rcx]
mov qword [rsp + 0x40], rax
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rsp + 0x50]
xor rax, r9
mov qword [rsp + 8], rcx
mov r9, qword [rsp + 0x28]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r10, [rbx + rcx]
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r12, r8
mov rax, r12
xor rax, rcx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
lea rax, [r10 + r14]
mov qword [rsp + 0x58], rax
xor rax, r8
mov r8, qword [rbp + 0x68]
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r8, r13
mov rax, qword [rsp + 0x18]
add r8, rsi
mov r13, qword [rbp + 0x60]
xor rax, r8
mov qword [rsp + 0x20], rcx
add r13, r8
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
mov rax, r9
xor rax, rsi
mov r10, rax
shr rax, 0x18
shl r10, 0x28
or r10, rax
add r13, r10
mov rax, r13
xor rax, rcx
mov r11, qword [rsp + 0x30]
mov r8, qword [rbp - 8]
mov rsi, rax
shr rax, 0x10
add r8, r11
add r8, qword [rsp + 0x48]
shl rsi, 0x30
or rsi, rax
lea rbx, [r9 + rsi]
mov r9, qword [rsp + 0x60]
xor r10, rbx
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x10]
mov qword [rsp + 0x18], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x38]
add rax, r8
add r9, rcx
mov r8, qword [rsp]
xor r11, r9
add r8, qword [rbp + 0x50]
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
add rax, r10
mov qword [rsp + 0x48], rax
xor rax, rcx
mov r15, rax
shr rax, 0x10
shl r15, 0x30
or r15, rax
lea rdi, [r15 + r9]
xor r10, rdi
mov r11, r10
shr r11, 0x3f
lea rax, [r10 + r10]
or r11, rax
add r8, r11
mov rax, r8
xor rax, r14
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x18]
add rax, r8
mov r8, qword [rbp - 8]
add r8, r12
lea r9, [rcx + rbx]
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
mov r11, qword [rsp + 8]
add rax, r10
mov qword [rsp], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rax, [rcx + r9]
xor r10, rax
mov qword [rsp + 0x50], rax
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov qword [rsp + 0x28], rcx
add r8, r11
mov r12, qword [rbp + 0x68]
mov rax, r8
mov rbx, qword [rsp + 0x18]
xor rax, rsi
mov rcx, rax
add r12, r8
mov r8, qword [rbp + 0x60]
shl rax, 0x20
add r8, r13
mov r13, qword [rbp + 0x40]
shr rcx, 0x20
or rcx, rax
lea r9, [rcx + rdi]
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
mov r11, qword [rsp + 0x20]
add r12, r10
add r8, r11
mov rax, r12
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 8], rcx
lea rax, [rcx + r9]
mov r9, qword [rsp + 0x40]
xor r10, rax
mov qword [rsp + 0x30], rax
mov rdi, r10
shr rdi, 0x3f
lea rax, [r10 + r10]
or rdi, rax
mov rax, r8
xor rax, r15
mov r15, qword [rbp + 0x58]
mov rcx, rax
add r15, r8
mov r8, qword [rsp + 0x48]
add r8, qword [rbp + 0x10]
shl rax, 0x20
add r8, rbx
shr rcx, 0x20
or rcx, rax
add r9, rcx
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
add r15, r10
mov rax, r15
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x20], rcx
lea r11, [rcx + r9]
mov r9, qword [rsp + 0x58]
xor r10, r11
mov rsi, r10
shr rsi, 0x3f
lea rax, [r10 + r10]
or rsi, rax
mov rax, r8
xor rax, qword [rsp + 0x38]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
xor rbx, r9
mov r10, rbx
shr rbx, 0x18
shl r10, 0x28
or r10, rbx
add r13, r8
add r13, r10
mov rax, r13
xor rax, rcx
mov rcx, qword [rbp - 0x10]
add rcx, qword [rsp]
mov r8, rax
add rcx, rdi
shr rax, 0x10
shl r8, 0x30
or r8, rax
lea rbx, [r8 + r9]
xor r8, rcx
xor r10, rbx
mov r14, r10
shr r14, 0x3f
lea rax, [r10 + r10]
mov r10, r8
or r14, rax
shr r10, 0x20
shl r8, 0x20
or r10, r8
lea r8, [r10 + r11]
mov r11, qword [rbp + 0x28]
xor rdi, r8
mov r9, rdi
shr rdi, 0x18
shl r9, 0x28
or r9, rdi
add r11, r9
add r11, rcx
xor r10, r11
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x40], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x18], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rbp + 0x20]
add rcx, r12
mov r12, qword [rbp + 8]
add rcx, rsi
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + rbx]
xor rsi, r8
mov r9, rsi
shr rsi, 0x18
shl r9, 0x28
or r9, rsi
add r12, r9
add r12, rcx
xor r10, r12
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [rsi + r8]
xor r9, rax
mov qword [rsp + 0x38], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov rax, qword [rsp + 8]
mov qword [rsp], rcx
mov rcx, qword [rbp + 0x38]
add rcx, r15
add rcx, r14
xor rax, rcx
mov r10, rax
mov r8, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x28]
shl rax, 0x20
shr r10, 0x20
or r10, rax
mov rax, qword [rbp]
add r8, r10
xor r14, r8
mov r9, r14
shr r14, 0x18
shl r9, 0x28
or r9, r14
add rax, r9
add rax, rcx
xor r10, rax
mov qword [rsp + 0x10], rax
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r14 + r8]
mov r8, qword [rsp + 0x30]
xor r9, rbx
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rcx
mov rcx, qword [rbp + 0x30]
add rcx, r13
mov r13, qword [rbp + 0x48]
add rcx, rdi
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor rdi, r8
mov r9, rdi
shr rdi, 0x18
shl r9, 0x28
or r9, rdi
add r13, r9
add r13, rcx
mov rcx, qword [rbp + 0x58]
xor r10, r13
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rdi, [r15 + r8]
xor r9, rdi
mov r10, r9
shr r10, 0x3f
lea rax, [r9 + r9]
or r10, rax
mov rax, qword [rbp + 0x48]
add rcx, r10
add rcx, r11
xor rsi, rcx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
add rax, r9
add rax, rcx
xor r11, rax
mov qword [rsp + 0x20], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x58], rax
mov r11, qword [rsp + 0x48]
add rax, r8
xor r9, rax
mov qword [rsp + 0x28], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbp + 0x28]
add rcx, r11
add rcx, r12
mov r12, qword [rbp + 0x60]
xor r14, rcx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rdi]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp]
add r12, r9
add r12, rcx
mov rcx, qword [rsp + 0x10]
xor r10, r12
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x50], rax
add rax, r8
mov r8, qword [rsp + 0x18]
xor r9, rax
mov qword [rsp + 0x60], rax
mov rsi, r9
shr rsi, 0x3f
lea rax, [r9 + r9]
or rsi, rax
mov rax, qword [rbp + 0x50]
add rax, r11
add rcx, rax
mov rax, qword [rbp - 8]
xor r15, rcx
mov r10, r15
shl r15, 0x20
shr r10, 0x20
or r10, r15
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
add rax, r9
add rax, rcx
mov rcx, qword [rbp + 8]
xor r10, rax
mov qword [rsp + 0x48], rax
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, qword [rsp + 8]
mov qword [rsp], rax
add rcx, r10
add rcx, r13
lea rbx, [rax + r8]
xor r9, rbx
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
mov rax, qword [rsp + 0x40]
xor rax, rcx
mov r11, rax
shr r11, 0x20
shl rax, 0x20
mov r8, qword [rsp + 0x38]
or r11, rax
mov r13, qword [rbp + 0x38]
add r8, r11
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
add r13, r9
add r13, rcx
mov rcx, qword [rsp + 0x20]
xor r11, r13
mov r10, r11
shr r11, 0x10
shl r10, 0x30
or r10, r11
lea rdi, [r10 + r8]
xor r9, rdi
mov r15, r9
shr r15, 0x3f
lea rax, [r9 + r9]
or r15, rax
mov rax, qword [rbp + 0x18]
add rax, rsi
add rcx, rax
mov rax, qword [rbp - 0x10]
xor r10, rcx
mov r11, r10
shl r10, 0x20
shr r11, 0x20
or r11, r10
lea r8, [r11 + rbx]
xor rsi, r8
mov r9, rsi
shr rsi, 0x18
shl r9, 0x28
or r9, rsi
add rax, r9
add rax, rcx
xor r11, rax
mov qword [rsp + 0x10], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x38], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x20], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 8], rcx
mov rcx, qword [rbp + 0x68]
add rcx, r14
add rcx, r12
mov r12, qword [rbp + 0x10]
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + rdi]
xor r14, r8
mov r9, r14
shr r14, 0x18
shl r9, 0x28
or r9, r14
add r12, r9
add r12, rcx
xor r10, r12
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [rsi + r8]
mov qword [rsp + 0x58], rax
xor r9, rax
mov r8, qword [rsp + 0x28]
lea rax, [r9 + r9]
mov r11, qword [rsp + 0x30]
mov rcx, r9
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rbp + 0x30]
add rax, r15
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, qword [rsp + 0x50]
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
mov rax, qword [rbp + 0x20]
add r8, r10
xor r15, r8
mov r9, r15
shr r15, 0x18
shl r9, 0x28
or r9, r15
add rax, r9
add rax, rcx
xor r10, rax
mov qword [rsp + 0x48], rax
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r14 + r8]
mov r8, qword [rsp + 0x60]
xor r9, rbx
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov rax, qword [rsp]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp]
add rcx, r11
add rcx, r13
mov r13, qword [rbp + 0x40]
xor rax, rcx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
add r13, r9
add r13, rcx
mov rcx, qword [rsp + 0x10]
xor r10, r13
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rdi, [r15 + r8]
xor r9, rdi
mov r10, r9
shr r10, 0x3f
lea rax, [r9 + r9]
or r10, rax
mov rax, qword [rbp + 0x20]
add rax, r10
add rcx, rax
xor rsi, rcx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
mov rax, qword [rbp + 0x68]
shr r10, 0x18
shl r9, 0x28
or r9, r10
add rax, r9
add rax, rcx
xor r11, rax
mov qword [rsp], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov r11, qword [rsp + 8]
mov qword [rsp + 0x10], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x50], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x60]
add rcx, r11
add rcx, r12
mov r12, qword [rbp + 0x38]
xor r14, rcx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rdi]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 0x18]
add r12, r9
add r12, rcx
mov rcx, qword [rsp + 0x48]
xor r10, r12
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 8], rax
add rax, r8
mov r8, qword [rsp + 0x20]
xor r9, rax
mov qword [rsp + 0x30], rax
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
mov rax, qword [rbp + 0x48]
add rax, r11
add rcx, rax
xor r15, rcx
mov r10, r15
shl r15, 0x20
shr r10, 0x20
or r10, r15
mov r15, qword [rbp + 8]
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
add r15, r9
add r15, rcx
xor r10, r15
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x48], rax
lea r11, [r8 + rax]
xor r9, r11
mov rdi, r9
mov rbx, qword [rsp + 0x40]
lea rax, [r9 + r9]
mov r9, qword [rbp - 0x10]
mov r10, qword [rsp + 0x58]
add r9, rbx
add r9, r13
shr rdi, 0x3f
mov r13, qword [rbp + 0x30]
or rdi, rax
add r13, r9
mov rax, r9
xor rax, qword [rsp + 0x38]
mov r9, qword [rbp + 0x50]
mov rcx, rax
shl rax, 0x20
add r9, r14
add r9, qword [rsp]
shr rcx, 0x20
or rcx, rax
add r10, rcx
xor rbx, r10
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
add r13, r8
mov rax, r13
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea rbx, [r10 + rcx]
mov rax, rbx
xor rax, r8
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, r9
xor rax, rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp]
add rax, r9
mov r9, qword [rbp + 0x58]
add r9, r12
add r9, rdi
lea r10, [r11 + rcx]
xor r14, r10
mov r8, r14
shr r14, 0x18
shl r8, 0x28
or r8, r14
add rax, r8
mov qword [rsp], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x40], rcx
lea rax, [r10 + rcx]
mov qword [rsp + 0x20], rax
xor rax, r8
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r9
xor rax, qword [rsp + 0x10]
mov qword [rsp + 0x18], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r10, [rbx + rcx]
mov rax, r10
xor rax, rdi
mov r12, qword [rbp + 0x28]
mov r8, rax
mov rbx, qword [rsp + 0x28]
add r12, r9
mov r9, qword [rsp + 0x50]
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r12, r8
mov rax, r12
xor rax, rcx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
lea rax, [r10 + r14]
mov qword [rsp + 0x38], rax
xor rax, r8
mov r8, qword [rbp - 8]
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r8, r15
mov rax, qword [rsp + 8]
add r8, rsi
mov r15, qword [rbp + 0x10]
xor rax, r8
mov r10, rax
mov qword [rsp + 0x10], rcx
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, rsi
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
add r15, rcx
add r15, r8
lea r8, [rbx + r13]
add r8, qword [rbp + 0x40]
xor r10, r15
mov r13, qword [rbp + 0x18]
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea r11, [r9 + rsi]
mov r9, qword [rsp + 0x30]
mov rax, r11
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x48]
mov r10, rax
mov qword [rsp + 8], rcx
shr r10, 0x20
shl rax, 0x20
or r10, rax
add r9, r10
xor rbx, r9
mov rcx, rbx
shr rbx, 0x18
shl rcx, 0x28
or rcx, rbx
add r13, rcx
add r13, r8
xor r10, r13
mov rdi, r10
shr r10, 0x10
shl rdi, 0x30
or rdi, r10
lea rbx, [r9 + rdi]
mov rax, rbx
xor rax, rcx
mov r8, qword [rbp + 0x40]
mov rcx, rax
add r8, qword [rsp]
add rax, rax
shr rcx, 0x3f
or rcx, rax
add r8, rcx
xor r14, r8
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r9, [r11 + r10]
mov rax, r9
xor rax, rcx
mov rcx, rax
shr rax, 0x18
shl rcx, 0x28
or rcx, rax
mov rax, qword [rbp]
add rax, rcx
add rax, r8
xor r10, rax
mov qword [rsp + 0x48], rax
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x58], rax
add rax, r9
mov qword [rsp + 0x50], rax
xor rax, rcx
mov rcx, rax
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x30]
add rcx, r12
add rcx, qword [rsp + 0x18]
xor rsi, rcx
mov r10, rsi
shl rsi, 0x20
shr r10, 0x20
or r10, rsi
lea r8, [r10 + rbx]
mov rax, r8
xor rax, qword [rsp + 0x18]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rbp + 0x10]
add rax, r9
add rax, rcx
mov rcx, qword [rbp + 0x28]
add rcx, qword [rsp + 0x10]
xor r10, rax
mov qword [rsp], rax
add rcx, r15
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x18], rax
add rax, r8
mov r8, qword [rsp + 0x20]
xor r9, rax
mov qword [rsp + 0x30], rax
mov rsi, r9
shr rsi, 0x3f
lea rax, [r9 + r9]
or rsi, rax
mov rax, rcx
xor rax, rdi
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
mov rax, r8
xor rax, qword [rsp + 0x10]
mov r12, qword [rbp + 0x18]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rbp + 0x20]
add rax, r9
add rax, rcx
mov rcx, qword [rbp - 8]
add rcx, qword [rsp + 8]
xor r10, rax
mov qword [rsp + 0x10], rax
add rcx, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x20], rax
lea rbx, [rax + r8]
mov r8, qword [rsp + 0x38]
xor r9, rbx
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
mov rax, rcx
xor rax, qword [rsp + 0x40]
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r8, r11
mov rax, r8
xor rax, qword [rsp + 8]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r12, r9
add r12, rcx
mov rcx, qword [rsp + 0x48]
xor r11, r12
mov r10, r11
shr r11, 0x10
shl r10, 0x30
or r10, r11
lea rdi, [r10 + r8]
xor r9, rdi
mov r15, r9
shr r15, 0x3f
lea rax, [r9 + r9]
or r15, rax
mov rax, qword [rbp + 0x68]
add rax, rsi
add rcx, rax
mov rax, qword [rbp + 0x48]
xor r10, rcx
mov r11, r10
shl r10, 0x20
shr r11, 0x20
or r11, r10
lea r8, [r11 + rbx]
xor rsi, r8
mov r9, rsi
shr rsi, 0x18
shl r9, 0x28
or r9, rsi
add rax, r9
add rax, rcx
xor r11, rax
mov qword [rsp + 0x48], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x60], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x38], rax
mov rcx, r9
mov r13, qword [rbp + 0x50]
lea rax, [r9 + r9]
shr rcx, 0x3f
or rcx, rax
mov rax, qword [rbp + 0x38]
add rax, r14
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
add rcx, rax
mov rax, rcx
xor rax, qword [rsp + 0x58]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
mov rax, qword [rbp + 0x60]
lea r8, [r10 + rdi]
xor r14, r8
mov r9, r14
shr r14, 0x18
shl r9, 0x28
or r9, r14
add rax, r9
add rax, rcx
xor r10, rax
mov qword [rsp], rax
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [rsi + r8]
mov r8, qword [rsp + 0x50]
xor r9, rax
mov qword [rsp + 0x58], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov rax, qword [rbp + 8]
add rax, r15
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x10]
add rcx, rax
mov rax, rcx
xor rax, qword [rsp + 0x18]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor r15, r8
mov r9, r15
shr r15, 0x18
shl r9, 0x28
or r9, r15
add r13, r9
add r13, rcx
xor r10, r13
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r14 + r8]
mov r8, qword [rbp + 0x58]
xor r9, rbx
add r8, r12
add r8, qword [rsp + 0x28]
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
mov r9, qword [rsp + 0x30]
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x20]
mov qword [rsp + 0x10], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
mov rax, r9
xor rax, qword [rsp + 0x28]
mov r12, qword [rbp - 0x10]
mov r10, rax
shr rax, 0x18
shl r10, 0x28
or r10, rax
add r12, r10
add r12, r8
mov r8, qword [rbp - 0x10]
mov rax, r12
xor rax, rcx
mov r15, rax
shr rax, 0x10
shl r15, 0x30
or r15, rax
lea rdi, [r15 + r9]
xor r10, rdi
mov r11, r10
shr r11, 0x3f
lea rax, [r10 + r10]
or r11, rax
add r8, r11
add r8, qword [rsp + 0x48]
mov rax, r8
xor rax, rsi
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp - 8]
lea r9, [rcx + rbx]
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
mov r11, qword [rsp + 8]
add rax, r10
add rax, r8
mov r8, qword [rbp]
mov qword [rsp + 0x48], rax
add r8, r11
add r8, qword [rsp]
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x18], rcx
lea rax, [rcx + r9]
xor r10, rax
mov qword [rsp + 0x50], rax
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov rax, r8
xor rax, r14
mov qword [rsp + 0x28], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 8]
lea r9, [rcx + rdi]
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
add rax, r10
add rax, r8
mov qword [rsp], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x20], rcx
lea rax, [rcx + r9]
mov qword [rsp + 0x30], rax
mov r11, qword [rsp + 0x40]
xor r10, rax
mov r8, qword [rbp + 0x10]
mov rdi, r10
mov r9, qword [rsp + 0x38]
add r8, r13
mov rbx, qword [rsp + 0x10]
add r8, r11
lea rax, [r10 + r10]
shr rdi, 0x3f
or rdi, rax
mov rax, r8
xor rax, r15
mov r15, qword [rbp + 0x28]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x18]
add rax, r8
add r9, rcx
mov r8, qword [rbp + 0x20]
xor r11, r9
add r8, r12
mov r10, r11
add r8, rbx
shl r10, 0x28
shr r11, 0x18
add r15, r8
or r10, r11
add rax, r10
mov qword [rsp + 8], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x40], rcx
lea r11, [rcx + r9]
mov r9, qword [rsp + 0x58]
xor r10, r11
mov rsi, r10
shr rsi, 0x3f
lea rax, [r10 + r10]
or rsi, rax
mov rax, r8
xor rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
xor rbx, r9
mov r10, rbx
shr rbx, 0x18
shl r10, 0x28
or r10, rbx
add r15, r10
mov rax, r15
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea rbx, [rcx + r9]
xor r10, rbx
mov r14, r10
shr r14, 0x3f
lea rax, [r10 + r10]
or r14, rax
mov rax, qword [rbp + 0x30]
add rax, rdi
add r8, rax
mov rax, r8
xor rax, rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r9, [rcx + r11]
mov r12, qword [rbp + 0x38]
xor rdi, r9
add r12, r8
mov r10, rdi
mov r8, qword [rbp + 0x40]
shl r10, 0x28
add r8, rsi
add r8, qword [rsp]
shr rdi, 0x18
or r10, rdi
add r12, r10
mov rax, r12
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x58], rcx
lea rax, [rcx + r9]
xor r10, rax
mov qword [rsp + 0x38], rax
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x18]
mov qword [rsp + 0x48], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r9, [rcx + rbx]
xor rsi, r9
mov r10, rsi
shr rsi, 0x18
shl r10, 0x28
or r10, rsi
lea r13, [r8 + r10]
mov r8, qword [rbp + 0x50]
add r13, qword [rbp + 0x48]
add r8, r14
add r8, qword [rsp + 8]
mov rax, r13
xor rax, rcx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea rax, [rsi + r9]
mov r9, qword [rsp + 0x50]
xor r10, rax
mov qword [rsp + 0x60], rax
mov rcx, r10
shr rcx, 0x3f
lea rax, [r10 + r10]
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x20]
mov qword [rsp + 0x10], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
xor r14, r9
mov r10, r14
shr r14, 0x18
shl r10, 0x28
or r10, r14
lea rax, [r8 + r10]
add rax, qword [rbp + 0x58]
mov qword [rsp], rax
xor rax, rcx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
lea rbx, [r14 + r9]
xor r10, rbx
mov rcx, r10
mov r11, qword [rsp + 0x28]
lea rax, [r10 + r10]
mov r8, qword [rbp + 0x60]
mov r9, qword [rsp + 0x30]
add r8, r15
add r8, r11
shr rcx, 0x3f
or rcx, rax
mov rax, r8
xor rax, qword [rsp + 0x40]
mov qword [rsp + 0x18], rcx
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r9, rcx
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
lea rax, [r8 + r10]
add rax, qword [rbp + 0x68]
mov qword [rsp + 8], rax
xor rax, rcx
mov rcx, qword [rbp + 0x60]
mov r15, rax
shr rax, 0x10
shl r15, 0x30
or r15, rax
lea rdi, [r15 + r9]
xor r10, rdi
mov r11, r10
shr r11, 0x3f
lea rax, [r10 + r10]
or r11, rax
lea rax, [r11 + r12]
add rcx, rax
mov rax, rcx
xor rax, rsi
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + rbx]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 0x48]
lea r12, [rcx + r9]
add r12, qword [rbp + 0x40]
xor r10, r12
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x20], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x50], rax
mov rcx, r9
shr rcx, 0x3f
lea rax, [r9 + r9]
or rcx, rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x10]
add rcx, r13
add rcx, r11
xor r14, rcx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rdi]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 0x10]
mov rax, qword [rbp + 0x30]
add rax, r9
add rax, rcx
mov rcx, qword [rsp]
add rcx, qword [rbp + 0x38]
xor r10, rax
mov qword [rsp + 0x48], rax
add rcx, r11
mov rax, r10
xor r15, rcx
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov r10, r15
mov qword [rsp + 0x40], rax
add rax, r8
mov r8, qword [rsp + 0x38]
xor r9, rax
mov qword [rsp + 0x68], rax
mov r14, r9
shr r10, 0x20
shl r15, 0x20
lea rax, [r9 + r9]
shr r14, 0x3f
or r14, rax
or r10, r15
mov rax, qword [rbp + 0x68]
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 0x18]
add rax, r9
add rax, rcx
xor r10, rax
mov qword [rsp], rax
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
lea rbx, [rax + r8]
xor r9, rbx
mov rsi, r9
shr rsi, 0x3f
lea rax, [r9 + r9]
mov r9, qword [rsp + 8]
or rsi, rax
add r9, r11
add r9, qword [rbp + 0x58]
mov rax, qword [rsp + 0x58]
xor rax, r9
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 0x20]
add r10, rcx
add rax, r9
xor r11, r10
mov r8, r11
shr r11, 0x18
shl r8, 0x28
or r8, r11
add rax, r8
mov qword [rsp + 0x10], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea r11, [r10 + rcx]
mov rax, r11
xor rax, r8
mov rdi, rax
shr rdi, 0x3f
add rax, rax
mov r9, qword [rbp - 8]
or rdi, rax
mov r13, qword [rbp + 0x50]
add r9, r14
add r9, r12
add r13, r9
mov rax, r9
xor rax, rcx
mov r9, qword [rbp - 0x10]
mov rcx, rax
add r9, rsi
add r9, qword [rsp + 0x48]
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
lea r10, [rbx + rcx]
xor r14, r10
mov r8, r14
shr r14, 0x18
shl r8, 0x28
or r8, r14
mov r14, qword [rbp]
add r13, r8
add r14, r9
mov rax, r13
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x18], rcx
lea r12, [r10 + rcx]
mov rax, r12
xor rax, r8
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x20]
xor rax, r9
mov r9, qword [rsp]
add r9, qword [rbp + 0x48]
mov rcx, rax
shl rax, 0x20
add r9, rdi
shr rcx, 0x20
or rcx, rax
lea r10, [r11 + rcx]
xor rsi, r10
mov r8, rsi
shr rsi, 0x18
shl r8, 0x28
or r8, rsi
add r14, r8
mov rax, r14
xor rax, rcx
mov r15, rax
shr rax, 0x10
shl r15, 0x30
or r15, rax
lea rsi, [r10 + r15]
mov r10, qword [rsp + 0x50]
mov rax, rsi
xor rax, r8
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
xor rax, r9
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
add r10, rcx
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, qword [rbp + 0x28]
add rax, r9
add rax, r8
mov qword [rsp + 0x30], rax
xor rax, rcx
mov rbx, rax
mov rdi, qword [rsp + 0x28]
mov r9, qword [rbp + 0x18]
add r9, rdi
shr rax, 0x10
add r9, qword [rsp + 0x10]
shl rbx, 0x30
or rbx, rax
lea r11, [r10 + rbx]
mov r10, qword [rsp + 0x68]
mov rax, r11
xor rax, r8
mov qword [rsp], rax
mov rax, qword [rsp + 0x38]
xor rax, r9
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
mov rax, qword [rbp + 8]
add rax, r9
add r10, rcx
mov r9, qword [rsp + 0x78]
xor rdi, r10
mov r8, rdi
xor r9, r11
xor r9, r13
shr rdi, 0x18
mov r13, qword [rbp - 0x80]
mov qword [rsp + 0x68], r9
shl r8, 0x28
or r8, rdi
add rax, r8
mov qword [rsp + 0x60], rax
xor rax, rcx
mov rcx, rax
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
lea rax, [r10 + rcx]
mov r10, qword [rsp + 0x60]
xor r10, rsi
xor r13, rax
xor r10, qword [rbp - 0x70]
xor r13, r14
mov rsi, qword [rsp + 8]
mov rdi, rax
mov r14, qword [rsp + 0x68]
xor rdi, r8
mov r8, qword [rbp - 0x38]
ror rsi, 0x3f
xor rsi, qword [rbp - 0x60]
xor rsi, rbx
ror rdi, 0x3f
xor rdi, qword [rbp - 0x68]
mov rbx, qword [rsp + 0x48]
xor rdi, r15
mov r15, qword [rsp]
mov qword [r8], r9
mov r9, qword [rsp + 0x30]
mov qword [r8 + 8], r13
xor r9, r12
xor r9, qword [rbp - 0x78]
mov qword [r8 + 0x10], r9
mov qword [r8 + 0x18], r10
ror rbx, 0x3f
xor rbx, qword [rbp - 0x58]
ror r15, 0x3f
xor rbx, rcx
mov rcx, qword [rbp - 0x30]
xor r15, qword [rbp - 0x50]
add rdx, rcx
xor r15, qword [rsp + 0x18]
sub qword [rsp + 0x70], rcx
mov qword [r8 + 0x20], rdi
mov qword [r8 + 0x28], rsi
mov qword [r8 + 0x30], rbx
mov qword [r8 + 0x38], r15
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r13
mov r11, qword [rbp - 0x28]
mov r12, r9
mov qword [rbp - 0x70], r10
mov r10, qword [rbp - 0x20]
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], r15
jne 0x140317a10
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1404a5b80
lea r11, [rsp + 0x180]
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