Function at 0x14008ef20
Capabilities:
Hash data using sha512

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