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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov r11, qword [rcx + 0x20]
mov r13, rcx
mov rax, qword [rcx]
mov r12, rdx
mov r10, qword [rcx + 8]
mov r15, rax
mov r9, qword [rcx + 0x10]
mov rbx, qword [rdx]
mov rdx, r11
mov rdi, qword [rcx + 0x30]
mov rsi, qword [rcx + 0x28]
mov rcx, rdi
mov r8, qword [r13 + 0x18]
xor rcx, rsi
mov r14, qword [r12 + 8]
and rcx, r11
mov qword [rsp + 0x70], rax
xor rcx, rdi
shr rdx, 0x17
mov rax, r11
shl rax, 4
xor rdx, r11
xor rax, r11
shr rdx, 4
shl rax, 0x17
xor rdx, r11
xor rax, r11
shr rdx, 0xe
shl rax, 0x17
xor rax, rdx
movabs rdx, 0x428a2f98d728ae22
add rax, qword [r13 + 0x38]
add rcx, rax
mov rax, r15
add rdx, rcx
shl rax, 6
xor rax, r15
mov rcx, r15
shl rax, 5
xor rax, r15
shr rcx, 5
shl rax, 0x19
xor rcx, r15
shr rcx, 6
xor rcx, r15
bswap rbx
add rdx, rbx
shr rcx, 0x1c
xor rcx, rax
mov qword [rsp + 0x38], rbx
add r8, rdx
mov rbx, r10
xor rbx, r15
mov rax, r10
and rax, r15
and rbx, r9
xor rbx, rax
lea rax, [rdx + rcx]
add rbx, rax
mov rdx, r8
shr rdx, 0x17
mov rax, r8
shl rax, 4
xor rdx, r8
xor rax, r8
shr rdx, 4
shl rax, 0x17
xor rdx, r8
xor rax, r8
shr rdx, 0xe
shl rax, 0x17
mov rcx, rsi
xor rcx, r11
xor rax, rdx
bswap r14
and rcx, r8
mov qword [rsp + 0x18], r14
add rax, r14
xor rcx, rsi
add rcx, rax
movabs rdx, 0x7137449123ef65cd
add rdx, rcx
mov r14, qword [r12 + 0x10]
add rdx, rdi
mov rcx, rbx
add r9, rdx
shr rcx, 5
xor rcx, rbx
mov rax, rbx
shl rax, 6
mov rdi, rbx
xor rax, rbx
shr rcx, 6
shl rax, 5
xor rcx, rbx
xor rax, rbx
shr rcx, 0x1c
shl rax, 0x19
xor rdi, r15
xor rcx, rax
and rdi, r10
bswap r14
mov rax, rbx
mov qword [rsp + 0xe0], r14
and rax, r15
xor rdi, rax
lea rax, [rdx + rcx]
add rdi, rax
mov rdx, r9
shr rdx, 0x17
mov rax, r9
shl rax, 4
xor rdx, r9
xor rax, r9
shr rdx, 4
shl rax, 0x17
xor rdx, r9
xor rax, r9
shr rdx, 0xe
shl rax, 0x17
mov rcx, r11
xor rax, rdx
xor rcx, r8
add rax, r14
and rcx, r9
mov r14, qword [r12 + 0x18]
xor rcx, r11
add rcx, rax
movabs rdx, 0xb5c0fbcfec4d3b2f
add rdx, rcx
mov rax, rdi
add rdx, rsi
shl rax, 6
xor rax, rdi
add r10, rdx
shl rax, 5
mov rcx, rdi
shr rcx, 5
xor rax, rdi
shl rax, 0x19
xor rcx, rdi
shr rcx, 6
mov rsi, rbx
xor rsi, rdi
xor rcx, rdi
and rsi, r15
shr rcx, 0x1c
xor rcx, rax
mov rax, rbx
and rax, rdi
xor rsi, rax
bswap r14
lea rax, [rdx + rcx]
mov qword [rsp + 0xe8], r14
add rsi, rax
mov rdx, r10
shr rdx, 0x17
mov rax, r10
xor rdx, r10
shr rdx, 4
xor rdx, r10
shr rdx, 0xe
shl rax, 4
mov rcx, r8
xor rax, r10
xor rcx, r9
shl rax, 0x17
and rcx, r10
xor rax, r10
xor rcx, r8
shl rax, 0x17
mov rbp, rdi
xor rax, rdx
xor rbp, rsi
add rax, r14
and rbp, rbx
add rcx, rax
movabs rdx, 0xe9b5dba58189dbbc
add rdx, rcx
mov rax, rsi
shl rax, 6
add rdx, r11
mov r11, qword [r12 + 0x20]
xor rax, rsi
shl rax, 5
add r15, rdx
xor rax, rsi
mov rcx, rsi
shl rax, 0x19
mov r14, rsi
shr rcx, 5
xor rcx, rsi
shr rcx, 6
xor rcx, rsi
shr rcx, 0x1c
xor rcx, rax
mov rax, rdi
and rax, rsi
xor rbp, rax
bswap r11
lea rax, [rdx + rcx]
mov qword [rsp], r11
add rbp, rax
mov rdx, r15
shr rdx, 0x17
xor r14, rbp
xor rdx, r15
mov rax, r15
shl rax, 4
mov rcx, r9
xor rax, r15
shr rdx, 4
shl rax, 0x17
xor rcx, r10
xor rax, r15
and rcx, r15
shl rax, 0x17
xor rcx, r9
xor rdx, r15
and r14, rdi
shr rdx, 0xe
xor rax, rdx
movabs rdx, 0x3956c25bf348b538
add rax, r8
add rcx, rax
mov rax, rbp
add rdx, rcx
shl rax, 6
xor rax, rbp
add rdx, r11
shl rax, 5
mov rcx, rbp
shr rcx, 5
xor rax, rbp
xor rcx, rbp
shl rax, 0x19
shr rcx, 6
add rbx, rdx
xor rcx, rbp
shr rcx, 0x1c
xor rcx, rax
mov rax, rsi
and rax, rbp
mov r8, qword [r12 + 0x28]
xor r14, rax
lea rax, [rdx + rcx]
mov r11, rbp
add r14, rax
mov rdx, rbx
shr rdx, 0x17
xor r11, r14
xor rdx, rbx
and r11, rsi
shr rdx, 4
mov rax, rbx
shl rax, 4
xor rdx, rbx
xor rax, rbx
shr rdx, 0xe
shl rax, 0x17
mov rcx, r10
xor rax, rbx
xor rcx, r15
shl rax, 0x17
and rcx, rbx
xor rax, rdx
xor rcx, r10
bswap r8
add rax, r8
mov qword [rsp + 8], r8
add rcx, rax
mov r8, qword [r12 + 0x30]
movabs rdx, 0x59f111f1b605d019
mov rax, r14
add rdx, rcx
shl rax, 6
xor rax, r14
add rdx, r9
shl rax, 5
add rdi, rdx
xor rax, r14
mov rcx, r14
shr rcx, 5
xor rcx, r14
shl rax, 0x19
shr rcx, 6
xor rcx, r14
shr rcx, 0x1c
xor rcx, rax
mov rax, rbp
and rax, r14
xor r11, rax
bswap r8
lea rax, [rdx + rcx]
mov qword [rsp + 0x30], r8
add r11, rax
mov rdx, rdi
shr rdx, 0x17
mov rax, rdi
shl rax, 4
xor rdx, rdi
xor rax, rdi
shr rdx, 4
shl rax, 0x17
xor rdx, rdi
shr rdx, 0xe
xor rax, rdi
shl rax, 0x17
mov rcx, rbx
xor rcx, r15
xor rax, rdx
and rcx, rdi
add rax, r8
xor rcx, r15
movabs rdx, 0x923f82a4af194f9b
add rcx, rax
add rdx, rcx
mov rcx, r11
shr rcx, 5
add rdx, r10
xor rcx, r11
add rsi, rdx
shr rcx, 6
xor rcx, r11
mov r8, qword [r12 + 0x38]
mov rax, r11
shl rax, 6
mov r10, r14
xor rax, r11
shr rcx, 0x1c
shl rax, 5
xor r10, r11
xor rax, r11
and r10, rbp
shl rax, 0x19
mov r9, r11
xor rcx, rax
mov rax, r14
and rax, r11
xor r10, rax
bswap r8
lea rax, [rdx + rcx]
mov qword [rsp + 0x28], r8
add r10, rax
mov rdx, rsi
shr rdx, 0x17
xor r9, r10
xor rdx, rsi
and r9, r14
shr rdx, 4
mov rax, rsi
shl rax, 4
xor rdx, rsi
xor rax, rsi
shr rdx, 0xe
shl rax, 0x17
mov rcx, rbx
xor rax, rsi
xor rcx, rdi
shl rax, 0x17
and rcx, rsi
xor rax, rdx
xor rcx, rbx
add rax, r8
movabs rdx, 0xab1c5ed5da6d8118
mov r8, qword [r12 + 0x40]
add rcx, rax
add rdx, rcx
mov rax, r10
shl rax, 6
add rdx, r15
xor rax, r10
add rbp, rdx
shl rax, 5
mov rcx, r10
xor rax, r10
shr rcx, 5
shl rax, 0x19
xor rcx, r10
shr rcx, 6
xor rcx, r10
shr rcx, 0x1c
xor rcx, rax
mov rax, r11
and rax, r10
xor r9, rax
bswap r8
lea rax, [rdx + rcx]
mov qword [rsp + 0x68], r8
add r9, rax
mov rdx, rbp
shr rdx, 0x17
mov rax, rbp
shl rax, 4
xor rdx, rbp
xor rax, rbp
shr rdx, 4
shl rax, 0x17
xor rdx, rbp
xor rax, rbp
shr rdx, 0xe
shl rax, 0x17
mov rcx, rdi
xor rax, rdx
xor rcx, rsi
mov r13, qword [r12 + 0x48]
add rax, r8
and rcx, rbp
mov rdx, r9
xor rcx, rdi
shr rdx, 5
add rcx, rax
xor rdx, r9
shr rdx, 6
mov rax, r9
xor rdx, r9
shl rax, 6
shr rdx, 0x1c
xor rax, r9
shl rax, 5
movabs r8, 0xd807aa98a3030242
add r8, rcx
xor rax, r9
add r8, rbx
shl rax, 0x19
mov rbx, qword [r12 + 0x50]
xor rdx, rax
add r14, r8
mov rax, r10
xor rax, r9
mov rcx, r10
and rcx, r9
and rax, r11
xor rax, rcx
lea rcx, [r8 + rdx]
add rax, rcx
mov r8, r14
shr r8, 0x17
mov rcx, r14
shl rcx, 4
xor r8, r14
xor rcx, r14
shr r8, 4
shl rcx, 0x17
xor r8, r14
xor rcx, r14
shr r8, 0xe
shl rcx, 0x17
mov rdx, rsi
xor rcx, r8
xor rdx, rbp
and rdx, r14
movabs r8, 0x12835b0145706fbe
xor rdx, rsi
mov r15, rax
xor r15, r9
and r15, r10
bswap r13
add rcx, r13
add rdx, rcx
mov rcx, rax
add r8, rdx
shl rcx, 6
xor rcx, rax
add r8, rdi
shl rcx, 5
add r11, r8
xor rcx, rax
mov rdx, rax
shr rdx, 5
xor rdx, rax
shl rcx, 0x19
shr rdx, 6
xor rdx, rax
shr rdx, 0x1c
xor rdx, rcx
mov rcx, rax
and rcx, r9
xor r15, rcx
bswap rbx
lea rcx, [r8 + rdx]
mov qword [rsp + 0x40], rbx
mov r8, r11
add r15, rcx
shr r8, 0x17
xor r8, r11
shr r8, 4
mov rcx, r11
shl rcx, 4
xor r8, r11
xor rcx, r11
shr r8, 0xe
shl rcx, 0x17
mov rdx, rbp
xor rcx, r11
xor rdx, r14
shl rcx, 0x17
and rdx, r11
xor rcx, r8
xor rdx, rbp
add rcx, rbx
movabs r8, 0x243185be4ee4b28c
add rdx, rcx
mov rbx, qword [r12 + 0x58]
add r8, rdx
mov rcx, r15
shl rcx, 6
add r8, rsi
xor rcx, r15
add r10, r8
shl rcx, 5
mov rdx, r15
xor rcx, r15
shr rdx, 5
shl rcx, 0x19
xor rdx, r15
shr rdx, 6
mov rdi, rax
xor rdx, r15
xor rdi, r15
shr rdx, 0x1c
and rdi, r9
xor rdx, rcx
mov rsi, r15
bswap rbx
mov rcx, rax
mov qword [rsp + 0x48], rbx
and rcx, r15
xor rdi, rcx
lea rcx, [r8 + rdx]
add rdi, rcx
mov r8, r10
shr r8, 0x17
mov rcx, r10
shl rcx, 4
xor r8, r10
xor rcx, r10
shr r8, 4
shl rcx, 0x17
xor r8, r10
xor rcx, r10
shr r8, 0xe
shl rcx, 0x17
mov rdx, r14
xor rcx, r8
xor rdx, r11
and rdx, r10
add rcx, rbx
xor rdx, r14
movabs r8, 0x550c7dc3d5ffb4e2
add rdx, rcx
mov rcx, rdi
add r8, rdx
shl rcx, 6
xor rcx, rdi
add r8, rbp
shl rcx, 5
mov rdx, rdi
shr rdx, 5
xor rcx, rdi
xor rdx, rdi
shl rcx, 0x19
shr rdx, 6
add r9, r8
xor rdx, rdi
shr rdx, 0x1c
xor rdx, rcx
mov rbx, qword [r12 + 0x60]
xor rsi, rdi
and rsi, rax
mov rcx, r15
and rcx, rdi
mov rbp, rdi
xor rsi, rcx
lea rcx, [r8 + rdx]
add rsi, rcx
mov r8, r9
shr r8, 0x17
xor rbp, rsi
xor r8, r9
and rbp, r15
shr r8, 4
mov rcx, r9
shl rcx, 4
xor r8, r9
xor rcx, r9
shr r8, 0xe
shl rcx, 0x17
mov rdx, r11
xor rcx, r9
xor rdx, r10
shl rcx, 0x17
and rdx, r9
xor rcx, r8
xor rdx, r11
bswap rbx
add rcx, rbx
mov qword [rsp + 0x20], rbx
add rdx, rcx
mov rbx, qword [r12 + 0x68]
movabs r8, 0x72be5d74f27b896f
mov rcx, rsi
add r8, rdx
shl rcx, 6
xor rcx, rsi
add r8, r14
shl rcx, 5
add rax, r8
xor rcx, rsi
mov rdx, rsi
shl rcx, 0x19
shr rdx, 5
xor rdx, rsi
shr rdx, 6
xor rdx, rsi
shr rdx, 0x1c
xor rdx, rcx
mov rcx, rdi
and rcx, rsi
xor rbp, rcx
bswap rbx
lea rcx, [r8 + rdx]
mov qword [rsp + 0x10], rbx
add rbp, rcx
mov r8, rax
shr r8, 0x17
mov rcx, rax
shl rcx, 4
xor r8, rax
xor rcx, rax
shr r8, 4
shl rcx, 0x17
xor r8, rax
shr r8, 0xe
xor rcx, rax
shl rcx, 0x17
mov rdx, r10
xor rdx, r9
xor rcx, r8
and rdx, rax
add rcx, rbx
xor rdx, r10
movabs r8, 0x80deb1fe3b1696b1
add rdx, rcx
add r8, rdx
mov rdx, rbp
add r8, r11
add r15, r8
mov r11, qword [r12 + 0x70]
mov rcx, rbp
shl rcx, 6
mov r14, rsi
xor rcx, rbp
shr rdx, 5
shl rcx, 5
xor rdx, rbp
xor rcx, rbp
shr rdx, 6
shl rcx, 0x19
xor rdx, rbp
shr rdx, 0x1c
xor r14, rbp
xor rdx, rcx
and r14, rdi
bswap r11
mov rcx, rsi
mov qword [rsp + 0x50], r11
and rcx, rbp
mov rbx, rbp
xor r14, rcx
lea rcx, [r8 + rdx]
add r14, rcx
mov r8, r15
shr r8, 0x17
xor rbx, r14
xor r8, r15
and rbx, rsi
shr r8, 4
mov rcx, r15
shl rcx, 4
xor r8, r15
xor rcx, r15
shr r8, 0xe
shl rcx, 0x17
mov rdx, rax
xor rcx, r15
xor rdx, r9
shl rcx, 0x17
and rdx, r15
xor rcx, r8
xor rdx, r9
add rcx, r11
movabs r8, 0x9bdc06a725c71235
add rdx, rcx
mov rcx, r14
add r8, rdx
shl rcx, 6
xor rcx, r14
add r8, r10
mov r10, qword [r12 + 0x78]
add rdi, r8
shl rcx, 5
mov rdx, r14
xor rcx, r14
shr rdx, 5
shl rcx, 0x19
xor rdx, r14
shr rdx, 6
xor rdx, r14
shr rdx, 0x1c
xor rdx, rcx
mov rcx, rbp
and rcx, r14
xor rbx, rcx
bswap r10
lea rcx, [r8 + rdx]
mov qword [rsp + 0x58], r10
add rbx, rcx
mov r8, rdi
shr r8, 0x17
mov rcx, rdi
xor r8, rdi
shl rcx, 4
shr r8, 4
xor rcx, rdi
xor r8, rdi
shl rcx, 0x17
shr r8, 0xe
xor rcx, rdi
mov r12, qword [rsp + 0x68]
mov rdx, rax
shl rcx, 0x17
xor rdx, r15
xor rcx, r8
mov qword [rsp + 0x60], 4
add rcx, r10
and rdx, rdi
xor rdx, rax
lea r10, [0x140111080]
add rdx, rcx
mov qword [rsp + 0xd8], r10
movabs r8, 0xc19bf174cf692694
mov rcx, rbx
add r8, rdx
shl rcx, 6
xor rcx, rbx
add r8, r9
shl rcx, 5
mov rdx, rbx
shr rdx, 5
xor rcx, rbx
xor rdx, rbx
shl rcx, 0x19
shr rdx, 6
mov r9, r14
xor rdx, rbx
xor r9, rbx
shr rdx, 0x1c
and r9, rbp
xor rdx, rcx
add rsi, r8
mov rcx, r14
and rcx, rbx
xor r9, rcx
lea rcx, [r8 + rdx]
add r9, rcx
nop dword [rax]
mov rdx, qword [rsp + 0x18]
mov r8, rdx
mov rcx, rdx
shl rcx, 7
xor rcx, rdx
shr r8, 1
xor r8, rdx
shl rcx, 0x38
shr r8, 6
xor r8, rdx
mov rdx, r11
shr rdx, 0x2a
xor rdx, r11
shr r8, 1
xor r8, rcx
shr rdx, 0xd
add r8, qword [rsp + 0x38]
xor rdx, r11
shr rdx, 6
mov rcx, r11
shl rcx, 0x2a
xor rcx, r11
shl rcx, 3
xor rdx, rcx
mov rcx, rsi
add r8, rdx
shl rcx, 4
xor rcx, rsi
add r8, r13
shl rcx, 0x17
mov rdx, rsi
shr rdx, 0x17
xor rcx, rsi
xor rdx, rsi
shl rcx, 0x17
shr rdx, 4
xor rdx, rsi
mov qword [rsp + 0x38], r8
shr rdx, 0xe
xor rdx, rcx
mov rcx, r15
xor rcx, rdi
and rcx, rsi
xor rcx, r15
add rdx, rcx
mov rcx, r9
add rdx, qword [r10 - 0x10]
mov r10, rbx
add rdx, r8
shr rcx, 5
add rdx, rax
xor rcx, r9
add rbp, rdx
shr rcx, 6
xor rcx, r9
xor r10, r9
shr rcx, 0x1c
and r10, r14
mov rax, r9
shl rax, 6
xor rax, r9
shl rax, 5
xor rax, r9
shl rax, 0x19
xor rcx, rax
mov rax, rbx
and rax, r9
xor r10, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
add r10, rax
mov rdx, rcx
shr rdx, 1
mov rax, rcx
xor rdx, rcx
shl rax, 7
shr rdx, 6
xor rax, rcx
xor rdx, rcx
shr rdx, 1
shl rax, 0x38
xor rdx, rax
mov r8, qword [rsp + 0x58]
mov rcx, r8
mov rax, r8
shl rax, 0x2a
mov r11, r10
xor rax, r8
shr rcx, 0x2a
shl rax, 3
xor rcx, r8
shr rcx, 0xd
xor r11, r9
xor rcx, r8
and r11, rbx
shr rcx, 6
xor rcx, rax
mov rax, qword [rsp + 0x18]
add rax, rdx
mov rdx, rbp
add rcx, rax
shr rdx, 0x17
add rcx, qword [rsp + 0x40]
xor rdx, rbp
shr rdx, 4
mov rax, rbp
shl rax, 4
xor rdx, rbp
xor rax, rbp
mov qword [rsp + 0x18], rcx
shl rax, 0x17
xor rax, rbp
shr rdx, 0xe
shl rax, 0x17
xor rdx, rax
mov rax, rdi
xor rax, rsi
and rax, rbp
xor rax, rdi
add rdx, rax
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax - 8]
mov rax, r10
add rdx, rcx
shl rax, 6
xor rax, r10
add rdx, r15
mov r15, qword [rsp + 0x38]
add r14, rdx
shl rax, 5
mov rcx, r10
shr rcx, 5
xor rax, r10
xor rcx, r10
shl rax, 0x19
shr rcx, 6
xor rcx, r10
shr rcx, 0x1c
xor rcx, rax
mov rax, r10
and rax, r9
xor r11, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe8]
mov rdx, rcx
add r11, rax
mov rax, rcx
shr rdx, 1
xor rdx, rcx
shl rax, 7
xor rax, rcx
shr rdx, 6
xor rdx, rcx
shl rax, 0x38
shr rdx, 1
mov rcx, r15
shr rcx, 0x2a
xor rdx, rax
xor rcx, r15
shr rcx, 0xd
xor rcx, r15
shr rcx, 6
mov rax, r15
shl rax, 0x2a
xor rax, r15
shl rax, 3
xor rcx, rax
mov rax, qword [rsp + 0xe0]
add rax, rdx
mov rdx, rsi
add rcx, rax
xor rdx, rbp
mov rax, qword [rsp + 0x48]
and rdx, r14
add rax, rcx
xor rdx, rsi
mov qword [rsp + 0xe0], rax
mov rcx, r14
shr rcx, 0x17
mov rax, r14
shl rax, 4
xor rcx, r14
xor rax, r14
shr rcx, 4
shl rax, 0x17
xor rcx, r14
xor rax, r14
shr rcx, 0xe
shl rax, 0x17
xor rcx, rax
mov rax, qword [rsp + 0xe0]
add rax, rcx
mov rcx, r11
add rdx, rax
shr rcx, 5
mov rax, qword [rsp + 0xd8]
add rdx, rdi
xor rcx, r11
mov rdi, r10
shr rcx, 6
xor rdi, r11
xor rcx, r11
and rdi, r9
add rdx, qword [rax]
mov rax, r11
shl rax, 6
add rbx, rdx
xor rax, r11
shr rcx, 0x1c
shl rax, 5
xor rax, r11
shl rax, 0x19
xor rcx, rax
mov rax, r10
and rax, r11
xor rdi, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x18]
add rdi, rax
mov rdx, rcx
mov rax, rcx
shr rdx, 0x2a
xor rdx, rcx
shl rax, 0x2a
xor rax, rcx
shr rdx, 0xd
xor rdx, rcx
shl rax, 3
shr rdx, 6
xor rdx, rax
mov rax, qword [rsp]
mov rcx, rax
shr rcx, 1
xor rcx, rax
shr rcx, 6
xor rcx, rax
shl rax, 7
xor rax, qword [rsp]
shl rax, 0x38
shr rcx, 1
xor rcx, rax
mov rax, qword [rsp + 0xe8]
add rax, rdx
add rcx, rax
mov rdx, rbx
add rcx, qword [rsp + 0x20]
mov rax, rbx
shl rax, 4
xor rax, rbx
shr rdx, 0x17
shl rax, 0x17
xor rdx, rbx
xor rax, rbx
shr rdx, 4
shl rax, 0x17
xor rdx, rbx
shr rdx, 0xe
xor rdx, rax
mov qword [rsp + 0xe8], rcx
mov rax, rbp
xor rax, r14
and rax, rbx
xor rax, rbp
add rdx, rax
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax + 8]
mov rax, rdi
add rdx, rcx
shl rax, 6
add rdx, rsi
xor rax, rdi
shl rax, 5
add r9, rdx
xor rax, rdi
mov rcx, rdi
shr rcx, 5
mov rsi, r11
xor rcx, rdi
shl rax, 0x19
shr rcx, 6
xor rsi, rdi
xor rcx, rdi
and rsi, r10
shr rcx, 0x1c
xor rcx, rax
mov rax, r11
and rax, rdi
xor rsi, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
add rsi, rax
mov rdx, rcx
shr rdx, 0x2a
mov rax, rcx
xor rdx, rcx
shl rax, 0x2a
xor rax, rcx
shr rdx, 0xd
xor rdx, rcx
shl rax, 3
shr rdx, 6
xor rdx, rax
mov rax, qword [rsp + 8]
mov rcx, rax
shr rcx, 1
xor rcx, rax
shr rcx, 6
xor rcx, rax
shl rax, 7
xor rax, qword [rsp + 8]
shl rax, 0x38
shr rcx, 1
xor rcx, rax
mov rax, qword [rsp]
add rax, rdx
mov rdx, r9
shr rdx, 0x17
add rcx, rax
add rcx, qword [rsp + 0x10]
xor rdx, r9
shr rdx, 4
xor rdx, r9
mov qword [rsp], rcx
shr rdx, 0xe
mov rax, r9
shl rax, 4
xor rax, r9
shl rax, 0x17
xor rax, r9
shl rax, 0x17
xor rdx, rax
mov rax, r14
xor rax, rbx
and rax, r9
xor rax, r14
add rdx, rax
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax + 0x10]
mov rax, rsi
add rdx, rcx
shl rax, 6
xor rax, rsi
add rdx, rbp
shl rax, 5
add r10, rdx
xor rax, rsi
mov rcx, rsi
shl rax, 0x19
mov rbp, rdi
shr rcx, 5
xor rbp, rsi
xor rcx, rsi
and rbp, r11
shr rcx, 6
xor rcx, rsi
shr rcx, 0x1c
xor rcx, rax
mov rax, rdi
and rax, rsi
xor rbp, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x30]
add rbp, rax
mov rdx, rcx
shr rdx, 1
mov rax, rcx
xor rdx, rcx
shl rax, 7
xor rax, rcx
shr rdx, 6
xor rdx, rcx
shl rax, 0x38
shr rdx, 1
xor rdx, rax
mov rax, qword [rsp + 0xe8]
mov rcx, rax
shr rcx, 0x2a
xor rcx, rax
shr rcx, 0xd
xor rcx, rax
shl rax, 0x2a
xor rax, qword [rsp + 0xe8]
shl rax, 3
shr rcx, 6
xor rcx, rax
mov rax, qword [rsp + 8]
add rax, rdx
mov rdx, r10
add rcx, rax
shr rdx, 0x17
add rcx, qword [rsp + 0x50]
xor rdx, r10
shr rdx, 4
mov rax, r10
shl rax, 4
xor rdx, r10
xor rax, r10
shr rdx, 0xe
shl rax, 0x17
xor rax, r10
mov qword [rsp + 8], rcx
shl rax, 0x17
xor rdx, rax
mov rax, rbx
xor rax, r9
and rax, r10
xor rax, rbx
add rdx, rax
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax + 0x18]
mov rax, rbp
add rdx, rcx
shl rax, 6
xor rax, rbp
add rdx, r14
shl rax, 5
add r11, rdx
xor rax, rbp
mov rcx, rbp
shl rax, 0x19
mov r14, rsi
shr rcx, 5
xor r14, rbp
xor rcx, rbp
and r14, rdi
shr rcx, 6
xor rcx, rbp
shr rcx, 0x1c
xor rcx, rax
mov rax, rsi
and rax, rbp
xor r14, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp]
add r14, rax
mov rdx, rcx
shr rdx, 0x2a
mov rax, rcx
xor rdx, rcx
shl rax, 0x2a
xor rax, rcx
shr rdx, 0xd
xor rdx, rcx
shl rax, 3
shr rdx, 6
xor rdx, rax
mov rax, qword [rsp + 0x28]
mov rcx, rax
shr rcx, 1
xor rcx, rax
shr rcx, 6
xor rcx, rax
shl rax, 7
xor rax, qword [rsp + 0x28]
shl rax, 0x38
shr rcx, 1
xor rcx, rax
mov rax, qword [rsp + 0x30]
add rax, rdx
mov rdx, r11
add rcx, rax
shr rdx, 0x17
xor rdx, r11
add r8, rcx
shr rdx, 4
mov rax, r11
shl rax, 4
xor rdx, r11
xor rax, r11
shr rdx, 0xe
shl rax, 0x17
mov rcx, r14
xor rax, r11
mov qword [rsp + 0x30], r8
shl rax, 0x17
xor rdx, rax
mov rax, r10
xor rax, r9
and rax, r11
xor rax, r9
add rdx, rax
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax + 0x20]
add rdx, r8
add rdx, rbx
add rdi, rdx
shr rcx, 5
mov rax, r14
shl rax, 6
xor rcx, r14
xor rax, r14
shr rcx, 6
shl rax, 5
xor rcx, r14
xor rax, r14
shr rcx, 0x1c
shl rax, 0x19
mov rbx, rbp
xor rcx, rax
xor rbx, r14
and rbx, rsi
mov rax, rbp
and rax, r14
xor rbx, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 8]
add rbx, rax
mov rdx, rcx
shr rdx, 0x2a
mov rax, rcx
xor rdx, rcx
shl rax, 0x2a
xor rax, rcx
shr rdx, 0xd
xor rdx, rcx
shl rax, 3
shr rdx, 6
mov rcx, r12
xor rdx, rax
shr rcx, 1
xor rcx, r12
mov rax, r12
shl rax, 7
xor rax, r12
shr rcx, 6
shl rax, 0x38
xor rcx, r12
shr rcx, 1
xor rcx, rax
mov rax, qword [rsp + 0x28]
add rax, rdx
mov rdx, rdi
add rcx, rax
shr rdx, 0x17
xor rdx, rdi
add r15, rcx
shr rdx, 4
mov rax, rdi
shl rax, 4
xor rdx, rdi
xor rax, rdi
shr rdx, 0xe
shl rax, 0x17
mov rcx, rbx
xor rax, rdi
shr rcx, 5
shl rax, 0x17
xor rcx, rbx
xor rdx, rax
shr rcx, 6
xor rcx, rbx
mov qword [rsp + 0x28], r15
mov rax, r10
shr rcx, 0x1c
xor rax, r11
and rax, rdi
xor rax, r10
add rdx, rax
mov rax, qword [rsp + 0xd8]
add rdx, qword [rax + 0x28]
mov rax, rbx
add rdx, r15
shl rax, 6
add rdx, r9
xor rax, rbx
add rsi, rdx
shl rax, 5
xor rax, rbx
mov r9, r14
shl rax, 0x19
xor r9, rbx
xor rcx, rax
and r9, rbp
mov rax, r14
and rax, rbx
xor r9, rax
lea rax, [rdx + rcx]
mov rcx, r8
add r9, rax
shr rcx, 0x2a
xor rcx, r8
mov rdx, r13
shr rdx, 1
mov rax, r13
shl rax, 7
xor rdx, r13
xor rax, r13
shr rdx, 6
shl rax, 0x38
xor rdx, r13
shr rdx, 1
xor rdx, rax
shr rcx, 0xd
xor rcx, r8
mov rax, r8
shl rax, 0x2a
xor rax, r8
shr rcx, 6
shl rax, 3
mov r8, rsi
xor rcx, rax
shr r8, 0x17
mov rax, qword [rsp + 0x18]
xor r8, rsi
add rax, rdx
shr r8, 4
add rcx, rax
xor r8, rsi
shr r8, 0xe
add r12, rcx
mov rax, rsi
mov rdx, r9
shl rax, 4
mov rcx, rbx
xor rax, rsi
shr rdx, 5
shl rax, 0x17
xor rdx, r9
xor rax, rsi
shr rdx, 6
shl rax, 0x17
xor rdx, r9
xor r8, rax
shr rdx, 0x1c
and rcx, r9
mov rax, r11
xor rax, rdi
and rax, rsi
xor rax, r11
add r8, rax
mov rax, qword [rsp + 0xd8]
add r8, qword [rax + 0x30]
mov rax, r9
shl rax, 6
add r8, r12
xor rax, r9
add r8, r10
shl rax, 5
add rbp, r8
xor rax, r9
shl rax, 0x19
xor rdx, rax
mov rax, rbx
xor rax, r9
and rax, r14
xor rax, rcx
lea rcx, [r8 + rdx]
add rax, rcx
mov r10, qword [rsp + 0x40]
mov rdx, r15
shr rdx, 0x2a
mov r8, r10
shr r8, 1
xor rdx, r15
xor r8, r10
shr rdx, 0xd
shr r8, 6
xor rdx, r15
xor r8, r10
shr rdx, 6
shr r8, 1
mov rcx, r10
shl rcx, 7
xor rcx, r10
shl rcx, 0x38
xor r8, rcx
mov rcx, r15
shl rcx, 0x2a
xor rcx, r15
mov r15, rax
shl rcx, 3
xor r15, r9
xor rdx, rcx
and r15, rbx
mov rcx, qword [rsp + 0xe0]
add rcx, r8
mov r8, rbp
add rdx, rcx
shr r8, 0x17
xor r8, rbp
add r13, rdx
shr r8, 4
mov rcx, rbp
shl rcx, 4
xor r8, rbp
xor rcx, rbp
shr r8, 0xe
shl rcx, 0x17
mov rdx, rax
xor rcx, rbp
shr rdx, 5
shl rcx, 0x17
xor rdx, rax
xor r8, rcx
shr rdx, 6
xor rdx, rax
mov rcx, rdi
xor rcx, rsi
shr rdx, 0x1c
and rcx, rbp
xor rcx, rdi
add r8, rcx
mov rcx, qword [rsp + 0xd8]
add r8, qword [rcx + 0x38]
mov rcx, rax
shl rcx, 6
add r8, r13
add r8, r11
xor rcx, rax
mov r11, qword [rsp + 0x48]
add r14, r8
shl rcx, 5
xor rcx, rax
shl rcx, 0x19
xor rdx, rcx
mov rcx, rax
and rcx, r9
xor r15, rcx
lea rcx, [r8 + rdx]
mov r8, r11
shr r8, 1
add r15, rcx
xor r8, r11
mov rcx, r11
shr r8, 6
xor r8, r11
shl rcx, 7
shr r8, 1
xor rcx, r11
shl rcx, 0x38
mov rdx, r12
xor r8, rcx
shr rdx, 0x2a
xor rdx, r12
mov rcx, r12
shl rcx, 0x2a
xor rcx, r12
shr rdx, 0xd
shl rcx, 3
xor rdx, r12
shr rdx, 6
xor rdx, rcx
mov rcx, qword [rsp + 0xe8]
add rcx, r8
mov r8, r14
add rdx, rcx
shr r8, 0x17
xor r8, r14
add r10, rdx
shr r8, 4
mov rcx, r14
shl rcx, 4
xor r8, r14
xor rcx, r14
shr r8, 0xe
shl rcx, 0x17
mov rdx, r15
xor rcx, r14
shr rdx, 5
shl rcx, 0x17
xor rdx, r15
xor r8, rcx
shr rdx, 6
xor rdx, r15
mov qword [rsp + 0x40], r10
shr rdx, 0x1c
mov rcx, rsi
xor rcx, rbp
and rcx, r14
xor rcx, rsi
add r8, rcx
mov rcx, qword [rsp + 0xd8]
add r8, qword [rcx + 0x40]
mov rcx, r15
shl rcx, 6
add r8, r10
add r8, rdi
xor rcx, r15
shl rcx, 5
add rbx, r8
xor rcx, r15
mov rdi, rax
shl rcx, 0x19
xor rdi, r15
xor rdx, rcx
and rdi, r9
mov rcx, rax
and rcx, r15
xor rdi, rcx
lea rcx, [r8 + rdx]
mov r8, r13
shr r8, 0x2a
add rdi, rcx
xor r8, r13
mov rcx, r13
shr r8, 0xd
shl rcx, 0x2a
xor r8, r13
xor rcx, r13
shr r8, 6
shl rcx, 3
xor r8, rcx
mov rcx, qword [rsp + 0x20]
mov rdx, rcx
shr rdx, 1
xor rdx, rcx
shr rdx, 6
xor rdx, rcx
shr rdx, 1
shl rcx, 7
xor rcx, qword [rsp + 0x20]
shl rcx, 0x38
xor rdx, rcx
mov rcx, qword [rsp]
add rcx, r8
mov r8, rbx
add rdx, rcx
shr r8, 0x17
add r11, rdx
xor r8, rbx
shr r8, 4
mov rcx, rbx
shl rcx, 4
xor r8, rbx
xor rcx, rbx
shr r8, 0xe
shl rcx, 0x17
mov rdx, rdi
xor rcx, rbx
shr rdx, 5
shl rcx, 0x17
xor rdx, rdi
xor r8, rcx
shr rdx, 6
xor rdx, rdi
mov qword [rsp + 0x48], r11
shr rdx, 0x1c
mov rcx, rbp
xor rcx, r14
and rcx, rbx
xor rcx, rbp
add r8, rcx
mov rcx, qword [rsp + 0xd8]
add r8, qword [rcx + 0x48]
mov rcx, rdi
shl rcx, 6
add r8, r11
xor rcx, rdi
add r8, rsi
shl rcx, 5
add r9, r8
xor rcx, rdi
mov rsi, r15
shl rcx, 0x19
xor rsi, rdi
xor rdx, rcx
and rsi, rax
mov rcx, r15
and rcx, rdi
xor rsi, rcx
lea rcx, [r8 + rdx]
mov r8, r10
add rsi, rcx
shr r8, 0x2a
xor r8, r10
mov rcx, r10
shl rcx, 0x2a
xor rcx, r10
shr r8, 0xd
shl rcx, 3
xor r8, r10
mov r10, qword [rsp + 0x10]
mov rdx, r10
shr r8, 6
shr rdx, 1
xor r8, rcx
xor rdx, r10
mov rcx, r10
shr rdx, 6
shl rcx, 7
xor rdx, r10
xor rcx, r10
shr rdx, 1
mov r10, qword [rsp + 0x20]
shl rcx, 0x38
xor rdx, rcx
mov rcx, qword [rsp + 8]
add rcx, r8
add rdx, rcx
add r10, rdx
mov qword [rsp + 0x20], r10
mov r8, r9
mov rcx, r9
shl rcx, 4
mov rdx, rsi
xor rcx, r9
shr r8, 0x17
shl rcx, 0x17
xor r8, r9
xor rcx, r9
shr r8, 4
shl rcx, 0x17
xor r8, r9
shr r8, 0xe
xor r8, rcx
shr rdx, 5
xor rdx, rsi
mov rcx, r14
xor rcx, rbx
shr rdx, 6
and rcx, r9
xor rdx, rsi
xor rcx, r14
shr rdx, 0x1c
add r8, rcx
mov rcx, qword [rsp + 0xd8]
add r8, qword [rcx + 0x50]
mov rcx, rsi
shl rcx, 6
add r8, r10
add r8, rbp
xor rcx, rsi
shl rcx, 5
add rax, r8
xor rcx, rsi
mov rbp, rdi
shl rcx, 0x19
xor rbp, rsi
xor rdx, rcx
and rbp, r15
mov rcx, rdi
and rcx, rsi
xor rbp, rcx
lea rcx, [r8 + rdx]
mov r8, r11
add rbp, rcx
shr r8, 0x2a
xor r8, r11
mov rcx, r11
shl rcx, 0x2a
xor rcx, r11
shr r8, 0xd
xor r8, r11
shl rcx, 3
mov r11, qword [rsp + 0x50]
shr r8, 6
mov rdx, r11
xor r8, rcx
shr rdx, 1
xor rdx, r11
mov rcx, r11
shl rcx, 7
shr rdx, 6
xor rcx, r11
shl rcx, 0x38
xor rdx, r11
shr rdx, 1
xor rdx, rcx
mov rcx, qword [rsp + 0x10]
add rcx, r8
mov r8, rax
shr r8, 0x17
add rdx, rcx
add rdx, qword [rsp + 0x30]
xor r8, rax
shr r8, 4
mov rcx, rax
xor r8, rax
shl rcx, 4
shr r8, 0xe
xor rcx, rax
mov qword [rsp + 0x10], rdx
shl rcx, 0x17
xor rcx, rax
shl rcx, 0x17
xor r8, rcx
mov rcx, rbx
xor rcx, r9
and rcx, rax
xor rcx, rbx
add r8, rcx
mov rcx, qword [rsp + 0xd8]
add r8, qword [rcx + 0x58]
mov rcx, rbp
add r8, rdx
shl rcx, 6
xor rcx, rbp
add r8, r14
shl rcx, 5
add r15, r8
xor rcx, rbp
mov rdx, rbp
shl rcx, 0x19
mov r14, rsi
shr rdx, 5
xor r14, rbp
xor rdx, rbp
and r14, rdi
shr rdx, 6
xor rdx, rbp
shr rdx, 0x1c
xor rdx, rcx
mov rcx, rsi
and rcx, rbp
xor r14, rcx
lea rcx, [r8 + rdx]
mov r8, r10
add r14, rcx
shr r8, 0x2a
xor r8, r10
mov rcx, r10
shl rcx, 0x2a
xor rcx, r10
shr r8, 0xd
shl rcx, 3
xor r8, r10
mov r10, qword [rsp + 0x58]
shr r8, 6
mov rdx, r10
xor r8, rcx
shr rdx, 1
xor rdx, r10
mov rcx, r10
shl rcx, 7
xor rcx, r10
shr rdx, 6
shl rcx, 0x38
xor rdx, r10
shr rdx, 1
xor rdx, rcx
mov rcx, qword [rsp + 0x28]
add rcx, r8
mov r8, r15
add rdx, rcx
shr r8, 0x17
xor r8, r15
add r11, rdx
shr r8, 4
mov rcx, r15
shl rcx, 4
xor r8, r15
xor rcx, r15
shr r8, 0xe
shl rcx, 0x17
xor rcx, r15
mov qword [rsp + 0x50], r11
shl rcx, 0x17
xor r8, rcx
mov rcx, rax
xor rcx, r9
and rcx, r15
xor rcx, r9
add r8, rcx
mov rcx, qword [rsp + 0xd8]
mov rdx, r14
shr rdx, 5
xor rdx, r14
shr rdx, 6
add r8, qword [rcx + 0x60]
xor rdx, r14
add r8, r11
shr rdx, 0x1c
add r8, rbx
mov rcx, r14
shl rcx, 6
add rdi, r8
xor rcx, r14
mov rbx, rbp
shl rcx, 5
xor rbx, r14
xor rcx, r14
and rbx, rsi
shl rcx, 0x19
xor rdx, rcx
mov rcx, rbp
and rcx, r14
xor rbx, rcx
lea rcx, [r8 + rdx]
mov rdx, qword [rsp + 0x38]
add rbx, rcx
mov r8, rdx
shr r8, 1
mov rcx, rdx
xor r8, rdx
shl rcx, 7
xor rcx, rdx
shr r8, 6
xor r8, rdx
shl rcx, 0x38
shr r8, 1
xor r8, rcx
mov rcx, qword [rsp + 0x10]
mov rdx, rcx
shr rdx, 0x2a
xor rdx, rcx
shr rdx, 0xd
xor rdx, rcx
shl rcx, 0x2a
xor rcx, qword [rsp + 0x10]
shl rcx, 3
shr rdx, 6
xor rdx, rcx
lea rcx, [r12 + r8]
add rdx, rcx
mov r8, rdi
shr r8, 0x17
add r10, rdx
xor r8, rdi
mov qword [rsp + 0x58], r10
shr r8, 4
mov rcx, rdi
shl rcx, 4
xor r8, rdi
xor rcx, rdi
shr r8, 0xe
shl rcx, 0x17
mov rdx, rbx
xor rcx, rdi
shr rdx, 5
shl rcx, 0x17
xor rdx, rbx
xor r8, rcx
shr rdx, 6
mov rcx, rax
xor rcx, r15
and rcx, rdi
xor rcx, rax
add r8, rcx
mov rcx, qword [rsp + 0xd8]
add r8, qword [rcx + 0x68]
add r8, r10
add r8, r9
add rsi, r8
xor rdx, rbx
mov r10, qword [rsp + 0xd8]
mov rcx, rbx
shl rcx, 6
sub r10, 0xffffffffffffff80
xor rcx, rbx
shr rdx, 0x1c
shl rcx, 5
mov r9, r14
xor rcx, rbx
mov qword [rsp + 0xd8], r10
shl rcx, 0x19
xor r9, rbx
xor rdx, rcx
and r9, rbp
mov rcx, r14
and rcx, rbx
xor r9, rcx
lea rcx, [r8 + rdx]
add r9, rcx
sub qword [rsp + 0x60], 1
jne 0x14008c9e0
mov r13, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
add rcx, r9
add qword [r13 + 8], rbx
add qword [r13 + 0x10], r14
add qword [r13 + 0x18], rbp
add qword [r13 + 0x20], rsi
add qword [r13 + 0x28], rdi
add qword [r13 + 0x30], r15
add qword [r13 + 0x38], rax
mov qword [r13], rcx
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret