Function at 0x1400904d3
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x160
mov qword [rsp + 0xd0], rcx
sub r8, 1
jb 0x140091d3c
mov qword [rsp + 0x118], r8
mov r12, qword [rcx]
mov r15, qword [rcx + 8]
mov r14, qword [rcx + 0x10]
mov r10, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x20]
mov rdi, qword [rcx + 0x28]
mov r9, qword [rcx + 0x30]
mov r8, qword [rcx + 0x38]
mov r11, qword [rdx]
bswap r11
mov r13, qword [rdx + 8]
mov rax, rbx
rol rax, 0x32
mov rcx, rbx
rol rcx, 0x2e
xor rcx, rax
mov rax, rbx
rol rax, 0x17
xor rax, rcx
mov qword [rsp + 0xc0], rdx
mov rdx, rdi
and rdx, rbx
mov rcx, rbx
not rcx
and rcx, r9
mov qword [rsp + 0x110], r8
add rdx, r8
add rdx, rcx
mov qword [rsp + 0x38], r11
add rdx, r11
add rdx, rax
mov rax, r12
rol rax, 0x24
movabs rcx, 0x428a2f98d728ae22
add rdx, rcx
mov rcx, r12
rol rcx, 0x1e
xor rcx, rax
mov rax, r12
rol rax, 0x19
xor rax, rcx
mov rcx, r14
xor rcx, r15
and rcx, r12
mov rsi, r14
and rsi, r15
xor rsi, rcx
add rsi, rax
add rsi, rdx
mov qword [rsp + 0xf0], r10
add rdx, r10
bswap r13
mov rax, rdx
rol rax, 0x32
mov rcx, rdx
rol rcx, 0x2e
xor rcx, rax
mov rax, rdx
rol rax, 0x17
xor rax, rcx
mov r8, rdx
and r8, rbx
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x50], r13
add r8, r9
add r8, r13
mov rcx, rdx
not rcx
and rcx, rdi
add r8, rcx
movabs rcx, 0x7137449123ef65cd
add r8, rcx
add r8, rax
mov rax, rsi
rol rax, 0x24
mov rcx, rsi
rol rcx, 0x1e
xor rcx, rax
mov rax, rsi
rol rax, 0x19
xor rax, rcx
mov rcx, r15
and rcx, r12
mov rbp, r15
xor rbp, r12
and rbp, rsi
xor rbp, rcx
add rbp, rax
add rbp, r8
mov qword [rsp + 0xe8], r14
add r8, r14
mov rax, r8
rol rax, 0x32
mov rcx, r8
rol rcx, 0x2e
xor rcx, rax
mov rax, r8
rol rax, 0x17
xor rax, rcx
mov r11, qword [rsp + 0xc0]
mov rcx, qword [r11 + 0x10]
bswap rcx
mov r10, r8
and r10, rdx
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x68], rcx
add rcx, rdi
add r10, rcx
mov rcx, r8
not rcx
and rcx, rbx
add r10, rcx
movabs rcx, 0xb5c0fbcfec4d3b2f
add r10, rcx
add r10, rax
mov rax, rbp
rol rax, 0x24
mov rcx, rbp
rol rcx, 0x1e
xor rcx, rax
mov rax, rbp
rol rax, 0x19
xor rax, rcx
mov rcx, rsi
and rcx, r12
mov r9, rsi
xor r9, r12
and r9, rbp
xor r9, rcx
add r9, rax
add r9, r10
mov qword [rsp + 0xe0], r15
add r10, r15
mov rax, r10
rol rax, 0x32
mov rcx, r10
rol rcx, 0x2e
xor rcx, rax
mov rax, r10
rol rax, 0x17
xor rax, rcx
mov rdi, qword [r11 + 0x18]
mov r15, r11
bswap rdi
mov rcx, r10
and rcx, r8
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x90], rdi
add rdi, rbx
add rcx, rdi
mov rdi, r10
not rdi
and rdi, rdx
add rcx, rdi
movabs rdi, 0xe9b5dba58189dbbc
add rcx, rdi
mov rdi, r9
rol rdi, 0x24
add rcx, rax
mov rax, r9
rol rax, 0x1e
xor rax, rdi
mov rdi, r9
rol rdi, 0x19
xor rdi, rax
mov rbx, rbp
and rbx, rsi
mov rax, rbp
xor rax, rsi
and rax, r9
xor rax, rbx
add rax, rdi
add rax, rcx
mov r14, qword [r11 + 0x20]
bswap r14
mov qword [rsp + 0xd8], r12
add rcx, r12
mov rdi, rcx
rol rdi, 0x32
mov rbx, rcx
rol rbx, 0x2e
xor rbx, rdi
mov rdi, rcx
rol rdi, 0x17
xor rdi, rbx
mov rbx, rcx
and rbx, r10
mov qword [rsp + 0x60], r14
add rdx, r14
add rdx, rbx
mov rbx, rcx
not rbx
and rbx, r8
add rdx, rbx
mov rbx, rax
rol rbx, 0x24
movabs r14, 0x3956c25bf348b538
add rdx, r14
mov r14, rax
rol r14, 0x1e
add rdx, rdi
mov rdi, rax
rol rdi, 0x19
xor r14, rbx
xor rdi, r14
mov r14, r9
and r14, rbp
mov r13, r9
xor r13, rbp
and r13, rax
xor r13, r14
add r13, rdi
mov rbx, qword [r11 + 0x28]
bswap rbx
add rsi, rdx
mov rdi, rsi
rol rdi, 0x32
add r13, rdx
mov rdx, rsi
rol rdx, 0x2e
xor rdx, rdi
mov rdi, rsi
rol rdi, 0x17
xor rdi, rdx
mov rdx, rsi
and rdx, rcx
mov qword [rsp + 0x48], rbx
add r8, rbx
add r8, rdx
mov rdx, rsi
not rdx
and rdx, r10
add r8, rdx
mov rdx, r13
rol rdx, 0x24
movabs rbx, 0x59f111f1b605d019
add r8, rbx
mov r14, r13
rol r14, 0x1e
add r8, rdi
mov rdi, r13
rol rdi, 0x19
xor r14, rdx
xor rdi, r14
mov rdx, rax
and rdx, r9
mov r14, rax
xor r14, r9
and r14, r13
xor r14, rdx
add r14, rdi
mov rdi, qword [r11 + 0x30]
bswap rdi
add rbp, r8
mov rdx, rbp
rol rdx, 0x32
add r14, r8
mov r8, rbp
rol r8, 0x2e
xor r8, rdx
mov rdx, rbp
rol rdx, 0x17
xor rdx, r8
mov r8, rbp
and r8, rsi
mov qword [rsp + 0x40], rdi
add r10, rdi
add r10, r8
mov r8, rbp
not r8
and r8, rcx
add r10, r8
mov r8, r14
rol r8, 0x24
movabs rdi, 0x923f82a4af194f9b
add r10, rdi
mov rdi, r14
rol rdi, 0x1e
add r10, rdx
mov rdx, r14
rol rdx, 0x19
xor rdi, r8
xor rdx, rdi
mov rdi, r13
and rdi, rax
mov r8, r13
xor r8, rax
and r8, r14
xor r8, rdi
add r8, rdx
mov r11, qword [r11 + 0x38]
bswap r11
mov qword [rsp + 0xb8], r11
add r9, r10
mov rdx, r9
rol rdx, 0x32
add r8, r10
mov r10, r9
rol r10, 0x2e
xor r10, rdx
mov rdx, r9
rol rdx, 0x17
xor rdx, r10
mov r10, r9
and r10, rbp
add rcx, r11
add rcx, r10
mov r10, r9
not r10
and r10, rsi
add rcx, r10
mov r10, r8
rol r10, 0x24
movabs rdi, 0xab1c5ed5da6d8118
add rcx, rdi
mov rdi, r8
rol rdi, 0x1e
add rcx, rdx
mov rdx, r8
rol rdx, 0x19
xor rdi, r10
xor rdx, rdi
mov r10, r14
and r10, r13
mov r11, r14
xor r11, r13
and r11, r8
xor r11, r10
add r11, rdx
mov r10, qword [r15 + 0x40]
bswap r10
add rax, rcx
mov rdx, rax
rol rdx, 0x32
add r11, rcx
mov rcx, rax
rol rcx, 0x2e
xor rcx, rdx
mov rdx, rax
rol rdx, 0x17
xor rdx, rcx
mov rcx, rax
and rcx, r9
mov qword [rsp + 0xb0], r10
add rsi, r10
add rsi, rcx
mov rcx, rax
not rcx
and rcx, rbp
add rsi, rcx
mov rcx, r11
rol rcx, 0x24
movabs r10, 0xd807aa98a3030242
add rsi, r10
mov r10, r11
rol r10, 0x1e
add rsi, rdx
mov rdx, r11
rol rdx, 0x19
xor r10, rcx
xor rdx, r10
mov rcx, r8
and rcx, r14
mov r10, r8
xor r10, r14
and r10, r11
xor r10, rcx
add r10, rdx
mov rdi, r10
mov rdx, qword [r15 + 0x48]
bswap rdx
add r13, rsi
mov rcx, r13
rol rcx, 0x32
add rdi, rsi
mov r10, rdx
mov rdx, r13
rol rdx, 0x2e
xor rdx, rcx
mov rcx, r13
rol rcx, 0x17
xor rcx, rdx
mov rdx, r13
and rdx, rax
mov rsi, r10
add rbp, r10
add rbp, rdx
mov rdx, r13
not rdx
and rdx, r9
add rbp, rdx
mov rdx, rdi
rol rdx, 0x24
movabs r10, 0x12835b0145706fbe
add rbp, r10
mov r10, rdi
rol r10, 0x1e
add rbp, rcx
mov rcx, rdi
rol rcx, 0x19
xor r10, rdx
xor rcx, r10
mov rdx, r11
and rdx, r8
mov rbx, r11
xor rbx, r8
and rbx, rdi
xor rbx, rdx
add rbx, rcx
mov r10, qword [r15 + 0x50]
bswap r10
mov qword [rsp + 0x58], r10
add r14, rbp
mov rcx, r14
rol rcx, 0x32
add rbx, rbp
mov rdx, r14
rol rdx, 0x2e
xor rdx, rcx
mov rcx, r14
rol rcx, 0x17
xor rcx, rdx
mov rdx, r14
and rdx, r13
add r9, r10
add r9, rdx
mov rdx, r14
not rdx
and rdx, rax
add r9, rdx
mov rdx, rbx
rol rdx, 0x24
movabs r10, 0x243185be4ee4b28c
add r9, r10
mov r10, rbx
rol r10, 0x1e
add r9, rcx
mov rcx, rbx
rol rcx, 0x19
xor r10, rdx
xor rcx, r10
mov rdx, rdi
and rdx, r11
mov r12, rdi
mov rbp, rdi
xor r12, r11
and r12, rbx
xor r12, rdx
add r12, rcx
mov r10, qword [r15 + 0x58]
bswap r10
mov qword [rsp + 0x78], r10
add r8, r9
mov rcx, r8
rol rcx, 0x32
add r12, r9
mov rdx, r8
rol rdx, 0x2e
xor rdx, rcx
mov rcx, r8
rol rcx, 0x17
xor rcx, rdx
mov rdx, r8
and rdx, r14
add rax, r10
add rax, rdx
mov rdx, r8
not rdx
and rdx, r13
add rax, rdx
mov rdx, r12
rol rdx, 0x24
movabs r9, 0x550c7dc3d5ffb4e2
add rax, r9
mov r9, r12
rol r9, 0x1e
add rax, rcx
mov rcx, r12
rol rcx, 0x19
xor r9, rdx
xor rcx, r9
mov rdx, rbx
and rdx, rdi
mov rdi, rbx
xor rdi, rbp
and rdi, r12
xor rdi, rdx
add rdi, rcx
mov rdx, qword [r15 + 0x60]
bswap rdx
add r11, rax
mov rcx, r11
rol rcx, 0x32
add rdi, rax
mov rax, r11
rol rax, 0x2e
xor rax, rcx
mov rcx, r11
rol rcx, 0x17
xor rcx, rax
mov rax, r11
and rax, r8
mov qword [rsp + 0x80], rdx
add r13, rdx
add r13, rax
mov rax, r11
not rax
and rax, r14
add r13, rax
mov rax, rdi
rol rax, 0x24
movabs rdx, 0x72be5d74f27b896f
add r13, rdx
mov rdx, rdi
rol rdx, 0x1e
add r13, rcx
mov rcx, rdi
rol rcx, 0x19
xor rdx, rax
xor rcx, rdx
mov rax, r12
and rax, rbx
mov rdx, r12
xor rdx, rbx
and rdx, rdi
xor rdx, rax
add rdx, rcx
mov r9, qword [r15 + 0x68]
bswap r9
mov r10, rbp
add r10, r13
mov rax, r10
rol rax, 0x32
add rdx, r13
mov rcx, r10
rol rcx, 0x2e
xor rcx, rax
mov rax, r10
rol rax, 0x17
xor rax, rcx
mov rcx, r10
and rcx, r11
mov qword [rsp + 0x88], r9
add r14, r9
add r14, rcx
mov rcx, r10
mov r13, r10
not rcx
and rcx, r8
add r14, rcx
mov rcx, rdx
rol rcx, 0x24
movabs r9, 0x80deb1fe3b1696b1
add r14, r9
mov r9, rdx
rol r9, 0x1e
add r14, rax
mov rax, rdx
rol rax, 0x19
xor r9, rcx
xor rax, r9
mov rcx, rdi
and rcx, r12
mov rbp, rdi
xor rbp, r12
and rbp, rdx
xor rbp, rcx
add rbp, rax
mov r10, qword [r15 + 0x70]
bswap r10
add rbx, r14
mov rax, rbx
rol rax, 0x32
add rbp, r14
mov rcx, rbx
rol rcx, 0x2e
xor rcx, rax
mov rax, rbx
rol rax, 0x17
xor rax, rcx
mov rcx, rbx
and rcx, r13
mov r14, r13
add r8, r10
add r8, rcx
mov rcx, rbx
not rcx
and rcx, r11
add r8, rcx
mov rcx, rbp
rol rcx, 0x24
movabs r9, 0x9bdc06a725c71235
add r8, r9
mov r9, rbp
rol r9, 0x1e
add r8, rax
mov rax, rbp
rol rax, 0x19
xor r9, rcx
xor rax, r9
mov rcx, rdx
and rcx, rdi
mov r13, rdx
xor r13, rdi
and r13, rbp
xor r13, rcx
add r13, rax
mov rax, r15
mov r9, qword [r15 + 0x78]
bswap r9
add r12, r8
mov rax, r12
rol rax, 0x32
add r13, r8
mov rcx, r12
rol rcx, 0x2e
xor rcx, rax
mov rax, r12
rol rax, 0x17
xor rax, rcx
mov rcx, r12
mov qword [rsp + 0x30], rbx
and rcx, rbx
mov r15, r9
add r11, r9
mov r9, rdi
add r11, rcx
mov qword [rsp + 0x18], r12
mov rcx, r12
not rcx
mov r8, r14
mov qword [rsp + 0x10], r14
and rcx, r14
add r11, rcx
mov rcx, r13
rol rcx, 0x24
movabs r8, 0xc19bf174cf692694
add r11, r8
mov r8, r13
rol r8, 0x1e
add r11, rax
mov rax, r13
rol rax, 0x19
xor r8, rcx
xor rax, r8
mov r8, rbp
mov rcx, rbp
and rcx, rdx
mov rdi, rbp
xor rdi, rdx
and rdi, r13
xor rdi, rcx
add rdi, rax
add r9, r11
add rdi, r11
mov ebp, 0x10
cmp rbp, 0x4f
ja 0x140091cad
mov r11, qword [rsp + 0x50]
mov rax, r11
ror rax, 1
mov rcx, r11
rol rcx, 0x38
xor rcx, rax
mov rax, r11
shr rax, 7
xor rax, rcx
mov rcx, r10
rol rcx, 0x2d
mov rbx, r8
mov r8, r10
rol r8, 3
xor r8, rcx
mov rcx, r10
shr rcx, 6
xor rcx, r8
mov qword [rsp + 8], r10
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0xc8], rsi
add r8, rsi
add r8, rcx
add r8, rax
mov r10, r8
mov qword [rsp + 0x38], r8
mov rax, r9
rol rax, 0x32
mov rcx, r9
rol rcx, 0x2e
xor rcx, rax
mov r8, r9
rol r8, 0x17
xor r8, rcx
mov r12, qword [rsp + 0x18]
mov rax, r12
and rax, r9
add rax, qword [rsp + 0x10]
mov rcx, r9
not rcx
mov r11, rdx
mov rdx, qword [rsp + 0x30]
and rcx, rdx
add rax, rcx
add rax, r8
mov rcx, rdi
rol rcx, 0x24
mov r8, rdi
rol r8, 0x1e
xor r8, rcx
mov rcx, rdi
rol rcx, 0x19
xor rcx, r8
mov r8, rbx
xor r8, r13
and r8, rdi
mov r14, rdi
mov rsi, rbx
mov rdi, rbx
and rsi, r13
xor rsi, r8
add rax, r10
lea r8, [0x140234120]
mov rbx, rbp
add rax, qword [r8 + rbp*8]
mov qword [rsp], rbp
mov rbp, r9
mov r9, r8
add rsi, rcx
mov r10, rsi
mov rcx, qword [rsp + 0x68]
mov rsi, rcx
ror rsi, 1
add r11, rax
mov r8, rcx
rol r8, 0x38
add r10, rax
xor r8, rsi
mov rax, rcx
mov rsi, rcx
shr rax, 7
xor rax, r8
mov qword [rsp + 0x28], r15
mov rcx, r15
rol rcx, 0x2d
mov r8, r15
rol r8, 3
xor r8, rcx
shr r15, 6
xor r15, r8
mov r8, qword [rsp + 0x50]
add r8, qword [rsp + 0x58]
add r8, r15
mov rcx, r11
rol rcx, 0x32
add r8, rax
mov qword [rsp + 0x50], r8
mov rax, r11
rol rax, 0x2e
xor rax, rcx
mov rcx, r11
rol rcx, 0x17
xor rcx, rax
mov rax, r11
and rax, rbp
add rdx, r8
add rdx, qword [r9 + rbx*8 + 8]
add rdx, rax
mov rax, r11
not rax
and rax, r12
add rdx, rax
add rdx, rcx
mov r15, r10
mov rax, r10
rol rax, 0x24
mov rcx, r10
rol rcx, 0x1e
xor rcx, rax
mov rax, r10
rol rax, 0x19
xor rax, rcx
mov rcx, r13
mov qword [rsp + 0xa8], r14
and rcx, r14
mov r8, r13
xor r8, r14
and r8, r10
xor r8, rcx
add r8, rax
add rdi, rdx
add r8, rdx
mov r9, r8
mov r10, qword [rsp + 0x90]
mov rax, r10
ror rax, 1
mov rcx, r10
rol rcx, 0x38
xor rcx, rax
mov rax, r10
shr rax, 7
mov r14, qword [rsp + 0x38]
mov r8, r14
rol r8, 0x2d
xor rax, rcx
mov rcx, r14
rol rcx, 3
xor rcx, r8
mov r8, r14
shr r8, 6
xor r8, rcx
add rsi, qword [rsp + 0x78]
mov rcx, rdi
rol rcx, 0x32
add rsi, rax
mov rax, rdi
rol rax, 0x2e
add rsi, r8
mov rdx, rsi
mov qword [rsp + 0x68], rsi
mov r8, rdi
rol r8, 0x17
xor rax, rcx
xor r8, rax
mov rax, rdi
mov rsi, r11
and rax, r11
add r12, rdx
lea rcx, [0x140234120]
mov rdx, qword [rsp]
add r12, qword [rcx + rdx*8 + 0x10]
add r12, rax
mov rax, rdi
mov rdx, rdi
not rax
and rax, rbp
add r12, rax
add r12, r8
mov r14, r9
mov rax, r9
rol rax, 0x24
mov rcx, r9
rol rcx, 0x1e
xor rcx, rax
mov rax, r9
rol rax, 0x19
xor rax, rcx
mov rcx, r15
mov rdi, qword [rsp + 0xa8]
and rcx, rdi
mov r8, r15
xor r8, rdi
and r8, r9
xor r8, rcx
add r8, rax
add r13, r12
add r8, r12
mov rbx, r8
mov r12, qword [rsp + 0x60]
mov rax, r12
ror rax, 1
mov rcx, r12
rol rcx, 0x38
xor rcx, rax
mov r11, qword [rsp + 0x50]
mov rax, r11
rol rax, 0x2d
mov r8, r12
shr r8, 7
mov r9, r11
rol r9, 3
xor r8, rcx
xor r9, rax
mov rax, r11
shr rax, 6
xor rax, r9
add r10, qword [rsp + 0x80]
add r10, r8
add r10, rax
mov rax, r13
rol rax, 0x32
mov rcx, r13
rol rcx, 0x2e
xor rcx, rax
mov rax, r13
rol rax, 0x17
xor rax, rcx
mov rcx, r13
mov r9, rdx
and rcx, rdx
add rbp, r10
mov r8, qword [rsp]
lea r11, [0x140234120]
add rbp, qword [r11 + r8*8 + 0x18]
add rbp, rcx
mov rcx, r13
not rcx
and rcx, rsi
mov rdx, rsi
add rbp, rcx
mov rcx, rbx
rol rcx, 0x24
add rbp, rax
mov rax, rbx
rol rax, 0x1e
xor rax, rcx
mov rcx, rbx
rol rcx, 0x19
xor rcx, rax
mov rax, r14
and rax, r15
mov r8, r14
xor r8, r15
and r8, rbx
xor r8, rax
add r8, rcx
mov r11, r8
add rdi, rbp
mov r8, qword [rsp + 0x48]
mov rax, r8
ror rax, 1
add r11, rbp
mov rcx, r8
rol rcx, 0x38
xor rcx, rax
mov rax, r8
shr rax, 7
xor rax, rcx
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
rol rcx, 0x2d
mov r8, rsi
rol r8, 3
xor r8, rcx
mov rcx, rsi
shr rcx, 6
xor rcx, r8
add r12, qword [rsp + 0x88]
add r12, rax
add r12, rcx
mov qword [rsp + 0x60], r12
mov rax, rdi
rol rax, 0x32
mov rcx, rdi
rol rcx, 0x2e
xor rcx, rax
mov rax, rdi
rol rax, 0x17
xor rax, rcx
add rdx, r12
mov rcx, qword [rsp]
lea rbp, [0x140234120]
add rdx, qword [rbp + rcx*8 + 0x20]
mov rcx, rdi
mov qword [rsp + 0x158], r13
and rcx, r13
add rdx, rcx
mov rcx, rdi
mov rsi, rdi
mov qword [rsp + 0xa8], rdi
not rcx
and rcx, r9
mov rdi, r11
mov r8, r11
rol r8, 0x24
add rdx, rcx
mov rcx, r11
rol rcx, 0x1e
add rdx, rax
mov rax, r11
rol rax, 0x19
xor rcx, r8
xor rax, rcx
mov r8, rbx
mov qword [rsp + 0x18], rbx
mov rcx, rbx
mov qword [rsp + 0x10], r14
and rcx, r14
xor r8, r14
and r8, r11
xor r8, rcx
add r8, rax
mov r11, qword [rsp + 0x40]
mov rax, r11
ror rax, 1
add r15, rdx
mov rcx, r11
rol rcx, 0x38
add r8, rdx
xor rcx, rax
mov rax, r11
shr rax, 7
xor rax, rcx
mov qword [rsp + 0x90], r10
mov rcx, r10
rol rcx, 0x2d
mov rdx, r10
rol rdx, 3
xor rdx, rcx
mov rcx, r10
shr rcx, 6
xor rcx, rdx
mov r14, qword [rsp + 0x48]
add r14, qword [rsp + 8]
add r14, rax
mov rax, r15
rol rax, 0x32
add r14, rcx
mov rdx, r14
mov qword [rsp + 0x48], r14
mov rcx, r15
rol rcx, 0x2e
xor rcx, rax
mov rax, r15
mov qword [rsp + 0x30], r15
rol rax, 0x17
xor rax, rcx
mov rcx, qword [rsp]
mov r14, qword [rbp + rcx*8 + 0x28]
add r14, rdx
add r14, r9
mov rcx, r15
and rcx, rsi
add r14, rcx
not r15
mov r9, r8
mov rdx, r8
rol rdx, 0x24
and r15, r13
rol r8, 0x1e
add r14, r15
mov rbx, r9
mov qword [rsp + 0x148], r9
rol rbx, 0x19
add r14, rax
mov rax, qword [rsp + 0xb8]
mov rsi, rax
ror rsi, 1
xor r8, rdx
rol rax, 0x38
mov r15, rax
xor rbx, r8
mov rax, qword [rsp + 0xb0]
mov r12, rax
ror r12, 1
rol rax, 0x38
mov r13, rax
mov rdx, rdi
mov qword [rsp + 0x150], rdi
mov rax, rdi
mov rdi, qword [rsp + 0x18]
and rax, rdi
mov r8, qword [rsp + 0xc8]
mov r10, r8
ror r10, 1
rol r8, 0x38
xor rdx, rdi
mov rcx, qword [rsp + 0x58]
mov r11, rcx
ror r11, 1
and rdx, r9
rol rcx, 0x38
mov qword [rsp + 0x20], rcx
xor rdx, rax
mov rbp, qword [rsp + 0x78]
mov rcx, rbp
ror rcx, 1
add rdx, rbx
mov r9, rdx
rol rbp, 0x38
add qword [rsp + 0x10], r14
mov rax, qword [rsp + 0x80]
mov rdx, rax
ror rdx, 1
add r9, r14
mov qword [rsp + 0x140], r9
mov r14, rax
rol r14, 0x38
xor r15, rsi
mov qword [rsp + 0x138], r15
mov rsi, qword [rsp + 0x88]
mov r9, rsi
ror r9, 1
xor r13, r12
mov qword [rsp + 0x130], r13
rol rsi, 0x38
xor r8, r10
mov qword [rsp + 0x128], r8
mov r12, qword [rsp + 0xb8]
mov rdi, qword [rsp + 8]
mov r10, rdi
ror r10, 1
mov rbx, qword [rsp + 0x20]
xor rbx, r11
mov r8, rdi
rol r8, 0x38
xor rbp, rcx
mov r15, qword [rsp + 0x28]
mov r11, r15
ror r11, 1
xor r14, rdx
mov rcx, r15
rol rcx, 0x38
xor rsi, r9
mov rax, qword [rsp + 0x38]
mov rdx, rax
ror rdx, 1
xor r8, r10
mov r9, rax
rol r9, 0x38
xor rcx, r11
xor r9, rdx
shr rax, 7
xor rax, r9
mov rdx, rax
mov rax, qword [rsp + 0x40]
add rax, r15
add rdx, r15
mov qword [rsp + 0x120], rdx
shr r15, 7
xor r15, rcx
add r15, rdi
mov qword [rsp + 0xa0], r15
mov rcx, qword [rsp + 0x78]
shr rdi, 7
xor rdi, r8
mov r8, qword [rsp + 0x88]
add rdi, r8
mov qword [rsp + 0x98], rdi
shr r8, 7
xor r8, rsi
mov rdx, qword [rsp + 0x80]
add r8, rdx
mov qword [rsp + 8], r8
shr rdx, 7
xor rdx, r14
add rdx, rcx
mov qword [rsp + 0x28], rdx
mov rdx, rcx
shr rdx, 7
xor rdx, rbp
mov rcx, qword [rsp + 0x58]
add rdx, rcx
mov qword [rsp + 0x70], rdx
shr rcx, 7
xor rcx, rbx
mov r15, qword [rsp + 0xc8]
add rcx, r15
mov qword [rsp + 0x20], rcx
shr r15, 7
xor r15, qword [rsp + 0x128]
mov r14, qword [rsp + 0xb0]
add r15, r14
shr r14, 7
xor r14, qword [rsp + 0x130]
add r14, r12
shr r12, 7
mov rcx, qword [rsp + 0x60]
mov r10, rcx
rol r10, 0x2d
xor r12, qword [rsp + 0x138]
mov rsi, rcx
rol rsi, 3
xor rsi, r10
mov r10, rcx
shr r10, 6
xor r10, rsi
add rax, r12
mov rcx, qword [rsp + 0x10]
mov rdx, rcx
rol rdx, 0x32
add rax, r10
mov qword [rsp + 0x40], rax
mov r10, rcx
rol r10, 0x2e
xor r10, rdx
mov rdx, rcx
rol rdx, 0x17
xor rdx, r10
mov r10, qword [rsp]
lea rbx, [0x140234120]
mov rsi, qword [rbx + r10*8 + 0x30]
add rsi, rax
add rsi, qword [rsp + 0x158]
mov r10, rcx
mov r8, qword [rsp + 0x30]
and r10, r8
add rsi, r10
mov r10, rcx
not r10
mov r9, qword [rsp + 0xa8]
and r10, r9
add rsi, r10
add rsi, rdx
mov r11, qword [rsp + 0x140]
mov rdx, r11
rol rdx, 0x24
mov r10, r11
rol r10, 0x1e
xor r10, rdx
mov rdx, r11
rol rdx, 0x19
xor rdx, r10
mov r13, qword [rsp + 0x148]
mov rdi, r13
mov rax, qword [rsp + 0x150]
and rdi, rax
mov r10, r13
xor r10, rax
and r10, r11
xor r10, rdi
add r10, rdx
mov r12, qword [rsp + 0x18]
add r12, rsi
add r10, rsi
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
rol rdx, 0x2d
mov rsi, rcx
rol rsi, 3
xor rsi, rdx
mov rdx, rcx
shr rdx, 6
xor rdx, rsi
add r14, qword [rsp + 0x38]
add r14, rdx
mov rdx, r12
rol rdx, 0x32
mov rsi, r12
rol rsi, 0x2e
xor rsi, rdx
mov rdx, r12
rol rdx, 0x17
xor rdx, rsi
mov rsi, qword [rsp]
mov rsi, qword [rbx + rsi*8 + 0x38]
add rsi, r14
add rsi, r9
mov rdi, r12
mov r9, qword [rsp + 0x10]
and rdi, r9
add rsi, rdi
mov rdi, r12
not rdi
and rdi, r8
add rsi, rdi
mov rdi, r10
rol rdi, 0x24
add rsi, rdx
mov rdx, r10
rol rdx, 0x1e
xor rdx, rdi
mov rdi, r10
rol rdi, 0x19
xor rdi, rdx
mov rdx, r11
and rdx, r13
mov rbp, r11
xor rbp, r13
and rbp, r10
xor rbp, rdx
add rbp, rdi
mov rbx, rax
add rbx, rsi
mov rax, qword [rsp + 0x40]
mov rdx, rax
rol rdx, 0x2d
add rbp, rsi
mov rsi, rax
rol rsi, 3
xor rsi, rdx
mov rdx, rax
shr rdx, 6
xor rdx, rsi
add r15, qword [rsp + 0x50]
mov rsi, rbx
rol rsi, 0x32
add r15, rdx
mov rdx, rbx
rol rdx, 0x2e
xor rdx, rsi
mov rsi, rbx
rol rsi, 0x17
xor rsi, rdx
mov rdx, qword [rsp]
lea rax, [0x140234120]
mov rdx, qword [rax + rdx*8 + 0x40]
add rdx, r15
add rdx, r8
mov rdi, rbx
and rdi, r12
add rdx, rdi
mov rdi, rbx
not rdi
and rdi, r9
add rdx, rdi
add rdx, rsi
mov rsi, rbp
rol rsi, 0x24
mov rdi, rbp
rol rdi, 0x1e
xor rdi, rsi
mov rsi, rbp
rol rsi, 0x19
xor rsi, rdi
mov rdi, r10
and rdi, r11
mov rcx, r10
xor rcx, r11
and rcx, rbp
xor rcx, rdi
add rcx, rsi
add r13, rdx
add rcx, rdx
mov rdx, r14
rol rdx, 0x2d
mov rsi, r14
rol rsi, 3
xor rsi, rdx
mov rdx, r14
shr rdx, 6
xor rdx, rsi
mov r8, qword [rsp + 0x20]
add r8, qword [rsp + 0x68]
add r8, rdx
mov qword [rsp + 0x20], r8
mov rdx, r13
rol rdx, 0x32
mov rsi, r13
rol rsi, 0x2e
xor rsi, rdx
mov rdx, r13
mov rax, r13
rol rdx, 0x17
xor rdx, rsi
mov rsi, qword [rsp]
lea r13, [0x140234120]
mov rsi, qword [r13 + rsi*8 + 0x48]
add rsi, r8
add rsi, r9
mov rdi, rax
and rdi, rbx
add rsi, rdi
mov rdi, rax
not rdi
and rdi, r12
add rsi, rdi
mov rdi, rcx
rol rdi, 0x24
add rsi, rdx
mov rdx, rcx
rol rdx, 0x1e
xor rdx, rdi
mov rdi, rcx
rol rdi, 0x19
xor rdi, rdx
mov rdx, rbp
and rdx, r10
mov r8, rbp
xor r8, r10
and r8, rcx
xor r8, rdx
add r8, rdi
add r11, rsi
mov rdx, r15
rol rdx, 0x2d
add r8, rsi
mov rsi, r15
rol rsi, 3
xor rsi, rdx
mov rdx, r15
shr rdx, 6
xor rdx, rsi
mov r9, qword [rsp + 0x70]
add r9, qword [rsp + 0x90]
mov rsi, r11
rol rsi, 0x32
add r9, rdx
mov qword [rsp + 0x70], r9
mov rdx, r11
rol rdx, 0x2e
xor rdx, rsi
mov rsi, r11
rol rsi, 0x17
xor rsi, rdx
mov rdx, qword [rsp]
mov rdx, qword [r13 + rdx*8 + 0x50]
add rdx, r9
add rdx, r12
mov rdi, r11
and rdi, rax
add rdx, rdi
mov rdi, r11
not rdi
and rdi, rbx
add rdx, rdi
add rdx, rsi
mov rsi, r8
rol rsi, 0x24
mov rdi, r8
rol rdi, 0x1e
xor rdi, rsi
mov rsi, r8
rol rsi, 0x19
xor rsi, rdi
mov r13, rcx
and r13, rbp
mov r12, rcx
xor r12, rbp
and r12, r8
xor r12, r13
add r12, rsi
add r10, rdx
add r12, rdx
mov r9, qword [rsp + 0x20]
mov rdx, r9
rol rdx, 0x2d
mov rsi, r9
rol rsi, 3
xor rsi, rdx
mov rdx, r9
shr rdx, 6
xor rdx, rsi
mov r9, qword [rsp + 0x28]
add r9, qword [rsp + 0x60]
add r9, rdx
mov qword [rsp + 0x28], r9
mov rdx, r10
rol rdx, 0x32
mov rsi, r10
rol rsi, 0x2e
xor rsi, rdx
mov rdx, r10
rol rdx, 0x17
xor rdx, rsi
mov rsi, qword [rsp]
lea rdi, [0x140234120]
mov r13, qword [rdi + rsi*8 + 0x58]
add r13, r9
add r13, rbx
mov rbx, r8
mov rsi, r10
and rsi, r11
add r13, rsi
mov rsi, r10
not rsi
and rsi, rax
add r13, rsi
mov rsi, r12
rol rsi, 0x24
add r13, rdx
mov rdx, r12
rol rdx, 0x1e
xor rdx, rsi
mov rdi, r12
rol rdi, 0x19
xor rdi, rdx
mov rdx, r8
and rdx, rcx
mov r9, r8
xor r9, rcx
and r9, r12
xor r9, rdx
add r9, rdi
add rbp, r13
mov r8, qword [rsp + 0x70]
mov rdx, r8
rol rdx, 0x2d
add r9, r13
mov rdi, r8
rol rdi, 3
xor rdi, rdx
mov rdx, r8
shr rdx, 6
xor rdx, rdi
mov r8, qword [rsp + 8]
add r8, qword [rsp + 0x48]
mov rdi, rbp
rol rdi, 0x32
add r8, rdx
mov qword [rsp + 8], r8
mov rdx, rbp
rol rdx, 0x2e
xor rdx, rdi
mov rdi, rbp
rol rdi, 0x17
xor rdi, rdx
mov rdx, qword [rsp]
lea rsi, [0x140234120]
mov r13, qword [rsi + rdx*8 + 0x60]
add r13, r8
add r13, rax
mov rdx, rbp
and rdx, r10
add r13, rdx
mov rdx, rbp
not rdx
and rdx, r11
add r13, rdx
add r13, rdi
mov rdx, r9
rol rdx, 0x24
mov rdi, r9
rol rdi, 0x1e
xor rdi, rdx
mov rsi, r9
rol rsi, 0x19
xor rsi, rdi
mov rdi, r12
and rdi, rbx
mov rdx, r12
xor rdx, rbx
and rdx, r9
xor rdx, rdi
add rdx, rsi
add rcx, r13
add rdx, r13
mov rax, qword [rsp + 0x28]
mov rsi, rax
rol rsi, 0x2d
mov rdi, rax
rol rdi, 3
xor rdi, rsi
mov rsi, rax
shr rsi, 6
xor rsi, rdi
mov rax, qword [rsp + 0x98]
add rax, qword [rsp + 0x40]
add rax, rsi
mov qword [rsp + 0x98], rax
mov rsi, rcx
rol rsi, 0x32
mov rdi, rcx
rol rdi, 0x2e
xor rdi, rsi
mov rsi, rcx
rol rsi, 0x17
xor rsi, rdi
mov rdi, qword [rsp]
lea r8, [0x140234120]
mov rdi, qword [r8 + rdi*8 + 0x68]
add rdi, rax
add rdi, r11
mov r13, rcx
and r13, rbp
add rdi, r13
mov r13, rcx
not r13
and r13, r10
add rdi, r13
mov r13, rdx
rol r13, 0x24
add rdi, rsi
mov rsi, rdx
rol rsi, 0x1e
xor rsi, r13
mov r13, rdx
rol r13, 0x19
xor r13, rsi
mov rsi, r9
and rsi, r12
mov r8, r9
xor r8, r12
and r8, rdx
xor r8, rsi
add r8, r13
add rbx, rdi
mov rax, qword [rsp + 8]
mov rsi, rax
rol rsi, 0x2d
add r8, rdi
mov rdi, rax
rol rdi, 3
xor rdi, rsi
mov rsi, rax
shr rsi, 6
xor rsi, rdi
mov rax, qword [rsp + 0xa0]
add rax, r14
mov rdi, rbx
rol rdi, 0x32
add rax, rsi
mov qword [rsp + 0xa0], rax
mov rsi, rbx
rol rsi, 0x2e
xor rsi, rdi
mov rdi, rbx
rol rdi, 0x17
xor rdi, rsi
mov rsi, qword [rsp]
lea r11, [0x140234120]
mov rsi, qword [r11 + rsi*8 + 0x70]
add rsi, rax
add rsi, r10
mov r10, rbx
and r10, rcx
add rsi, r10
mov r10, rbx
not r10
and r10, rbp
add rsi, r10
add rsi, rdi
mov r10, r8
rol r10, 0x24
mov rdi, r8
rol rdi, 0x1e
xor rdi, r10
mov r10, r8
rol r10, 0x19
xor r10, rdi
mov rdi, rdx
and rdi, r9
mov r13, rdx
xor r13, r9
and r13, r8
xor r13, rdi
add r13, r10
add r12, rsi
add r13, rsi
mov rax, qword [rsp + 0x98]
mov r10, rax
rol r10, 0x2d
mov rsi, rax
rol rsi, 3
xor rsi, r10
mov r10, rax
mov r11, rax
shr r10, 6
xor r10, rsi
mov rax, qword [rsp + 0x120]
add rax, r15
add rax, r10
mov r10, r12
rol r10, 0x32
mov rsi, r12
rol rsi, 0x2e
xor rsi, r10
mov r10, r12
rol r10, 0x17
xor r10, rsi
mov rsi, qword [rsp]
lea rdi, [0x140234120]
mov rsi, qword [rdi + rsi*8 + 0x78]
add rsi, rax
add rsi, rbp
mov rdi, r12
mov qword [rsp + 0x30], rbx
and rdi, rbx
add rsi, rdi
mov qword [rsp + 0x18], r12
not r12
mov qword [rsp + 0x10], rcx
and r12, rcx
add rsi, r12
mov rdi, r13
rol rdi, 0x24
add rsi, r10
mov r10, r13
rol r10, 0x1e
xor r10, rdi
mov rdi, r13
rol rdi, 0x19
xor rdi, r10
mov r10, r8
and r10, rdx
mov rbp, r8
xor rbp, rdx
and rbp, r13
xor rbp, r10
add rbp, rdi
mov rdi, rbp
add r9, rsi
add rdi, rsi
mov qword [rsp + 0x88], r11
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rcx
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0xb0], r15
mov rbp, qword [rsp]
mov qword [rsp + 0xb8], r14
add rbp, 0x10
mov r15, rax
mov r10, qword [rsp + 0xa0]
jmp 0x140090df9
add rdi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov qword [rcx], rdi
add r13, qword [rsp + 0xe0]
mov qword [rcx + 8], r13
add r8, qword [rsp + 0xe8]
mov qword [rcx + 0x10], r8
add rdx, qword [rsp + 0xf0]
mov qword [rcx + 0x18], rdx
add r9, qword [rsp + 0xf8]
mov qword [rcx + 0x20], r9
mov rax, qword [rsp + 0x18]
add rax, qword [rsp + 0x100]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0x30]
add rax, qword [rsp + 0x108]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x10]
add rax, qword [rsp + 0x110]
mov qword [rcx + 0x38], rax
mov rdx, qword [rsp + 0xc0]
sub rdx, 0xffffffffffffff80
mov r8, qword [rsp + 0x118]
jmp 0x1400904ee
add rsp, 0x160
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret