Function at 0x140166630
Capabilities:
Hash data using sha512

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