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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov rax, qword [rdx + 0x18]
mov rbx, r8
mov r8, qword [rdx]
mov rsi, qword [rdx + 8]
mov r14, qword [rdx + 0x10]
mov rdi, qword [rdx + 0x20]
mov r13, qword [rdx + 0x28]
mov r15, qword [rdx + 0x30]
movups xmm0, xmmword [rcx + 0x20]
mov r11, qword [rcx + 0x48]
movups xmm1, xmmword [rcx]
mov qword [rbp - 0x80], rax
mov rax, qword [rdx + 0x38]
movq r9, xmm0
movups xmm4, xmmword [rcx + 0x10]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x40]
movups xmm3, xmmword [rcx + 0x30]
mov qword [rbp + 0xb8], rax
mov rax, qword [rdx + 0x48]
movups xmm2, xmmword [0x140558570]
movups xmm5, xmmword [0x140558580]
mov qword [rsp + 0x58], rax
mov rax, qword [rdx + 0x50]
mov qword [rbp + 0xb0], rax
mov rax, qword [rdx + 0x58]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + 0x60]
mov qword [rsp + 0x68], rax
mov rax, qword [rdx + 0x68]
mov qword [rsp + 0x60], rax
mov rax, qword [rdx + 0x70]
mov qword [rbp + 0xa8], rax
mov rax, qword [rdx + 0x78]
mov rdx, qword [rcx + 0x40]
movq rcx, xmm1
mov qword [rbp - 0x78], rax
add rcx, r9
mov qword [rbp - 0x60], r8
movabs rax, 0x510e527fade682d1
xor rdx, rax
mov qword [rbp - 0x48], rsi
add r8, rcx
mov qword [rbp - 0x58], r14
mov r10, r8
mov qword [rbp - 0x70], rdi
xor r10, rdx
mov qword [rbp - 0x50], r13
movabs rax, 0x9b05688c2b3e6c1f
shr r10, 0x20
xor r11, rax
mov qword [rbp - 0x68], r15
movabs rax, 0x1f83d9abfb41bd6b
movdqu xmmword [rbp - 0x30], xmm1
xor rbx, rax
movdqu xmmword [rbp - 0x20], xmm4
mov rax, r8
movdqu xmmword [rbp - 0x10], xmm0
xor rax, rdx
movdqu xmmword [rbp], xmm3
shl rax, 0x20
mov rdx, r9
or r10, rax
movdqu xmmword [rbp + 0x10], xmm2
movabs rcx, 0x6a09e667f3bcc908
movdqu xmmword [rbp + 0x20], xmm5
add rcx, r10
xor rdx, rcx
xor r9, rcx
shl rdx, 0x28
shr r9, 0x18
or rdx, r9
lea r12, [r8 + rdx]
add r12, rsi
mov r8, r12
mov rax, r12
xor r8, r10
xor rax, r10
shl r8, 0x30
shr rax, 0x10
or r8, rax
lea rax, [r8 + rcx]
mov qword [rbp - 0x40], r8
mov rcx, rdx
mov qword [rsp + 0x28], rax
xor rdx, rax
psrldq xmm0, 8
xor rcx, rax
psrldq xmm1, 8
add rdx, rdx
shr rcx, 0x3f
or rcx, rdx
psrldq xmm2, 8
mov qword [rsp + 0x30], rcx
movq r8, xmm0
mov r10, r8
movq rdx, xmm1
add rdx, r8
movq rcx, xmm2
add rdx, r14
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shl rax, 0x20
shr r9, 0x20
or r9, rax
add rcx, r9
xor r10, rcx
xor r8, rcx
shl r10, 0x28
shr r8, 0x18
or r10, r8
movq r8, xmm3
mov rsi, r10
lea r14, [r10 + rdx]
add r14, qword [rbp - 0x80]
mov rdx, r14
mov rax, r14
xor rdx, r9
xor rax, r9
shr rax, 0x10
mov r9, r8
shl rdx, 0x30
or rdx, rax
mov qword [rsp + 0x48], rdx
lea rax, [rdx + rcx]
movq rdx, xmm4
xor r10, rax
mov qword [rsp + 0x40], rax
xor rsi, rax
add rdx, r8
add rdx, rdi
shr rsi, 0x3f
add r10, r10
mov rax, rdx
or rsi, r10
xor rax, rbx
mov r10, rdx
shl rax, 0x20
add r13, rdx
xor r10, rbx
shr r10, 0x20
movq rcx, xmm5
or r10, rax
add rcx, r10
xor r9, rcx
xor r8, rcx
shl r9, 0x28
shr r8, 0x18
or r9, r8
add r13, r9
mov rdx, r13
mov rax, r13
xor rdx, r10
xor rax, r10
shl rdx, 0x30
shr rax, 0x10
or rdx, rax
mov qword [rsp + 0x38], rdx
lea r11, [rdx + rcx]
mov rdi, r11
xor rdi, r9
psrldq xmm3, 8
movq rdx, xmm3
shr rdi, 0x3f
psrldq xmm4, 8
mov rax, r11
xor rax, r9
psrldq xmm5, 8
add rax, rax
mov r9, rdx
or rdi, rax
movq r8, xmm4
add r8, rdx
movabs rax, 0x137e217900000000
add r8, r15
movq rcx, xmm5
mov r15, qword [rsp + 0x78]
mov r10, r8
shl r10, 0x20
xor r10, rax
mov rax, r8
shr rax, 0x20
xor rax, 0x5be0cd19
or r10, rax
add rcx, r10
xor r9, rcx
mov rax, rcx
xor rax, rdx
shl r9, 0x28
mov rdx, qword [rbp + 0xb8]
shr rax, 0x18
add rdx, rsi
or r9, rax
add rdx, r12
mov r12, qword [rsp + 0x58]
add r15, r9
add r15, r8
mov r8, r15
mov rax, r15
xor rax, r10
xor r8, r10
shr rax, 0x10
shl r8, 0x30
or r8, rax
lea r10, [r8 + rcx]
mov rbx, r10
mov rax, r10
xor rax, r9
xor rbx, r9
add rax, rax
shr rbx, 0x3f
or rbx, rax
mov r9, r8
xor r8, rdx
xor r9, rdx
shl r8, 0x20
shr r9, 0x20
or r9, r8
lea rcx, [r9 + r11]
mov r8, rcx
mov rax, rcx
xor rax, rsi
xor r8, rsi
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, r9
add r12, r8
add r12, rdx
xor rax, r12
xor r9, r12
shl rax, 0x30
shr r9, 0x10
or rax, r9
add rcx, rax
mov qword [rsp + 0x10], rax
mov rax, r8
mov qword [rsp + 0x18], rcx
xor rax, rcx
shr rax, 0x3f
xor r8, rcx
mov rcx, qword [rbp + 0xb0]
add r8, r8
or rax, r8
add rcx, rdi
mov qword [rsp + 0x20], rax
add rcx, r14
mov rax, qword [rbp - 0x40]
mov r8, rdi
mov r14, qword [rsp + 0x70]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea rax, [rdx + r10]
xor r8, rax
xor rdi, rax
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
mov rdi, rdx
add r14, r8
add r14, rcx
xor rdx, r14
xor rdi, r14
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea rcx, [rdi + rax]
mov rax, r8
xor rax, rcx
mov qword [rsp], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 0x68]
add r8, r8
or rax, r8
add rcx, rbx
mov qword [rbp - 0x40], rax
add rcx, r13
mov rax, qword [rsp + 0x48]
mov r8, rbx
mov r13, qword [rsp + 0x60]
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
xor r8, rax
xor rbx, rax
shr rbx, 0x18
shl r8, 0x28
or r8, rbx
mov rbx, rdx
add r13, r8
add r13, rcx
mov rcx, qword [rbp + 0xa8]
xor rdx, r13
xor rbx, r13
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
lea r10, [rbx + rax]
mov rax, r8
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov r8, qword [rsp + 0x30]
add rcx, r8
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
add rcx, r15
mov rdx, rax
xor rdx, rcx
shr rdx, 0x20
mov r15, qword [rbp + 0xb0]
xor rax, rcx
shl rax, 0x20
mov r9, r8
or rdx, rax
mov rax, qword [rsp + 0x40]
add rax, rdx
mov rsi, rdx
xor r9, rax
xor r8, rax
shl r9, 0x28
shr r8, 0x18
or r9, r8
mov r8, qword [rbp - 0x78]
add r8, r9
add r8, rcx
xor rdx, r8
mov qword [rsp + 0x40], r8
xor rsi, r8
shr rdx, 0x10
mov r8, r9
shl rsi, 0x30
or rsi, rdx
mov rdx, qword [rbp + 0xa8]
lea r11, [rsi + rax]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rdi
add rdx, r8
add rdx, r12
xor r9, rdx
xor rdi, rdx
shr r9, 0x20
shl rdi, 0x20
or r9, rdi
lea rcx, [r9 + r10]
mov r10, rcx
mov rax, rcx
xor rax, r8
xor r10, r8
shr rax, 0x18
mov r8, rbx
shl r10, 0x28
or r10, rax
mov rax, r9
add r15, r10
add r15, rdx
xor rax, r15
xor r9, r15
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rsp + 0x38], 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 + 0x20]
mov qword [rsp + 0x48], rcx
lea rdx, [r10 + r14]
add rdx, qword [rbp - 0x70]
xor r8, rdx
xor rbx, rdx
shr r8, 0x20
shl rbx, 0x20
or r8, rbx
lea rcx, [r8 + r11]
mov r9, rcx
mov rax, rcx
xor r9, r10
xor rax, r10
shl r9, 0x28
shr rax, 0x18
or r9, rax
mov r14, qword [rbp + 0xb8]
mov rax, r8
mov r12, qword [rbp - 0x78]
add r14, r9
add r14, rdx
mov rdi, r9
xor r8, r14
xor rax, r14
shr r8, 0x10
mov rdx, rsi
shl rax, 0x30
or rax, r8
mov qword [rsp + 0x20], rax
add rax, rcx
mov rcx, qword [rsp + 0x58]
xor r9, rax
add r9, r9
mov qword [rsp + 8], rax
xor rdi, rax
mov rax, qword [rsp + 0x18]
shr rdi, 0x3f
or rdi, r9
mov r9, qword [rbp - 0x40]
add rcx, r9
mov r8, r9
add rcx, r13
mov r13, qword [rbp - 0x68]
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 r12, r8
mov rsi, r8
add r12, rcx
mov rcx, rdx
xor rcx, r12
xor rdx, r12
shl rcx, 0x30
shr rdx, 0x10
or rcx, rdx
mov qword [rsp + 0x18], rcx
lea r10, [rcx + rax]
mov rcx, qword [rsp + 0x10]
mov rax, qword [rsp + 0x60]
xor r8, r10
add r8, r8
mov r9, rcx
xor rsi, r10
shr rsi, 0x3f
or rsi, r8
mov r8, qword [rsp + 0x28]
add rax, r8
mov rdx, r8
add rax, qword [rsp + 0x40]
xor r9, rax
xor rcx, rax
shr r9, 0x20
add r13, rax
shl rcx, 0x20
or r9, rcx
mov rcx, qword [rsp]
add rcx, r9
xor r8, rcx
xor rdx, rcx
shr r8, 0x18
shl rdx, 0x28
or rdx, r8
mov r8, r9
add r13, rdx
xor r8, r13
xor r9, r13
shl r8, 0x30
shr r9, 0x10
or r8, r9
lea r11, [rcx + r8]
lea rcx, [rdi + r15]
mov rbx, r11
add rcx, qword [rbp - 0x48]
xor rbx, rdx
mov r15, qword [rsp + 0x68]
mov r9, rcx
add r15, rcx
shr rbx, 0x3f
xor r9, r8
mov rax, r11
xor rax, rdx
shr r9, 0x20
add rax, rax
or rbx, rax
mov rax, rcx
xor rax, r8
mov r8, rdi
shl rax, 0x20
or r9, rax
lea rdx, [r10 + r9]
xor r8, rdx
xor rdi, rdx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
add r15, r8
mov rcx, r15
mov rax, r15
xor rcx, r9
xor rax, r9
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x28], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x40], rax
xor rcx, r8
xor rax, r8
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov r8, rsi
mov qword [rsp], rcx
lea rax, [rsi + r14]
add rax, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
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 [rbp - 0x58]
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 + 0x38], rax
xor rcx, r8
xor rax, r8
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x70]
add rcx, r12
add rcx, rbx
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov r8, rax
xor rax, rcx
mov r12, qword [rsp + 0x78]
shl rax, 0x20
xor r8, rcx
add r12, rcx
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
add r12, r9
mov rbx, r12
mov rax, r12
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 + 0x48]
add rax, rax
shr rcx, 0x3f
mov r8, r9
or rcx, rax
mov rax, qword [rbp - 0x50]
add rax, r9
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x18]
add rax, r13
mov rdx, rcx
xor rcx, rax
xor rdx, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 8]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
lea r13, [rax + r8]
add r13, qword [rbp - 0x80]
mov rsi, r13
mov rax, r13
xor rax, rdx
xor rsi, rdx
shr rax, 0x10
shl rsi, 0x30
or rsi, rax
lea r11, [rcx + rsi]
mov rcx, qword [rsp + 0x70]
add rcx, r15
mov r9, r11
xor r9, r8
mov rax, r11
xor rax, r8
shr r9, 0x3f
add rax, rax
or r9, rax
add rcx, r9
mov r8, rcx
mov rax, rcx
xor r8, rdi
xor rax, rdi
shr r8, 0x20
shl rax, 0x20
or r8, rax
mov r15, qword [rbp + 0xb8]
lea rdx, [r10 + r8]
add r15, rcx
mov r10, rdx
xor r10, r9
mov rax, rdx
xor rax, r9
shl r10, 0x28
shr rax, 0x18
or r10, rax
add r15, r10
mov rcx, r15
mov rax, r15
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x18], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rsp]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x68]
add rcx, r14
add rcx, r10
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 + 0x10]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea rax, [rcx + r9]
add rax, qword [rbp - 0x60]
mov rcx, rax
mov qword [rsp + 8], rax
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, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x40]
mov rdi, rax
mov qword [rbp - 0x40], rax
xor rdi, r9
xor rax, r9
shr rdi, 0x3f
add rax, rax
add rcx, r12
or rdi, rax
add rcx, r10
mov rax, rcx
mov r8, rcx
xor r8, rsi
xor rax, rsi
shl rax, 0x20
shr r8, 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 + 0x20]
shr rax, 0x18
or r9, rax
lea r12, [rcx + r9]
add r12, qword [rbp - 0x58]
mov rcx, r12
mov rax, r12
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 [rbp - 0x78]
mov rdx, qword [rsp + 0x38]
add rcx, r13
mov r13, qword [rsp + 0x60]
add rcx, r10
add r13, rcx
mov r8, rcx
xor r8, qword [rsp + 0x28]
mov rsi, r11
xor rsi, r9
shr r8, 0x20
shr rsi, 0x3f
mov rax, r11
xor rax, r9
add rax, rax
or rsi, rax
mov rax, rcx
xor rax, qword [rsp + 0x28]
mov rcx, qword [rbp + 0xb0]
shl rax, 0x20
add rcx, r15
mov r15, qword [rbp + 0xa8]
or r8, rax
add rdx, r8
add rcx, rdi
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
shr rax, 0x18
add r15, rcx
shl r9, 0x28
or r9, rax
add r13, r9
mov r10, r13
mov rax, r13
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 r14, rbx
mov rax, rbx
xor rax, r9
xor r14, r9
add rax, rax
shr r14, 0x3f
or r14, 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
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 + 0x38], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x40], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 8]
add rcx, rsi
add rcx, qword [rbp - 0x80]
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
mov rax, qword [rbp - 0x68]
add rax, rcx
add rax, r9
mov rbx, rax
mov qword [rsp + 8], rax
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x30]
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
mov rcx, qword [rsp + 0x78]
add rcx, r12
add rcx, r14
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, r14
xor r9, r14
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rbp - 0x48]
mov rdi, r14
mov rax, r14
xor rdi, r8
xor rax, r8
shl rdi, 0x30
shr rax, 0x10
mov r11, qword [rsp + 0x48]
or rdi, rax
lea r10, [rdx + rdi]
mov rdx, qword [rbp - 0x40]
mov rcx, r10
mov rax, r10
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x58]
add rcx, r13
add rcx, r11
mov r8, rcx
mov rax, rcx
xor rax, qword [rsp + 0x10]
xor r8, qword [rsp + 0x10]
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 [rbp - 0x70]
mov rsi, r12
mov rax, r12
xor rax, r8
xor rsi, r8
shl rax, 0x30
shr rsi, 0x10
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, [r15 + r8]
add rcx, qword [rsp + 0x78]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 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 r15, [rcx + r10]
add r15, qword [rsp + 0x58]
mov rcx, r15
mov rax, r15
xor rcx, r9
xor rax, r9
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rcx, r10
xor rax, r10
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov r10, qword [rsp + 0x20]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 8]
add rcx, r10
add rcx, qword [rbp - 0x80]
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 r11, qword [rsp]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rsp + 0x18]
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r13, [rcx + r9]
add r13, qword [rbp - 0x48]
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, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
mov rbx, rax
mov qword [rsp + 0x20], rax
add rcx, r14
xor rax, r9
add rcx, r10
add rax, rax
xor rbx, r9
mov r8, rcx
shr rbx, 0x3f
or rbx, rax
xor r8, rsi
mov rax, rcx
shr r8, 0x20
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
lea r14, [rcx + r9]
add r14, qword [rsp + 0x68]
mov rcx, r14
mov rax, r14
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x18], rcx
lea r10, [rdx + rcx]
mov rdi, r10
lea rcx, [r12 + r11]
xor rdi, r9
mov rax, r10
xor rax, r9
shr rdi, 0x3f
add rax, rax
or rdi, rax
add rcx, qword [rsp + 0x70]
mov r8, rcx
xor r8, qword [rsp + 0x38]
mov rax, rcx
xor rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
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
mov rsi, r9
lea r12, [rcx + r9]
add r12, qword [rbp + 0xa8]
mov rcx, r12
mov rax, r12
xor rax, r8
xor rcx, r8
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov r8, rcx
lea r11, [rdx + rcx]
xor r9, r11
lea rdx, [r15 + rbx]
add rdx, qword [rbp - 0x58]
add r9, r9
mov r15, qword [rbp - 0x68]
xor r8, rdx
xor rcx, rdx
shr r8, 0x20
shl rcx, 0x20
xor rsi, r11
or r8, rcx
shr rsi, 0x3f
or rsi, r9
lea rcx, [r10 + r8]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
add r15, r9
add r15, rdx
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rdi
add rcx, rax
mov qword [rsp + 0x38], rax
mov rax, r9
mov qword [rsp + 0x40], rcx
xor rax, rcx
xor r9, rcx
shr rax, 0x3f
lea rcx, [rdi + r13]
add rcx, qword [rbp - 0x50]
add r9, r9
or rax, r9
mov qword [rsp], rax
mov rax, qword [rsp + 0x10]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea rax, [rdx + r11]
xor r8, rax
xor rdi, rax
shl r8, 0x28
shr rdi, 0x18
mov r13, qword [rbp + 0xb0]
or r8, rdi
mov r9, qword [rsp + 0x48]
mov rbx, rdx
add r13, r8
add r13, rcx
xor rdx, r13
xor rbx, r13
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 + 8]
add r8, r8
or rax, r8
mov rdx, rcx
mov qword [rsp + 0x10], rax
mov r8, rsi
lea rax, [r14 + rsi]
add rax, qword [rbp - 0x70]
xor rdx, rax
xor rcx, rax
shr rdx, 0x20
shl rcx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x30]
add rcx, rdx
mov rdi, rdx
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 [rbp - 0x60]
xor rdx, r14
xor rdi, r14
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea r10, [rdi + rcx]
xor rax, r10
lea rcx, [r12 + r9]
add rcx, qword [rbp - 0x78]
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov r8, r9
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x18]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x20]
add rax, rdx
mov rsi, rdx
xor r9, rax
xor r8, rax
shr r9, 0x18
shl r8, 0x28
or r8, r9
mov r9, qword [rbp + 0xb8]
add r9, r8
add r9, rcx
xor rsi, r9
mov qword [rsp + 0x18], r9
xor rdx, r9
shl rsi, 0x30
shr rdx, 0x10
or rsi, rdx
lea r11, [rsi + rax]
mov rax, qword [rsp + 0x58]
mov r9, r8
mov r12, qword [rsp + 0x78]
xor r9, r11
shr r9, 0x3f
xor r8, r11
add r8, r8
mov rdx, rbx
or r9, r8
add rax, r9
mov r8, r9
add rax, r15
xor rdx, rax
xor rbx, rax
shr rdx, 0x20
shl rbx, 0x20
or rdx, rbx
lea rcx, [r10 + rdx]
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
lea r15, [rax + r8]
add r15, qword [rbp - 0x60]
mov r9, r15
mov rax, r15
xor rax, rdx
xor r9, rdx
shr rax, 0x10
mov rdx, rdi
shl r9, 0x30
or r9, rax
mov qword [rsp + 0x20], r9
lea rax, [r9 + rcx]
mov r9, qword [rsp]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rax, r8
xor rcx, r8
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov r8, r9
mov rax, qword [rbp - 0x50]
add rax, r9
mov qword [rsp + 0x48], rcx
add rax, r13
xor rdx, rax
xor rdi, rax
add r12, rax
shr rdx, 0x20
shl rdi, 0x20
or rdx, rdi
lea rcx, [r11 + rdx]
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
add r12, r8
mov r9, r12
mov rax, r12
xor rax, rdx
xor r9, rdx
shr rax, 0x10
mov rdx, rsi
shl r9, 0x30
or r9, rax
mov qword [rsp], r9
lea rax, [r9 + rcx]
mov r9, qword [rsp + 0x10]
mov rbx, rax
mov qword [rbp - 0x40], rax
xor rbx, r8
xor rax, r8
add rax, rax
shr rbx, 0x3f
or rbx, rax
lea rax, [r9 + r14]
add rax, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x40]
xor rdx, rax
mov r13, qword [rbp - 0x78]
xor rsi, rax
mov r8, r9
shr rdx, 0x20
shl rsi, 0x20
or rdx, rsi
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 [rbp - 0x70]
mov r9, r14
mov rax, r14
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
mov qword [rsp + 0x10], r9
lea r10, [rcx + r9]
mov r9, qword [rsp + 8]
mov rcx, qword [rsp + 0x38]
mov rdi, r10
xor rdi, r8
mov rdx, rcx
shr rdi, 0x3f
mov rax, r10
xor rax, r8
mov r8, r9
add rax, rax
or rdi, rax
mov rax, qword [rbp + 0xb0]
add rax, r9
add rax, qword [rsp + 0x18]
xor rcx, rax
xor rdx, rax
add r13, rax
shl rcx, 0x20
shr rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0x28]
add rcx, rdx
xor r8, rcx
xor r9, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
add r13, r8
mov r9, r13
mov rax, r13
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
lea r11, [rcx + r9]
mov rcx, qword [rbp + 0xa8]
add rcx, r15
mov rsi, r11
xor rsi, r8
add rcx, rbx
shr rsi, 0x3f
mov rax, r11
xor rax, r8
mov r8, rcx
add rax, rax
xor r8, r9
or rsi, rax
shr r8, 0x20
mov rax, rcx
xor rax, r9
shl rax, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r9, rdx
xor r9, rbx
shl r9, 0x28
mov rax, rdx
xor rax, rbx
shr rax, 0x18
or r9, rax
lea r15, [rcx + r9]
add r15, qword [rbp - 0x48]
mov rcx, r15
mov rax, r15
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 rcx, rax
mov qword [rsp + 0x40], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x70]
add rcx, r12
mov r12, qword [rsp + 0x68]
add rcx, rdi
add r12, rcx
mov r8, rcx
xor r8, qword [rsp + 0x20]
mov rax, rcx
xor rax, qword [rsp + 0x20]
shl rax, 0x20
shr r8, 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 r12, r9
mov rbx, r12
mov rax, r12
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
mov qword [rsp + 0x20], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x18], rcx
mov rcx, qword [rbp - 0x68]
add rcx, r14
mov r14, qword [rbp + 0xb8]
add rcx, rsi
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 r9, rsi
xor rax, rsi
shl r9, 0x28
shr rax, 0x18
or r9, rax
mov r11, qword [rsp + 0x48]
add r14, rcx
add r14, r9
mov rdi, r14
mov rax, r14
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rdx + rdi]
mov rdx, qword [rbp - 0x40]
mov rcx, r10
mov rax, r10
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp], rcx
lea rcx, [r11 + r13]
add rcx, qword [rbp - 0x80]
mov r13, qword [rsp + 0x60]
mov r8, rcx
xor r8, qword [rsp + 0x10]
add r13, rcx
mov rax, rcx
shr r8, 0x20
xor rax, qword [rsp + 0x10]
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
add r13, r9
mov rsi, r13
mov rax, r13
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 + r15]
mov r15, qword [rsp + 0x68]
add rcx, qword [rbp - 0x58]
add r15, rcx
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
add r15, r10
mov rcx, r15
mov rax, r15
xor rcx, r9
xor rax, r9
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x28], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rsp + 8]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x48], rcx
mov rcx, qword [rbp - 0x68]
add rcx, r12
mov r12, qword [rsp + 0x70]
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, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor rax, r10
xor r9, r10
mov r10, qword [rsp + 0x18]
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, qword [rbp + 0xb0]
add rax, rcx
add rax, r9
mov rcx, rax
mov qword [rsp + 8], rax
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 + 0x40]
mov rdi, rax
mov qword [rbp - 0x40], rax
xor rax, r9
lea rcx, [r14 + r10]
add rcx, qword [rbp - 0x60]
add rax, rax
xor rdi, r9
mov r8, rcx
add r12, rcx
shr rdi, 0x3f
or rdi, rax
xor r8, rsi
mov rax, rcx
shr r8, 0x20
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
add r12, r9
mov rcx, r12
mov rax, r12
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x18], rcx
lea r11, [rdx + rcx]
mov rsi, r11
mov r10, qword [rsp]
xor rsi, r9
mov rdx, qword [rsp + 0x20]
mov rax, r11
xor rax, r9
mov rcx, qword [rbp + 0xb8]
add rax, rax
shr rsi, 0x3f
or rsi, rax
add rcx, r13
add rcx, r10
mov rax, rcx
mov r8, rcx
xor rax, qword [rsp + 0x38]
xor r8, qword [rsp + 0x38]
shl rax, 0x20
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 r13, [rcx + r9]
add r13, qword [rbp - 0x80]
lea rcx, [rdi + r15]
add rcx, qword [rbp - 0x70]
mov r10, r13
xor r10, r8
mov rax, r13
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 r14, rbx
mov rax, rbx
xor rax, r9
xor r14, r9
add rax, rax
shr r14, 0x3f
or r14, rax
mov rax, rcx
xor rax, r10
shl rax, 0x20
or r8, rax
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
lea r15, [r9 + rcx]
add r15, qword [rsp + 0x60]
mov rcx, r15
mov rax, r15
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x20], rax
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x78]
add rcx, rsi
add rcx, qword [rsp + 8]
mov r11, qword [rsp + 0x48]
mov r8, rcx
xor r8, qword [rsp + 0x10]
mov rax, rcx
xor rax, qword [rsp + 0x10]
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
lea rax, [r9 + rcx]
add rax, qword [rbp - 0x50]
mov rbx, rax
mov qword [rsp + 8], rax
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rbx + rdx]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
mov qword [rsp + 0x50], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rcx, [r14 + r12]
add rcx, qword [rbp - 0x78]
mov r8, rcx
mov rax, rcx
xor rax, qword [rsp + 0x30]
xor r8, qword [rsp + 0x30]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rdx, r8
mov r9, rdx
mov rax, rdx
xor rax, r14
xor r9, r14
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [r9 + rcx]
add r14, qword [rbp + 0xa8]
mov rdi, r14
mov rax, r14
xor rax, r8
xor rdi, r8
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
lea r10, [rdi + rdx]
mov rdx, qword [rbp - 0x40]
mov rcx, r10
mov rax, r10
xor rcx, r9
xor rax, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x40], rcx
lea rcx, [r11 + r13]
add rcx, qword [rbp - 0x48]
mov r8, rcx
mov rax, rcx
xor r8, qword [rsp + 0x18]
xor rax, qword [rsp + 0x18]
shr r8, 0x20
shl rax, 0x20
or r8, rax
add rdx, r8
mov rsi, r8
mov r9, rdx
mov rax, rdx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r12, [r9 + rcx]
add r12, qword [rsp + 0x58]
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
lea rcx, [r8 + r15]
add rcx, qword [rsp + 0x68]
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
mov rax, r9
lea r15, [r10 + rcx]
mov rcx, r10
add r15, qword [rbp - 0x50]
xor rax, r15
xor r9, r15
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rsp + 0x18], 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]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 8]
add rcx, r10
add rcx, qword [rbp - 0x48]
mov r8, rcx
mov rax, rcx
xor rax, rdi
xor r8, rdi
shl rax, 0x20
shr r8, 0x20
or r8, rax
lea rdx, [r8 + r11]
mov r9, rdx
mov rax, rdx
xor r9, r10
xor rax, r10
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
lea r13, [r9 + rcx]
add r13, qword [rbp - 0x78]
xor rax, r13
mov r10, qword [rsp + 0x10]
mov rbx, r9
mov r11, qword [rsp + 0x40]
xor r8, r13
shl rax, 0x30
shr r8, 0x10
or rax, r8
lea rcx, [r14 + r10]
add rcx, qword [rbp + 0xa8]
mov qword [rsp + 8], rax
mov r8, rcx
add rax, rdx
xor r8, rsi
xor r9, rax
mov rdx, qword [rsp + 0x20]
xor rbx, rax
mov qword [rsp + 0x48], rax
add r9, r9
shr r8, 0x20
mov rax, rcx
shr rbx, 0x3f
xor rax, rsi
or rbx, r9
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 r14, [r9 + rcx]
add r14, qword [rsp + 0x60]
lea rcx, [r12 + r11]
add rcx, qword [rbp - 0x70]
xor rax, r14
shl rax, 0x30
xor r8, r14
shr r8, 0x10
or rax, r8
mov r8, rcx
xor r8, qword [rsp + 0x38]
mov qword [rsp], rax
shr r8, 0x20
lea r10, [rax + rdx]
mov rdx, qword [rsp + 0x50]
xor r9, r10
xor rdi, r10
add r9, r9
shr rdi, 0x3f
or rdi, r9
mov rax, rcx
xor rax, qword [rsp + 0x38]
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
mov rax, r8
mov rsi, r9
lea r12, [r9 + rcx]
add r12, qword [rbp + 0xb0]
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
lea r11, [rax + rdx]
xor rsi, r11
xor r9, r11
shr rsi, 0x3f
add r9, r9
mov r8, rax
lea rcx, [rbx + r15]
add rcx, qword [rbp - 0x60]
or rsi, r9
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 r15, [r9 + rcx]
add r15, qword [rsp + 0x78]
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 0x40], rax
lea rcx, [rdx + rax]
mov rax, r9
xor rax, rcx
mov qword [rsp + 0x20], rcx
shr rax, 0x3f
xor r9, rcx
add r9, r9
lea rcx, [rdi + r13]
add rcx, qword [rbp - 0x68]
or rax, r9
mov qword [rsp + 0x50], rax
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
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 [rbp - 0x80]
mov rbx, r13
mov rax, r13
xor rax, r8
xor rbx, r8
shr rax, 0x10
shl rbx, 0x30
or rbx, rax
lea rax, [rdx + rbx]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
mov qword [rsp + 0x18], rax
xor rcx, r9
xor rax, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rcx, [rsi + r14]
add rcx, qword [rsp + 0x58]
mov r8, rcx
mov rax, rcx
xor r8, qword [rsp + 8]
xor rax, qword [rsp + 8]
shr r8, 0x20
shl rax, 0x20
or r8, rax
add rdx, 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 [rbp - 0x58]
mov rdi, r14
mov rax, r14
xor rax, r8
xor rdi, r8
mov r8, qword [rsp + 0x28]
shr rax, 0x10
shl rdi, 0x30
or rdi, rax
mov rax, r9
lea rcx, [r12 + r8]
mov r12, qword [rsp + 0x70]
add rcx, qword [rbp + 0xb8]
lea r10, [rdx + rdi]
xor rax, r10
xor r9, r10
shr rax, 0x3f
add r9, r9
or rax, r9
mov r9, r8
mov qword [rsp + 8], rax
mov rax, qword [rsp]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x48]
add rax, rdx
mov rsi, rdx
xor r9, rax
xor r8, rax
shl r9, 0x28
shr r8, 0x18
or r9, r8
add r12, r9
mov r8, r9
add r12, rcx
xor rdx, r12
xor rsi, r12
shr rdx, 0x10
shl rsi, 0x30
or rsi, rdx
mov rdx, qword [rsp + 0x60]
add rdx, r15
mov r15, qword [rsp + 0x70]
lea r11, [rsi + rax]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
add rdx, r8
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 r15, r10
add r15, rdx
xor rax, r15
shl rax, 0x30
mov rdx, qword [rsp + 0x78]
xor r9, r15
shr r9, 0x10
add rdx, r13
mov r13, qword [rbp + 0xa8]
or rax, r9
mov qword [rsp], rax
mov r8, rdi
add rax, rcx
mov rcx, r10
xor rcx, rax
mov qword [rsp + 0x30], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp + 0x50]
add rdx, r10
mov qword [rsp + 0x28], rcx
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
mov r10, qword [rsp + 0x10]
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
add r13, r9
mov rbx, r9
add r13, rdx
mov rdx, qword [rsp + 0x20]
xor rax, r13
xor r8, r13
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rsi
mov qword [rsp + 0x38], rax
add rax, rcx
mov rcx, qword [rsp + 0x68]
xor r9, rax
xor rbx, rax
mov qword [rsp + 0x48], rax
add rcx, r14
shr rbx, 0x3f
add rcx, r10
add r9, r9
xor r8, rcx
xor rsi, rcx
or rbx, r9
shr r8, 0x20
shl rsi, 0x20
or r8, rsi
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 rdi, r9
lea rax, [r9 + rcx]
mov rcx, r8
add rax, qword [rbp - 0x48]
xor rcx, rax
mov qword [rsp + 0x50], rax
xor r8, rax
shl rcx, 0x30
shr r8, 0x10
or rcx, r8
mov qword [rsp + 0x10], rcx
lea r10, [rcx + rdx]
xor rdi, r10
mov r11, qword [rsp + 8]
xor r9, r10
mov rcx, qword [rsp + 0x18]
add r9, r9
mov r14, qword [rsp + 0x58]
shr rdi, 0x3f
or rdi, r9
lea rdx, [r11 + r12]
add rdx, qword [rbp - 0x80]
mov r8, rdx
mov rax, rdx
xor rax, qword [rsp + 0x40]
xor r8, qword [rsp + 0x40]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rcx, r8
mov r9, rcx
mov rax, rcx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
add r14, r9
mov rsi, r9
add r14, rdx
xor rax, r14
xor r8, r14
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rax
lea r11, [rax + rcx]
mov rcx, qword [rbp - 0x50]
xor r9, r11
add rcx, rbx
add rcx, r15
add r9, r9
xor rax, rcx
xor r8, rcx
shl rax, 0x20
xor rsi, r11
shr r8, 0x20
or r8, rax
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 r15, [r9 + rcx]
add r15, qword [rbp - 0x60]
xor rax, r15
xor r8, r15
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 0x20], 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 [rbp - 0x78]
add r9, r9
or rax, r9
add rcx, rdi
add rcx, r13
mov qword [rsp + 8], rax
mov rdx, rcx
mov rax, rcx
xor rdx, qword [rsp]
shr rdx, 0x20
xor rax, qword [rsp]
mov r8, rdi
mov r13, qword [rbp - 0x68]
shl rax, 0x20
or rdx, rax
mov rbx, rdx
lea rax, [rdx + r11]
mov r11, qword [rsp + 0x28]
xor r8, rax
xor rdi, rax
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
lea r12, [r8 + rcx]
add r12, qword [rbp - 0x70]
xor rdx, r12
xor rbx, r12
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
lea rcx, [rbx + rax]
mov rax, r8
xor rax, rcx
mov qword [rsp + 0x40], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rbp + 0xb8]
add r8, r8
or rax, r8
add rcx, rsi
add rcx, qword [rsp + 0x50]
mov r8, rsi
mov qword [rsp], rax
mov rdx, rcx
xor rdx, qword [rsp + 0x38]
mov rax, rcx
xor rax, qword [rsp + 0x38]
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x30]
add rax, rdx
mov rdi, rdx
xor r8, rax
xor rsi, rax
shl r8, 0x28
shr rsi, 0x18
or r8, rsi
add r13, r8
add r13, rcx
mov rcx, qword [rsp + 0x48]
xor rdx, r13
xor rdi, r13
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea rdx, [r11 + r14]
add rdx, qword [rbp - 0x58]
lea r10, [rdi + rax]
mov rax, r8
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov r8, rdx
xor r8, qword [rsp + 0x10]
mov qword [rsp + 0x50], rax
mov rax, rdx
xor rax, qword [rsp + 0x10]
shl rax, 0x20
shr r8, 0x20
or r8, rax
add rcx, r8
mov r9, rcx
mov rax, rcx
xor r9, r11
xor rax, r11
shl r9, 0x28
shr rax, 0x18
or r9, rax
mov r14, qword [rbp + 0xb0]
mov rsi, r8
add r14, r9
add r14, rdx
mov rdx, qword [rbp - 0x68]
xor r8, r14
xor rsi, r14
shr r8, 0x10
shl rsi, 0x30
or rsi, r8
mov r8, r9
lea r11, [rsi + rcx]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
add rdx, r8
add rdx, r15
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
mov r8, rdi
shl r10, 0x28
or r10, rax
mov rax, qword [rbp - 0x78]
add rax, r10
add rax, rdx
mov rdx, r9
xor rdx, rax
mov qword [rsp + 0x10], rax
xor r9, rax
shl rdx, 0x30
shr r9, 0x10
or rdx, r9
mov qword [rsp + 0x38], rdx
lea rax, [rdx + rcx]
mov rdx, qword [rbp + 0xa8]
mov qword [rsp + 0x30], rax
mov rcx, r10
xor rcx, rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp + 8]
add rdx, r10
mov qword [rsp + 0x28], rcx
add rdx, r12
mov r12, qword [rsp + 0x58]
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
add r12, rdx
xor rax, r12
xor r8, r12
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov qword [rsp + 8], rax
add rax, rcx
mov rbx, r9
mov rcx, qword [rsp + 0x18]
xor r9, rax
xor rbx, rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
add r9, r9
mov rdx, rsi
shr rbx, 0x3f
or rbx, r9
mov r9, qword [rsp]
add rax, r9
mov r8, r9
add rax, r13
mov r13, qword [rbp + 0xb8]
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 + 0x50]
mov rdi, r8
lea r15, [r8 + rax]
mov rax, rdx
add r15, qword [rbp - 0x80]
xor rax, r15
xor rdx, r15
shr rdx, 0x10
shl rax, 0x30
or rax, rdx
mov qword [rsp], rax
lea r10, [rax + rcx]
xor r8, r10
lea rcx, [r9 + r14]
add rcx, qword [rbp - 0x60]
add r8, r8
mov rdx, rcx
mov rax, rcx
xor rdx, qword [rsp + 0x20]
xor rdi, r10
xor rax, qword [rsp + 0x20]
shr rdx, 0x20
shl rax, 0x20
or rdx, rax
shr rdi, 0x3f
mov rax, qword [rsp + 0x40]
or rdi, r8
mov r8, r9
add rax, rdx
xor r8, rax
xor r9, rax
shr r9, 0x18
shl r8, 0x28
or r8, r9
mov r9, rdx
add r13, r8
mov rsi, r8
add r13, rcx
mov rcx, qword [rsp + 0x68]
xor r9, r13
xor rdx, r13
shl r9, 0x30
add rcx, rbx
add rcx, qword [rsp + 0x10]
shr rdx, 0x10
or r9, rdx
lea r11, [r9 + rax]
xor rsi, r11
xor r8, 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
lea rax, [r9 + rcx]
mov rcx, r8
add rax, qword [rbp - 0x58]
xor rcx, rax
mov qword [rsp + 0x50], rax
xor r8, rax
shl rcx, 0x30
shr r8, 0x10
mov rax, r9
or rcx, r8
mov r8, rdi
mov qword [rsp + 0x40], rcx
add rcx, rdx
xor rax, rcx
mov qword [rsp + 0x20], rcx
xor r9, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 0x38]
add r9, r9
or rax, r9
mov rdx, rcx
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x60]
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 r14, [r8 + rax]
mov rax, r8
add r14, qword [rsp + 0x78]
xor rdx, r14
xor rbx, r14
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
add rcx, rbx
xor rax, rcx
mov qword [rsp + 0x38], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 8]
add r8, r8
or rax, r8
mov rdx, rcx
mov r8, rsi
mov qword [rsp + 0x18], rax
lea rax, [rsi + r15]
add rax, qword [rbp - 0x48]
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
mov r11, qword [rsp + 0x28]
or r8, rsi
mov rdi, rdx
lea r15, [r8 + rax]
mov rax, r8
add r15, qword [rbp - 0x70]
xor rdx, r15
xor rdi, r15
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
mov rdx, qword [rsp + 0x48]
lea r10, [rdi + rcx]
mov rcx, qword [rbp + 0xb0]
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
add rcx, r11
mov qword [rsp + 8], rax
add rcx, r13
mov rax, qword [rsp]
mov r8, rax
xor rax, rcx
xor r8, rcx
shl rax, 0x20
shr r8, 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]
mov rcx, qword [rbp + 0xb0]
add r12, qword [rbp - 0x50]
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 r9, rbx
add rcx, r8
add rcx, qword [rsp + 0x50]
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
shl r10, 0x28
or r10, rax
mov rax, r9
lea r13, [r10 + rcx]
mov rcx, r10
add r13, qword [rbp - 0x58]
xor rax, r13
xor r9, r13
shl rax, 0x30
shr r9, 0x10
or rax, r9
mov qword [rsp + 0x50], rax
add rax, rdx
mov qword [rsp + 0x30], rax
mov r9, qword [rsp + 0x10]
xor rcx, rax
xor r10, rax
shr rcx, 0x3f
mov rdx, r9
mov r8, rdi
add r10, r10
lea rax, [r9 + r14]
or rcx, r10
add rax, qword [rbp + 0xb8]
mov r14, qword [rbp - 0x70]
xor r8, rax
xor rdi, rax
shr r8, 0x20
add r14, rax
shl rdi, 0x20
or r8, rdi
mov qword [rsp + 0x28], rcx
mov rax, r8
lea rcx, [r8 + r11]
xor r9, rcx
xor rdx, rcx
shr r9, 0x18
shl rdx, 0x28
or rdx, r9
mov r9, qword [rsp + 0x18]
add r14, rdx
xor rax, r14
xor r8, r14
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, r9
mov qword [rsp], rax
add rax, rcx
mov rcx, qword [rsp + 0x20]
mov rbx, rax
mov qword [rsp + 0x48], rax
xor rbx, rdx
xor rax, rdx
shr rbx, 0x3f
add rax, rax
mov rdx, rsi
or rbx, rax
lea rax, [r9 + r15]
add rax, qword [rsp + 0x78]
mov r15, qword [rbp - 0x68]
xor rdx, rax
xor rsi, rax
shr rdx, 0x20
add r15, rax
shl rsi, 0x20
or rdx, rsi
add rcx, rdx
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
add r15, r8
mov r9, r15
mov rax, r15
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
mov qword [rsp + 0x10], r9
lea r10, [rcx + r9]
mov r9, qword [rsp + 8]
mov rcx, qword [rsp + 0x40]
mov rdi, r10
xor rdi, r8
mov rax, r10
xor rax, r8
shr rdi, 0x3f
add rax, rax
mov rdx, rcx
or rdi, rax
lea rax, [r9 + r12]
add rax, qword [rbp - 0x48]
xor rcx, rax
mov r12, qword [rbp - 0x50]
xor rdx, rax
shl rcx, 0x20
add r12, rax
shr rdx, 0x20
or rdx, rcx
mov r8, r9
mov rcx, qword [rsp + 0x38]
add rcx, rdx
xor r9, rcx
xor r8, rcx
shr r9, 0x18
shl r8, 0x28
or r8, r9
add r12, r8
mov r9, r12
mov rax, r12
xor rax, rdx
xor r9, rdx
shr rax, 0x10
shl r9, 0x30
or r9, rax
lea r11, [rcx + r9]
mov rcx, qword [rbp - 0x78]
add rcx, r13
mov rsi, r11
mov r13, qword [rsp + 0x70]
add rcx, rbx
add r13, rcx
xor rsi, r8
shr rsi, 0x3f
mov rax, r11
xor rax, r8
mov r8, rcx
add rax, rax
xor r8, r9
or rsi, rax
shr r8, 0x20
mov rax, rcx
xor rax, r9
shl rax, 0x20
or r8, rax
lea rdx, [r10 + r8]
mov r9, rdx
mov rax, rdx
xor rax, rbx
xor r9, rbx
shr rax, 0x18
shl r9, 0x28
or r9, rax
add r13, r9
mov rcx, r13
mov rax, r13
xor rcx, r8
xor rax, r8
shl rcx, 0x30
shr rax, 0x10
or rcx, rax
mov qword [rsp + 0x20], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x18], rax
xor rcx, r9
xor rax, r9
shr rcx, 0x3f
add rax, rax
or rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 8], rcx
mov r8, rax
mov rcx, qword [rsp + 0x58]
add rcx, r14
add rcx, rdi
xor r8, rcx
xor rax, rcx
shr r8, 0x20
shl rax, 0x20
or r8, rax
lea rdx, [r11 + r8]
mov r9, rdx
mov r14, qword [rbp + 0xa8]
xor r9, rdi
mov r11, qword [rsp + 0x28]
add r14, rcx
shl r9, 0x28
mov rax, rdx
xor rax, rdi
shr rax, 0x18
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 + 0x30]
mov rcx, rax
mov qword [rsp + 0x40], rax
xor rax, r9
xor rcx, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x50], rcx
lea rcx, [r15 + rsi]
add rcx, qword [rbp - 0x80]
mov r15, qword [rsp + 0x68]
mov r8, rcx
xor r8, qword [rsp]
add r15, rcx
mov rax, rcx
shr r8, 0x20
xor rax, qword [rsp]
shl rax, 0x20
or r8, rax
add rdx, 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 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 rdx, qword [rsp + 0x48]
mov rcx, r10
mov rax, r10
xor rcx, r9
xor rax, r9
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov r9, r11
mov qword [rsp], rcx
lea rcx, [r11 + r12]
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
xor r9, rdx
xor r11, rdx
shl r9, 0x28
shr r11, 0x18
or r9, r11
lea r12, [rcx + r9]
add r12, qword [rbp - 0x60]
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 [rbp - 0x60]
mov r9, rcx
mov rax, rcx
xor rax, rbx
xor r9, rbx
shl rax, 0x20
shr r9, 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 [rbp - 0x48]
mov rcx, r13
mov rax, r13
xor rax, r9
xor rcx, r9
shr rax, 0x10
shl rcx, 0x30
or rcx, rax
mov qword [rsp + 0x10], rcx
lea rax, [rcx + rdx]
mov rcx, rax
mov qword [rsp + 0x38], rax
xor rax, r10
xor rcx, r10
mov r10, qword [rsp + 8]
add rax, rax
shr rcx, 0x3f
or rcx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [r14 + r10]
add rcx, qword [rbp - 0x58]
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
shr rax, 0x18
shl r9, 0x28
or r9, rax
lea r14, [rcx + r9]
add r14, qword [rbp - 0x80]
mov rcx, r14
mov rax, r14
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 r10, qword [rsp]
mov r11, rax
mov qword [rsp + 0x28], rax
xor r11, r9
xor rax, r9
shr r11, 0x3f
mov r9, qword [rsp + 0x50]
add rax, rax
or r11, rax
mov r8, r9
mov rax, qword [rsp + 0x18]
mov rdx, rsi
lea rcx, [r15 + r9]
mov r15, qword [rbp - 0x50]
add rcx, qword [rbp - 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 rbx, r8
add r15, rcx
mov rcx, rdx
xor rdx, r15
xor rcx, r15
shr rdx, 0x10
shl rcx, 0x30
or rcx, rdx
mov qword [rsp + 0x50], rcx
lea r9, [rcx + rax]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp - 0x68]
xor r8, r9
add rcx, r12
add r8, r8
mov r12, qword [rsp + 0x78]
add rcx, r10
mov rdx, rax
xor rbx, r9
xor rdx, rcx
shr rbx, 0x3f
xor rax, rcx
shr rdx, 0x20
or rbx, r8
shl rax, 0x20
or rdx, rax
mov r8, r10
mov rax, qword [rsp + 0x40]
add rax, rdx
xor r8, rax
xor r10, rax
shl r8, 0x28
shr r10, 0x18
or r8, r10
add r12, r8
mov rdi, r8
add r12, rcx
mov rcx, rdx
xor rdx, r12
xor rcx, r12
shr rdx, 0x10
shl rcx, 0x30
or rcx, rdx
mov rdx, qword [rbp + 0xb8]
add rdx, r13
add rdx, r11
lea r10, [rcx + rax]
xor rdi, r10
xor r8, r10
add r8, r8
shr rdi, 0x3f
or rdi, r8
mov r8, rcx
xor r8, rdx
mov r13, qword [rsp + 0x58]
xor rcx, rdx
mov rsi, qword [rsp + 0x70]
shr r8, 0x20
shl rcx, 0x20
or r8, rcx
lea rcx, [r8 + r9]
mov r9, rcx
mov rax, rcx
xor rax, r11
xor r9, r11
shr rax, 0x18
shl r9, 0x28
or r9, rax
mov rax, r8
add r13, r9
add r13, rdx
xor rax, r13
xor r8, r13
shl rax, 0x30
shr r8, 0x10
or rax, r8
mov r8, rbx
add rcx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x18], rcx
mov rax, r9
xor rax, rcx
xor r9, rcx
mov rcx, qword [rbp + 0xb0]
add r9, r9
shr rax, 0x3f
add rcx, r14
or rax, r9
add rcx, rbx
mov qword [rsp], rax
mov rax, qword [rsp + 0x10]
mov rdx, rax
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
lea rax, [rdx + r10]
xor r8, rax
xor rbx, rax
shl r8, 0x28
shr rbx, 0x18
or r8, rbx
mov rbx, rdx
add rsi, r8
add rsi, rcx
xor rdx, rsi
xor rbx, rsi
shr rdx, 0x10
shl rbx, 0x30
or rbx, rdx
lea rcx, [rbx + rax]
mov rax, r8
xor rax, rcx
mov qword [rsp + 0x40], rcx
xor r8, rcx
shr rax, 0x3f
mov rcx, qword [rsp + 0x68]
add r8, r8
or rax, r8
add rcx, rdi
mov qword [rsp + 0x10], rax
add rcx, r15
mov rax, qword [rsp + 8]
mov r8, rdi
mov rdx, rax
xor rax, rcx
shl rax, 0x20
xor rdx, rcx
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x38]
add rax, rdx
xor r8, rax
shl r8, 0x28
mov r15, qword [rsp + 0x60]
xor rdi, rax
shr rdi, 0x18
or r8, rdi
mov rdi, rdx
add r15, r8
add r15, rcx
mov rcx, qword [rbp + 0xa8]
xor rdx, r15
xor rdi, r15
shr rdx, 0x10
shl rdi, 0x30
or rdi, rdx
lea r10, [rdi + rax]
mov rax, r8
xor rax, r10
xor r8, r10
shr rax, 0x3f
add r8, r8
or rax, r8
mov r8, qword [rsp + 0x30]
mov qword [rsp + 8], rax
add rcx, r8
mov rax, qword [rsp + 0x50]
mov r9, r8
mov rdx, rax
add rcx, r12
mov r12, qword [rbp - 0x78]
xor rdx, rcx
xor rax, rcx
shr rdx, 0x20
shl rax, 0x20
or rdx, rax
mov rax, qword [rsp + 0x28]
add rax, rdx
mov r14, rdx
xor r9, rax
xor r8, rax
shl r9, 0x28
shr r8, 0x18
or r9, r8
lea r8, [r9 + r12]
add r8, rcx
xor rdx, r8
mov qword [rsp + 0x50], r8
shr rdx, 0x10
xor r14, r8
mov r8, r9
shl r14, 0x30
or r14, rdx
mov rdx, qword [rbp + 0xa8]
lea r11, [r14 + rax]
xor r9, r11
xor r8, r11
add r9, r9
shr r8, 0x3f
or r8, r9
mov r9, rbx
add rdx, r8
add rdx, r13
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, qword [rbp + 0xb0]
add rax, r10
add rax, rdx
mov rdx, r9
xor rdx, rax
mov qword [rbp + 0xa8], rax
shl rdx, 0x30
xor r9, rax
mov r13, qword [rbp + 0xb8]
mov r8, rdi
shr r9, 0x10
or rdx, r9
mov qword [rbp + 0xb0], rdx
lea rax, [rdx + rcx]
mov rcx, r10
xor rcx, rax
mov qword [rsp + 0x38], rax
xor r10, rax
shr rcx, 0x3f
add r10, r10
or rcx, r10
mov r10, qword [rsp]
mov qword [rsp + 0x30], rcx
lea rdx, [r10 + rsi]
add rdx, qword [rbp - 0x70]
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 r13, r9
mov rsi, r9
add r13, rdx
mov rdx, r14
xor r8, r13
xor rax, r13
shr r8, 0x10
shl rax, 0x30
or rax, r8
mov qword [rbp + 0xb8], rax
add rax, rcx
mov rcx, qword [rsp + 0x58]
xor r9, rax
xor rsi, rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x18]
add r9, r9
shr rsi, 0x3f
or rsi, r9
mov r9, qword [rsp + 0x10]
add rcx, r9
mov r8, r9
add rcx, r15
xor rdx, rcx
xor r14, rcx
shl r14, 0x20
shr rdx, 0x20
or rdx, r14
add rax, rdx
xor r8, rax
xor r9, rax
shl r8, 0x28
shr r9, 0x18
or r8, r9
add r12, r8
mov r14, r8
add r12, rcx
mov rcx, rdx
xor rcx, r12
xor rdx, r12
shl rcx, 0x30
shr rdx, 0x10
or rcx, rdx
mov qword [rsp], rcx
lea rbx, [rcx + rax]
xor r14, rbx
xor r8, rbx
shr r14, 0x3f
add r8, r8
or r14, r8
mov r9, qword [rsp + 8]
mov rax, qword [rsp + 0x20]
mov r8, r9
mov rcx, qword [rsp + 0x60]
mov rdx, rax
mov r15, qword [rbp - 0x68]
add rcx, r9
add rcx, qword [rsp + 0x50]
xor rax, rcx
xor rdx, rcx
shl rax, 0x20
shr rdx, 0x20
or rdx, rax
mov rax, qword [rsp + 0x40]
add rax, rdx
xor r8, rax
xor r9, rax
shl r8, 0x28
shr r9, 0x18
or r8, r9
mov r9, rdx
add r15, r8
mov rdi, r8
add r15, rcx
mov rcx, qword [rbp + 0xa8]
xor r9, r15
add rcx, rsi
add rcx, qword [rbp - 0x48]
xor rdx, r15
shl r9, 0x30
shr rdx, 0x10
or r9, rdx
mov r10, r9
xor r10, rcx
shr r10, 0x20
lea r11, [r9 + rax]
xor r9, rcx
xor r8, r11
shl r9, 0x20
add r8, r8
or r10, r9
xor rdi, r11
shr rdi, 0x3f
or rdi, r8
lea rdx, [r10 + rbx]
mov r8, rdx
mov rax, rdx
xor rax, rsi
xor r8, rsi
shr rax, 0x18
shl r8, 0x28
or r8, rax
mov rax, qword [rsp + 0x68]
add rax, r8
add rax, rcx
mov rcx, r10
xor rcx, rax
mov qword [rbp - 0x30], rax
xor r10, rax
shl rcx, 0x30
shr r10, 0x10
or rcx, r10
mov qword [rbp + 0x48], rcx
lea rax, [rcx + rdx]
mov rcx, qword [rbp + 0xb0]
xor r8, rax
mov qword [rbp + 0x20], rax
ror r8, 0x3f
lea rax, [r14 + r13]
add rax, qword [rbp - 0x60]
mov r9, rcx
xor r9, rax
mov qword [rbp - 8], r8
xor rcx, rax
shr r9, 0x20
shl rcx, 0x20
mov r8, r14
or r9, rcx
lea rdx, [r9 + r11]
xor r8, rdx
shl r8, 0x28
mov r10, qword [rsp + 0x30]
mov rcx, r9
xor r14, rdx
shr r14, 0x18
or r8, r14
add rax, r8
add rax, qword [rbp - 0x58]
xor rcx, rax
mov qword [rbp - 0x28], rax
xor r9, rax
shl rcx, 0x30
shr r9, 0x10
or rcx, r9
mov qword [rbp + 0x30], rcx
lea rax, [rcx + rdx]
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rsp + 0x38]
xor r8, rax
mov qword [rbp + 0x28], rax
mov r9, rcx
mov rax, qword [rsp + 0x70]
add rax, rdi
ror r8, 0x3f
add rax, r12
mov qword [rbp], r8
xor rcx, rax
xor r9, rax
add rax, qword [rsp + 0x78]
mov r8, rdi
shl rcx, 0x20
shr r9, 0x20
or r9, rcx
add rdx, r9
mov rcx, r9
xor r8, rdx
xor rdi, rdx
shl r8, 0x28
shr rdi, 0x18
or r8, rdi
add rax, r8
xor rcx, rax
mov qword [rbp - 0x20], rax
xor r9, rax
shl rcx, 0x30
shr r9, 0x10
or rcx, r9
mov qword [rbp + 0x38], rcx
lea rax, [rdx + rcx]
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x28]
mov r9, rcx
mov qword [rbp + 0x10], rax
xor rax, r8
ror rax, 0x3f
mov r8, r10
mov qword [rbp + 8], rax
mov rax, qword [rbp - 0x50]
add rax, r10
add rax, r15
xor rcx, rax
xor r9, rax
shl rcx, 0x20
shr r9, 0x20
or r9, rcx
add rdx, r9
xor r8, rdx
xor r10, rdx
shl r8, 0x28
shr r10, 0x18
or r8, r10
lea rcx, [rax + r8]
add rcx, qword [rbp - 0x80]
mov rax, rcx
mov qword [rbp - 0x18], rcx
xor rax, r9
xor rcx, r9
shl rax, 0x30
shr rcx, 0x10
or rax, rcx
mov qword [rbp + 0x40], rax
add rax, rdx
mov qword [rbp + 0x18], rax
xor rax, r8
movdqu xmm1, xmmword [rbp + 0x10]
ror rax, 0x3f
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0xa0]
movdqu xmm0, xmmword [rax]
xorps xmm1, xmm0
xorps xmm1, xmmword [rbp - 0x30]
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [rax + 0x10]
xorps xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp - 0x20]
movdqu xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x20]
xorps xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmmword [rbp - 0x10]
movdqu xmmword [rax + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x30]
xorps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmmword [rbp]
movdqu xmmword [rax + 0x30], xmm0
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret