Function at 0x14000ce50
Capabilities:
Encode data using xor
Hash data using sha512
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xd8
movzx eax, byte [rcx + 1]
mov r9, rdx
movzx r15d, byte [rcx]
movzx ebx, byte [rcx + 8]
shl r15, 8
or r15, rax
shl rbx, 8
movzx eax, byte [rcx + 2]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 3]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 4]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 5]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 6]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 7]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 9]
or rbx, rax
mov qword [rsp + 0x78], r15
movzx eax, byte [rcx + 0xa]
shl rbx, 8
or rbx, rax
movzx eax, byte [rcx + 0xb]
shl rbx, 8
or rbx, rax
movzx eax, byte [rcx + 0xc]
shl rbx, 8
or rbx, rax
movzx eax, byte [rcx + 0xd]
shl rbx, 8
or rbx, rax
movzx eax, byte [rcx + 0xe]
shl rbx, 8
or rbx, rax
movzx eax, byte [rcx + 0xf]
shl rbx, 8
or rbx, rax
mov qword [r11 - 0x88], rbx
movzx eax, byte [rcx + 0x10]
movzx r12d, byte [rcx + 0x11]
shl rax, 8
or r12, rax
movzx eax, byte [rcx + 0x12]
shl r12, 8
or r12, rax
movzx eax, byte [rcx + 0x13]
shl r12, 8
or r12, rax
movzx eax, byte [rcx + 0x14]
shl r12, 8
or r12, rax
movzx eax, byte [rcx + 0x15]
shl r12, 8
or r12, rax
movzx eax, byte [rcx + 0x16]
shl r12, 8
or r12, rax
movzx eax, byte [rcx + 0x17]
shl r12, 8
or r12, rax
mov qword [r11 - 0x80], r12
movzx eax, byte [rcx + 0x18]
movzx r13d, byte [rcx + 0x19]
shl rax, 8
or r13, rax
mov qword [rsp + 0x68], r12
movzx eax, byte [rcx + 0x1a]
shl r13, 8
or r13, rax
movzx eax, byte [rcx + 0x1b]
shl r13, 8
or r13, rax
movzx eax, byte [rcx + 0x1c]
shl r13, 8
or r13, rax
movzx eax, byte [rcx + 0x1d]
shl r13, 8
or r13, rax
movzx eax, byte [rcx + 0x1e]
shl r13, 8
or r13, rax
movzx eax, byte [rcx + 0x1f]
shl r13, 8
or r13, rax
mov qword [r11 - 0x78], r13
movzx eax, byte [rcx + 0x21]
movzx edx, byte [rcx + 0x20]
shl rdx, 8
or rdx, rax
mov qword [rsp + 0x70], r13
movzx eax, byte [rcx + 0x22]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0x23]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0x24]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0x25]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0x26]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0x27]
shl rdx, 8
or rdx, rax
mov qword [r11 - 0x70], rdx
movzx eax, byte [rcx + 0x29]
movzx r14d, byte [rcx + 0x28]
shl r14, 8
or r14, rax
mov qword [rsp + 0x128], rdx
movzx eax, byte [rcx + 0x2a]
shl r14, 8
or r14, rax
movzx eax, byte [rcx + 0x2b]
shl r14, 8
or r14, rax
movzx eax, byte [rcx + 0x2c]
shl r14, 8
or r14, rax
movzx eax, byte [rcx + 0x2d]
shl r14, 8
or r14, rax
movzx eax, byte [rcx + 0x2e]
shl r14, 8
or r14, rax
movzx eax, byte [rcx + 0x2f]
shl r14, 8
or r14, rax
mov qword [r11 - 0x68], r14
movzx eax, byte [rcx + 0x31]
movzx r11d, byte [rcx + 0x30]
shl r11, 8
or r11, rax
movzx eax, byte [rcx + 0x32]
shl r11, 8
or r11, rax
movzx eax, byte [rcx + 0x33]
shl r11, 8
or r11, rax
movzx eax, byte [rcx + 0x34]
shl r11, 8
or r11, rax
movzx eax, byte [rcx + 0x35]
shl r11, 8
or r11, rax
movzx eax, byte [rcx + 0x36]
shl r11, 8
or r11, rax
shl r11, 8
movzx eax, byte [rcx + 0x37]
movzx ebp, byte [rcx + 0x38]
or r11, rax
movzx eax, byte [rcx + 0x39]
shl rbp, 8
or rbp, rax
mov qword [rsp + 0xa8], r11
movzx eax, byte [rcx + 0x3a]
shl rbp, 8
or rbp, rax
movzx eax, byte [rcx + 0x3b]
shl rbp, 8
or rbp, rax
movzx eax, byte [rcx + 0x3c]
shl rbp, 8
or rbp, rax
movzx eax, byte [rcx + 0x3d]
shl rbp, 8
or rbp, rax
movzx eax, byte [rcx + 0x3e]
shl rbp, 8
or rbp, rax
movzx eax, byte [rcx + 0x3f]
shl rbp, 8
or rbp, rax
mov qword [rsp + 0xb0], rbp
cmp r8, 0x80
jb 0x140011356
mov rcx, qword [rsp + 0x128]
lea r10, [r9 + 0xa]
mov rax, r8
mov qword [rsp + 0x118], rsi
shr rax, 7
mov qword [rsp + 0xc0], rax
imul rax, rax, 0xffffffffffffff80
mov qword [rsp + 0xd0], rdi
add r8, rax
mov qword [rsp + 0xb8], r10
mov qword [rsp + 0x120], r8
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r10 - 9]
movzx r9d, byte [r10 - 0xa]
movzx r12d, byte [r10 - 2]
movzx r13d, byte [r10 + 6]
movzx edi, byte [r10 + 0xe]
shl r9, 8
or r9, rax
shl r12, 8
movzx eax, byte [r10 - 8]
shl r13, 8
shl r9, 8
or r9, rax
shl rdi, 8
movzx eax, byte [r10 - 7]
shl r9, 8
or r9, rax
movzx eax, byte [r10 - 6]
shl r9, 8
or r9, rax
movzx eax, byte [r10 - 5]
shl r9, 8
or r9, rax
movzx eax, byte [r10 - 4]
shl r9, 8
or r9, rax
movzx eax, byte [r10 - 3]
shl r9, 8
or r9, rax
movzx eax, byte [r10 - 1]
or r12, rax
mov qword [rsp + 0x128], r9
movzx eax, byte [r10]
shl r12, 8
or r12, rax
movzx eax, byte [r10 + 1]
shl r12, 8
or r12, rax
movzx eax, byte [r10 + 2]
shl r12, 8
or r12, rax
movzx eax, byte [r10 + 3]
shl r12, 8
or r12, rax
movzx eax, byte [r10 + 4]
shl r12, 8
or r12, rax
movzx eax, byte [r10 + 5]
shl r12, 8
or r12, rax
movzx eax, byte [r10 + 7]
or r13, rax
movzx eax, byte [r10 + 8]
shl r13, 8
or r13, rax
movzx eax, byte [r10 + 9]
shl r13, 8
or r13, rax
movzx eax, byte [r10 + 0xa]
shl r13, 8
or r13, rax
movzx eax, byte [r10 + 0xb]
shl r13, 8
or r13, rax
movzx eax, byte [r10 + 0xc]
shl r13, 8
or r13, rax
movzx eax, byte [r10 + 0xd]
shl r13, 8
or r13, rax
movzx eax, byte [r10 + 0xf]
or rdi, rax
movzx eax, byte [r10 + 0x10]
shl rdi, 8
or rdi, rax
movzx eax, byte [r10 + 0x11]
shl rdi, 8
or rdi, rax
movzx eax, byte [r10 + 0x12]
shl rdi, 8
or rdi, rax
shl rdi, 8
movzx eax, byte [r10 + 0x13]
movzx edx, byte [r10 + 0x16]
or rdi, rax
shl rdx, 8
movzx eax, byte [r10 + 0x14]
shl rdi, 8
or rdi, rax
movzx eax, byte [r10 + 0x15]
shl rdi, 8
or rdi, rax
movzx eax, byte [r10 + 0x17]
or rdx, rax
mov qword [rsp + 0x60], rdi
shl rdx, 8
movzx eax, byte [r10 + 0x18]
or rdx, rax
movzx eax, byte [r10 + 0x19]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1f]
mov qword [rsp], rdx
movzx edx, byte [r10 + 0x1e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x20]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x21]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x22]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x23]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x24]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x25]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x27]
mov qword [rsp + 8], rdx
movzx edx, byte [r10 + 0x26]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x28]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x29]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x2a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x2b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x2c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x2d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x2f]
mov qword [rsp + 0x10], rdx
movzx edx, byte [r10 + 0x2e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x30]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x31]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x32]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x33]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x34]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x35]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x37]
mov qword [rsp + 0x20], rdx
movzx edx, byte [r10 + 0x36]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x38]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x39]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x3a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x3b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x3c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x3d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x3f]
mov qword [rsp + 0x18], rdx
movzx edx, byte [r10 + 0x3e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x40]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x41]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x42]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x43]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x44]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x45]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x47]
mov qword [rsp + 0x30], rdx
movzx edx, byte [r10 + 0x46]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x48]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x49]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x4a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x4b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x4c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x4d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x4f]
mov qword [rsp + 0x38], rdx
movzx edx, byte [r10 + 0x4e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x50]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x51]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x52]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x53]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x54]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x55]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x57]
mov qword [rsp + 0x40], rdx
movzx edx, byte [r10 + 0x56]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x58]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x59]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x5a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x5b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x5c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x5d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x5f]
mov qword [rsp + 0x28], rdx
movzx edx, byte [r10 + 0x5e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x60]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x61]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x62]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x63]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x64]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x65]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x67]
mov qword [rsp + 0x48], rdx
movzx edx, byte [r10 + 0x66]
shl rdx, 8
or rdx, rax
shl rdx, 8
mov r8, rcx
movzx eax, byte [r10 + 0x68]
mov rsi, r15
or rdx, rax
rol r8, 0x17
movzx eax, byte [r10 + 0x69]
shl rdx, 8
or rdx, rax
rol rsi, 0x1e
movzx eax, byte [r10 + 0x6a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x6b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x6c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x6d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x6f]
mov qword [rsp + 0x50], rdx
movzx edx, byte [r10 + 0x6e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x70]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x71]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x72]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x73]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x74]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x75]
mov r10, qword [rsp + 0x70]
shl rdx, 8
or rdx, rax
mov rax, rcx
ror rax, 0x12
xor r8, rax
mov qword [rsp + 0x58], rdx
mov rax, rcx
mov rdx, rcx
ror rax, 0xe
not rdx
xor r8, rax
and rdx, r11
mov rax, r14
and rax, rcx
xor rdx, rax
lea rax, [r9 + r8]
movabs r9, 0x428a2f98d728ae22
add rdx, rax
mov rax, r15
ror rax, 0x1c
add r9, rdx
xor rsi, rax
add r9, rbp
mov rbp, qword [rsp + 0x68]
add r10, r9
mov rax, r15
mov rdx, rbx
rol rax, 0x19
xor rdx, r15
xor rsi, rax
and rdx, rbp
mov rax, rbx
mov r8, r10
and rax, r15
xor rdx, rax
add rsi, rdx
add rsi, r9
rol r8, 0x17
mov rax, r10
ror rax, 0x12
mov rdx, r10
xor r8, rax
not rdx
and rdx, r14
mov rax, r10
ror rax, 0xe
movabs r9, 0x7137449123ef65cd
xor r8, rax
mov rax, rcx
and rax, r10
xor rdx, rax
lea rax, [r12 + r8]
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, rbx
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rcx
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0xb5c0fbcfec4d3b2f
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
mov rax, rbp
ror rax, 0x1c
add r9, rdx
add r9, r14
mov rdx, rsi
xor rdx, rbp
add rbx, r9
and rdx, r15
mov r14, rbp
rol r14, 0x1e
mov r8, rbx
xor r14, rax
rol r8, 0x17
mov rax, rbp
rol rax, 0x19
xor r14, rax
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
ror rax, 0x12
add r14, rdx
xor r8, rax
add r14, r9
mov rax, rbx
mov rdx, rbx
ror rax, 0xe
not rdx
xor r8, rax
and rdx, r10
mov rax, r11
and rax, rbx
movabs r9, 0xe9b5dba58189dbbc
xor rdx, rax
lea rax, [rdi + r8]
add rdx, rax
mov r8, r14
add r9, rdx
rol r8, 0x1e
add r9, rcx
mov rax, r14
ror rax, 0x1c
mov rdx, rbp
xor r8, rax
xor rdx, r14
and rdx, rsi
mov rax, r14
rol rax, 0x19
lea rdi, [r9 + r15]
xor r8, rax
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x3956c25bf348b538
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x59f111f1b605d019
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
add rdx, rax
add r9, rdx
mov r8, rsi
rol r8, 0x1e
add r9, r11
mov rax, rsi
mov rdx, r15
ror rax, 0x1c
xor rdx, rsi
xor r8, rax
and rdx, r14
lea r11, [r9 + rbp]
mov rax, rsi
rol rax, 0x19
xor r8, rax
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x923f82a4af194f9b
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0xab1c5ed5da6d8118
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
add r9, rdi
ror rax, 0x1c
xor r8, rax
lea rdi, [r9 + r15]
mov rax, r14
rol rax, 0x19
mov rdx, rbp
xor r8, rax
xor rdx, r14
and rdx, rsi
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0xd807aa98a3030242
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x12835b0145706fbe
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
mov rdx, r15
xor r8, rax
add r9, r11
mov rax, rsi
xor rdx, rsi
rol rax, 0x19
xor r8, rax
mov rax, r15
and rdx, r14
and rax, rsi
lea r11, [r9 + rbp]
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x243185be4ee4b28c
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x550c7dc3d5ffb4e2
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
add r8, rdx
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
mov rax, rdi
mov rdx, rdi
ror rax, 0x12
not rdx
xor r8, rax
and rdx, r11
mov rax, rdi
movabs r9, 0x72be5d74f27b896f
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x80deb1fe3b1696b1
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
not rdx
mov rax, r10
and rax, r11
and rdx, rdi
xor rdx, rax
movabs r9, 0x9bdc06a725c71235
mov rax, qword [rsp + 0x50]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0xc19bf174cf692694
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
add r8, rdx
mov rdx, qword [rsp + 0x50]
mov rax, rdx
rol rax, 3
lea r15, [r8 + r9]
mov r8, rdx
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r12
xor r8, rax
ror rdx, 8
mov rax, r12
ror rax, 1
xor rdx, rax
mov rax, r12
shr rax, 7
xor rdx, rax
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
add rax, r8
add rdx, rax
add qword [rsp + 0x128], rdx
mov rdx, qword [rsp + 0x58]
mov r8, rdx
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r13
xor r8, rax
ror rdx, 8
mov rax, r13
ror rax, 1
xor rdx, rax
mov rax, r13
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add r12, rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
add rdx, rax
add r13, rdx
mov rdx, qword [rsp]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r12
xor r8, rax
ror rdx, 0x13
mov rax, r12
rol rax, 3
xor rdx, rax
mov rax, r12
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
add rdx, rax
add r9, rdx
mov rdx, qword [rsp + 8]
mov r8, rdx
mov qword [rsp + 0x60], r9
mov rax, rdx
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r13
xor r8, rax
mov rax, r13
ror rdx, 0x13
rol rax, 3
xor rdx, rax
mov rax, r13
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
add rdx, rax
add qword [rsp], rdx
mov rdx, qword [rsp + 0x10]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
add rdx, rax
add qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x20]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
add rdx, rax
add qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x18]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 8]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 8]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
add rdx, rax
add qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x10]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x10]
shr rax, 6
xor rdx, rax
lea rax, [r12 + r8]
add rdx, rax
add qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x38]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x20]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x20]
shr rax, 6
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
add qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x40]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x18]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x18]
shr rax, 6
xor rdx, rax
lea rax, [r9 + r8]
mov r9, qword [rsp + 0x30]
add rdx, rax
add qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x28]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
shr rax, 6
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
add rdx, rax
add qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov r9, qword [rsp + 0x38]
mov rdx, r9
mov rax, r9
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x40]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
add rdx, rax
add qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x50]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x58]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add qword [rsp + 0x48], rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x28]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x28]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
add rdx, rax
add qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
ror rax, 1
ror rdx, 8
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, rdi
add rdx, rax
add r9, rdx
mov qword [rsp + 0x58], r9
rol r8, 0x17
mov rax, rdi
mov rdx, rdi
ror rax, 0x12
not rdx
xor r8, rax
and rdx, r11
mov rax, rdi
movabs r9, 0xe49b69c19ef14ad2
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0xefbe4786384f25e3
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
lea rax, [r12 + r8]
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
and rdx, rdi
mov rax, r10
and rax, r11
movabs r9, 0xfc19dc68b8cd5b5
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
mov r8, rbp
add r9, rdx
rol r8, 0x1e
add r9, rbx
mov rax, rbp
ror rax, 0x1c
mov rdx, rsi
xor r8, rax
xor rdx, rbp
and rdx, r15
mov rax, rbp
rol rax, 0x19
lea rbx, [r9 + r14]
xor r8, rax
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x240ca1cc77ac9c65
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x60]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x2de92c6f592b0275
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
add rdx, rax
add r9, rdx
mov r8, r15
rol r8, 0x1e
add r9, r10
mov rax, r15
mov rdx, r14
ror rax, 0x1c
xor rdx, r15
xor r8, rax
and rdx, rbp
lea r10, [r9 + rsi]
mov rax, r15
rol rax, 0x19
xor r8, rax
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x4a7484aa6ea6e483
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x5cb0a9dcbd41fbd4
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
add r9, rbx
ror rax, 0x1c
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rbp
rol rax, 0x19
mov rdx, rsi
xor r8, rax
xor rdx, rbp
and rdx, r15
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x76f988da831153b5
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x983e5152ee66dfab
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
mov rdx, r14
xor r8, rax
add r9, r10
mov rax, r15
xor rdx, r15
rol rax, 0x19
xor r8, rax
mov rax, r14
and rdx, rbp
and rax, r15
lea r10, [r9 + rsi]
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0xa831c66d2db43210
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0xb00327c898fb213f
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
add r8, rdx
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
mov rax, rbx
mov rdx, rbx
ror rax, 0x12
not rdx
xor r8, rax
and rdx, r10
mov rax, rbx
movabs r9, 0xbf597fc7beef0ee4
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0xc6e00bf33da88fc2
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
not rdx
mov rax, rdi
and rax, r10
and rdx, rbx
xor rdx, rax
movabs r9, 0xd5a79147930aa725
mov rax, qword [rsp + 0x48]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x6ca6351e003826f
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
add rdx, rax
mov r8, r14
rol r8, 0x1e
mov rax, r14
ror rax, 0x1c
movabs r9, 0x142929670a0e6e70
xor r8, rax
add r9, rdx
add r9, rdi
mov rax, r14
rol rax, 0x19
mov rdx, rbp
xor r8, rax
xor rdx, r14
and rdx, rsi
mov rax, rbp
and rax, r14
lea rdi, [r9 + r15]
xor rdx, rax
add r8, rdx
mov rdx, qword [rsp + 0x50]
mov rax, rdx
rol rax, 3
lea r15, [r8 + r9]
mov r9, qword [rsp + 0x60]
mov r8, rdx
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r12
xor r8, rax
ror rdx, 8
mov rax, r12
ror rax, 1
xor rdx, rax
mov rax, r12
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
add rdx, rax
add qword [rsp + 0x128], rdx
mov rdx, qword [rsp + 0x58]
mov r8, rdx
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r13
xor r8, rax
ror rdx, 8
mov rax, r13
ror rax, 1
xor rdx, rax
mov rax, r13
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add r12, rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
add rdx, rax
add r13, rdx
mov rdx, qword [rsp]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r12
xor r8, rax
ror rdx, 0x13
mov rax, r12
rol rax, 3
xor rdx, rax
mov rax, r12
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
add rdx, rax
add r9, rdx
mov rdx, qword [rsp + 8]
mov r8, rdx
mov qword [rsp + 0x60], r9
mov rax, rdx
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r13
xor r8, rax
ror rdx, 0x13
mov rax, r13
rol rax, 3
xor rdx, rax
mov rax, r13
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
add rdx, rax
add qword [rsp], rdx
mov rdx, qword [rsp + 0x10]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
add rdx, rax
add qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x20]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
add rdx, rax
add qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x18]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 8]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 8]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
add rdx, rax
add qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x10]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x10]
shr rax, 6
xor rdx, rax
lea rax, [r12 + r8]
add rdx, rax
add qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x38]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x20]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x20]
shr rax, 6
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
add qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x40]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x18]
mov rdx, rax
ror rdx, 0x13
rol rax, 3
xor rdx, rax
mov rax, qword [rsp + 0x18]
shr rax, 6
xor rdx, rax
lea rax, [r9 + r8]
add rdx, rax
mov r9, qword [rsp + 0x30]
add qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x28]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x38]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
add rdx, rax
add qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x40]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
add rdx, rax
add qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x50]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x58]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add qword [rsp + 0x48], rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x28]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x28]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
add rdx, rax
add qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
ror rax, 1
ror rdx, 8
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, rdi
add rdx, rax
rol r8, 0x17
add r9, rdx
mov rax, rdi
ror rax, 0x12
mov rdx, rdi
xor r8, rax
mov qword [rsp + 0x58], r9
not rdx
mov rax, rdi
ror rax, 0xe
and rdx, r11
xor r8, rax
movabs r9, 0x27b70a8546d22ffc
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
not rdx
mov rax, rdi
and rax, r10
and rdx, rbx
xor rdx, rax
movabs r9, 0x2e1b21385c26c926
lea rax, [r12 + r8]
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x4d2c6dfc5ac42aed
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
lea rax, [r8 + r13]
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x53380d139d95b3df
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x60]
add rax, r8
add rdx, rax
add r9, rdx
mov r8, r14
rol r8, 0x1e
add r9, rdi
mov rax, r14
mov rdx, rbp
ror rax, 0x1c
xor rdx, r14
xor r8, rax
and rdx, rsi
lea rdi, [r9 + r15]
mov rax, r14
rol rax, 0x19
xor r8, rax
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x650a73548baf63de
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x766a0abb3c77b2a8
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
add r9, r11
ror rax, 0x1c
xor r8, rax
lea r11, [r9 + rbp]
mov rax, rsi
rol rax, 0x19
mov rdx, r15
xor r8, rax
xor rdx, rsi
and rdx, r14
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x81c2c92e47edaee6
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x92722c851482353b
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
mov rdx, rbp
xor r8, rax
add r9, rdi
mov rax, r14
xor rdx, r14
rol rax, 0x19
xor r8, rax
mov rax, rbp
and rdx, rsi
and rax, r14
lea rdi, [r9 + r15]
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0xa2bfe8a14cf10364
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0xa81a664bbc423001
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
add r8, rdx
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
mov rax, r11
mov rdx, r11
ror rax, 0x12
not rdx
xor r8, rax
and rdx, rdi
mov rax, r11
movabs r9, 0xc24b8b70d0f89791
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0xc76c51a30654be30
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
not rdx
mov rax, rbx
and rax, rdi
and rdx, r11
xor rdx, rax
movabs r9, 0xd192e819d6ef5218
mov rax, qword [rsp + 0x28]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0xd69906245565a910
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
add rdx, rax
mov r8, rbp
rol r8, 0x1e
mov rax, rbp
ror rax, 0x1c
movabs r9, 0xf40e35855771202a
xor r8, rax
add r9, rdx
add r9, rbx
mov rax, rbp
rol rax, 0x19
mov rdx, rsi
xor r8, rax
xor rdx, rbp
and rdx, r15
mov rax, rsi
and rax, rbp
lea rbx, [r9 + r14]
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x106aa07032bbd1b8
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
add r8, rdx
mov rdx, qword [rsp + 0x50]
mov rax, rdx
rol rax, 3
lea r15, [r8 + r9]
mov r8, rdx
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r12
xor r8, rax
ror rdx, 8
mov rax, r12
ror rax, 1
xor rdx, rax
mov rax, r12
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
add rdx, rax
add qword [rsp + 0x128], rdx
mov rdx, qword [rsp + 0x58]
mov r8, rdx
mov r9, qword [rsp + 0x60]
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r13
xor r8, rax
ror rdx, 8
mov rax, r13
ror rax, 1
xor rdx, rax
mov rax, r13
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add r12, rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
add rdx, rax
add r13, rdx
mov rdx, qword [rsp]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r12
xor r8, rax
ror rdx, 0x13
mov rax, r12
rol rax, 3
xor rdx, rax
mov rax, r12
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
add rdx, rax
add r9, rdx
mov rdx, qword [rsp + 8]
mov r8, rdx
mov qword [rsp + 0x60], r9
mov rax, rdx
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r13
xor r8, rax
ror rdx, 0x13
mov rax, r13
rol rax, 3
xor rdx, rax
mov rax, r13
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
add rdx, rax
add qword [rsp], rdx
mov rdx, qword [rsp + 0x10]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
add rdx, rax
add qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x20]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
add rdx, rax
add qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x18]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 8]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 8]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
add rdx, rax
add qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x10]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x10]
shr rax, 6
xor rdx, rax
lea rax, [r12 + r8]
add rdx, rax
add qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x38]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x20]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x20]
shr rax, 6
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
add qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x40]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x18]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x18]
shr rax, 6
xor rdx, rax
lea rax, [r9 + r8]
mov r9, qword [rsp + 0x30]
add rdx, rax
add qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x28]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x38]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
add rdx, rax
add qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x40]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
add rdx, rax
add qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x50]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x58]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add qword [rsp + 0x48], rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x28]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x28]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
add rdx, rax
add qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
ror rax, 1
ror rdx, 8
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, rdi
add rdx, rax
rol r8, 0x17
add r9, rdx
mov rax, rdi
ror rax, 0x12
mov rdx, rdi
xor r8, rax
mov qword [rsp + 0x58], r9
mov rax, rdi
ror rax, 0xe
xor r8, rax
not rdx
mov rax, rbx
and rax, rdi
and rdx, r11
xor rdx, rax
movabs r9, 0x19a4c116b8d2d0c8
mov rax, qword [rsp + 0x128]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
mov eax, edi
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x1e376c085141ab53
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
lea rax, [r12 + r8]
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x2748774cdf8eeb99
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
add r9, rdx
mov r8, rbp
rol r8, 0x1e
add r9, rbx
mov rax, rbp
mov rdx, rsi
ror rax, 0x1c
xor rdx, rbp
xor r8, rax
and rdx, r15
lea rbx, [r9 + r14]
mov rax, rbp
rol rax, 0x19
xor r8, rax
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x34b0bcb5e19b48a8
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x60]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x391c0cb3c5c95a63
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
add r9, r10
ror rax, 0x1c
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r15
rol rax, 0x19
mov rdx, r14
xor r8, rax
xor rdx, r15
and rdx, rbp
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0x4ed8aa4ae3418acb
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x5b9cca4f7763e373
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
mov rdx, rsi
xor r8, rax
add r9, rbx
mov rax, rbp
xor rdx, rbp
rol rax, 0x19
xor r8, rax
mov rax, rsi
and rdx, r15
and rax, rbp
lea rbx, [r9 + r14]
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0x682e6ff3d6b2b8a3
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x20]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x748f82ee5defb2fc
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
add r8, rdx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
mov rax, r10
mov rdx, r10
ror rax, 0x12
not rdx
xor r8, rax
and rdx, rbx
mov rax, r10
movabs r9, 0x78a5636f43172f60
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x84c87814a1f0ab72
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
not rdx
mov rax, r11
and rax, rbx
and rdx, r10
xor rdx, rax
movabs r9, 0x8cc702081a6439ec
mov rax, qword [rsp + 0x40]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x90befffa23631e28
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
add rdx, rax
mov r8, rsi
rol r8, 0x1e
mov rax, rsi
ror rax, 0x1c
movabs r9, 0xa4506cebde82bde9
xor r8, rax
add r9, rdx
add r9, r11
mov rax, rsi
rol rax, 0x19
mov rdx, r15
xor r8, rax
xor rdx, rsi
and rdx, r14
mov rax, r15
and rax, rsi
lea r11, [r9 + rbp]
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0xbef9a3f7b2c67915
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0xc67178f2e372532b
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
mov r8, r14
add rdx, rax
mov rax, r14
add r9, rdx
add r9, rdi
rol r8, 0x1e
ror rax, 0x1c
lea rdi, [r9 + r15]
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
mov rax, rbp
and rax, r14
xor rdx, rax
add r8, rdx
mov rdx, qword [rsp + 0x50]
mov rax, rdx
rol rax, 3
lea r15, [r8 + r9]
mov r9, qword [rsp + 0x60]
mov r8, rdx
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r12
xor r8, rax
ror rdx, 8
mov rax, r12
ror rax, 1
xor rdx, rax
mov rax, r12
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
add rdx, rax
add qword [rsp + 0x128], rdx
mov rdx, qword [rsp + 0x58]
mov r8, rdx
mov rax, rdx
rol rax, 3
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rax, 6
mov rdx, r13
xor r8, rax
ror rdx, 8
mov rax, r13
ror rax, 1
xor rdx, rax
mov rax, r13
shr rax, 7
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, r9
add rdx, rax
ror r8, 8
add r12, rdx
mov rax, r9
ror rax, 1
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x128]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x128]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
add rdx, rax
add r13, rdx
mov rdx, qword [rsp]
mov r8, rdx
mov rax, rdx
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r12
xor r8, rax
ror rdx, 0x13
mov rax, r12
rol rax, 3
xor rdx, rax
mov rax, r12
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x28]
add rax, r8
add rdx, rax
add r9, rdx
mov rdx, qword [rsp + 8]
mov r8, rdx
mov qword [rsp + 0x60], r9
mov rax, rdx
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r13
xor r8, rax
ror rdx, 0x13
mov rax, r13
rol rax, 3
xor rdx, rax
mov rax, r13
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x48]
add rax, r8
add rdx, rax
add qword [rsp], rdx
mov rdx, qword [rsp + 0x10]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x50]
add rax, r8
add rdx, rax
add qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x20]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x58]
add rax, r8
add rdx, rax
add qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x18]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 8]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 8]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
add rdx, rax
add qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x30]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x10]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x10]
shr rax, 6
xor rdx, rax
lea rax, [r12 + r8]
add rdx, rax
add qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x38]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x20]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x20]
shr rax, 6
xor rdx, rax
lea rax, [r8 + r13]
add rdx, rax
add qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x40]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
xor r8, rax
mov rax, qword [rsp + 0x18]
mov rdx, rax
rol rax, 3
ror rdx, 0x13
xor rdx, rax
mov rax, qword [rsp + 0x18]
shr rax, 6
xor rdx, rax
lea rax, [r9 + r8]
add rdx, rax
add qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r8, rdx
mov rax, rdx
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x38]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
add rdx, rax
add qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x48]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x40]
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
add rdx, rax
add qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x50]
mov r8, rdx
mov rax, rdx
ror rax, 1
ror r8, 8
xor r8, rax
mov rax, rdx
shr rax, 7
mov rdx, r9
xor r8, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, rdi
add rdx, rax
rol r8, 0x17
add qword [rsp + 0x48], rdx
mov rax, rdi
ror rax, 0x12
mov rdx, rdi
xor r8, rax
not rdx
mov rax, rdi
and rdx, r11
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x128]
add rax, r8
movabs r9, 0xca273eceea26619c
add rdx, rax
mov r8, r15
add r9, rdx
rol r8, 0x1e
add r9, r10
mov rax, r15
ror rax, 0x1c
mov rdx, r14
xor r8, rax
xor rdx, r15
and rdx, rbp
mov rax, r15
rol rax, 0x19
lea r10, [r9 + rsi]
xor r8, rax
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0xd186b8c721c0c207
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
lea rax, [r12 + r8]
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0xeada7dd6cde0eb1e
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
lea rax, [r8 + r13]
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
add r9, rbx
ror rax, 0x1c
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rbp
mov rdx, rsi
rol rax, 0x19
xor rdx, rbp
xor r8, rax
and rdx, r15
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
movabs r9, 0xf57d4f7fee6ed178
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x60]
add rax, r8
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x6f067aa72176fba
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
mov rdx, r14
xor r8, rax
add r9, r10
mov rax, r15
xor rdx, r15
rol rax, 0x19
xor r8, rax
and rdx, rbp
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
mov rdx, r10
not rdx
and rdx, rbx
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
movabs r9, 0xa637dc5a2c898a6
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rdi
and rax, r10
xor rdx, rax
mov rax, qword [rsp + 8]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x113f9804bef90dae
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x10]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
add r8, rdx
lea r14, [r8 + r9]
mov r8, rbx
mov r13, qword [rsp + 0x20]
mov rax, rbx
ror rax, 0x12
mov rdx, rbx
rol r8, 0x17
not rdx
xor r8, rax
and rdx, r10
mov rax, rbx
movabs r9, 0x1b710b35131c471b
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
lea rax, [r8 + r13]
mov r8, r14
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r14
ror rax, 0x1c
add r9, rdi
xor r8, rax
mov rdx, rbp
xor rdx, r14
mov rax, r14
rol rax, 0x19
and rdx, rsi
xor r8, rax
lea rdi, [r9 + r15]
mov rax, rbp
and rax, r14
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x28db77f523047d84
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
mov rax, qword [rsp + 0x18]
add rax, r8
mov r8, r15
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, r15
ror rax, 0x1c
add r9, r10
xor r8, rax
mov rdx, r14
xor rdx, r15
mov rax, r15
rol rax, 0x19
and rdx, rbp
xor r8, rax
lea r10, [r9 + rsi]
mov rax, r14
and rax, r15
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x12
lea rsi, [r8 + r9]
mov r8, r10
rol r8, 0x17
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rdx, r10
mov rax, rdi
and rax, r10
not rdx
and rdx, rbx
movabs r9, 0x32caab7b40c72493
xor rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r8
mov r8, rsi
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rsi
ror rax, 0x1c
add r9, r11
xor r8, rax
mov rdx, r15
xor rdx, rsi
mov rax, rsi
rol rax, 0x19
and rdx, r14
xor r8, rax
lea r11, [r9 + rbp]
mov rax, r15
and rax, rsi
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r11
not rdx
and rdx, rdi
lea rbp, [r8 + r9]
mov r8, r11
rol r8, 0x17
movabs r9, 0x3c9ebe0a15c9bebc
xor r8, rax
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
and rax, r11
xor rdx, rax
mov rax, qword [rsp + 0x38]
add rax, r8
mov r8, rbp
add rdx, rax
rol r8, 0x1e
add r9, rdx
mov rax, rbp
ror rax, 0x1c
add r9, rbx
xor r8, rax
mov rdx, rsi
xor rdx, rbp
mov rax, rbp
rol rax, 0x19
and rdx, r15
xor r8, rax
lea rbx, [r9 + r14]
mov rax, rsi
and rax, rbp
xor rdx, rax
mov rax, rbx
add r8, rdx
ror rax, 0x12
mov rdx, rbx
not rdx
and rdx, r10
lea r14, [r8 + r9]
mov r8, rbx
rol r8, 0x17
xor r8, rax
mov rax, rbx
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, rbx
xor rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r8
mov r12, qword [rsp + 0x28]
add rdx, rax
mov r8, r14
rol r8, 0x1e
mov rax, r14
ror rax, 0x1c
movabs r9, 0x431d67c49c100d4c
xor r8, rax
add r9, rdx
add r9, rdi
mov rax, r14
rol rax, 0x19
mov rdx, rbp
xor r8, rax
xor rdx, r14
and rdx, rsi
mov rax, rbp
and rax, r14
lea rdi, [r9 + r15]
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 0x12
mov rdx, rdi
not rdx
and rdx, r11
lea r15, [r8 + r9]
mov r8, rdi
rol r8, 0x17
movabs r9, 0x4cc5d4becb3e42b6
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbx
and rax, rdi
xor rdx, rax
lea rax, [r12 + r8]
add rdx, rax
mov rax, r15
add r9, rdx
ror rax, 0x1c
add r9, r10
mov rdx, r14
xor rdx, r15
mov r10, r15
and rdx, rbp
rol r10, 0x1e
xor r10, rax
mov rax, r15
rol rax, 0x19
lea rcx, [r9 + rsi]
mov rsi, qword [rsp + 0x48]
xor r10, rax
mov rax, r14
mov qword [rsp + 0x60], rcx
and rax, r15
mov r8, rcx
xor rdx, rax
rol r8, 0x17
add r10, rdx
mov rax, rcx
ror rax, 0x12
add r10, r9
xor r8, rax
mov qword [rsp + 0x70], r10
mov rax, rcx
mov rdx, rcx
ror rax, 0xe
not rdx
xor r8, rax
and rdx, rbx
mov rax, rdi
movabs r9, 0x597f299cfc657e2a
and rax, rcx
xor rdx, rax
lea rax, [rsi + r8]
add rdx, rax
add r9, rdx
add r9, r11
lea r11, [r9 + rbp]
mov r8, r10
rol r8, 0x1e
mov rax, r10
ror rax, 0x1c
mov rdx, r15
xor r8, rax
xor rdx, r10
and rdx, r14
mov rax, r10
rol rax, 0x19
xor r8, rax
mov rax, r15
and rax, r10
mov r10, qword [rsp + 0x58]
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 0x12
mov rdx, r10
ror rdx, 8
lea rbp, [r8 + r9]
mov r8, r12
ror r8, 0x13
mov r9, r11
rol r9, 0x17
xor r9, rax
mov qword [rsp + 0x68], rbp
mov rax, r11
mov rbp, rcx
ror rax, 0xe
xor r9, rax
mov rax, r10
ror rax, 1
xor rdx, rax
mov rax, r10
shr rax, 7
xor rdx, rax
mov rax, r12
add r9, rdx
rol rax, 3
xor r8, rax
shr r12, 6
xor r8, r12
mov rdx, r11
mov r12, qword [rsp + 0x68]
not rdx
add r8, qword [rsp + 0x50]
and rdx, rdi
add r8, r9
mov rax, rcx
and rax, r11
movabs r9, 0x5fcb6fab3ad6faec
xor rdx, rax
mov rax, r12
ror rax, 0x1c
add rdx, r8
add rdx, r13
mov r13, qword [rsp + 0x70]
add r9, rdx
mov rdx, r13
add r9, rbx
xor rdx, r12
add r14, r9
and rdx, r15
mov rbx, r12
rol rbx, 0x1e
xor rbx, rax
mov rax, r12
rol rax, 0x19
xor rbx, rax
mov rax, r13
and rax, r12
xor rdx, rax
mov rax, r14
add rbx, rdx
ror rax, 0x12
add rbx, r9
mov r9, r14
rol r9, 0x17
xor r9, rax
add rbp, qword [rsp + 0xb0]
mov rax, r14
ror rax, 0xe
mov rdx, rsi
xor r9, rax
ror rdx, 0x13
mov rax, rsi
mov qword [rsp + 0xb0], rbp
rol rax, 3
xor rdx, rax
shr rsi, 6
xor rdx, rsi
add r9, rdx
mov rdx, qword [rsp + 0x128]
mov r8, rdx
mov rax, rdx
shr rdx, 7
ror r8, 8
ror rax, 1
xor r8, rax
mov rax, r11
add r11, qword [rsp + 0xa8]
xor r8, rdx
add r8, r10
mov qword [rsp + 0xa8], r11
mov r10, qword [rsp + 0xb8]
add r8, r9
and rax, r14
mov rdx, r14
add r14, qword [rsp + 0xa0]
not rdx
and rdx, rcx
mov qword [rsp + 0xa0], r14
xor rdx, rax
sub r10, 0xffffffffffffff80
add rdx, r8
mov qword [rsp + 0xb8], r10
add rdx, qword [rsp + 0x18]
mov r8, rbx
rol r8, 0x1e
mov rax, rbx
ror rax, 0x1c
movabs r9, 0x6c44198c4a475817
xor r8, rax
add r9, rdx
add r9, rdi
mov rax, rbx
rol rax, 0x19
mov rdx, r12
xor r8, rax
xor rdx, rbx
and rdx, r13
mov rax, r12
add r12, qword [rsp + 0x88]
lea rcx, [r9 + r15]
add r13, qword [rsp + 0x90]
and rax, rbx
mov r15, qword [rsp + 0x78]
xor rdx, rax
add rbx, qword [rsp + 0x80]
add r8, rdx
add rcx, qword [rsp + 0x98]
add r15, r8
add r15, r9
mov qword [rsp + 0x68], r12
sub qword [rsp + 0xc0], 1
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], rcx
jne 0x14000d190
mov r8, qword [rsp + 0x120]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 0x128], rcx
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x110]
mov byte [rcx + 7], r15b
shr r15, 8
mov byte [rcx + 6], r15b
shr r15, 8
mov byte [rcx + 5], r15b
shr r15, 8
mov byte [rcx + 4], r15b
shr r15, 8
mov byte [rcx + 3], r15b
shr r15, 8
mov byte [rcx + 2], r15b
shr r15, 8
mov byte [rcx + 1], r15b
shr r15, 8
mov byte [rcx], r15b
mov byte [rcx + 0xf], bl
shr rbx, 8
mov byte [rcx + 0xe], bl
shr rbx, 8
mov byte [rcx + 0xd], bl
shr rbx, 8
mov byte [rcx + 0xc], bl
shr rbx, 8
mov byte [rcx + 0xb], bl
shr rbx, 8
mov byte [rcx + 0xa], bl
shr rbx, 8
mov byte [rcx + 9], bl
shr rbx, 8
mov byte [rcx + 8], bl
mov byte [rcx + 0x17], r12b
shr r12, 8
mov byte [rcx + 0x16], r12b
shr r12, 8
mov byte [rcx + 0x15], r12b
shr r12, 8
mov byte [rcx + 0x14], r12b
shr r12, 8
mov byte [rcx + 0x13], r12b
shr r12, 8
mov byte [rcx + 0x12], r12b
shr r12, 8
mov byte [rcx + 0x11], r12b
shr r12, 8
mov byte [rcx + 0x10], r12b
mov byte [rcx + 0x1f], r13b
shr r13, 8
mov byte [rcx + 0x1e], r13b
shr r13, 8
mov byte [rcx + 0x1d], r13b
shr r13, 8
mov byte [rcx + 0x1c], r13b
shr r13, 8
mov byte [rcx + 0x1b], r13b
shr r13, 8
mov byte [rcx + 0x1a], r13b
shr r13, 8
mov byte [rcx + 0x19], r13b
shr r13, 8
mov byte [rcx + 0x18], r13b
mov byte [rcx + 0x27], dl
shr rdx, 8
mov byte [rcx + 0x26], dl
shr rdx, 8
mov byte [rcx + 0x25], dl
shr rdx, 8
mov byte [rcx + 0x24], dl
shr rdx, 8
mov byte [rcx + 0x23], dl
shr rdx, 8
mov byte [rcx + 0x22], dl
shr rdx, 8
mov byte [rcx + 0x21], dl
shr rdx, 8
mov byte [rcx + 0x20], dl
mov byte [rcx + 0x2f], r14b
shr r14, 8
mov byte [rcx + 0x2e], r14b
shr r14, 8
mov byte [rcx + 0x2d], r14b
shr r14, 8
mov byte [rcx + 0x2c], r14b
mov eax, r8d
shr r14, 8
mov byte [rcx + 0x2b], r14b
shr r14, 8
mov byte [rcx + 0x2a], r14b
shr r14, 8
mov byte [rcx + 0x29], r14b
shr r14, 8
mov byte [rcx + 0x28], r14b
mov byte [rcx + 0x37], r11b
shr r11, 8
mov byte [rcx + 0x36], r11b
shr r11, 8
mov byte [rcx + 0x35], r11b
shr r11, 8
mov byte [rcx + 0x34], r11b
shr r11, 8
mov byte [rcx + 0x33], r11b
shr r11, 8
mov byte [rcx + 0x32], r11b
shr r11, 8
mov byte [rcx + 0x31], r11b
shr r11, 8
mov byte [rcx + 0x30], r11b
mov byte [rcx + 0x3f], bpl
shr rbp, 8
mov byte [rcx + 0x3e], bpl
shr rbp, 8
mov byte [rcx + 0x3d], bpl
shr rbp, 8
mov byte [rcx + 0x3c], bpl
shr rbp, 8
mov byte [rcx + 0x3b], bpl
shr rbp, 8
mov byte [rcx + 0x3a], bpl
shr rbp, 8
mov byte [rcx + 0x39], bpl
shr rbp, 8
mov byte [rcx + 0x38], bpl
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rbx
ret