Function at 0x1400085b0
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x120
mov r11, qword [rdx]
mov qword [rsp + 0xa8], r11
mov rax, qword [rdx + 8]
mov qword [rsp + 0x48], rax
mov rsi, qword [rdx + 0x10]
mov qword [rsp + 0xa0], rsi
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x68], rax
mov rdi, qword [rdx + 0x20]
mov qword [rsp + 0x80], rdi
mov rax, qword [rdx + 0x28]
mov qword [rsp + 0x58], rax
mov r10, qword [rcx]
mov qword [rsp + 0x118], r10
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0xd0], rax
lea rbx, [r10 + r11]
add rbx, rax
mov r10, qword [rcx + 0x40]
xor r10, rbx
movabs rbp, 0x510e527fade682d1
xor rbp, r10
movabs r10, 0x1f83d9abfb41bd6b
xor r10, r8
movabs r15, 0x5be0cd19137e2179
xor r15, r9
mov r14, qword [rdx + 0x30]
mov qword [rsp + 0x88], r14
mov rax, qword [rdx + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x38], rax
mov rax, qword [rdx + 0x48]
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 0x50]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + 0x58]
mov qword [rsp + 0x30], rax
mov rax, qword [rdx + 0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rdx + 0x68]
mov qword [rsp + 0x98], rax
mov rax, qword [rdx + 0x70]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x78]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x110], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0xf8], rax
mov rdx, qword [rcx + 0x28]
mov qword [rsp + 0xc0], rdx
lea r11, [rax + rsi]
add r11, rdx
mov r8, qword [rcx + 0x10]
mov qword [rsp + 0x100], r8
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0xc8], rax
lea r12, [r8 + rdi]
add r12, rax
mov r9, qword [rcx + 0x18]
mov qword [rsp + 0x108], r9
mov rdx, qword [rcx + 0x38]
mov qword [rsp + 0xd8], rdx
lea r13, [r9 + r14]
add r13, rdx
movabs rax, 0x9b05688c2b3e6c1f
xor rax, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol rax, 0x20
mov r8, rax
rol r10, 0x20
rol r15, 0x20
movabs rax, 0x6a09e667f3bcc908
add rax, rbp
movabs rdx, 0xbb67ae8584caa73b
add rdx, r8
movabs r9, 0x3c6ef372fe94f82b
add r9, r10
mov qword [rsp + 0x18], r9
movabs r14, 0xa54ff53a5f1d36f1
add r14, r15
mov qword [rsp + 0x10], r14
mov rsi, rax
xor rsi, qword [rsp + 0xd0]
mov rdi, rdx
xor rdi, qword [rsp + 0xc0]
xor r9, qword [rsp + 0xc8]
xor r14, qword [rsp + 0xd8]
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
add rbx, qword [rsp + 0x48]
add rbx, rsi
mov qword [rsp], rbx
add r11, qword [rsp + 0x68]
add r11, rdi
add r12, qword [rsp + 0x58]
add r12, r9
add r13, qword [rsp + 0x60]
add r13, r14
xor rbp, rbx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
add rax, rbp
mov qword [rsp + 0x20], rax
add rdx, r8
mov rcx, qword [rsp + 0x18]
add rcx, r10
mov rbx, qword [rsp + 0x10]
add rbx, r15
xor rsi, rax
xor rdi, rdx
xor r9, rcx
mov rax, rcx
xor r14, rbx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x38]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x28]
add r11, r9
add r12, qword [rsp + 0x50]
add r12, r14
add r13, qword [rsp + 0x78]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
mov rcx, rax
add rcx, r15
add rbx, rbp
mov qword [rsp + 0x10], rbx
mov rax, qword [rsp + 0x20]
add rax, r8
mov qword [rsp + 0x20], rax
add rdx, r10
xor rdi, rcx
xor r9, rbx
xor r14, rax
mov qword [rsp + 8], rdx
xor rsi, rdx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rbx, qword [rsp]
add rbx, qword [rsp + 0x90]
add rbx, rdi
add r11, qword [rsp + 0x30]
add r11, r9
add r12, qword [rsp + 0x98]
add r12, r14
add r13, qword [rsp + 0x40]
add r13, rsi
xor r15, rbx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
mov qword [rsp + 0x70], r8
rol r10, 0x30
add rcx, r15
mov qword [rsp + 0x18], rcx
mov rdx, qword [rsp + 0x10]
add rdx, rbp
mov rax, qword [rsp + 0x20]
add rax, r8
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 8]
add r8, r10
xor rdi, rcx
xor r9, rdx
mov rcx, rdx
xor r14, rax
mov rax, r8
xor rsi, r8
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
add rbx, qword [rsp + 0x78]
add rbx, rsi
mov qword [rsp], rbx
mov rdx, rsi
add r11, qword [rsp + 0x80]
add r11, rdi
add r12, qword [rsp + 0x90]
add r12, r9
add r13, qword [rsp + 0x98]
add r13, r14
xor rbp, rbx
mov r8, qword [rsp + 0x70]
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rsi, qword [rsp + 0x20]
add rsi, rbp
mov qword [rsp + 0x20], rsi
add rax, r8
mov qword [rsp + 8], rax
mov rbx, qword [rsp + 0x18]
add rbx, r10
mov qword [rsp + 0x18], rbx
add rcx, r15
xor rdx, rsi
xor rdi, rax
xor r9, rbx
mov rbx, rcx
xor r14, rcx
rol rdx, 0x28
mov qword [rsp + 0xb8], rdx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rsi, qword [rsp]
add rsi, qword [rsp + 0x28]
add rsi, rdx
add r11, qword [rsp + 0x38]
add r11, rdi
add r12, qword [rsp + 0x40]
add r12, r9
add r13, qword [rsp + 0x88]
add r13, r14
xor rbp, rsi
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
mov qword [rsp + 0x70], r8
rol r10, 0x30
rol r15, 0x30
mov rax, qword [rsp + 0x20]
add rax, rbp
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 8]
add rcx, r8
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x18]
add rdx, r10
add rbx, r15
mov r8, qword [rsp + 0xb8]
xor r8, rax
xor rdi, rcx
xor r9, rdx
mov rcx, rdx
xor r14, rbx
mov rax, rbx
mov rdx, r8
rol rdx, 1
rol rdi, 1
rol r9, 1
rol r14, 1
add rsi, qword [rsp + 0x48]
add rsi, rdi
mov r8, rsi
mov qword [rsp], rsi
add r11, qword [rsp + 0xa8]
add r11, r9
add r12, qword [rsp + 0x30]
add r12, r14
add r13, qword [rsp + 0x58]
add r13, rdx
mov rsi, rdx
xor r15, r8
xor rbp, r11
mov r8, qword [rsp + 0x70]
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
mov rbx, rcx
add rbx, r15
mov qword [rsp + 0x18], rbx
mov rdx, rax
add rdx, rbp
mov qword [rsp + 0x10], rdx
mov rax, qword [rsp + 0x20]
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
mov rbx, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rdx, rsi
rol rdx, 0x28
mov rsi, qword [rsp]
add rsi, qword [rsp + 0x50]
add rsi, rdi
mov qword [rsp], rsi
add r11, qword [rsp + 0xa0]
add r11, r9
add r12, qword [rsp + 0x60]
add r12, r14
add r13, qword [rsp + 0x68]
add r13, rdx
xor r15, rsi
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
mov rcx, qword [rsp + 0x18]
add rcx, r15
mov qword [rsp + 0x18], rcx
mov rsi, qword [rsp + 0x10]
add rsi, rbp
mov qword [rsp + 0x10], rsi
add rax, r8
add rbx, r10
xor rdi, rcx
xor r9, rsi
xor r14, rax
mov rsi, rdx
xor rsi, rbx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x30]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x50]
add r11, rdi
add r12, qword [rsp + 0x58]
add r12, r9
add r13, qword [rsp + 0x40]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rcx, rax
add rcx, rbp
mov qword [rsp + 0x20], rcx
add rbx, r8
mov qword [rsp + 8], rbx
mov rax, qword [rsp + 0x18]
add rax, r10
mov rdx, qword [rsp + 0x10]
add rdx, r15
xor rsi, rcx
xor rdi, rbx
xor r9, rax
mov rbx, rax
xor r14, rdx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x38]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0xa8]
add r11, rdi
add r12, qword [rsp + 0xa0]
add r12, r9
add r13, qword [rsp + 0x98]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
mov rax, qword [rsp + 0x20]
add rax, rbp
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 8]
add rcx, r8
add rbx, r10
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rax, qword [rsp]
add rax, qword [rsp + 0x28]
add rax, rdi
mov qword [rsp], rax
add r11, qword [rsp + 0x68]
add r11, r9
add r12, qword [rsp + 0x60]
add r12, r14
add r13, qword [rsp + 0x90]
add r13, rsi
xor r15, rax
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
add rdx, rbp
mov qword [rsp + 0x10], rdx
mov rax, qword [rsp + 0x20]
add rax, r8
add rcx, r10
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
mov rdx, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x78]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x88]
add r11, r9
add r12, qword [rsp + 0x48]
add r12, r14
add r13, qword [rsp + 0x80]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov rcx, qword [rsp + 0x10]
add rcx, rbp
mov qword [rsp + 0x10], rcx
add rax, r8
add rdx, r10
xor rdi, rbx
xor r9, rcx
xor r14, rax
mov rcx, rdx
xor rsi, rdx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rdx, qword [rsp]
add rdx, qword [rsp + 0x60]
add rdx, rsi
mov qword [rsp], rdx
add r11, qword [rsp + 0x68]
add r11, rdi
add r12, qword [rsp + 0x98]
add r12, r9
add r13, qword [rsp + 0x30]
add r13, r14
xor rbp, rdx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
add rax, rbp
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
mov rdx, qword [rsp + 0x10]
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x90]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x48]
add r11, rdi
add r12, qword [rsp + 0x50]
add r12, r9
add r13, qword [rsp + 0x78]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
add rax, rbp
mov rcx, qword [rsp + 8]
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0xa0]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x58]
add r11, r9
add r12, qword [rsp + 0x80]
add r12, r14
add r13, qword [rsp + 0x40]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
add rdx, rbp
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
mov qword [rsp + 8], rcx
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x88]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x28]
add r11, r9
add r12, qword [rsp + 0xa8]
add r12, r14
add r13, qword [rsp + 0x38]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov qword [rsp + 0x18], rbx
mov rcx, rdx
add rcx, rbp
add rax, r8
mov rdx, qword [rsp + 8]
add rdx, r10
xor rdi, rbx
xor r9, rcx
xor r14, rax
mov rbx, rax
xor rsi, rdx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rax, qword [rsp]
add rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp], rax
add r11, qword [rsp + 0x58]
add r11, rdi
add r12, qword [rsp + 0xa0]
add r12, r9
add r13, qword [rsp + 0x28]
add r13, r14
xor rbp, rax
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rax, rbx
add rax, rbp
add rdx, r8
mov rbx, qword [rsp + 0x18]
add rbx, r10
add rcx, r15
mov qword [rsp + 0x10], rcx
xor rsi, rax
xor rdi, rdx
xor r9, rbx
xor r14, rcx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0xa8]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x60]
add r11, rdi
add r12, qword [rsp + 0x80]
add r12, r9
add r13, qword [rsp + 0x40]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
add rax, rbp
mov qword [rsp + 0x20], rax
mov rcx, rdx
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
mov rdx, qword [rsp + 0x10]
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x78]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x30]
add r11, r9
add r12, qword [rsp + 0x88]
add r12, r14
add r13, qword [rsp + 0x68]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
add rdx, rbp
mov qword [rsp + 0x10], rdx
mov rax, qword [rsp + 0x20]
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
mov qword [rsp + 8], rcx
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rdx, qword [rsp]
add rdx, qword [rsp + 0x48]
add rdx, rdi
mov qword [rsp], rdx
add r11, qword [rsp + 0x50]
add r11, r9
add r12, qword [rsp + 0x38]
add r12, r14
add r13, qword [rsp + 0x98]
add r13, rsi
xor r15, rdx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov qword [rsp + 0x18], rbx
mov rcx, qword [rsp + 0x10]
add rcx, rbp
add rax, r8
mov rdx, qword [rsp + 8]
add rdx, r10
xor rdi, rbx
xor r9, rcx
xor r14, rax
mov rbx, rax
xor rsi, rdx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rax, qword [rsp]
add rax, qword [rsp + 0xa0]
add rax, rsi
mov qword [rsp], rax
add r11, qword [rsp + 0x88]
add r11, rdi
add r12, qword [rsp + 0xa8]
add r12, r9
add r13, qword [rsp + 0x38]
add r13, r14
xor rbp, rax
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rax, rbx
add rax, rbp
mov qword [rsp + 0x20], rax
add rdx, r8
mov rbx, qword [rsp + 0x18]
add rbx, r10
add rcx, r15
xor rsi, rax
xor rdi, rdx
xor r9, rbx
mov qword [rsp + 0x10], rcx
xor r14, rcx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x50]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x28]
add r11, rdi
add r12, qword [rsp + 0x30]
add r12, r9
add r13, qword [rsp + 0x68]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
mov rax, qword [rsp + 0x20]
add rax, rbp
mov rcx, rdx
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
mov rdx, qword [rsp + 0x10]
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x80]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x60]
add r11, r9
add r12, qword [rsp + 0x40]
add r12, r14
add r13, qword [rsp + 0x48]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
mov rcx, rdx
add rcx, rbp
mov qword [rsp + 0x10], rcx
add rax, r8
mov rdx, qword [rsp + 8]
add rdx, r10
xor rdi, rbx
xor r9, rcx
xor r14, rax
xor rsi, rdx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x98]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x58]
add r11, r9
add r12, qword [rsp + 0x78]
add r12, r14
add r13, qword [rsp + 0x90]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov rcx, qword [rsp + 0x10]
add rcx, rbp
mov qword [rsp + 0x10], rcx
add rax, r8
add rdx, r10
xor rdi, rbx
xor r9, rcx
xor r14, rax
xor rsi, rdx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x50]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x48]
add r11, rdi
add r12, qword [rsp + 0x78]
add r12, r9
add r13, qword [rsp + 0x80]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rcx, rax
add rcx, rbp
mov qword [rsp + 0x20], rcx
add rdx, r8
add rbx, r10
mov rax, qword [rsp + 0x10]
add rax, r15
mov qword [rsp + 0x10], rax
xor rsi, rcx
xor rdi, rdx
xor r9, rbx
xor r14, rax
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x58]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x40]
add r11, rdi
add r12, qword [rsp + 0x98]
add r12, r9
add r13, qword [rsp + 0x28]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
mov rax, qword [rsp + 0x20]
add rax, rbp
mov rcx, rdx
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
mov rdx, qword [rsp + 0x10]
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0xa8]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x88]
add r11, r9
add r12, qword [rsp + 0x90]
add r12, r14
add r13, qword [rsp + 0x38]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
add rdx, rbp
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
mov qword [rsp + 8], rcx
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x60]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x68]
add r11, r9
add r12, qword [rsp + 0xa0]
add r12, r14
add r13, qword [rsp + 0x30]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov qword [rsp + 0x18], rbx
add rdx, rbp
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
xor rdi, rbx
xor r9, rdx
xor r14, rax
mov rbx, rax
xor rsi, rcx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rax, qword [rsp]
add rax, qword [rsp + 0x98]
add rax, rsi
mov qword [rsp], rax
add r11, qword [rsp + 0x60]
add r11, rdi
add r12, qword [rsp + 0x50]
add r12, r9
add r13, qword [rsp + 0x68]
add r13, r14
xor rbp, rax
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rax, rbx
add rax, rbp
add rcx, r8
mov qword [rsp + 8], rcx
mov rbx, qword [rsp + 0x18]
add rbx, r10
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x30]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x78]
add r11, rdi
add r12, qword [rsp + 0x48]
add r12, r9
add r13, qword [rsp + 0x90]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
add rax, rbp
mov rcx, qword [rsp + 8]
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x58]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x40]
add r11, r9
add r12, qword [rsp + 0x38]
add r12, r14
add r13, qword [rsp + 0xa0]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
add rdx, rbp
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
mov qword [rsp + 8], rcx
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0xa8]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x80]
add r11, r9
add r12, qword [rsp + 0x88]
add r12, r14
add r13, qword [rsp + 0x28]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov qword [rsp + 0x18], rbx
add rdx, rbp
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
xor rdi, rbx
xor r9, rdx
xor r14, rax
mov rbx, rax
xor rsi, rcx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rax, qword [rsp]
add rax, qword [rsp + 0x88]
add rax, rsi
mov qword [rsp], rax
add r11, qword [rsp + 0x78]
add r11, rdi
add r12, qword [rsp + 0x30]
add r12, r9
add r13, qword [rsp + 0xa8]
add r13, r14
xor rbp, rax
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rax, rbx
add rax, rbp
add rcx, r8
mov qword [rsp + 8], rcx
mov rbx, qword [rsp + 0x18]
add rbx, r10
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x40]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x90]
add r11, rdi
add r12, qword [rsp + 0x68]
add r12, r9
add r13, qword [rsp + 0x38]
add r13, r14
xor rbp, rcx
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
rol r15, 0x30
add rax, rbp
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 8]
add rcx, r8
mov qword [rsp + 8], rcx
add rbx, r10
add rdx, r15
xor rsi, rax
xor rdi, rcx
xor r9, rbx
xor r14, rdx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x50]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x98]
add r11, r9
add r12, qword [rsp + 0x48]
add r12, r14
add r13, qword [rsp + 0x28]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
add rbx, r15
add rdx, rbp
mov qword [rsp + 0x10], rdx
mov rax, qword [rsp + 0x20]
add rax, r8
mov rcx, qword [rsp + 8]
add rcx, r10
mov qword [rsp + 8], rcx
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
rol rsi, 0x28
mov rdx, qword [rsp]
add rdx, qword [rsp + 0xa0]
add rdx, rdi
mov qword [rsp], rdx
add r11, qword [rsp + 0x60]
add r11, r9
add r12, qword [rsp + 0x80]
add r12, r14
add r13, qword [rsp + 0x58]
add r13, rsi
xor r15, rdx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol r8, 0x30
rol r10, 0x30
add rbx, r15
mov qword [rsp + 0x18], rbx
mov rcx, qword [rsp + 0x10]
add rcx, rbp
add rax, r8
mov rdx, qword [rsp + 8]
add rdx, r10
xor rdi, rbx
xor r9, rcx
xor r14, rax
mov rbx, rax
xor rsi, rdx
rol rdi, 1
rol r9, 1
rol r14, 1
rol rsi, 1
mov rax, qword [rsp]
add rax, qword [rsp + 0x28]
add rax, rsi
mov qword [rsp], rax
add r11, qword [rsp + 0x38]
add r11, rdi
add r12, qword [rsp + 0x60]
add r12, r9
add r13, qword [rsp + 0x48]
add r13, r14
xor rbp, rax
xor r8, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r8, 0x20
rol r10, 0x20
rol r15, 0x20
mov rax, rbx
add rax, rbp
mov qword [rsp + 0x20], rax
add rdx, r8
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0x18]
add rbx, r10
add rcx, r15
xor rsi, rax
xor rdi, rdx
xor r9, rbx
mov rdx, rbx
mov qword [rsp + 0x10], rcx
xor r14, rcx
rol rsi, 0x28
rol rdi, 0x28
rol r9, 0x28
rol r14, 0x28
mov rcx, qword [rsp]
add rcx, qword [rsp + 0xa0]
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0x80]
add r11, rdi
add r12, qword [rsp + 0x88]
add r12, r9
add r13, qword [rsp + 0x58]
add r13, r14
xor rbp, rcx
mov rax, r8
xor rax, r11
xor r10, r12
xor r15, r13
rol rbp, 0x30
rol rax, 0x30
mov r8, rax
rol r10, 0x30
rol r15, 0x30
mov rax, qword [rsp + 0x20]
add rax, rbp
mov rbx, qword [rsp + 8]
add rbx, r8
mov qword [rsp + 8], rbx
add rdx, r10
mov rcx, qword [rsp + 0x10]
add rcx, r15
xor rsi, rax
xor rdi, rbx
mov rbx, rdx
xor r9, rdx
mov rdx, rcx
xor r14, rcx
rol rsi, 1
rol rdi, 1
rol r9, 1
rol r14, 1
mov rcx, qword [rsp]
add rcx, qword [rsp + 0x40]
add rcx, rdi
mov qword [rsp], rcx
add r11, qword [rsp + 0x90]
add r11, r9
add r12, qword [rsp + 0x68]
add r12, r14
add r13, qword [rsp + 0x98]
add r13, rsi
xor r15, rcx
xor rbp, r11
xor r8, r12
xor r10, r13
rol r15, 0x20
rol rbp, 0x20
rol r8, 0x20
mov qword [rsp + 0x70], r8
rol r10, 0x20
add rbx, r15
mov qword [rsp + 0x18], rbx
add rdx, rbp
mov qword [rsp + 0x10], rdx
add rax, r8
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 8]
add rcx, r10
xor rdi, rbx
xor r9, rdx
xor r14, rax
xor rsi, rcx
rol rdi, 0x28
rol r9, 0x28
mov qword [rsp + 0xb0], r9
rol r14, 0x28
rol rsi, 0x28
mov r8, qword [rsp]
add r8, qword [rsp + 0x30]
add r8, rdi
mov rax, r8
mov qword [rsp], r8
add r11, qword [rsp + 0x78]
add r11, r9
add r12, qword [rsp + 0x50]
add r12, r14
mov r8, r14
mov rbx, qword [rsp + 0xa8]
add r13, rbx
add r13, rsi
xor r15, rax
xor rbp, r11
mov rax, qword [rsp + 0x70]
xor rax, r12
xor r10, r13
rol r15, 0x30
rol rbp, 0x30
rol rax, 0x30
mov r9, rax
rol r10, 0x30
mov rdx, qword [rsp + 0x18]
add rdx, r15
mov qword [rsp + 0x18], rdx
mov r14, qword [rsp + 0x10]
add r14, rbp
mov qword [rsp + 0x10], r14
mov rax, qword [rsp + 0x20]
add rax, r9
add rcx, r10
xor rdi, rdx
mov rdx, qword [rsp + 0xb0]
xor rdx, r14
xor r8, rax
xor rsi, rcx
mov r14, rcx
rol rdi, 1
rol rdx, 1
rol r8, 1
rol rsi, 1
mov rcx, qword [rsp]
add rcx, rbx
add rcx, rsi
mov qword [rsp], rcx
add r11, qword [rsp + 0xa0]
add r11, rdi
add r12, qword [rsp + 0x80]
add r12, rdx
add r13, qword [rsp + 0x88]
add r13, r8
xor rbp, rcx
xor r9, r11
xor r10, r12
xor r15, r13
rol rbp, 0x20
rol r9, 0x20
mov qword [rsp + 0x70], r9
rol r10, 0x20
rol r15, 0x20
add rax, rbp
mov qword [rsp + 0x20], rax
add r14, r9
mov qword [rsp + 8], r14
mov rbx, qword [rsp + 0x18]
add rbx, r10
mov r9, qword [rsp + 0x10]
add r9, r15
mov qword [rsp + 0x10], r9
xor rsi, rax
xor rdi, r14
mov rax, rdx
xor rax, rbx
xor r8, r9
mov rcx, rsi
rol rcx, 0x28
mov qword [rsp + 0xb8], rcx
rol rdi, 0x28
rol rax, 0x28
mov rsi, rax
mov rdx, r8
rol rdx, 0x28
mov rax, qword [rsp]
add rax, qword [rsp + 0x48]
add rax, rcx
mov rcx, rax
add r11, qword [rsp + 0x68]
add r11, rdi
mov qword [rsp + 0xb0], r11
mov r8, r12
add r8, qword [rsp + 0x58]
add r8, rsi
mov r12, rsi
mov r14, r8
mov qword [rsp + 0xf0], r8
add r13, qword [rsp + 0x60]
add r13, rdx
mov r8, rdx
xor rbp, rax
mov rsi, qword [rsp + 0x70]
xor rsi, r11
xor r10, r14
xor r15, r13
mov r14, r13
rol rbp, 0x30
mov qword [rsp + 0xe0], rbp
rol rsi, 0x30
mov r9, rsi
rol r10, 0x30
mov qword [rsp + 0xe8], r10
rol r15, 0x30
mov rax, qword [rsp + 8]
add rax, rsi
mov qword [rsp + 8], rax
add rbx, r10
mov r10, qword [rsp + 0x10]
add r10, r15
mov r13, rdi
xor r13, rax
xor r12, rbx
rol r13, 1
add rcx, qword [rsp + 0x38]
add rcx, r13
mov rdx, rcx
xor r15, rcx
rol r15, 0x20
add rbx, r15
mov qword [rsp + 0x18], rbx
xor r13, rbx
rol r13, 0x28
mov rbx, qword [rsp + 0x78]
add r14, rbx
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x90]
add rdx, rax
add rdx, r13
xor r15, rdx
mov qword [rsp], r15
add rdx, rbx
mov r14, qword [rsp + 0x20]
mov r11, qword [rsp + 0xe0]
add r14, r11
mov rsi, r12
rol rsi, 1
mov rbx, r10
xor r8, r10
mov rbp, qword [rsp + 0xb0]
add rbp, qword [rsp + 0x28]
add rbp, rsi
xor r11, rbp
rol r11, 0x20
add rbx, r11
xor rsi, rbx
mov r12, rbx
mov rcx, rsi
rol rcx, 0x28
mov qword [rsp + 0xb0], rcx
add rbp, qword [rsp + 0x30]
add rbp, rcx
xor r11, rbp
add rbp, qword [rsp + 0x80]
mov rsi, rbp
mov r15, r8
rol r15, 1
mov rdi, qword [rsp + 0xb8]
xor rdi, r14
mov r10, qword [rsp + 0xf0]
add r10, qword [rsp + 0x50]
add r10, r15
mov r8, r9
xor r8, r10
rol r8, 0x20
add r14, r8
xor r15, r14
rol r15, 0x28
mov rbx, qword [rsp + 0x98]
add r10, rbx
add r10, r15
mov r9, r15
xor r8, r10
add r10, rax
rol rdi, 1
mov rcx, qword [rsp + 0x70]
add rcx, rdi
mov rbp, qword [rsp + 0xe8]
xor rbp, rcx
rol rbp, 0x20
mov rax, qword [rsp + 8]
add rax, rbp
xor rdi, rax
rol rdi, 0x28
add rcx, qword [rsp + 0x40]
add rcx, rdi
xor rbp, rcx
add rcx, rbx
mov qword [rsp + 0x70], rcx
rol r11, 0x30
rol rbp, 0x30
add rax, rbp
mov qword [rsp + 8], rax
xor rdi, rax
rol rdi, 1
add r12, r11
mov rbx, r12
add rdx, rdi
xor r11, rdx
add rdx, qword [rsp + 0x28]
mov r12, qword [rsp]
rol r12, 0x30
rol r8, 0x30
mov rax, qword [rsp + 0x18]
add rax, r12
mov qword [rsp + 0x18], rax
mov r15, r12
xor r13, rax
rol r13, 1
add r14, r8
add rsi, r13
mov r12, r13
xor r8, rsi
add rsi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x10], rbx
xor rcx, rbx
xor r9, r14
rol rcx, 1
rol r9, 1
add r10, rcx
xor rbp, r10
add r10, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
add rbx, r9
xor r15, rbx
add rbx, qword [rsp + 0x88]
mov r13, rbx
rol r11, 0x20
add r14, r11
xor rdi, r14
rol rdi, 0x28
add rdx, rdi
xor r11, rdx
add rdx, qword [rsp + 0x48]
rol r8, 0x20
mov rax, qword [rsp + 8]
add rax, r8
mov qword [rsp + 8], rax
xor r12, rax
rol r12, 0x28
add rsi, r12
xor r8, rsi
add rsi, qword [rsp + 0xa8]
rol rbp, 0x20
rol r15, 0x20
mov rax, qword [rsp + 0x18]
add rax, rbp
mov qword [rsp + 0x18], rax
mov rbx, qword [rsp + 0x10]
add rbx, r15
xor rcx, rax
xor r9, rbx
rol rcx, 0x28
rol r9, 0x28
add r10, rcx
xor rbp, r10
add r10, qword [rsp + 0x30]
add r13, r9
xor r15, r13
add r13, qword [rsp + 0x58]
rol r8, 0x30
rol r15, 0x30
mov rax, qword [rsp + 8]
add rax, r8
mov qword [rsp + 8], rax
xor r12, rax
rol r12, 1
add rbx, r15
add rdx, r12
xor r15, rdx
add rdx, qword [rsp + 0x50]
rol r11, 0x30
rol rbp, 0x30
mov rax, qword [rsp + 0x18]
add rax, rbp
xor rcx, rax
rol rcx, 1
add r14, r11
add rsi, rcx
xor r11, rsi
add rsi, qword [rsp + 0xa0]
xor rdi, r14
xor r9, rbx
rol rdi, 1
rol r9, 1
add r10, r9
xor r8, r10
add r10, qword [rsp + 0x60]
add r13, rdi
xor rbp, r13
add r13, qword [rsp + 0x68]
rol r15, 0x20
add rax, r15
mov qword [rsp + 0x18], rax
xor r12, rax
rol r12, 0x28
add rdx, r12
xor r15, rdx
mov qword [rsp], r15
xor rdx, qword [rsp + 0x118]
rol r8, 0x20
add r14, r8
xor r9, r14
rol r9, 0x28
add r10, r9
xor r8, r10
rol r8, 0x30
add r14, r8
mov r15, r8
xor r9, r14
xor rdx, r14
rol r11, 0x20
rol rbp, 0x20
add rbx, r11
mov rax, qword [rsp + 8]
add rax, rbp
xor rcx, rbx
xor rdi, rax
rol rcx, 0x28
rol rdi, 0x28
add rsi, rcx
add r13, rdi
xor r11, rsi
xor rbp, r13
rol rbp, 0x30
xor rsi, qword [rsp + 0xf8]
add rax, rbp
xor rdi, rax
xor rsi, rax
xor r10, qword [rsp + 0x100]
mov r8, qword [rsp]
rol r8, 0x30
mov r14, qword [rsp + 0x18]
add r14, r8
xor r12, r14
xor r10, r14
rol r11, 0x30
mov rax, rbx
add rax, r11
xor rcx, rax
xor rax, qword [rsp + 0x108]
xor rax, r13
mov r14, qword [rsp + 0x110]
mov qword [r14], rdx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], r10
mov qword [r14 + 0x18], rax
xor r11, qword [rsp + 0xd0]
rol rdi, 1
xor r11, rdi
xor r15, qword [rsp + 0xc0]
rol r12, 1
xor r15, r12
rol rcx, 1
xor rcx, qword [rsp + 0xc8]
xor rcx, rbp
xor r8, qword [rsp + 0xd8]
rol r9, 1
xor r8, r9
mov qword [r14 + 0x20], r11
mov qword [r14 + 0x28], r15
mov qword [r14 + 0x30], rcx
mov qword [r14 + 0x38], r8
add rsp, 0x120
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret