Function at 0x18016ae30
Capabilities:
Hash data using sha512

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