Function at 0x1400a0540
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 r14, qword [rcx + 8]
mov r9, rcx
mov rax, qword [rdx + 0x38]
mov r11, r8
mov r8, qword [rdx]
mov rdi, qword [rdx + 8]
mov rbp, qword [r9 + 0x20]
mov rsi, qword [rdx + 0x10]
mov r15, qword [rdx + 0x18]
mov rbx, qword [rdx + 0x20]
mov r13, qword [rdx + 0x28]
mov r12, qword [rdx + 0x30]
mov r10, qword [r9 + 0x48]
movaps xmm0, xmmword [0x140169c30]
movaps xmm1, xmmword [0x140169c40]
mov qword [rsp + 0x88], rax
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x58], rax
mov rax, qword [rdx + 0x48]
mov qword [rsp + 0x60], rax
mov rax, qword [rdx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rdx + 0x58]
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 0x60]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x68]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + 0x70]
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 0x78]
movabs rdx, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x68], rax
xor r11, rdx
mov rax, qword [rcx]
mov qword [rsp + 0x100], rcx
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0xf8], rcx
mov rcx, qword [r9 + 0x18]
lea rdx, [rax + rbp]
add rdx, r8
mov qword [rsp + 0xd8], rcx
mov rcx, qword [r9 + 0x28]
movabs rax, 0xade682d100000000
mov qword [rsp + 0xe0], rcx
mov rcx, qword [r9 + 0x30]
mov qword [rsp + 0xe8], rcx
mov rcx, qword [r9 + 0x38]
mov qword [rsp + 0xc8], r8
mov r8, rbp
mov qword [rsp + 0xf0], rcx
mov rcx, qword [r9 + 0x40]
mov r9, rdx
xor r9, rcx
mov qword [rsp + 0x110], rbp
shl r9, 0x20
xor r9, rax
mov qword [rsp + 0xa8], rdi
mov rax, rdx
mov qword [rsp + 0xb0], rsi
xor rax, rcx
mov qword [rsp + 0xc0], r15
shr rax, 0x20
movabs rcx, 0x6a09e667f3bcc908
xor rax, 0x510e527f
mov qword [rsp + 0x98], rbx
or r9, rax
mov qword [rsp + 0xb8], r13
add rcx, r9
mov qword [rsp + 0xa0], r12
mov rax, rbp
mov qword [rsp + 0x108], r14
xor r8, rcx
xor rax, rcx
shl r8, 0x28
shr rax, 0x18
or r8, rax
lea rbp, [r8 + rdx]
add rbp, rdi
mov rdx, rbp
xor rdx, r9
mov rdi, qword [rsp + 0xe0]
mov rax, rbp
xor rax, r9
shl rdx, 0x30
shr rax, 0x10
or rdx, rax
psrldq xmm0, 8
mov qword [rsp + 0xd0], rdx
lea rax, [rdx + rcx]
mov rcx, r8
xor r8, rax
mov qword [rsp + 0x28], rax
xor rcx, rax
add r8, r8
shr rcx, 0x3f
mov rdx, rdi
or rcx, r8
mov eax, 0x9b05688c
lea r8, [rdi + r14]
mov qword [rsp + 0x40], rcx
add r8, rsi
movabs rcx, 0x2b3e6c1f00000000
mov r9, r8
xor r9, r10
shr r9, 0x20
xor r9, rax
mov rax, r8
xor rax, r10
mov r10, qword [rsp + 0xe8]
shl rax, 0x20
xor rax, rcx
movq rcx, xmm0
or r9, rax
add rcx, r9
xor rdx, rcx
mov rax, rcx
xor rax, rdi
shr rdx, 0x18
shl rax, 0x28
or rdx, rax
lea r14, [rdx + r8]
add r14, r15
mov r8, r14
mov rax, r14
xor rax, r9
xor r8, r9
shr rax, 0x10
mov r9, r11
shl r8, 0x30
or r8, rax
mov qword [rsp + 0x38], r8
lea rax, [r8 + rcx]
mov rcx, qword [rsp + 0xf8]
mov rdi, rax
mov qword [rsp + 0x18], rax
xor rax, rdx
xor rdi, rdx
add rax, rax
shr rdi, 0x3f
or rdi, rax
add rcx, r10
add rcx, rbx
movq rdx, xmm1
xor r9, rcx
xor r11, rcx
shr r9, 0x20
mov rax, r10
shl r11, 0x20
or r9, r11
add rdx, r9
xor rax, rdx
mov r8, rdx
xor r8, r10
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r15, [r8 + rcx]
add r15, r13
mov r13, r15
xor r13, r9
shl r13, 0x30
mov r10, qword [rsp + 0xf0]
mov rax, r15
xor rax, r9
psrldq xmm1, 8
shr rax, 0x10
movq rcx, xmm1
or r13, rax
lea r11, [rdx + r13]
mov rdx, qword [rsp + 0xd8]
add rdx, r10
mov rsi, r11
xor rsi, r8
add rdx, r12
mov r9, rdx
shr rsi, 0x3f
shl r9, 0x20
mov rax, r11
xor rax, r8
add rax, rax
or rsi, rax
movabs rax, 0x137e217900000000
xor r9, rax
mov rax, rdx
shr rax, 0x20
xor rax, 0x5be0cd19
or r9, rax
mov rax, r10
add rcx, r9
xor rax, rcx
mov r8, rcx
shl rax, 0x28
xor r8, r10
shr r8, 0x18
or r8, rax
lea r12, [r8 + rdx]
add r12, qword [rsp + 0x88]
mov rdx, r12
mov rax, r12
xor rax, r9
xor rdx, r9
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
lea r10, [rdx + rcx]
lea rcx, [rdi + rbp]
mov rbx, r10
add rcx, qword [rsp + 0x58]
xor rbx, r8
shr rbx, 0x3f
mov rax, r10
xor rax, r8
mov r8, rdx
add rax, rax
xor r8, rcx
or rbx, rax
shr r8, 0x20
xor rdx, rcx
shl rdx, 0x20
or r8, rdx
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea rbp, [r9 + rcx]
add rbp, qword [rsp + 0x60]
xor rax, rbp
xor r8, rbp
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 0x10], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x20], rcx
shr rax, 0x3f
xor r9, rcx
mov r8, rsi
mov rcx, qword [rsp + 0xd0]
add r9, r9
or rax, r9
mov rdx, rcx
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsi + r14]
add rax, qword [rsp + 0x50]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rdi, rdx
lea rcx, [rdx + r10]
xor r8, rcx
xor rsi, rcx
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
lea r14, [r8 + rax]
mov rax, r8
add r14, qword [rsp + 0x80]
xor rdx, r14
xor rdi, r14
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
add rcx, rdi
xor rax, rcx
mov qword [rsp], rcx
shr rax, 0x3f
xor r8, rcx
mov rcx, qword [rsp + 0x78]
add r8, r8
or rax, r8
add rcx, rbx
mov qword [rsp + 0xd0], rax
add rcx, r15
mov rax, qword [rsp + 0x38]
mov r8, rbx
mov r15, qword [rsp + 0x70]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x28]
add rax, rdx
mov rsi, rdx
xor r8, rax
xor rbx, rax
shl r8, 0x28
shr rbx, 0x18
or r8, rbx
add r15, r8
add r15, rcx
xor rdx, r15
xor rsi, r15
shr rdx, 0x10
shl rsi, 0x30
or rsi, rdx
mov rdx, r13
lea r10, [rsi + rax]
mov rax, r8
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
add rax, r9
add rax, r12
xor rdx, rax
xor r13, rax
shr rdx, 0x20
shl r13, 0x20
mov rcx, qword [rsp + 0x18]
or rdx, r13
mov r12, qword [rsp + 0x68]
add rcx, rdx
add r12, rax
mov r8, r9
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
add r12, r8
mov rbx, r12
mov rax, r12
xor rax, rdx
xor rbx, rdx
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea r11, [rcx + rbx]
mov rcx, qword [rsp + 0x90]
add rcx, rbp
mov r9, r11
xor r9, r8
mov rax, r11
xor rax, r8
shr r9, 0x3f
add rax, rax
mov r8, rdi
or r9, rax
add rcx, r9
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r10 + r8]
mov r10, rdx
mov rax, rdx
xor rax, r9
xor r10, r9
mov r9, qword [rsp + 0x30]
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea r13, [rcx + r10]
add r13, qword [rsp + 0x50]
mov rcx, r13
mov rax, r13
xor rcx, r8
xor rax, r8
shl rcx, 0x30
mov r8, r9
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x18], rcx
lea rax, [rcx + rdx]
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x40], rax
xor rcx, r10
xor rax, r10
add rax, rax
shr rcx, 0x3f
or rcx, rax
lea rax, [r9 + r14]
add rax, qword [rsp + 0x98]
xor rdx, rax
mov qword [rsp + 0x38], rcx
xor rsi, rax
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
lea rcx, [r11 + rdx]
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
lea r14, [rax + r8]
add r14, qword [rsp + 0x58]
mov r10, qword [rsp + 0xd0]
mov r9, r14
xor r9, rdx
mov rax, r14
xor rax, rdx
shl r9, 0x30
mov rdx, qword [rsp + 0x20]
shr rax, 0x10
or r9, rax
mov qword [rsp + 0x30], r9
lea rax, [r9 + rcx]
mov r9, r10
mov rdi, rax
mov qword [rsp + 8], rax
xor rax, r8
lea rcx, [r10 + r15]
add rcx, qword [rsp + 0x60]
add rax, rax
mov r15, qword [rsp + 0x68]
xor rdi, r8
add r15, rcx
shr rdi, 0x3f
or rdi, rax
mov r8, rcx
mov rax, rcx
xor r8, rbx
xor rax, rbx
shr r8, 0x20
shl rax, 0x20
or r8, rax
add rdx, r8
xor r9, rdx
xor r10, rdx
shl r9, 0x28
shr r10, 0x18
or r9, r10
mov r10, qword [rsp + 0x28]
add r15, r9
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x20], rcx
lea r11, [rdx + rcx]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp]
add rcx, r12
add rcx, r10
mov rsi, r11
xor rsi, r9
mov rax, r11
xor rax, r9
shr rsi, 0x3f
add rax, rax
or rsi, rax
mov rax, qword [rsp + 0x10]
mov r8, rax
xor rax, rcx
shl rax, 0x20
xor r8, rcx
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rsp + 0xa0]
mov r10, r12
mov rax, r12
xor r10, r8
xor rax, r8
shl r10, 0x30
shr rax, 0x10
or r10, rax
lea rcx, [rdi + r13]
add rcx, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x78]
mov r8, rcx
add r13, rcx
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov rbp, rbx
mov rax, rbx
xor rax, r9
xor rbp, r9
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r13, r9
mov rcx, r13
mov rax, r13
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0xd0], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x28], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp], rcx
lea rcx, [r14 + rsi]
add rcx, qword [rsp + 0xc8]
mov r8, rcx
mov rax, rcx
xor rax, qword [rsp + 0x18]
xor r8, qword [rsp + 0x18]
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [rbx + r8]
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rsp + 0xb0]
mov rbx, r14
mov rax, r14
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rcx, rax
mov qword [rsp + 0x18], rax
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rsp + 0x10], rcx
mov r11, qword [rsp + 0x38]
lea rcx, [r15 + rbp]
add rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x40]
mov r8, rcx
xor r8, qword [rsp + 0x30]
mov rax, rcx
xor rax, qword [rsp + 0x30]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, rbp
xor r9, rbp
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0x88]
lea rcx, [r12 + r11]
add rcx, qword [rsp + 0xb8]
mov rdi, r15
xor rdi, r8
mov rax, r15
xor rax, r8
shl rdi, 0x30
shr rax, 0x10
mov r8, rcx
xor r8, qword [rsp + 0x20]
or rdi, rax
shr r8, 0x20
lea r10, [rdx + rdi]
mov rdx, qword [rsp + 8]
mov rbp, r10
mov rax, r10
xor rax, r9
xor rbp, r9
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov rax, rcx
xor rax, qword [rsp + 0x20]
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rsp + 0xc0]
mov rsi, r12
mov rax, r12
xor rax, r8
xor rsi, r8
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rdx + rsi]
mov r8, r11
mov rax, r11
xor rax, r9
xor r8, r9
add rax, rax
shr r8, 0x3f
or r8, rax
lea rcx, [r8 + r13]
add rcx, qword [rsp + 0x80]
mov r9, rcx
mov rax, rcx
xor r9, rbx
xor rax, rbx
shr r9, 0x20
shl rax, 0x20
or r9, rax
lea rdx, [r10 + r9]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea r13, [rcx + r10]
add r13, qword [rsp + 0x58]
mov rcx, r13
mov rax, r13
xor rax, r9
xor rcx, r9
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 8], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x20], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rsp]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x78]
add rcx, r14
add rcx, r10
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rsp + 0x10]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rsp + 0xc8]
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x28]
mov rdi, rax
mov qword [rsp + 0x40], rax
xor rax, r9
lea rcx, [r15 + r10]
add rcx, qword [rsp + 0xb8]
add rax, rax
xor rdi, r9
mov r8, rcx
xor r8, rsi
shr rdi, 0x3f
or rdi, rax
shr r8, 0x20
mov rax, rcx
xor rax, rsi
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, r10
xor rax, r10
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0xb0]
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x10], rcx
lea r11, [rdx + rcx]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x18]
add rcx, r12
add rcx, rbp
mov rsi, r11
xor rsi, r9
mov r8, rcx
xor r8, qword [rsp + 0xd0]
mov rax, r11
xor rax, r9
shr r8, 0x20
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, rcx
xor rax, qword [rsp + 0xd0]
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, rbp
xor r9, rbp
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rsp + 0x70]
lea rcx, [rdi + r13]
add rcx, qword [rsp + 0x50]
mov r10, r12
xor r10, r8
mov rax, r12
xor rax, r8
shl r10, 0x30
shr rax, 0x10
mov r8, rcx
or r10, rax
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov rbp, rbx
mov rax, rbx
xor rax, r9
xor rbp, r9
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rsp + 0x90]
mov rcx, r13
mov rax, r13
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
lea rax, [rcx + rdx]
mov qword [rsp + 0x38], rcx
mov rcx, rax
mov qword [rsp + 0x28], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x18], rcx
lea rcx, [r14 + rsi]
add rcx, qword [rsp + 0xc0]
mov r8, rcx
mov rax, rcx
xor rax, qword [rsp + 8]
xor r8, qword [rsp + 8]
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [rbx + r8]
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rsp + 0xa0]
mov rbx, r14
mov rax, r14
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
mov qword [rsp + 0xd0], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 8], rcx
lea rcx, [r15 + rbp]
add rcx, qword [rsp + 0x88]
mov r8, rcx
mov rax, rcx
xor rax, qword [rsp]
xor r8, qword [rsp]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, rbp
xor r9, rbp
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0xa8]
mov rdi, r15
mov rax, r15
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rdx + rdi]
mov rcx, r10
mov rax, r10
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rsp], rcx
mov r11, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
lea rcx, [r12 + r11]
add rcx, qword [rsp + 0x60]
mov r8, rcx
mov rax, rcx
xor r8, qword [rsp + 0x10]
xor rax, qword [rsp + 0x10]
shr r8, 0x20
shl rax, 0x20
or r8, rax
add rdx, r8
mov rsi, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rsp + 0x98]
xor r8, r12
xor rsi, r12
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rdx + rsi]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rcx, [r8 + r13]
add rcx, qword [rsp + 0x88]
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
mov r13, r9
lea rdx, [r10 + r9]
mov r10, rdx
mov rax, rdx
xor r10, r8
xor rax, r8
shl r10, 0x28
mov r8, rdi
shr rax, 0x18
or r10, rax
lea rbp, [r10 + rcx]
mov rcx, r10
add rbp, qword [rsp + 0x60]
xor r9, rbp
xor r13, rbp
shr r9, 0x10
shl r13, 0x30
or r13, r9
lea rax, [rdx + r13]
xor rcx, rax
mov qword [rsp + 0x20], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp + 0x18]
mov qword [rsp + 0x30], rcx
lea rcx, [r14 + r10]
add rcx, qword [rsp + 0xc0]
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor r9, r10
shl r9, 0x28
xor rax, r10
shr rax, 0x18
or r9, rax
mov rax, r8
mov rdi, r9
lea r14, [r9 + rcx]
add r14, qword [rsp + 0xa8]
xor r8, r14
xor rax, r14
shr r8, 0x10
shl rax, 0x30
or rax, r8
mov qword [rsp + 0x10], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x18], rax
xor rdi, rax
add r9, r9
mov rax, qword [rsp + 0x28]
mov rdx, rsi
shr rdi, 0x3f
or rdi, r9
mov r9, qword [rsp + 8]
mov r8, r9
lea rcx, [r15 + r9]
mov r15, qword [rsp + 0x78]
add rcx, qword [rsp + 0x70]
xor rdx, rcx
xor rsi, rcx
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
add rax, rdx
xor r8, rax
xor r9, rax
shl r8, 0x28
shr r9, 0x18
or r8, r9
add r15, r8
mov rsi, r8
add r15, rcx
mov rcx, rdx
xor rdx, r15
xor rcx, r15
shr rdx, 0x10
shl rcx, 0x30
or rcx, rdx
mov rdx, qword [rsp]
mov r9, rdx
mov qword [rsp + 8], rcx
lea r10, [rcx + rax]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
xor r8, r10
add r8, r8
add rcx, rdx
add rcx, r12
xor rsi, r10
mov r12, qword [rsp + 0x90]
shr rsi, 0x3f
or rsi, r8
mov r8, rax
xor r8, rcx
xor rax, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
mov rax, qword [rsp + 0xd0]
add rax, r8
xor rdx, rax
xor r9, rax
shr rdx, 0x18
shl r9, 0x28
or r9, rdx
mov rdx, r8
add r12, r9
add r12, rcx
xor rdx, r12
xor r8, r12
shl rdx, 0x30
shr r8, 0x10
or rdx, r8
lea rcx, [rdi + rbp]
add rcx, qword [rsp + 0xb0]
mov rbx, r9
mov r8, rcx
xor r8, rdx
lea r11, [rax + rdx]
shr r8, 0x20
mov rax, rcx
xor r9, r11
xor rax, rdx
add r9, r9
shl rax, 0x20
xor rbx, r11
or r8, rax
shr rbx, 0x3f
or rbx, r9
mov r9, rdi
lea rdx, [r10 + r8]
xor rdi, rdx
xor r9, rdx
shr rdi, 0x18
shl r9, 0x28
or r9, rdi
lea rbp, [rcx + r9]
add rbp, qword [rsp + 0xa0]
mov rcx, rbp
mov rax, rbp
xor rcx, r8
xor rax, r8
shr rax, 0x10
mov r8, rsi
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [rcx + rdx]
mov rdx, r13
mov rcx, rax
mov qword [rsp + 0x28], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
lea rax, [rsi + r14]
add rax, qword [rsp + 0xb8]
xor rdx, rax
mov qword [rsp], rcx
xor r13, rax
shr rdx, 0x20
shl r13, 0x20
or rdx, r13
lea rcx, [r11 + rdx]
xor r8, rcx
xor rsi, rcx
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
lea r14, [rax + r8]
add r14, qword [rsp + 0x50]
mov rdi, r14
mov rax, r14
xor rax, rdx
xor rdi, rdx
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [rcx + rdi]
mov rcx, rax
mov qword [rsp + 0xd0], rax
xor rcx, r8
xor rax, r8
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x40], rcx
mov r8, rax
lea rcx, [r15 + rbx]
add rcx, qword [rsp + 0x98]
xor r8, rcx
xor rax, rcx
mov rdx, qword [rsp + 0x20]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0xc8]
mov rbx, r15
mov rax, r15
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea r10, [rdx + rbx]
mov rcx, r10
mov rax, r10
xor rax, r9
xor rcx, r9
mov r9, qword [rsp + 0x30]
add rax, rax
shr rcx, 0x3f
mov r8, r9
or rcx, rax
mov rax, qword [rsp + 0x68]
add rax, r9
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 8]
add rax, r12
mov rdx, rcx
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x18]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
lea r12, [rax + r8]
add r12, qword [rsp + 0x58]
mov rsi, r12
mov rax, r12
xor rax, rdx
xor rsi, rdx
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rcx + rsi]
mov r9, r11
mov rax, r11
xor rax, r8
xor r9, r8
add rax, rax
shr r9, 0x3f
or r9, rax
lea rcx, [r9 + rbp]
add rcx, qword [rsp + 0x60]
mov r8, rcx
mov rax, rcx
xor r8, rdi
xor rax, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r10, rdx
mov rax, rdx
xor r10, r9
shl r10, 0x28
xor rax, r9
shr rax, 0x18
or r10, rax
lea r13, [rcx + r10]
add r13, qword [rsp + 0xc8]
mov rcx, r13
mov rax, r13
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 8], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x20], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rsp]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [r14 + r10]
add rcx, qword [rsp + 0xb8]
mov r8, rcx
mov rax, rcx
xor rax, rbx
xor r8, rbx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rsp + 0x40]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rsp + 0x88]
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x28]
mov rdi, rax
mov qword [rsp + 0x48], rax
xor rax, r9
lea rcx, [r15 + r10]
add rcx, qword [rsp + 0xb0]
add rax, rax
xor rdi, r9
mov r8, rcx
xor r8, rsi
shr rdi, 0x3f
or rdi, rax
shr r8, 0x20
mov rax, rcx
xor rax, rsi
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, r10
xor rax, r10
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0x98]
mov rcx, r15
xor rcx, r8
mov r10, qword [rsp + 0x10]
mov rax, r15
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x18], rcx
lea r11, [rdx + rcx]
mov rdx, qword [rsp + 0xd0]
lea rcx, [r12 + r10]
mov rsi, r11
add rcx, qword [rsp + 0x50]
xor rsi, r9
mov r12, qword [rsp + 0x68]
mov r8, rcx
xor r8, qword [rsp + 0x38]
add r12, rcx
shr r8, 0x20
mov rax, r11
xor rax, r9
shr rsi, 0x3f
add rax, rax
or rsi, rax
mov rax, rcx
xor rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x90]
shl rax, 0x20
add rcx, r13
or r8, rax
add rcx, rdi
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r12, r9
mov r10, r12
mov rax, r12
xor rax, r8
xor r10, r8
shr rax, 0x10
mov r8, rcx
shl r10, 0x30
or r10, rax
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov rbp, rbx
mov rax, rbx
xor rax, r9
xor rbp, r9
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rsp + 0xa8]
mov rcx, r13
mov rax, r13
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x28], rcx
lea rax, [rcx + rdx]
mov qword [rsp + 0x40], rax
mov r11, qword [rsp + 0x30]
mov rcx, rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rcx, [r14 + rsi]
add rcx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r8, rcx
xor r8, qword [rsp + 8]
mov rax, rcx
xor rax, qword [rsp + 8]
add r14, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + rbx]
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r14, r9
mov rbx, r14
mov rax, r14
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
mov qword [rsp + 0x38], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 8], rcx
lea rcx, [r15 + rbp]
add rcx, qword [rsp + 0xa0]
mov r8, rcx
mov rax, rcx
xor rax, qword [rsp]
xor r8, qword [rsp]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, rbp
xor r9, rbp
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0x58]
mov rdi, r15
mov rax, r15
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rdx + rdi]
mov rcx, r10
mov rax, r10
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rsp], rcx
lea rcx, [r12 + r11]
add rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x48]
mov r8, rcx
xor r8, qword [rsp + 0x18]
mov rax, rcx
xor rax, qword [rsp + 0x18]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rsp + 0x70]
mov rsi, r12
mov rax, r12
xor rax, r8
xor rsi, r8
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rdx + rsi]
mov r8, r11
mov rax, r11
xor rax, r9
xor r8, r9
add rax, rax
shr r8, 0x3f
or r8, rax
lea rcx, [r8 + r13]
add rcx, qword [rsp + 0xb0]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 0x20
or r9, rax
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea rbp, [r10 + rcx]
add rbp, qword [rsp + 0x78]
mov r13, rbp
mov rax, rbp
xor rax, r9
xor r13, r9
shr rax, 0x10
shl r13, 0x30
or r13, rax
lea rax, [rdx + r13]
mov rcx, rax
mov qword [rsp + 0x20], rax
xor rcx, r10
xor rax, r10
mov r10, qword [rsp + 0x10]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [r14 + r10]
add rcx, qword [rsp + 0xa0]
mov r8, rcx
mov rax, rcx
xor r8, rdi
xor rax, rdi
shr r8, 0x20
shl rax, 0x20
or r8, rax
lea rdx, [r8 + r11]
mov r9, rdx
mov r11, qword [rsp]
xor r9, r10
shl r9, 0x28
mov rax, rdx
xor rax, r10
mov r10, qword [rsp + 8]
shr rax, 0x18
or r9, rax
lea r14, [r9 + rcx]
add r14, qword [rsp + 0x50]
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x48], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x40]
mov rbx, rax
mov qword [rsp + 0x10], rax
xor rax, r9
lea rcx, [r15 + r10]
add rcx, qword [rsp + 0xc8]
add rax, rax
xor rbx, r9
mov r8, rcx
xor r8, rsi
shr rbx, 0x3f
or rbx, rax
shr r8, 0x20
mov rax, rcx
xor rax, rsi
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov rdi, r9
lea r15, [r9 + rcx]
add r15, qword [rsp + 0x80]
lea rcx, [r12 + r11]
add rcx, qword [rsp + 0x58]
xor rax, r15
shl rax, 0x30
xor r8, r15
shr r8, 0x10
or rax, r8
mov r8, rcx
xor r8, qword [rsp + 0x28]
mov qword [rsp + 8], rax
shr r8, 0x20
lea r10, [rax + rdx]
mov rdx, qword [rsp + 0x38]
xor r9, r10
xor rdi, r10
add r9, r9
shr rdi, 0x3f
or rdi, r9
mov rax, rcx
xor rax, qword [rsp + 0x28]
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r12, [r9 + rcx]
add r12, qword [rsp + 0xc0]
xor rax, r12
lea rcx, [rbx + rbp]
add rcx, qword [rsp + 0x98]
mov rsi, r9
shl rax, 0x30
xor r8, r12
shr r8, 0x10
or rax, r8
mov r8, rax
xor r8, rcx
shr r8, 0x20
lea r11, [rax + rdx]
xor rax, rcx
shl rax, 0x20
xor r9, r11
or r8, rax
add r9, r9
xor rsi, r11
shr rsi, 0x3f
or rsi, r9
lea rdx, [r8 + r10]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea rbp, [r9 + rcx]
add rbp, qword [rsp + 0x70]
xor rax, rbp
xor r8, rbp
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 0x40], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x18], rcx
xor r9, rcx
shr rax, 0x3f
add r9, r9
lea rcx, [rdi + r14]
add rcx, qword [rsp + 0x88]
or rax, r9
mov qword [rsp], rax
mov r8, rcx
xor r8, r13
mov rax, rcx
xor rax, r13
shr r8, 0x20
shl rax, 0x20
or r8, rax
mov rbx, r8
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor r9, rdi
xor rax, rdi
shl r9, 0x28
shr rax, 0x18
or r9, rax
mov r13, r9
lea r14, [r9 + rcx]
add r14, qword [rsp + 0xb8]
lea rcx, [rsi + r15]
xor rbx, r14
xor r8, r14
shl rbx, 0x30
shr r8, 0x10
or rbx, r8
lea rax, [rbx + rdx]
xor r13, rax
mov qword [rsp + 0x28], rax
xor r9, rax
shr r13, 0x3f
add r9, r9
or r13, r9
add rcx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x30]
mov r8, rcx
xor r8, qword [rsp + 0x48]
mov rax, rcx
xor rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x20]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov rdi, r8
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r9
lea r15, [r9 + rcx]
add r15, qword [rsp + 0x90]
lea rcx, [r12 + r11]
add rcx, qword [rsp + 0xa8]
xor r8, r15
shr r8, 0x10
xor rdi, r15
shl rdi, 0x30
or rdi, r8
mov r8, rcx
xor r8, qword [rsp + 8]
shr r8, 0x20
lea r10, [rdi + rdx]
mov rdx, qword [rsp + 0x10]
xor rax, r10
xor r9, r10
shr rax, 0x3f
add r9, r9
or rax, r9
mov qword [rsp + 0x48], rax
mov rax, rcx
xor rax, qword [rsp + 8]
shl rax, 0x20
or r8, rax
add rdx, r8
mov rsi, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r12, [r9 + rcx]
add r12, qword [rsp + 0x60]
xor r8, r12
xor rsi, r12
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rdx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov rdx, r8
lea rcx, [r8 + rbp]
add rcx, qword [rsp + 0x78]
mov r9, rcx
mov rax, rcx
xor r9, rbx
xor rax, rbx
shl rax, 0x20
shr r9, 0x20
or r9, rax
lea rax, [r9 + r10]
xor rdx, rax
xor r8, rax
shl rdx, 0x28
shr r8, 0x18
mov r10, qword [rsp]
or rdx, r8
lea rbp, [rcx + rdx]
mov rcx, r9
add rbp, qword [rsp + 0xb8]
xor rcx, rbp
xor r9, rbp
shl rcx, 0x30
shr r9, 0x10
or rcx, r9
mov r9, r10
add rax, rcx
mov qword [rsp + 8], rcx
mov rcx, rax
mov qword [rsp + 0x10], rax
xor rax, rdx
xor rcx, rdx
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x20], rcx
lea rcx, [r10 + r14]
add rcx, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x68]
mov r8, rcx
xor r8, rdi
add r14, rcx
mov rax, rcx
shr r8, 0x20
xor rax, rdi
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
xor r9, rdx
xor r10, rdx
shl r9, 0x28
shr r10, 0x18
or r9, r10
add r14, r9
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x18]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor rax, r9
lea rcx, [r15 + r13]
add rcx, qword [rsp + 0x90]
add rax, rax
xor rbx, r9
mov r8, rcx
xor r8, rsi
shr rbx, 0x3f
or rbx, rax
shr r8, 0x20
mov rax, rcx
xor rax, rsi
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r13
xor r9, r13
mov r13, qword [rsp + 0x70]
shr rax, 0x18
add r13, rcx
shl r9, 0x28
or r9, rax
mov rax, r8
add r13, r9
xor rax, r13
xor r8, r13
shl rax, 0x30
shr r8, 0x10
mov rcx, qword [rsp + 0x40]
or rax, r8
mov qword [rsp + 0x30], rax
mov rdi, r9
lea r10, [rdx + rax]
mov rdx, rcx
xor r9, r10
xor rdi, r10
add r9, r9
shr rdi, 0x3f
or rdi, r9
mov r9, qword [rsp + 0x48]
mov r8, r9
lea rax, [r9 + r12]
add rax, qword [rsp + 0x98]
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x28]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
mov rsi, r8
lea r15, [r8 + rax]
mov rax, rdx
add r15, qword [rsp + 0x50]
xor rax, r15
xor rdx, r15
shl rax, 0x30
shr rdx, 0x10
or rax, rdx
lea r11, [rax + rcx]
xor r8, r11
lea rcx, [rbx + rbp]
add rcx, qword [rsp + 0xc8]
add r8, r8
xor rsi, r11
shr rsi, 0x3f
or rsi, r8
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r10]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r12, [r9 + rcx]
add r12, qword [rsp + 0x88]
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 0x40], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x18], rcx
xor r9, rcx
shr rax, 0x3f
add r9, r9
lea rcx, [r14 + rdi]
add rcx, qword [rsp + 0xa0]
or rax, r9
mov rdx, rcx
mov qword [rsp + 0x48], rax
xor rdx, qword [rsp + 8]
shr rdx, 0x20
mov rax, rcx
mov r8, rdi
xor rax, qword [rsp + 8]
shl rax, 0x20
or rdx, rax
mov rbx, rdx
lea rax, [rdx + r11]
mov r11, qword [rsp + 0x20]
xor r8, rax
xor rdi, rax
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
lea rbp, [r8 + rcx]
add rbp, qword [rsp + 0xc0]
xor rdx, rbp
xor rbx, rbp
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
lea rcx, [rbx + rax]
mov rax, r8
xor rax, rcx
mov qword [rsp + 0x28], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 0x60]
add r8, r8
or rax, r8
add rcx, rsi
mov qword [rsp + 8], rax
add rcx, r13
mov rdx, rcx
mov rax, rcx
xor rax, qword [rsp]
mov r8, rsi
xor rdx, qword [rsp]
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x10]
add rax, rdx
mov rdi, rdx
xor r8, rax
xor rsi, rax
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
lea r13, [r8 + rcx]
add r13, qword [rsp + 0xb0]
lea rcx, [r15 + r11]
add rcx, qword [rsp + 0x58]
xor rdx, r13
shr rdx, 0x10
xor rdi, r13
shl rdi, 0x30
or rdi, rdx
mov rdx, qword [rsp + 0x38]
lea r10, [rdi + rax]
mov rax, r8
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov r8, rcx
xor r8, qword [rsp + 0x30]
mov qword [rsp], rax
mov rax, rcx
xor rax, qword [rsp + 0x30]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r14, [r9 + rcx]
mov rsi, r8
add r14, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
xor r8, r14
shr r8, 0x10
xor rsi, r14
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rdx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
add rcx, r8
add rcx, r12
mov r12, qword [rsp + 0x90]
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
mov r8, rdi
shl r10, 0x28
or r10, rax
mov rax, r9
lea r15, [r10 + rcx]
mov rcx, r10
add r15, qword [rsp + 0x80]
xor rax, r15
xor r9, r15
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rsp + 0x10], rax
add rax, rdx
xor rcx, rax
mov qword [rsp + 0x20], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
lea rdx, [r10 + rbp]
add rdx, qword [rsp + 0x88]
xor r8, rdx
xor rdi, rdx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rcx, [r8 + r11]
mov r9, rcx
mov rax, rcx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
add r12, r9
mov rbx, r9
add r12, rdx
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 0x48], rax
add rax, rcx
mov qword [rsp + 0x38], rax
xor rbx, rax
mov r10, qword [rsp + 8]
xor r9, rax
mov r11, qword [rsp]
add r9, r9
mov rcx, qword [rsp + 0x78]
mov r8, rsi
mov rdx, qword [rsp + 0x18]
add rcx, r10
add rcx, r13
shr rbx, 0x3f
xor r8, rcx
or rbx, r9
shr r8, 0x20
xor rsi, rcx
shl rsi, 0x20
or r8, rsi
add rdx, r8
mov r13, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rdi, r9
lea rbp, [r9 + rcx]
add rbp, qword [rsp + 0xa8]
lea rcx, [r11 + r14]
add rcx, qword [rsp + 0xc0]
xor r8, rbp
shr r8, 0x10
xor r13, rbp
mov rax, rcx
shl r13, 0x30
xor rax, qword [rsp + 0x40]
or r13, r8
shl rax, 0x20
mov r8, rcx
xor r8, qword [rsp + 0x40]
shr r8, 0x20
or r8, rax
lea r10, [rdx + r13]
mov rdx, qword [rsp + 0x28]
xor r9, r10
add rdx, r8
add r9, r9
xor rdi, r10
mov rax, rdx
xor rax, r11
shr rdi, 0x3f
shr rax, 0x18
or rdi, r9
mov r9, rdx
xor r9, r11
shl r9, 0x28
or r9, rax
mov rax, r8
mov rsi, r9
lea r14, [r9 + rcx]
add r14, qword [rsp + 0x60]
lea rcx, [rbx + r15]
add rcx, qword [rsp + 0xb8]
xor rax, r14
xor r8, r14
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rax
xor r8, rcx
shr r8, 0x20
lea r11, [rax + rdx]
xor rax, rcx
xor rsi, r11
shl rax, 0x20
xor r9, r11
shr rsi, 0x3f
add r9, r9
or rsi, r9
or r8, rax
lea rdx, [r8 + r10]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r15, [r9 + rcx]
add r15, qword [rsp + 0xc8]
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rdi
mov qword [rsp + 0x40], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x18], rcx
xor r9, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 0x10]
add r9, r9
or rax, r9
mov rdx, rcx
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x68]
add rax, rdi
add rax, r12
xor rdx, rax
xor rcx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rbx, rdx
lea rcx, [rdx + r11]
xor r8, rcx
xor rdi, rcx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
lea r12, [r8 + rax]
mov rax, r8
add r12, qword [rsp + 0x98]
xor rdx, r12
xor rbx, r12
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
add rcx, rbx
xor r8, rcx
mov qword [rsp + 0x10], rcx
xor rax, rcx
add r8, r8
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
shr rax, 0x3f
or rax, r8
mov r8, rsi
mov qword [rsp], rax
lea rax, [rsi + rbp]
add rax, qword [rsp + 0x58]
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x20]
add rcx, rdx
mov rdi, rdx
xor r8, rcx
xor rsi, rcx
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
lea rbp, [r8 + rax]
add rbp, qword [rsp + 0xa0]
xor rdi, rbp
shl rdi, 0x30
mov r11, qword [rsp + 0x30]
mov rax, r8
xor rdx, rbp
shr rdx, 0x10
or rdi, rdx
mov rdx, qword [rsp + 0x38]
lea r10, [rdi + rcx]
xor rax, r10
lea rcx, [r11 + r14]
add rcx, qword [rsp + 0xb0]
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov r8, r13
xor r8, rcx
mov qword [rsp + 0x48], rax
xor r13, rcx
shr r8, 0x20
shl r13, 0x20
or r8, r13
mov r13, qword [rsp + 0x68]
add rdx, r8
mov rsi, r8
mov r9, rdx
mov rax, rdx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r14, [r9 + rcx]
add r14, qword [rsp + 0x50]
xor r8, r14
xor rsi, r14
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rdx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rdx, [r8 + r15]
add rdx, qword [rsp + 0xa0]
xor r9, rdx
xor rbx, rdx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rcx, [r9 + r10]
mov r10, rcx
mov rax, rcx
xor rax, r8
xor r10, r8
shr rax, 0x18
shl r10, 0x28
or r10, rax
mov rax, r9
add r13, r10
add r13, rdx
xor rax, r13
xor r9, r13
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rsp + 0x20], rax
add rax, rcx
mov rcx, r10
mov qword [rsp + 0x30], rax
xor rcx, rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp + 8]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x90]
add rcx, r10
mov r8, rdi
add rcx, r12
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov rbx, r9
lea r15, [r9 + rcx]
mov rcx, qword [rsp + 0x18]
add r15, qword [rsp + 0x60]
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 8], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x38], rax
xor rbx, rax
add r9, r9
mov rdx, rsi
shr rbx, 0x3f
or rbx, r9
mov r9, qword [rsp]
mov r8, r9
lea rax, [r9 + rbp]
add rax, qword [rsp + 0x80]
xor rdx, rax
xor rsi, rax
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
mov r9, qword [rsp + 0x48]
mov rdi, r8
lea rbp, [r8 + rax]
mov rax, rdx
add rbp, qword [rsp + 0xc0]
xor rax, rbp
xor rdx, rbp
shl rax, 0x30
shr rdx, 0x10
or rax, rdx
mov qword [rsp], rax
lea r10, [rax + rcx]
xor r8, r10
lea rcx, [r9 + r14]
add rcx, qword [rsp + 0xc8]
add r8, r8
xor rdi, r10
mov rdx, rcx
xor rdx, qword [rsp + 0x40]
mov rax, rcx
xor rax, qword [rsp + 0x40]
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
shr rdi, 0x3f
mov rax, qword [rsp + 0x10]
or rdi, r8
add rax, rdx
mov r8, r9
xor r8, rax
shl r8, 0x28
xor r9, rax
shr r9, 0x18
or r8, r9
mov r9, rdx
mov rsi, r8
lea r14, [r8 + rcx]
mov rcx, qword [rsp + 0x78]
add r14, qword [rsp + 0x58]
add rcx, rbx
add rcx, r13
xor r9, r14
shl r9, 0x30
xor rdx, r14
shr rdx, 0x10
or r9, rdx
lea r11, [r9 + rax]
xor r8, r11
xor rsi, r11
add r8, r8
shr rsi, 0x3f
or rsi, r8
mov r8, r9
xor r8, rcx
xor r9, rcx
shr r8, 0x20
shl r9, 0x20
or r8, r9
lea rdx, [r8 + r10]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov r13, r9
lea r12, [r9 + rcx]
mov rcx, qword [rsp + 0x20]
add r12, qword [rsp + 0xb0]
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rdi
mov qword [rsp + 0x18], rax
add rax, rdx
xor r13, rax
mov qword [rsp + 0x10], rax
xor r9, rax
shr r13, 0x3f
mov rdx, rcx
lea rax, [rdi + r15]
add rax, qword [rsp + 0x70]
add r9, r9
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
or r13, r9
shr rdx, 0x20
or rdx, rcx
lea rcx, [r11 + rdx]
xor r8, rcx
xor rdi, rcx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
lea r15, [rax + r8]
add r15, qword [rsp + 0x88]
mov rbx, r15
mov rax, r15
xor rbx, rdx
xor rax, rdx
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rcx + rbx]
mov rcx, rax
mov qword [rsp + 0x20], rax
xor rcx, r8
mov r9, qword [rsp + 0x28]
xor rax, r8
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov r8, rsi
mov qword [rsp + 0x48], rcx
lea rax, [rsi + rbp]
add rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 8]
mov rdx, rcx
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x30]
add rcx, rdx
xor r8, rcx
xor rsi, rcx
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
lea rbp, [rax + r8]
add rbp, qword [rsp + 0x98]
mov rdi, rbp
mov rax, rbp
xor rax, rdx
xor rdi, rdx
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rcx + rdi]
mov rcx, r10
mov rax, r10
xor rax, r8
xor rcx, r8
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov r8, r9
lea rax, [r9 + r14]
mov qword [rsp + 8], rcx
add rax, qword [rsp + 0x50]
mov rcx, qword [rsp]
mov rdx, rcx
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x38]
add rcx, rdx
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
lea r14, [rax + r8]
add r14, qword [rsp + 0xb8]
mov rsi, r14
mov rax, r14
xor rax, rdx
xor rsi, rdx
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rcx + rsi]
mov r9, r11
mov rax, r11
xor r9, r8
xor rax, r8
add rax, rax
shr r9, 0x3f
or r9, rax
lea rcx, [r12 + r9]
add rcx, qword [rsp + 0x50]
mov r8, rcx
mov rax, rcx
xor r8, rbx
shr r8, 0x20
xor rax, rbx
shl rax, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r10, rdx
mov rax, rdx
xor rax, r9
xor r10, r9
shr rax, 0x18
shl r10, 0x28
or r10, rax
lea r12, [rcx + r10]
add r12, qword [rsp + 0xb0]
mov rcx, r12
mov rax, r12
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x40], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rsp + 0x48]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x58]
add rcx, r15
add rcx, r13
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, r13
xor r9, r13
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rsp + 0x98]
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x30], rcx
lea rax, [rcx + rdx]
mov rdx, qword [rsp + 0x10]
mov rdi, rax
mov qword [rsp + 0x38], rax
xor rax, r9
lea rcx, [r10 + rbp]
add rcx, qword [rsp + 0x88]
xor rdi, r9
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov r8, rcx
xor r8, rsi
mov rax, rcx
xor rax, rsi
shr r8, 0x20
shl rax, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
xor r9, r10
shl r9, 0x28
mov rax, rdx
xor rax, r10
mov r10, qword [rsp + 8]
shr rax, 0x18
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rsp + 0xa0]
mov rcx, r13
mov rax, r13
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x48], rcx
lea r11, [rdx + rcx]
mov rdx, qword [rsp + 0x20]
lea rcx, [r14 + r10]
mov rsi, r11
add rcx, qword [rsp + 0xa8]
xor rsi, r9
shr rsi, 0x3f
mov rax, r11
xor rax, r9
add rax, rax
or rsi, rax
mov rax, qword [rsp + 0x18]
mov r8, rax
xor rax, rcx
shl rax, 0x20
xor r8, rcx
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
mov rcx, qword [rsp + 0x68]
add r14, qword [rsp + 0xb8]
add rcx, r12
add rcx, rdi
mov r10, r14
xor r10, r8
mov rax, r14
xor rax, r8
shl r10, 0x30
shr rax, 0x10
mov r8, rcx
or r10, rax
xor r8, r10
shr r8, 0x20
lea rbx, [rdx + r10]
mov rbp, rbx
mov rax, rbx
xor rax, r9
xor rbp, r9
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor r9, rdi
xor rax, rdi
shl r9, 0x28
shr rax, 0x18
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rsp + 0x80]
mov rcx, r12
xor rcx, r8
shl rcx, 0x30
mov rax, r12
xor rax, r8
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x20], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x10], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 8], rcx
lea rcx, [r15 + rsi]
add rcx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x90]
mov r8, rcx
xor r8, qword [rsp]
add r15, rcx
shr r8, 0x20
mov rax, rcx
xor rax, qword [rsp]
shl rax, 0x20
or r8, rax
lea rdx, [rbx + r8]
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r15, r9
mov rbx, r15
mov rax, r15
xor rax, r8
xor rbx, r8
shr rax, 0x10
mov r8, rbp
shl rbx, 0x30
or rbx, rax
mov rax, r9
lea rcx, [rdx + rbx]
xor rax, rcx
mov qword [rsp + 0x18], rcx
shr rax, 0x3f
xor r9, rcx
mov rcx, rbp
add r9, r9
or rax, r9
add rcx, r13
add rcx, qword [rsp + 0xc0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x30]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x40]
add rax, rdx
mov rdi, rdx
xor rbp, rax
xor r8, rax
shr rbp, 0x18
shl r8, 0x28
or r8, rbp
mov rbp, qword [rsp + 0x78]
add rbp, r8
mov r13, r8
add rbp, rcx
xor rdi, rbp
xor rdx, rbp
shl rdi, 0x30
shr rdx, 0x10
or rdi, rdx
lea r10, [rdi + rax]
xor r13, r10
shr r13, 0x3f
mov rcx, qword [rsp + 0x48]
xor r8, r10
mov rax, qword [rsp + 0x70]
mov rdx, rcx
add r8, r8
add rax, r14
or r13, r8
mov r8, qword [rsp + 0x28]
add rax, r8
mov r9, r8
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x38]
add rcx, rdx
mov rsi, rdx
xor r9, rcx
xor r8, rcx
shl r9, 0x28
shr r8, 0x18
or r9, r8
mov r8, r9
lea r14, [r9 + rax]
add r14, qword [rsp + 0xc8]
xor rdx, r14
xor rsi, r14
shr rdx, 0x10
shl rsi, 0x30
or rsi, rdx
lea r11, [rsi + rcx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rcx, [r12 + r8]
add rcx, qword [rsp + 0xc8]
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor rax, r8
xor r10, r8
shr rax, 0x18
mov r8, rdi
shl r10, 0x28
or r10, rax
mov rax, r9
lea r12, [r10 + rcx]
mov rcx, r10
add r12, qword [rsp + 0xa8]
xor rax, r12
xor r9, r12
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rsp + 0x48], rax
add rax, rdx
xor rcx, rax
mov qword [rsp + 0x30], rax
shr rcx, 0x3f
xor r10, rax
add r10, r10
or rcx, r10
mov r10, qword [rsp + 8]
mov qword [rsp + 0x40], rcx
lea rcx, [r15 + r10]
add rcx, qword [rsp + 0xb0]
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov r11, r9
lea r15, [r9 + rcx]
mov rcx, qword [rsp + 0x10]
add r15, qword [rsp + 0xc0]
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 8], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x28], rax
xor r11, rax
add r9, r9
mov rdx, rsi
shr r11, 0x3f
or r11, r9
mov r9, qword [rsp]
mov r8, r9
lea rax, [r9 + rbp]
add rax, qword [rsp + 0x98]
xor rdx, rax
xor rsi, rax
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
add rcx, rdx
xor r8, rcx
xor r9, rcx
shl r8, 0x28
shr r9, 0x18
or r8, r9
mov rbx, r8
lea rbp, [r8 + rax]
mov rax, rdx
add rbp, qword [rsp + 0xb8]
xor rax, rbp
xor rdx, rbp
shl rax, 0x30
shr rdx, 0x10
or rax, rdx
mov qword [rsp], rax
lea r9, [rax + rcx]
mov rcx, qword [rsp + 0x20]
xor r8, r9
lea rax, [r14 + r13]
add rax, qword [rsp + 0xa0]
add r8, r8
mov rdx, rcx
xor rbx, r9
xor rdx, rax
shr rbx, 0x3f
xor rcx, rax
shr rdx, 0x20
or rbx, r8
shl rcx, 0x20
or rdx, rcx
mov r8, r13
mov rcx, qword [rsp + 0x18]
add rcx, rdx
xor r8, rcx
xor r13, rcx
shl r8, 0x28
shr r13, 0x18
or r8, r13
lea r14, [r8 + rax]
mov rax, rdx
add r14, qword [rsp + 0x88]
xor rax, r14
xor rdx, r14
shl rax, 0x30
shr rdx, 0x10
or rax, rdx
mov rdi, r8
lea r10, [rax + rcx]
xor r8, r10
lea rcx, [r11 + r12]
add rcx, qword [rsp + 0x58]
add r8, r8
xor rdi, r10
shr rdi, 0x3f
or rdi, r8
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r9]
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r12, [r9 + rcx]
add r12, qword [rsp + 0x60]
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rbx
mov qword [rsp + 0x18], rax
lea rcx, [rax + rdx]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x20], rcx
xor r9, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 0x48]
add r9, r9
mov rdx, rcx
or rax, r9
mov qword [rsp + 0x10], rax
lea rax, [rbx + r15]
add rax, qword [rsp + 0x50]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
lea rcx, [rdx + r10]
xor rbx, rcx
xor r8, rcx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
mov rbx, rdx
mov r15, r8
lea rsi, [r8 + rax]
add rsi, qword [rsp + 0x80]
xor rdx, rsi
xor rbx, rsi
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
lea rax, [rbx + rcx]
mov rcx, qword [rsp + 0x78]
xor r15, rax
mov qword [rsp + 0x38], rax
xor r8, rax
shr r15, 0x3f
mov rax, qword [rsp + 8]
add rcx, rdi
add rcx, rbp
add r8, r8
mov rdx, rax
or r15, r8
xor rdx, rcx
shr rdx, 0x20
mov r13, qword [rsp + 0x90]
xor rax, rcx
mov rbp, qword [rsp + 0x70]
mov r8, rdi
shl rax, 0x20
or rdx, rax
mov rax, qword [rsp + 0x30]
add rax, rdx
xor r8, rax
xor rdi, rax
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
mov rdi, rdx
add rbp, r8
add rbp, rcx
xor rdx, rbp
xor rdi, rbp
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea r10, [rdi + rax]
mov rax, r8
xor r8, r10
xor rax, r10
add r8, r8
shr rax, 0x3f
or rax, r8
mov r8, qword [rsp + 0x40]
mov r9, r8
mov qword [rsp + 0x48], rax
mov rax, qword [rsp]
mov rdx, rax
lea rcx, [r8 + r13]
add rcx, r14
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x28]
add rax, rdx
mov r14, rdx
xor r9, rax
xor r8, rax
shr r8, 0x18
shl r9, 0x28
or r9, r8
mov r8, qword [rsp + 0x68]
add r8, r9
add r8, rcx
xor r14, r8
mov qword [rsp + 8], r8
xor rdx, r8
shl r14, 0x30
mov r8, r9
shr rdx, 0x10
or r14, rdx
lea r11, [r14 + rax]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
lea rcx, [r8 + r13]
add rcx, r12
xor r9, rcx
xor rbx, rcx
shr r9, 0x20
shl rbx, 0x20
or r9, rbx
lea rdx, [r9 + r10]
mov r10, rdx
mov rax, rdx
xor r10, r8
xor rax, r8
shl r10, 0x28
shr rax, 0x18
or r10, rax
lea r13, [r10 + rcx]
add r13, qword [rsp + 0x50]
mov rax, r9
xor rax, r13
xor r9, r13
shl rax, 0x30
mov r8, rdi
shr r9, 0x10
mov rcx, r10
or rax, r9
mov qword [rsp], rax
add rax, rdx
xor rcx, rax
mov qword [rsp + 0x30], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp + 0x10]
mov qword [rsp + 0x40], rcx
lea rcx, [r10 + rsi]
add rcx, qword [rsp + 0x98]
xor r8, rcx
xor rdi, rcx
shr r8, 0x20
shl rdi, 0x20
or r8, rdi
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
mov rsi, r9
lea r12, [r9 + rcx]
mov rcx, qword [rsp + 0x20]
add r12, qword [rsp + 0x58]
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, r15
mov qword [rsp + 0x10], rax
add rax, rdx
xor r9, rax
mov qword [rsp + 0x28], rax
xor rsi, rax
add r9, r9
lea rax, [r15 + rbp]
shr rsi, 0x3f
add rax, qword [rsp + 0x60]
or rsi, r9
mov rdx, r14
xor r14, rax
xor rdx, rax
shl r14, 0x20
shr rdx, 0x20
or rdx, r14
add rcx, rdx
xor r15, rcx
xor r8, rcx
shr r15, 0x18
shl r8, 0x28
or r8, r15
mov r15, qword [rsp + 0x68]
add r15, rax
add r15, r8
mov r9, r15
mov rax, r15
xor r9, rdx
xor rax, rdx
shl r9, 0x30
shr rax, 0x10
or r9, rax
mov qword [rsp + 0x20], r9
lea r11, [rcx + r9]
mov rdi, r11
xor rdi, r8
mov r9, qword [rsp + 0x48]
mov rax, r11
xor rax, r8
mov rcx, qword [rsp + 0x18]
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov rdx, rcx
mov rax, qword [rsp + 0x70]
mov r8, r9
add rax, r9
add rax, qword [rsp + 8]
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x38]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
add rax, r8
add rax, qword [rsp + 0xa0]
mov r9, rax
mov qword [rsp + 0x48], rax
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
lea r10, [rcx + r9]
lea rcx, [rsi + r13]
mov rbx, r10
add rcx, qword [rsp + 0xa8]
xor rbx, r8
mov r13, qword [rsp + 0x78]
mov rax, r10
xor rax, r8
shr rbx, 0x3f
add rax, rax
add r13, rcx
or rbx, rax
mov r8, rcx
xor r8, r9
mov rax, rcx
xor rax, r9
shr r8, 0x20
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rsi
xor r9, rsi
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r13, r9
mov qword [rsp + 0x18], r9
mov rcx, r13
mov rax, r13
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [rcx + rdx]
mov qword [rsp + 8], rax
lea rcx, [r12 + rdi]
add rcx, qword [rsp + 0xc8]
mov rax, qword [rsp]
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rdi
xor r9, rdi
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov qword [rsp], r9
lea rsi, [rcx + r9]
mov r9, qword [rsp + 0x40]
add rsi, qword [rsp + 0xb0]
lea rcx, [r15 + rbx]
add rcx, qword [rsp + 0x80]
mov r10, r9
mov r14, rsi
mov rax, rsi
xor rax, r8
xor r14, r8
shr rax, 0x10
mov r8, rcx
xor r8, qword [rsp + 0x10]
shr r8, 0x20
shl r14, 0x30
or r14, rax
mov rax, rcx
xor rax, qword [rsp + 0x10]
shl rax, 0x20
or r8, rax
lea r12, [rdx + r14]
mov rdx, qword [rsp + 0x30]
add rdx, r8
mov r15, rdx
mov rax, rdx
xor rax, rbx
xor r15, rbx
shr rax, 0x18
shl r15, 0x28
or r15, rax
lea r11, [rcx + r15]
mov rcx, qword [rsp + 0x48]
add r11, qword [rsp + 0x88]
add rcx, r9
add rcx, qword [rsp + 0xb8]
mov rdi, r11
xor rdi, r8
mov rax, r11
xor rax, r8
shr rdi, 0x10
shl rax, 0x30
mov r8, rcx
xor r8, qword [rsp + 0x20]
or rdi, rax
shr r8, 0x20
mov rax, rcx
xor rax, qword [rsp + 0x20]
shl rax, 0x20
or r8, rax
lea rbp, [rdx + rdi]
mov rdx, qword [rsp + 0x28]
mov rbx, r8
add rdx, r8
xor r9, rdx
xor r10, rdx
shr r9, 0x18
shl r10, 0x28
or r10, r9
lea r9, [rcx + r10]
add r9, qword [rsp + 0xc0]
xor rbx, r9
mov rax, r9
xor rax, r8
shr rbx, 0x10
mov r8, qword [rsp + 0x100]
shl rax, 0x30
or rbx, rax
mov rax, rbp
xor rax, qword [r8]
xor rax, r13
mov qword [r8], rax
lea rcx, [rdx + rbx]
mov rdx, qword [rsp + 8]
mov rax, qword [rsp + 0x108]
xor rax, rcx
xor rax, rsi
mov qword [r8 + 8], rax
mov rax, qword [rsp + 0xf8]
xor rax, rdx
xor rax, r11
lea r11, [rsp + 0x120]
mov qword [r8 + 0x10], rax
mov rax, r12
xor rax, qword [rsp + 0xd8]
mov rsi, qword [r11 + 0x48]
xor rax, r9
mov qword [r8 + 0x18], rax
mov rax, rcx
xor rax, r10
xor rcx, r10
add rax, rax
shr rcx, 0x3f
or rax, rcx
xor rax, qword [rsp + 0x110]
xor rax, r14
mov qword [r8 + 0x20], rax
mov rax, rdx
xor rax, qword [rsp + 0x18]
xor rdx, qword [rsp + 0x18]
shr rax, 0x3f
add rdx, rdx
or rax, rdx
xor rax, qword [rsp + 0xe0]
xor rax, rdi
mov qword [r8 + 0x28], rax
mov rax, r12
xor rax, qword [rsp]
xor r12, qword [rsp]
shr rax, 0x3f
add r12, r12
or rax, r12
xor rax, qword [rsp + 0xe8]
xor rax, rbx
mov rbx, qword [r11 + 0x38]
mov qword [r8 + 0x30], rax
mov rax, rbp
xor rax, r15
xor rbp, r15
add rax, rax
shr rbp, 0x3f
or rax, rbp
mov rbp, qword [r11 + 0x40]
xor rax, qword [rsp + 0xf0]
xor rax, qword [rsp + 0x38]
mov qword [r8 + 0x38], rax
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret