Function at 0x14000a2a0
Capabilities:
Hash data using sha512

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