Function at 0x180172bb0
Capabilities:
Encrypt data using des
Hash data using sha512

Disassembly:
mov rax, rsp
sub rsp, 0x168
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0xe8], r8
test r8, r8
je 0x180175b0b
mov qword [rax + 0x18], rbx
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
nop dword [rax + rax]
mov r8, qword [rcx + 0xb8]
add r8, r9
mov qword [rcx + 0xb8], r8
cmp r8, r9
jae 0x180172c1d
inc qword [rcx + 0xc0]
movups xmm1, xmmword [rdx + 0x10]
mov rsi, qword [rcx + 0xa0]
movabs rax, 0x510e527fade682d1
movups xmm0, xmmword [rdx]
mov qword [rsp + 0xf0], rsi
movups xmm2, xmmword [rdx + 0x20]
mov r10, qword [rsi + 0x20]
movups xmm3, xmmword [rdx + 0x30]
mov r9, qword [rsi]
movups xmm4, xmmword [rdx + 0x40]
mov rbx, qword [rsi + 0x28]
add r9, r10
movups xmm5, xmmword [rdx + 0x50]
mov rdi, qword [rsi + 0x30]
movups xmm6, xmmword [rdx + 0x60]
mov rbp, qword [rsi + 0x38]
movups xmm7, xmmword [rdx + 0x70]
sub rdx, 0xffffffffffffff80
mov qword [rsp + 0x100], rdx
movq rdx, xmm0
add r9, rdx
mov qword [rsp + 0x98], rdx
xor r8, r9
psrldq xmm0, 8
xor r8, rax
movabs rdx, 0x6a09e667f3bcc908
mov r11, r8
movq rax, xmm0
mov qword [rsp + 0x88], rax
shl r8, 0x20
shr r11, 0x20
or r11, r8
add rdx, r11
xor r10, rdx
mov r8, r10
shr r10, 0x18
shl r8, 0x28
or r8, r10
lea r12, [r8 + rax]
add r12, r9
mov r9, qword [rsi + 8]
add r9, rbx
xor r11, r12
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x68], rax
add rax, rdx
xor r8, rax
mov qword [rsp + 0x58], rax
mov rdx, r8
shr rdx, 0x3f
lea rax, [r8 + r8]
or rdx, rax
movq rax, xmm1
add r9, rax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xe0], rdx
mov rax, r9
xor rax, qword [rcx + 0xc0]
movabs rdx, 0x9b05688c2b3e6c1f
xor rax, rdx
psrldq xmm1, 8
mov r10, rax
movabs rdx, 0xbb67ae8584caa73b
shl rax, 0x20
shr r10, 0x20
or r10, rax
add rdx, r10
xor rbx, rdx
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
lea r15, [r9 + r8]
movq r9, xmm1
add r15, r9
mov qword [rsp + 0xb8], r9
xor r10, r15
mov rax, r10
mov r9, qword [rsi + 0x10]
shl rax, 0x30
add r9, rdi
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x60], rax
add rax, rdx
xor r8, rax
mov qword [rsp + 0x50], rax
mov r14, r8
movabs rdx, 0x1f83d9abfb41bd6b
shr r14, 0x3f
lea rax, [r8 + r8]
or r14, rax
movq rax, xmm2
add r9, rax
mov qword [rsp + 0x70], rax
mov rax, r9
psrldq xmm2, 8
xor rax, qword [rcx + 0xc8]
xor rax, rdx
movabs rdx, 0x3c6ef372fe94f82b
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add rdx, r10
xor rdi, rdx
mov r8, rdi
shr rdi, 0x18
shl r8, 0x28
or r8, rdi
lea r13, [r9 + r8]
movq r9, xmm2
add r13, r9
mov qword [rsp + 0xb0], r9
mov r9, qword [rsp + 0xf0]
xor r10, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r9, qword [r9 + 0x18]
add r9, rbp
mov qword [rsp + 0xd8], rax
lea rbx, [rax + rdx]
movabs rdx, 0x5be0cd19137e2179
xor r8, rbx
mov rsi, r8
shr rsi, 0x3f
lea rax, [r8 + r8]
or rsi, rax
movq rax, xmm3
add r9, rax
mov qword [rsp + 0x80], rax
mov rax, r9
psrldq xmm3, 8
xor rax, rdx
movabs rdx, 0xa54ff53a5f1d36f1
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add rdx, r10
xor rbp, rdx
mov r8, rbp
shr rbp, 0x18
shl r8, 0x28
or r8, rbp
lea rbp, [r9 + r8]
movq r9, xmm3
add rbp, r9
mov qword [rsp + 0xd0], r9
xor r10, rbp
mov r9, r10
shr r10, 0x10
shl r9, 0x30
or r9, r10
lea r11, [r9 + rdx]
xor r8, r11
mov rdi, r8
lea rax, [r8 + r8]
shr rdi, 0x3f
or rdi, rax
movq rax, xmm4
mov qword [rsp + 0x78], rax
psrldq xmm4, 8
lea rdx, [r14 + rax]
add rdx, r12
xor r9, rdx
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
lea r8, [r10 + rbx]
xor r14, r8
mov r9, r14
shr r14, 0x18
shl r9, 0x28
or r9, r14
lea rax, [r9 + rdx]
movq rdx, xmm4
add rax, rdx
mov qword [rsp + 0xc8], rdx
xor r10, rax
mov qword [rsp + 0x38], rax
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x18], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x10], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
movq rax, xmm5
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x40], rdx
psrldq xmm5, 8
lea rdx, [rsi + rax]
mov rax, qword [rsp + 0x68]
add rdx, r15
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + r11]
xor rsi, r8
mov r9, rsi
shr rsi, 0x18
shl r9, 0x28
or r9, rsi
lea r12, [r9 + rdx]
movq rdx, xmm5
add r12, rdx
mov qword [rsp + 0xa8], rdx
xor r10, r12
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rax, [r15 + r8]
xor r9, rax
mov qword [rsp], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
lea rax, [rdi + r13]
mov qword [rsp + 0x48], rdx
movq rdx, xmm6
mov qword [rsp + 0x90], rdx
add rdx, rax
mov rax, qword [rsp + 0x60]
xor rax, rdx
mov r10, rax
shr r10, 0x20
shl rax, 0x20
mov r8, qword [rsp + 0x58]
or r10, rax
mov r11, qword [rsp + 0xe0]
add r8, r10
xor rdi, r8
psrldq xmm6, 8
mov r9, rdi
shr rdi, 0x18
shl r9, 0x28
or r9, rdi
lea r13, [r9 + rdx]
movq rdx, xmm6
add r13, rdx
mov qword [rsp + 0x60], rdx
xor r10, r13
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rdi, [r14 + r8]
mov r8, qword [rsp + 0x50]
xor r9, rdi
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
lea rax, [r11 + rbp]
mov qword [rsp + 0x30], rdx
movq rdx, xmm7
mov qword [rsp + 0x68], rdx
add rdx, rax
mov rax, qword [rsp + 0xd8]
xor rax, rdx
psrldq xmm7, 8
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
lea rbp, [r9 + rdx]
movq rdx, xmm7
add rbp, rdx
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x38]
xor r10, rbp
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rbx, [rsi + r8]
xor r9, rbx
mov r10, r9
shr r10, 0x3f
lea rax, [r9 + r9]
or r10, rax
add rdx, r10
add rdx, qword [rsp + 0x68]
xor r15, rdx
mov r11, r15
shl r15, 0x20
shr r11, 0x20
or r11, r15
lea r8, [r11 + rdi]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
lea r15, [r9 + rdx]
add r15, qword [rsp + 0xc0]
xor r11, r15
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x38], rax
mov r11, qword [rsp + 0x40]
add rax, r8
xor r9, rax
mov qword [rsp + 0x50], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov qword [rsp + 0xd8], rdx
lea rdx, [r11 + r12]
add rdx, qword [rsp + 0x70]
xor r14, rdx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rbx]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 0x48]
lea r12, [r9 + rdx]
add r12, qword [rsp + 0x78]
lea rdx, [r11 + r13]
add rdx, qword [rsp + 0xc8]
xor r10, r12
mov rax, r10
xor rsi, rdx
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov r10, rsi
mov qword [rsp + 0x40], rax
add rax, r8
mov r8, qword [rsp + 0x10]
xor r9, rax
mov qword [rsp + 0xe0], rax
mov rdi, r9
shr r10, 0x20
shl rsi, 0x20
or r10, rsi
shr rdi, 0x3f
add r8, r10
lea rax, [r9 + r9]
or rdi, rax
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
lea r13, [r9 + rdx]
mov rdx, qword [rsp + 0x60]
add r13, qword [rsp + 0x58]
xor r10, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, qword [rsp + 0x30]
mov qword [rsp + 0x10], rax
lea rbx, [rax + r8]
mov r8, qword [rsp]
xor r9, rbx
mov rsi, r9
shr rsi, 0x3f
lea rax, [r9 + r9]
or rsi, rax
lea rax, [r10 + rbp]
add rdx, rax
mov rax, qword [rsp + 0x18]
xor rax, rdx
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r8, r11
xor r10, r8
mov r9, r10
shl r9, 0x28
shr r10, 0x18
or r9, r10
lea rbp, [r9 + rdx]
add rbp, qword [rsp + 0x80]
xor r11, rbp
mov r10, r11
shr r11, 0x10
shl r10, 0x30
or r10, r11
lea r11, [r10 + r8]
xor r9, r11
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
lea r9, [rdi + r15]
add r9, qword [rsp + 0x88]
mov r15, qword [rsp + 0x90]
xor r10, r9
add r15, r9
mov rdx, r10
shr rdx, 0x20
lea r9, [rsi + r12]
add r9, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
shl r10, 0x20
add r12, r9
or rdx, r10
lea r10, [rbx + rdx]
xor rdi, r10
mov r8, rdi
shr rdi, 0x18
shl r8, 0x28
or r8, rdi
add r15, r8
mov rax, r15
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 8], rdx
lea rax, [r10 + rdx]
mov qword [rsp + 0x30], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 0x38]
xor rax, r9
mov qword [rsp], rdx
mov rdx, rax
lea r9, [r14 + r13]
add r9, qword [rsp + 0xa8]
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [r11 + rdx]
xor rsi, r10
mov r8, rsi
shr rsi, 0x18
shl r8, 0x28
or r8, rsi
add r12, r8
mov rax, r12
xor rax, rdx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [r10 + rdi]
mov qword [rsp + 0x38], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 0x40]
xor rax, r9
mov qword [rsp + 0x18], rdx
mov r10, qword [rsp + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xb8]
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
xor r14, r10
mov r8, r14
shr r14, 0x18
shl r8, 0x28
or r8, r14
mov r14, qword [rsp + 0xd0]
add r14, r9
lea r9, [rbx + rbp]
add r9, qword [rsp + 0xb0]
add r14, r8
add r13, r9
mov rax, r14
xor rax, rdx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [r10 + rsi]
mov r10, qword [rsp + 0xe0]
mov rax, r11
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 0x10]
xor rax, r9
mov qword [rsp + 0x48], rdx
mov r9, qword [rsp + 0xa8]
mov rdx, rax
shl rax, 0x20
add r9, r15
mov r15, qword [rsp + 0x78]
shr rdx, 0x20
or rdx, rax
add r10, rdx
xor rbx, r10
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
add r13, r8
mov rax, r13
xor rax, rdx
mov rbp, rax
shr rax, 0x10
shl rbp, 0x30
or rbp, rax
lea rbx, [r10 + rbp]
mov rax, rbx
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
add r9, rdx
add r15, r9
mov rax, r9
xor rax, rdi
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [r11 + r8]
mov rax, r10
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r15, rdx
mov rax, r15
xor rax, r8
mov r9, qword [rsp + 0x90]
mov r8, rax
shr rax, 0x10
add r9, r12
add r9, qword [rsp]
mov r12, qword [rsp + 0x98]
shl r8, 0x30
add r12, r9
or r8, rax
mov qword [rsp + 0x10], r8
lea rax, [r10 + r8]
mov qword [rsp + 0x50], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, r9
mov r9, qword [rsp + 0xb0]
xor rax, rsi
mov qword [rsp + 0xd8], rdx
add r9, r14
add r9, qword [rsp + 0x18]
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [rbx + rdx]
mov rax, r10
xor rax, qword [rsp]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r12, r8
mov rax, r12
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x40], rdx
lea rax, [r10 + rdx]
mov r10, qword [rsp + 0x30]
mov qword [rsp + 0xe0], rax
xor rax, r8
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, r9
xor rax, rbp
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, qword [rsp + 0x18]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, qword [rsp + 0xa0]
add rax, r9
add rax, r8
mov qword [rsp], rax
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x18], rdx
lea rbx, [r10 + rdx]
mov rdx, qword [rsp + 0x58]
mov rax, rbx
xor rax, r8
mov rbp, rax
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov r8, qword [rsp + 0x38]
add rdx, r13
add rdx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x60]
mov rax, rdx
xor rax, qword [rsp + 8]
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r8, r11
mov rax, r8
xor rax, qword [rsp + 0x48]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r13, r9
add r13, rdx
mov rdx, qword [rsp + 0xc0]
xor r11, r13
add rdx, r15
add rdx, rsi
mov r10, r11
shl r10, 0x30
shr r11, 0x10
or r10, r11
lea rdi, [r10 + r8]
xor r10, rdx
xor r9, rdi
mov r11, r10
mov r14, r9
shl r10, 0x20
shr r11, 0x20
or r11, r10
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
lea r8, [r11 + rbx]
mov rax, r8
xor rax, rsi
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rsp + 0x68]
add rax, r9
add rax, rdx
xor r11, rax
mov qword [rsp + 8], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x20], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x38], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x30], rdx
lea rdx, [r12 + rbp]
add rdx, qword [rsp + 0xb8]
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + rdi]
mov rax, r8
xor rax, rbp
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rsp + 0x80]
add rax, r9
add rax, rdx
xor r10, rax
mov r11, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xc8]
mov rsi, r10
mov rbp, qword [rsp + 0x70]
mov qword [rsp + 0x10], rax
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [rsi + r8]
mov r8, qword [rsp + 0x50]
xor r9, rax
mov qword [rsp + 0x28], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp]
add rdx, r14
add rdx, r11
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
mov rax, r8
xor rax, r14
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rsp + 0x88]
add rax, r9
add rax, rdx
xor r10, rax
mov qword [rsp], rax
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r14 + r8]
mov r8, qword [rsp + 0xe0]
xor r9, rbx
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
mov r9, qword [rsp + 0xd8]
or rdx, rax
mov qword [rsp + 0x40], rdx
lea rdx, [r12 + r9]
add rdx, r13
mov rax, rdx
xor rax, qword [rsp + 0x18]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
mov rax, r8
xor rax, r9
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
add rbp, r9
add rbp, rdx
xor r10, rbp
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rdi, [r15 + r8]
xor r9, rdi
mov r10, r9
shr r10, 0x3f
lea rax, [r9 + r9]
or r10, rax
lea rax, [r10 + r11]
mov rdx, qword [rsp + 8]
add rdx, rax
xor rsi, rdx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
lea rax, [r9 + rdx]
add r12, rax
xor r11, r12
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov r11, qword [rsp + 0x48]
mov qword [rsp + 8], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x50], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov rax, qword [rsp + 0xb8]
add rax, qword [rsp + 0x30]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0x10]
add rdx, rax
xor r14, rdx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rdi]
mov rax, r8
xor rax, qword [rsp + 0x30]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [r9 + rdx]
mov rdx, qword [rsp]
add r13, qword [rsp + 0x88]
xor r10, r13
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x18], rax
add rax, r8
mov r8, qword [rsp + 0x38]
xor r9, rax
mov qword [rsp + 0x10], rax
mov rsi, r9
shr rsi, 0x3f
lea rax, [r9 + r9]
or rsi, rax
mov rax, qword [rsp + 0x60]
add rax, r11
add rdx, rax
xor r15, rdx
mov r10, r15
shl r15, 0x20
shr r10, 0x20
or r10, r15
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
lea rax, [r9 + rdx]
add rax, qword [rsp + 0x90]
mov qword [rsp], rax
xor r10, rax
mov rdx, qword [rsp + 0xa8]
mov rax, r10
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov r10, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rbx, [rax + r8]
mov r8, qword [rsp + 0x28]
xor r9, rbx
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
lea rax, [r10 + rbp]
add rdx, rax
mov rax, rdx
xor rax, qword [rsp + 0x20]
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r8, r11
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
lea rbp, [r9 + rdx]
mov rdx, qword [rsp + 0xa0]
add rbp, qword [rsp + 0x68]
xor r11, rbp
mov r10, r11
shr r11, 0x10
shl r10, 0x30
or r10, r11
lea rdi, [r10 + r8]
xor r9, rdi
mov r15, r9
shr r15, 0x3f
lea rax, [r9 + r9]
or r15, rax
lea rax, [rsi + r12]
add rdx, rax
xor r10, rdx
mov r11, r10
shl r10, 0x20
shr r11, 0x20
or r11, r10
lea r8, [r11 + rbx]
xor rsi, r8
mov r9, rsi
shr rsi, 0x18
shl r9, 0x28
or r9, rsi
lea r12, [r9 + rdx]
add r12, qword [rsp + 0x80]
xor r11, r12
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x40], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x48], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov qword [rsp + 0x28], rdx
lea rdx, [r14 + r13]
add rdx, qword [rsp + 0xb0]
mov rax, rdx
xor rax, qword [rsp + 8]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + rdi]
xor r14, r8
mov r11, qword [rsp + 0xd8]
mov r9, r14
shl r9, 0x28
shr r14, 0x18
or r9, r14
lea r13, [r9 + rdx]
add r13, qword [rsp + 0xc0]
xor r10, r13
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [rsi + r8]
mov r8, qword [rsp + 0x50]
xor r9, rax
mov qword [rsp + 0x38], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov rax, qword [rsp]
add rax, r15
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x70]
add rdx, rax
mov rax, rdx
xor rax, qword [rsp + 0x18]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor r15, r8
mov r9, r15
shr r15, 0x18
shl r9, 0x28
or r9, r15
lea rax, [r9 + rdx]
add rax, qword [rsp + 0x98]
xor r10, rax
mov qword [rsp + 0x20], rax
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r14 + r8]
lea r8, [r11 + rbp]
xor r9, rbx
add r8, qword [rsp + 0x58]
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
mov r9, qword [rsp + 0x10]
or rdx, rax
mov rax, r8
xor rax, qword [rsp + 0x30]
mov qword [rsp], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r9, rdx
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
lea rbp, [r10 + r8]
add rbp, qword [rsp + 0x78]
mov rax, rbp
xor rax, rdx
mov r15, rax
shr rax, 0x10
shl r15, 0x30
or r15, rax
lea rdi, [r15 + r9]
xor r10, rdi
mov r11, r10
shr r11, 0x3f
lea rax, [r10 + r10]
or r11, rax
lea r8, [r11 + r12]
add r8, qword [rsp + 0xc8]
mov rax, r8
xor rax, rsi
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r9, [rdx + rbx]
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
mov r11, qword [rsp + 0x28]
lea r12, [r10 + r8]
add r12, qword [rsp + 0x98]
lea r8, [r11 + r13]
add r8, qword [rsp + 0xb0]
mov rax, r12
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x18], rdx
lea rax, [rdx + r9]
xor r10, rax
mov qword [rsp + 0x30], rax
mov rdx, r10
shr rdx, 0x3f
lea rax, [r10 + r10]
or rdx, rax
mov rax, r8
xor rax, r14
mov qword [rsp + 0x10], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r9, [rdx + rdi]
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
mov r11, qword [rsp + 8]
lea r14, [r8 + r10]
mov r8, qword [rsp + 0x20]
add r14, qword [rsp + 0xd0]
add r8, r11
add r8, qword [rsp + 0xa0]
mov rax, r14
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x28], rdx
lea rax, [rdx + r9]
mov r9, qword [rsp + 0x48]
xor r10, rax
mov qword [rsp + 0x50], rax
mov rdi, r10
shr rdi, 0x3f
lea rax, [r10 + r10]
or rdi, rax
mov rax, r8
xor rax, r15
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r9, rdx
xor r11, r9
mov r10, r11
shr r11, 0x18
shl r10, 0x28
or r10, r11
lea r15, [r8 + r10]
add r15, qword [rsp + 0x70]
mov rbx, qword [rsp]
mov rax, r15
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
lea r8, [rbx + rbp]
add r8, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rdx
lea r11, [rdx + r9]
mov r9, qword [rsp + 0x38]
xor r10, r11
mov rsi, r10
shr rsi, 0x3f
lea rax, [r10 + r10]
or rsi, rax
mov rax, r8
xor rax, qword [rsp + 0x40]
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r9, rdx
xor rbx, r9
mov r10, rbx
shr rbx, 0x18
shl r10, 0x28
or r10, rbx
lea r13, [r8 + r10]
add r13, qword [rsp + 0x58]
lea r8, [rdi + r12]
add r8, qword [rsp + 0x68]
mov rax, r13
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
lea rbx, [rdx + r9]
xor r10, rbx
mov rbp, r10
shr rbp, 0x3f
lea rax, [r10 + r10]
or rbp, rax
mov rax, r8
xor rax, rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r9, [rdx + r11]
mov r11, qword [rsp + 0x88]
xor rdi, r9
mov r10, rdi
shr rdi, 0x18
shl r10, 0x28
or r10, rdi
lea rax, [r8 + r10]
add r11, rax
lea r8, [rsi + r14]
add r8, qword [rsp + 0xa8]
mov rax, r11
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x40], rdx
lea rax, [rdx + r9]
xor r10, rax
mov qword [rsp + 0x48], rax
mov rdx, r10
shr rdx, 0x3f
lea rax, [r10 + r10]
or rdx, rax
mov rax, r8
xor rax, qword [rsp + 0x18]
mov qword [rsp + 8], rdx
mov rdx, rax
shr rdx, 0x20
mov rdi, qword [rsp + 0x10]
shl rax, 0x20
or rdx, rax
lea r9, [rdx + rbx]
xor rsi, r9
mov r10, rsi
shr rsi, 0x18
shl r10, 0x28
or r10, rsi
lea r12, [r8 + r10]
add r12, qword [rsp + 0x90]
lea r8, [r15 + rbp]
add r8, qword [rsp + 0x80]
mov rax, r12
xor rax, rdx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea rax, [rsi + r9]
mov r9, qword [rsp + 0x30]
xor r10, rax
mov qword [rsp + 0x18], rax
mov rdx, r10
shr rdx, 0x3f
lea rax, [r10 + r10]
or rdx, rax
mov rax, r8
xor rax, qword [rsp + 0x28]
mov qword [rsp], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r9, rdx
xor rbp, r9
mov r10, rbp
shr rbp, 0x18
shl r10, 0x28
or r10, rbp
lea rbp, [r8 + r10]
mov r8, qword [rsp + 0x50]
add rbp, qword [rsp + 0x78]
mov rax, rbp
xor rax, rdx
mov r14, rax
shr rax, 0x10
shl r14, 0x30
or r14, rax
lea rbx, [r14 + r9]
xor r10, rbx
mov rdx, r10
shr rdx, 0x3f
lea rax, [r10 + r10]
or rdx, rax
mov qword [rsp + 0x28], rdx
lea rdx, [rdi + r13]
add rdx, qword [rsp + 0xb8]
mov rax, rdx
xor rax, qword [rsp + 0x20]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor rdi, r8
mov r9, rdi
shr rdi, 0x18
shl r9, 0x28
or r9, rdi
lea r13, [rdx + r9]
add r13, qword [rsp + 0x60]
xor r10, r13
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rdi, [r15 + r8]
xor r9, rdi
mov r10, r9
shr r10, 0x3f
mov rdx, qword [rsp + 0xa0]
lea rax, [r9 + r9]
or r10, rax
lea rax, [r10 + r11]
add rdx, rax
mov rax, qword [rsp + 0x90]
xor rsi, rdx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
add rax, r9
add rax, rdx
xor r11, rax
mov qword [rsp + 0x20], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov r11, qword [rsp + 8]
mov qword [rsp + 0x30], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x10], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
lea rax, [r12 + r11]
mov r12, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x80]
add rdx, rax
xor r14, rdx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rdi]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp]
add r12, r9
add r12, rdx
mov rdx, qword [rsp + 0x98]
xor r10, r12
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 8], rax
add rax, r8
mov r8, qword [rsp + 0x48]
xor r9, rax
mov rsi, r9
mov qword [rsp + 0x50], rax
shr rsi, 0x3f
lea rax, [r9 + r9]
or rsi, rax
lea rax, [r11 + rbp]
add rdx, rax
xor r15, rdx
mov r10, r15
shl r15, 0x20
shr r10, 0x20
or r10, r15
add r8, r10
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x60]
add rbp, r9
add rbp, rdx
mov rdx, qword [rsp + 0x78]
add rdx, rbx
xor r10, rbp
add rdx, r13
mov rax, r10
mov r13, qword [rsp + 0xb8]
shl rax, 0x30
add r13, rdx
shr r10, 0x10
or rax, r10
mov qword [rsp], rax
lea r11, [rax + r8]
xor r9, r11
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
mov r9, qword [rsp + 0x18]
or r14, rax
mov rax, qword [rsp + 0x40]
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
xor rbx, r9
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
add r13, r8
xor r10, r13
mov rdx, r10
shr r10, 0x10
shl rdx, 0x30
or rdx, r10
lea rbx, [r9 + rdx]
mov r9, qword [rsp + 0x70]
add r9, rsi
mov rax, rbx
add r9, qword [rsp + 0x20]
xor rax, r8
mov rdi, rax
add r15, r9
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov rax, r9
mov r9, qword [rsp + 0xd0]
xor rax, rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [r11 + rdx]
xor rsi, r10
mov r8, rsi
shr rsi, 0x18
shl r8, 0x28
or r8, rsi
add r15, r8
mov rax, r15
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x48], rdx
lea rax, [r10 + rdx]
mov qword [rsp + 0x18], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov qword [rsp + 0x28], rdx
mov rax, qword [rsp + 0x30]
add r9, r14
add r9, r12
mov r12, qword [rsp + 0x68]
xor rax, r9
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [rbx + rdx]
mov rbx, qword [rsp + 0x38]
xor r14, r10
mov r8, r14
shr r14, 0x18
shl r8, 0x28
or r8, r14
mov r14, qword [rsp + 0xb0]
add r14, r9
mov r9, qword [rsp + 0x58]
add r14, r8
add r9, rbp
add r9, rdi
mov rax, r14
xor rax, rdx
add r12, r9
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea rax, [r10 + rsi]
mov r10, qword [rsp + 0x10]
mov qword [rsp + 0x30], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 8]
xor rax, r9
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x88]
mov rdx, rax
shl rax, 0x20
add r9, rbx
shr rdx, 0x20
add r9, r13
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r12, r8
mov rax, r12
xor rax, rdx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r11, [r10 + rdi]
mov r10, qword [rsp + 0x50]
mov rax, r11
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp]
xor rax, r9
mov qword [rsp + 8], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
xor rbx, r10
mov r8, rbx
shl r8, 0x28
shr rbx, 0x18
mov r13, qword [rsp + 0xc8]
or r8, rbx
add r13, r9
mov r9, qword [rsp + 0x90]
add r13, r8
add r9, r15
mov r15, qword [rsp + 0xb0]
mov rax, r13
xor rax, rdx
mov rbp, rax
shr rax, 0x10
shl rbp, 0x30
or rbp, rax
lea rbx, [r10 + rbp]
mov rax, rbx
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
add r9, rdx
add r15, r9
mov rax, r9
mov r9, qword [rsp + 0x88]
xor rax, rsi
mov r8, rax
add r9, r14
add r9, qword [rsp + 0x28]
mov r14, qword [rsp + 0x58]
shl rax, 0x20
add r14, r9
shr r8, 0x20
or r8, rax
lea r10, [r11 + r8]
mov rax, r10
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r15, rdx
mov rax, r15
xor rax, r8
mov r8, rax
shr rax, 0x10
shl r8, 0x30
or r8, rax
mov qword [rsp], r8
lea rax, [r10 + r8]
mov qword [rsp + 0x10], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, r9
xor rax, rdi
mov qword [rsp + 0x40], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [rbx + rdx]
mov rax, r10
xor rax, qword [rsp + 0x28]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r14, r8
mov rax, r14
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x28], rdx
lea rax, [r10 + rdx]
mov qword [rsp + 0x38], rax
xor rax, r8
mov rdi, rax
mov r9, qword [rsp + 0x68]
add rax, rax
mov r10, qword [rsp + 0x18]
add r9, r12
add r9, qword [rsp + 0x20]
shr rdi, 0x3f
or rdi, rax
mov rax, r9
xor rax, rbp
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, qword [rsp + 0x20]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r12, [r9 + r8]
mov r9, qword [rsp + 0x70]
add r12, qword [rsp + 0x60]
add r9, r13
add r9, qword [rsp + 8]
mov rax, r12
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x20], rdx
lea r11, [r10 + rdx]
mov r10, qword [rsp + 0x30]
mov rax, r11
xor rax, r8
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, r9
xor rax, qword [rsp + 0x48]
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, qword [rsp + 8]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r13, [r9 + r8]
add r13, qword [rsp + 0xc0]
lea r9, [r15 + rdi]
add r9, qword [rsp + 0x98]
mov rax, r13
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
lea rbx, [r10 + rdx]
mov rax, rbx
xor rax, r8
mov rbp, rax
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov rax, r9
xor rax, rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [r11 + rdx]
mov rax, r10
xor rax, rdi
mov r8, rax
shl r8, 0x28
shr rax, 0x18
or r8, rax
lea r15, [r9 + r8]
add r15, qword [rsp + 0xd0]
lea r9, [r14 + rsi]
add r9, qword [rsp + 0x80]
mov rax, r15
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x30], rdx
lea rax, [r10 + rdx]
mov qword [rsp + 0x18], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, r9
xor rax, qword [rsp]
mov qword [rsp + 8], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [rbx + rdx]
mov rax, r10
xor rax, rsi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r14, [r9 + r8]
add r14, qword [rsp + 0xb8]
lea r9, [r12 + rbp]
add r9, qword [rsp + 0xc8]
mov rax, r14
xor rax, rdx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [r10 + rdi]
mov r10, qword [rsp + 0x10]
mov qword [rsp + 0x48], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, r9
xor rax, qword [rsp + 0x28]
mov qword [rsp], rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, rbp
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r12, [r9 + r8]
add r12, qword [rsp + 0xa0]
mov rax, r12
xor rax, rdx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [r10 + rsi]
mov rax, r11
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x38]
add r9, r13
add r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rdx
mov rax, r9
xor rax, qword [rsp + 0x20]
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, qword [rsp + 0x40]
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r13, [r9 + r8]
add r13, qword [rsp + 0xa8]
mov rax, r13
xor rax, rdx
mov rbp, rax
shr rax, 0x10
shl rbp, 0x30
or rbp, rax
lea rbx, [r10 + rbp]
mov rax, rbx
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
lea r9, [r15 + rdx]
add r9, qword [rsp + 0x60]
mov rax, r9
xor rax, rdi
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [r11 + r8]
mov rax, r10
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea r15, [r9 + rdx]
add r15, qword [rsp + 0xa8]
mov rax, r15
xor rax, r8
mov r8, rax
shr rax, 0x10
shl r8, 0x30
or r8, rax
mov qword [rsp + 0x20], r8
lea rax, [r10 + r8]
mov r8, qword [rsp + 8]
mov qword [rsp + 0x10], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
lea r9, [r14 + r8]
add r9, qword [rsp + 0xd0]
mov qword [rsp + 0x40], rdx
mov rax, r9
xor rax, rsi
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [rbx + rdx]
mov rax, r10
xor rax, r8
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r14, [r9 + r8]
add r14, qword [rsp + 0x68]
mov rax, r14
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 8], rdx
lea rax, [r10 + rdx]
mov r10, qword [rsp + 0x18]
mov qword [rsp + 0x38], rax
xor rax, r8
mov r8, qword [rsp]
mov rdi, rax
add rax, rax
shr rdi, 0x3f
or rdi, rax
lea r9, [r12 + r8]
add r9, qword [rsp + 0x90]
mov rax, r9
xor rax, rbp
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, r8
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r12, [r9 + r8]
add r12, qword [rsp + 0x88]
mov rax, r12
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp], rdx
lea r11, [r10 + rdx]
mov r10, qword [rsp + 0x48]
mov rax, r11
xor rax, r8
mov r8, qword [rsp + 0x28]
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
lea r9, [r8 + r13]
add r9, qword [rsp + 0xb8]
mov rax, r9
xor rax, qword [rsp + 0x30]
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
mov rax, r10
xor rax, r8
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
lea r13, [r9 + r8]
add r13, qword [rsp + 0xc8]
mov rax, r13
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
lea rbx, [r10 + rdx]
mov rax, rbx
xor rax, r8
mov rbp, rax
add rax, rax
shr rbp, 0x3f
or rbp, rax
mov r8, qword [rsp + 0xb0]
lea rax, [r15 + rdi]
add r8, rax
mov r15, qword [rsp + 0x70]
mov rax, r8
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r9, [r11 + r10]
mov rax, r9
xor rax, rdi
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea r11, [r8 + rdx]
add r11, qword [rsp + 0x98]
lea r8, [r14 + rsi]
add r8, qword [rsp + 0x58]
xor r10, r11
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x30], rax
add rax, r9
mov qword [rsp + 0x18], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 0x20]
xor rax, r8
mov qword [rsp + 0x28], rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r9, [rbx + r10]
mov rax, r9
xor rax, rsi
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r15, rdx
add r15, r8
lea r8, [r12 + rbp]
add r8, qword [rsp + 0x78]
xor r10, r15
mov r12, qword [rsp + 0x80]
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [r9 + rsi]
mov r9, qword [rsp + 0x10]
mov qword [rsp + 0x48], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 8]
xor rax, r8
mov qword [rsp + 0x20], rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, rbp
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r12, rdx
add r12, r8
mov r8, qword [rsp + 0xa0]
xor r10, r12
mov rbp, r10
shr r10, 0x10
shl rbp, 0x30
or rbp, r10
lea rbx, [r9 + rbp]
mov r9, qword [rsp + 0x38]
mov rax, rbx
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x40]
lea rax, [rdx + r13]
mov r13, qword [rsp + 0xc0]
add r8, rax
mov rax, qword [rsp]
xor rax, r8
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r13, rdx
add r13, r8
xor r10, r13
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rdi, [r14 + r9]
mov rax, rdi
xor rax, rdx
mov rdx, qword [rsp + 0x80]
mov r10, rax
add rax, rax
shr r10, 0x3f
or r10, rax
mov rax, qword [rsp + 0x58]
add rdx, r10
add rdx, r11
xor rsi, rdx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
add rax, r9
add rax, rdx
xor r11, rax
mov qword [rsp], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x10], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x40], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x68]
add rdx, qword [rsp + 0x28]
add rdx, r15
xor rbp, rdx
mov r10, rbp
shl rbp, 0x20
shr r10, 0x20
or r10, rbp
lea r8, [r10 + rdi]
mov rax, r8
xor rax, qword [rsp + 0x28]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rbp, [r9 + rdx]
mov rdx, qword [rsp + 0xa8]
add rdx, qword [rsp + 0x20]
add rbp, qword [rsp + 0xc8]
add rdx, r12
xor r10, rbp
xor r14, rdx
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, r14
mov qword [rsp + 0x28], rax
add rax, r8
mov r8, qword [rsp + 0x18]
xor r9, rax
mov qword [rsp + 0x50], rax
mov rsi, r9
shr r10, 0x20
shl r14, 0x20
or r10, r14
shr rsi, 0x3f
lea rax, [r9 + r9]
add r8, r10
or rsi, rax
mov rax, r8
xor rax, qword [rsp + 0x20]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [r9 + rdx]
mov rdx, qword [rsp + 0x98]
add r12, qword [rsp + 0xb8]
add rdx, qword [rsp + 8]
xor r10, r12
mov rax, r10
add rdx, r13
shl rax, 0x30
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x20], rax
lea rbx, [rax + r8]
mov r8, qword [rsp + 0x48]
xor r9, rbx
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
mov rax, qword [rsp + 0x30]
xor rax, rdx
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r8, r11
mov rax, r8
xor rax, qword [rsp + 8]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [r9 + rdx]
add r13, qword [rsp + 0x78]
xor r11, r13
mov r10, r11
shl r10, 0x30
shr r11, 0x10
mov rdx, qword [rsp]
or r10, r11
lea rdi, [r10 + r8]
xor r9, rdi
mov r15, r9
shr r15, 0x3f
lea rax, [r9 + r9]
or r15, rax
mov rax, qword [rsp + 0x90]
add rax, rsi
add rdx, rax
xor r10, rdx
mov r11, r10
shl r10, 0x20
shr r11, 0x20
or r11, r10
lea r8, [r11 + rbx]
xor rsi, r8
mov r9, rsi
shr rsi, 0x18
shl r9, 0x28
or r9, rsi
lea rax, [r9 + rdx]
add rax, qword [rsp + 0xa0]
xor r11, rax
mov qword [rsp + 8], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x48], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x30], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
lea rax, [r14 + rbp]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x60]
add rdx, rax
mov rax, qword [rsp + 0x10]
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r8, [r10 + rdi]
xor r14, r8
mov r9, r14
shr r14, 0x18
shl r9, 0x28
or r9, r14
lea rbp, [r9 + rdx]
add rbp, qword [rsp + 0xd0]
xor r10, rbp
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea rax, [rsi + r8]
mov r8, qword [rsp + 0x40]
xor r9, rax
mov qword [rsp + 0x10], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
lea rax, [r15 + r12]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x88]
add rdx, rax
mov rax, qword [rsp + 0x28]
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
xor r15, r8
mov r9, r15
shr r15, 0x18
shl r9, 0x28
or r9, r15
lea r12, [r9 + rdx]
add r12, qword [rsp + 0x70]
xor r10, r12
mov r14, r10
shr r10, 0x10
shl r14, 0x30
or r14, r10
lea rbx, [r14 + r8]
mov r8, qword [rsp + 0x50]
xor r9, rbx
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
mov r9, qword [rsp + 0x38]
or rdx, rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rdx
lea rdx, [r9 + r13]
add rdx, qword [rsp + 0xc0]
xor rax, rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r8, r10
mov rax, r8
xor rax, r9
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [r9 + rdx]
mov rdx, qword [rsp + 8]
add r13, qword [rsp + 0xb0]
xor r10, r13
mov r15, r10
shr r10, 0x10
shl r15, 0x30
or r15, r10
lea rdi, [r15 + r8]
xor r9, rdi
mov r10, r9
shr r10, 0x3f
lea rax, [r9 + r9]
or r10, rax
add rdx, r10
add rdx, qword [rsp + 0xc0]
xor rsi, rdx
mov r11, rsi
shl rsi, 0x20
shr r11, 0x20
or r11, rsi
lea r8, [r11 + rbx]
xor r10, r8
mov r9, r10
shr r10, 0x18
shl r9, 0x28
or r9, r10
lea rax, [r9 + rdx]
add rax, qword [rsp + 0xa0]
xor r11, rax
mov qword [rsp + 0x20], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov r11, qword [rsp]
mov qword [rsp + 8], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x40], rax
mov rdx, r9
shr rdx, 0x3f
lea rax, [r9 + r9]
or rdx, rax
lea rax, [r11 + rbp]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x28]
add rdx, rax
xor r14, rdx
mov r10, r14
shl r14, 0x20
shr r10, 0x20
or r10, r14
lea r8, [r10 + rdi]
xor r11, r8
mov r9, r11
shr r11, 0x18
shl r9, 0x28
or r9, r11
mov r11, qword [rsp + 0x18]
lea rbp, [r9 + rdx]
add rbp, qword [rsp + 0x70]
xor r10, rbp
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov r10, qword [rsp + 0x30]
mov qword [rsp], rax
add rax, r8
xor r9, rax
mov qword [rsp + 0x50], rax
mov r14, r9
shr r14, 0x3f
lea rax, [r9 + r9]
or r14, rax
lea r9, [r11 + r12]
add r9, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xb0]
xor r15, r9
mov rdx, r15
shl r15, 0x20
shr rdx, 0x20
or rdx, r15
mov r15, qword [rsp + 0x80]
add r10, rdx
add r15, r9
xor r11, r10
lea r9, [rbx + r13]
add r9, qword [rsp + 0x88]
mov r8, r11
shl r8, 0x28
add r12, r9
shr r11, 0x18
or r8, r11
add r15, r8
mov rax, r15
xor rax, rdx
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x18], rdx
lea r11, [r10 + rdx]
mov r10, qword [rsp + 0x10]
mov rax, r11
xor rax, r8
mov rdi, rax
add rax, rax
shr rdi, 0x3f
or rdi, rax
mov rax, qword [rsp + 0x48]
xor rax, r9
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
xor rbx, r10
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
add r12, r8
mov rax, r12
xor rax, rdx
mov r9, qword [rsp + 0x20]
mov rdx, rax
mov r13, qword [rsp + 0x68]
add r9, r14
add r9, qword [rsp + 0x58]
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
lea rbx, [r10 + rdx]
mov rax, rbx
xor rax, r8
mov rsi, rax
add rax, rax
shr rsi, 0x3f
or rsi, rax
mov rax, r9
xor rax, rdx
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea r10, [r11 + rdx]
xor r14, r10
mov r8, r14
shr r14, 0x18
shl r8, 0x28
or r8, r14
mov r14, qword [rsp + 0xa8]
add r14, r9
mov r9, qword [rsp + 0xc8]
add r14, r8
add r9, rbp
add r9, rdi
mov rax, r14
xor rax, rdx
add r13, r9
mov rdx, rax
shr rax, 0x10
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x10], rdx
lea rax, [r10 + rdx]
mov qword [rsp + 0x30], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 8]
xor rax, r9
mov qword [rsp + 0x28], rdx
mov r9, qword [rsp + 0xb8]
mov rdx, rax
shl rax, 0x20
add r9, r15
shr rdx, 0x20
or rdx, rax
lea r10, [rbx + rdx]
mov rax, r10
xor rax, rdi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r13, r8
mov rax, r13
xor rax, rdx
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea rax, [r10 + rdi]
mov qword [rsp + 0x48], rax
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp]
mov qword [rsp + 0x20], rdx
add r9, rsi
xor rax, r9
mov rbx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov rdx, rax
mov r15, qword [rsp + 0x90]
shl rax, 0x20
add r15, r9
shr rdx, 0x20
lea r9, [rbx + r12]
or rdx, rax
add r9, qword [rsp + 0x60]
mov r12, qword [rsp + 0x98]
add r10, rdx
mov rax, r10
add r12, r9
xor rax, rsi
mov r8, rax
shr rax, 0x18
shl r8, 0x28
or r8, rax
add r15, r8
mov rax, r15
xor rax, rdx
mov rsi, rax
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [r10 + rsi]
mov r10, qword [rsp + 0x50]
mov rax, r11
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, r9
xor rax, qword [rsp + 0x18]
mov r9, qword [rsp + 0x98]
mov qword [rsp + 8], rdx
add r9, r14
mov rdx, rax
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
add r10, rdx
xor rbx, r10
mov r8, rbx
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
add r12, r8
mov rax, r12
xor rax, rdx
mov rbp, rax
shr rax, 0x10
shl rbp, 0x30
or rbp, rax
lea rbx, [r10 + rbp]
mov rax, rbx
xor rax, r8
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
add r9, rdx
mov rax, r9
xor rax, rdi
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [r11 + r8]
mov rax, r10
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
mov rax, qword [rsp + 0x88]
add rax, r9
add rax, rdx
mov qword [rsp], rax
xor rax, r8
mov r8, rax
shr rax, 0x10
shl r8, 0x30
or r8, rax
mov qword [rsp + 0x18], r8
lea rax, [r10 + r8]
mov r8, qword [rsp + 0xa0]
mov qword [rsp + 0x40], rax
add r8, r13
add r8, qword [rsp + 0x28]
xor rax, rdx
mov r13, qword [rsp + 0xb8]
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
xor rsi, r8
mov qword [rsp + 0x38], rdx
mov r10, rsi
shr r10, 0x20
shl rsi, 0x20
or r10, rsi
lea r9, [rbx + r10]
mov rax, r9
xor rax, qword [rsp + 0x28]
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r13, rdx
add r13, r8
mov r8, qword [rsp + 0x70]
xor r10, r13
add r8, r15
add r8, qword [rsp + 0x20]
mov rax, r10
shl rax, 0x30
xor rbp, r8
shr r10, 0x10
or rax, r10
mov r10, rbp
mov qword [rsp + 0x28], rax
add rax, r9
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
xor rax, rdx
mov rsi, rax
shl rbp, 0x20
add rax, rax
shr r10, 0x20
or r10, rbp
shr rsi, 0x3f
mov rbp, qword [rsp + 0xb0]
or rsi, rax
add r9, r10
mov rax, r9
xor rax, qword [rsp + 0x20]
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add rbp, rdx
add rbp, r8
mov r8, qword [rsp + 0x80]
xor r10, rbp
add r8, r12
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 0x20], rax
lea rbx, [r9 + rax]
mov rax, rbx
xor rax, rdx
mov r14, rax
add rax, rax
shr r14, 0x3f
or r14, rax
add r8, qword [rsp + 8]
mov r9, qword [rsp + 0x48]
mov rax, r8
xor rax, qword [rsp + 0x10]
mov r12, qword [rsp + 0xd0]
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r9, r11
mov rax, r9
xor rax, qword [rsp + 8]
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r12, rdx
add r12, r8
mov r8, qword [rsp]
xor r11, r12
add r8, rsi
add r8, qword [rsp + 0x78]
mov r10, r11
shl r10, 0x30
shr r11, 0x10
or r10, r11
lea rdi, [r9 + r10]
xor r10, r8
mov r11, r10
mov rax, rdi
xor rax, rdx
shl r10, 0x20
mov r15, rax
shr r11, 0x20
add rax, rax
shr r15, 0x3f
or r15, rax
or r11, r10
lea r9, [rbx + r11]
mov rax, r9
xor rax, rsi
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
mov rax, qword [rsp + 0xc8]
add rax, rdx
add rax, r8
mov r8, qword [rsp + 0xc0]
xor r11, rax
mov qword [rsp + 8], rax
add r8, r14
mov rax, r11
shl rax, 0x30
add r8, r13
shr r11, 0x10
or rax, r11
mov qword [rsp + 0x48], rax
add rax, r9
mov qword [rsp + 0x30], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 0x18]
xor rax, r8
mov qword [rsp], rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
lea r9, [rdi + r10]
mov rax, r9
xor rax, r14
mov r14, qword [rsp + 0xa8]
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
add r14, rdx
add r14, r8
mov r8, qword [rsp + 0x90]
xor r10, r14
mov rdi, r10
add r8, r15
shr r10, 0x10
add r8, rbp
shl rdi, 0x30
or rdi, r10
lea rax, [r9 + rdi]
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0xd8], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov rax, qword [rsp + 0x28]
xor rax, r8
mov qword [rsp + 0x18], rdx
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, r15
mov r15, qword [rsp + 0x68]
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea r13, [rdx + r8]
add r13, qword [rsp + 0x60]
xor r10, r13
mov rsi, r10
shr r10, 0x10
shl rsi, 0x30
or rsi, r10
lea r11, [r9 + rsi]
mov r9, qword [rsp + 0x50]
mov rax, r11
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x38]
lea r8, [r15 + rdx]
add r8, r12
mov rax, r8
xor rax, qword [rsp + 0x20]
mov r10, rax
shl rax, 0x20
shr r10, 0x20
or r10, rax
add r9, r10
mov rax, r9
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea rax, [rdx + r8]
mov r8, qword [rsp + 8]
add rax, qword [rsp + 0x58]
xor r10, rax
mov qword [rsp + 0x28], rax
mov rbp, r10
shr r10, 0x10
shl rbp, 0x30
or rbp, r10
lea rbx, [r9 + rbp]
mov rax, rbx
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
lea rax, [rdx + r15]
add r8, rax
xor rdi, r8
mov r10, rdi
shl rdi, 0x20
shr r10, 0x20
or r10, rdi
lea r9, [r11 + r10]
mov rax, r9
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea rax, [rdx + r8]
mov r8, qword [rsp + 0x70]
add rax, qword [rsp + 0xc0]
xor r10, rax
mov qword [rsp + 0x20], rax
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp + 8], rax
add rax, r9
mov qword [rsp + 0x40], rax
xor rax, rdx
mov rdx, rax
add rax, rax
shr rdx, 0x3f
or rdx, rax
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp]
lea rax, [rdx + r14]
add r8, rax
xor rsi, r8
mov r10, rsi
shl rsi, 0x20
shr r10, 0x20
or r10, rsi
lea r9, [rbx + r10]
mov rax, r9
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea r12, [rdx + r8]
add r12, qword [rsp + 0x78]
xor r10, r12
mov rax, r10
shr r10, 0x10
shl rax, 0x30
or rax, r10
mov qword [rsp], rax
add rax, r9
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
xor rax, rdx
mov rdx, qword [rsp + 0x18]
mov r15, rax
add rax, rax
shr r15, 0x3f
or r15, rax
lea r8, [rdx + r13]
add r8, qword [rsp + 0xc8]
xor rbp, r8
mov r10, rbp
shl rbp, 0x20
shr r10, 0x20
or r10, rbp
add r9, r10
mov rax, r9
xor rax, rdx
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea rbp, [rdx + r8]
add rbp, qword [rsp + 0x58]
xor r10, rbp
mov rax, r10
shl rax, 0x30
mov r8, qword [rsp + 0x60]
shr r10, 0x10
or rax, r10
mov qword [rsp + 0x18], rax
lea rdi, [r9 + rax]
mov r9, qword [rsp + 0xd8]
mov rax, rdi
xor rax, rdx
mov r14, rax
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, qword [rsp + 0x28]
add rax, qword [rsp + 0x10]
add r8, rax
mov rax, r8
xor rax, qword [rsp + 0x48]
mov r11, rax
shl rax, 0x20
shr r11, 0x20
or r11, rax
add r9, r11
mov rax, r9
xor rax, qword [rsp + 0x10]
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea rax, [rdx + r8]
mov r8, qword [rsp + 0x20]
add rax, qword [rsp + 0x80]
add r8, r15
add r8, qword [rsp + 0x88]
xor r11, rax
mov qword [rsp + 0x28], rax
mov r10, r11
shr r11, 0x10
shl r10, 0x30
or r10, r11
lea rbx, [r9 + r10]
xor r10, r8
mov r11, r10
mov rax, rbx
xor rax, rdx
shr r11, 0x20
mov rsi, rax
shl r10, 0x20
add rax, rax
shr rsi, 0x3f
or rsi, rax
or r11, r10
lea r9, [rdi + r11]
mov rax, r9
xor rax, r15
mov rdx, rax
shr rax, 0x18
shl rdx, 0x28
or rdx, rax
lea rax, [rdx + r8]
add rax, qword [rsp + 0x90]
xor r11, rax
mov qword [rsp + 0x20], rax
mov rax, r11
shr r11, 0x10
shl rax, 0x30
or rax, r11
mov qword [rsp + 0x48], rax
add rax, r9
mov qword [rsp + 0x30], rax
xor rax, rdx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x10], rax
lea rax, [r14 + r12]
add rdx, rax
mov rax, rdx
xor rax, qword [rsp + 8]
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea r10, [rbx + r8]
mov rax, r10
xor rax, r14
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [rdx + r9]
mov rdx, qword [rsp + 0xa8]
add r12, qword [rsp + 0xa0]
mov rax, r12
xor rax, r8
mov r13, rax
shr rax, 0x10
shl r13, 0x30
or r13, rax
lea r15, [r10 + r13]
mov r10, qword [rsp + 0x40]
mov rax, r15
xor rax, r9
mov qword [rsp + 8], rax
lea rax, [rsi + rbp]
add rdx, rax
mov rax, rdx
xor rax, qword [rsp]
mov r8, rax
shl rax, 0x20
shr r8, 0x20
or r8, rax
add r10, r8
mov rax, r10
xor rax, rsi
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rsi, [rdx + r9]
mov rdx, qword [rsp + 0xb0]
add rsi, qword [rsp + 0xd0]
mov rax, rsi
xor rax, r8
mov rbp, rax
shr rax, 0x10
shl rbp, 0x30
or rbp, rax
mov rax, qword [rsp + 0x28]
add rax, qword [rsp + 0x38]
add rdx, rax
mov rax, rdx
xor rax, qword [rsp + 0x18]
lea rbx, [r10 + rbp]
mov r10, qword [rsp + 0x50]
mov r8, rax
shl rax, 0x20
mov r14, rbx
shr r8, 0x20
xor r14, r9
or r8, rax
add r10, r8
mov rax, r10
xor rax, qword [rsp + 0x38]
mov r9, rax
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r11, [rdx + r9]
add r11, qword [rsp + 0xb8]
mov rax, r11
xor rax, r8
mov rdi, rax
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
mov rax, qword [rsp + 0xf0]
xor rbx, qword [rax]
lea rdx, [r10 + rdi]
xor rbx, qword [rsp + 0x20]
mov r8, rdx
xor r8, r9
mov qword [rax], rbx
mov rax, qword [rcx + 0xa0]
xor rdx, r12
xor qword [rax + 8], rdx
xor r15, r11
mov rax, qword [rcx + 0xa0]
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0xf8]
xor rdx, rsi
ror r14, 0x3f
xor qword [rax + 0x10], rdx
mov rax, qword [rcx + 0xa0]
mov rdx, qword [rsp + 0x10]
ror rdx, 0x3f
ror r8, 0x3f
xor qword [rax + 0x18], r15
xor r8, r13
mov rax, qword [rcx + 0xa0]
xor qword [rax + 0x20], r8
mov rax, qword [rcx + 0xa0]
xor rdx, qword [rax + 0x28]
xor rdx, rbp
mov qword [rax + 0x28], rdx
mov rax, qword [rcx + 0xa0]
mov rdx, qword [rsp + 8]
ror rdx, 0x3f
xor rdx, rdi
xor qword [rax + 0x30], rdx
mov rax, qword [rcx + 0xa0]
mov rdx, qword [rsp + 0x100]
xor r14, qword [rax + 0x38]
xor r14, qword [rsp + 0x48]
sub qword [rsp + 0xe8], 1
mov qword [rax + 0x38], r14
jne 0x180172c00
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
mov r15, qword [rsp + 0x130]
mov r14, qword [rsp + 0x138]
mov r13, qword [rsp + 0x140]
mov r12, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x180]
add rsp, 0x168
ret