Function at 0x1400a8cb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov r13, qword [rcx + 0x18]
mov rax, rdx
mov rbp, qword [rcx + 0x10]
movabs r10, 0x1bd11bdaa9fc1a22
mov qword [rsp + 0x50], r13
movups xmm3, xmmword [rax + 0x10]
mov r12, qword [rcx + 0x58]
add rbp, r9
movups xmm4, xmmword [rax + 0x20]
mov rdx, qword [rcx + 0x20]
mov rdi, r12
movups xmm5, xmmword [rax + 0x30]
mov r8, qword [rcx + 0x28]
mov rbx, rbp
movups xmm2, xmmword [rax]
mov rax, qword [rax + 8]
xor rbx, r13
mov r14, qword [rcx + 0x48]
movdqa xmm1, xmm3
mov r15, qword [rcx + 0x40]
xor rdi, r14
mov r9, qword [rcx + 0x30]
xor rdi, r15
mov r11, qword [rcx + 0x38]
xor rdi, rdx
mov rsi, qword [rcx + 0x50]
xor rdi, r8
add qword [rsp + 0x108], 0x40
lea rcx, [r14 + rbp]
xor rdi, r9
mov qword [rsp + 0x70], rax
xor rdi, rsi
mov qword [rsp + 0x40], r11
xor rdi, r11
mov qword [rsp + 0x68], r9
xor rdi, r10
mov qword [rsp + 0x30], r15
lea r10, [rax + r8]
mov qword [rsp + 0x20], r8
psrldq xmm1, 8
movdqa xmm0, xmm4
movq rax, xmm1
psrldq xmm0, 8
add r11, rax
mov qword [rsp + 0x80], rax
movq rax, xmm0
mov qword [rsp + 0x48], rbp
add rcx, rax
mov qword [rsp + 0x90], rax
movq rbp, xmm2
mov qword [rsp + 0x28], rdx
movdqa xmm0, xmm5
mov qword [rsp + 0x38], r14
movq r14, xmm3
psrldq xmm0, 8
add r9, r14
mov qword [rsp + 0x60], r12
add r9, r11
mov qword [rsp + 0x78], r14
movq rax, xmm0
ror r11, 0x1c
mov qword [rsp + 0xa0], rax
lea r8, [rdx + rbp]
add rax, r12
add r8, r10
ror r10, 0x12
movq rdx, xmm5
xor r10, r8
mov qword [rsp + 0x98], rdx
add r13, rdx
movq r12, xmm4
add r15, r12
mov qword [rsp + 0x88], r12
add r15, rcx
add r13, rsi
add r13, rax
ror rcx, 0x2d
xor r11, r9
ror rax, 0x1b
add r9, r10
xor rax, r13
ror r10, 0x1f
xor rcx, r15
add r15, rax
xor r10, r9
ror rax, 0x25
mov r12, qword [rsp + 0x68]
add r13, rcx
mov r14, qword [rsp + 0x60]
add r8, r11
xor rax, r15
ror rcx, 0x32
xor rcx, r13
ror r11, 0x16
xor r11, r8
add r9, rax
add r8, rcx
ror rax, 0x19
add r15, r10
ror rcx, 0x1c
xor rcx, r8
ror r10, 0x2f
add r13, r11
xor rax, r9
xor r10, r15
ror r11, 0xf
xor r11, r13
add r8, rax
add r13, r10
ror rax, 0x37
xor rax, r8
ror r10, 0x14
add r15, r11
add r9, rcx
xor r10, r13
ror rcx, 0xa
xor rcx, r9
ror r11, 8
add rcx, qword [rsp + 0x50]
lea rdx, [rax + 1]
mov rax, qword [rsp + 0x20]
xor r11, r15
add r11, qword [rsp + 0x30]
add r10, r12
add rax, r10
add rcx, rsi
add r8, rax
ror r10, 0x19
mov rax, qword [rsp + 0x40]
xor r10, r8
add rax, r11
add rdx, rdi
add r9, rax
ror r11, 0x22
mov rax, qword [rsp + 0x38]
xor r11, r9
add rax, rcx
add r8, r11
add r15, rax
ror rcx, 0x1e
xor rcx, r15
ror r11, 0x2f
add r9, r10
lea rax, [rbx + r14]
add rax, rdx
ror r10, 0x33
xor r11, r8
ror rdx, 0x28
add r13, rax
xor r10, r9
xor rdx, r13
add r13, rcx
add r15, rdx
ror rcx, 0x36
xor rcx, r13
ror rdx, 0xe
add r8, rcx
add r13, r11
xor rdx, r15
ror rcx, 0x19
add r15, r10
ror r11, 0x23
ror r10, 0x27
xor rcx, r8
xor r10, r15
xor r11, r13
add r9, rdx
add r13, r10
ror rdx, 0x15
add r15, r11
ror r10, 0x38
xor r10, r13
ror r11, 0x2a
add r10, qword [rsp + 0x40]
xor r11, r15
add r11, qword [rsp + 0x38]
xor rdx, r9
add r8, rdx
add r9, rcx
ror rcx, 8
xor rcx, r9
mov qword [rsp + 0x10], r8
lea rax, [r12 + r10]
ror rdx, 0x1d
xor rdx, r8
ror r10, 0x12
mov r8, qword [rsp + 0x28]
add rcx, rbx
add rcx, r14
add r8, 2
add r8, rdx
mov rdx, qword [rsp + 0x10]
add rdx, rax
mov rax, qword [rsp + 0x30]
add rax, r11
xor r10, rdx
add r9, rax
ror r11, 0x1c
lea rax, [rsi + rcx]
xor r11, r9
add r9, r10
ror rcx, 0x2d
add rdx, r11
ror r10, 0x1f
xor r10, r9
ror r11, 0x16
xor r11, rdx
add r15, rax
mov rax, qword [rsp + 0x48]
xor rcx, r15
add rax, rdi
add rax, r8
ror r8, 0x1b
add r13, rax
xor r8, r13
add r13, rcx
add r15, r8
ror rcx, 0x32
xor rcx, r13
ror r8, 0x25
add rdx, rcx
add r13, r11
xor r8, r15
ror rcx, 0x1c
add r15, r10
ror r11, 0xf
xor rcx, rdx
ror r10, 0x2f
xor r10, r15
xor r11, r13
add r9, r8
add r13, r10
add r15, r11
ror r10, 0x14
ror r11, 8
xor r10, r13
add r10, qword [rsp + 0x30]
xor r11, r15
ror r8, 0x19
add r11, rsi
xor r8, r9
add r9, rcx
ror rcx, 0xa
add rdx, r8
xor rcx, r9
mov qword [rsp + 0x10], rdx
add rcx, qword [rsp + 0x48]
add rcx, rdi
mov rax, qword [rsp + 0x40]
add rax, r10
ror r8, 0x37
xor r8, rdx
ror r10, 0x19
mov rdx, qword [rsp + 0x20]
add rdx, 3
add rdx, r8
mov r8, qword [rsp + 0x10]
add r8, rax
mov rax, qword [rsp + 0x38]
add rax, r11
xor r10, r8
add r9, rax
ror r11, 0x22
lea rax, [r14 + rcx]
xor r11, r9
add r15, rax
ror rcx, 0x1e
xor rcx, r15
mov qword [rsp], r11
mov r11, qword [rsp + 0x50]
add r9, r10
add r11, qword [rsp + 0x28]
ror r10, 0x33
xor r10, r9
lea rax, [r11 + rdx]
ror rdx, 0x28
add r13, rax
mov rax, qword [rsp]
add r8, rax
xor rdx, r13
add r15, rdx
ror rax, 0x2f
xor rax, r8
ror rdx, 0xe
add r13, rcx
xor rdx, r15
add r9, rdx
ror rcx, 0x36
xor rcx, r13
ror rdx, 0x15
add r13, rax
add r8, rcx
ror rax, 0x23
add r15, r10
xor rax, r13
ror r10, 0x27
xor rdx, r9
ror rcx, 0x19
xor rcx, r8
xor r10, r15
add r8, rdx
add r15, rax
ror rax, 0x2a
add r13, r10
xor rax, r15
ror rdx, 0x1d
xor rdx, r8
ror r10, 0x38
add rax, r14
mov qword [rsp + 0x10], r8
add r9, rcx
mov qword [rsp], rax
mov rax, qword [rsp + 0x30]
lea r8, [r12 + 4]
ror rcx, 8
add r8, rdx
mov rdx, qword [rsp + 0x10]
xor r10, r13
add r10, qword [rsp + 0x38]
xor rcx, r9
add rcx, qword [rsp + 0x28]
add rax, r10
add rcx, qword [rsp + 0x50]
add rdx, rax
ror r10, 0x12
mov qword [rsp + 0x10], rdx
xor r10, rdx
mov rdx, qword [rsp]
lea rax, [rsi + rdx]
add r9, rax
ror rdx, 0x1c
xor rdx, r9
lea rax, [rdi + rcx]
add r15, rax
ror rcx, 0x2d
mov rax, qword [rsp + 0x20]
xor rcx, r15
add rax, rbx
add r9, r10
add rax, r8
ror r10, 0x1f
add r13, rax
ror r8, 0x1b
mov rax, qword [rsp + 0x10]
xor r8, r13
add rax, rdx
add r15, r8
add r13, rcx
ror r8, 0x25
xor r8, r15
ror rdx, 0x16
xor rdx, rax
ror rcx, 0x32
xor rcx, r13
xor r10, r9
add rax, rcx
add r9, r8
add r13, rdx
ror r8, 0x19
xor r8, r9
ror rdx, 0xf
add r15, r10
ror rcx, 0x1c
xor rcx, rax
ror r10, 0x2f
add rax, r8
xor rdx, r13
mov qword [rsp + 0x10], rax
xor r10, r15
add r15, rdx
ror r8, 0x37
xor r8, rax
ror rdx, 8
mov rax, qword [rsp + 0x38]
add r9, rcx
add r13, r10
ror rcx, 0xa
xor rdx, r15
ror r10, 0x14
xor rcx, r9
add rdx, rdi
mov qword [rsp], rdx
xor r10, r13
mov rdx, qword [rsp + 0x40]
add r10, rsi
add rax, r10
add rcx, rbx
add rcx, qword [rsp + 0x20]
add rdx, 5
add rdx, r8
ror r10, 0x19
mov r8, qword [rsp + 0x10]
add r8, rax
xor r10, r8
mov qword [rsp + 0x10], r8
mov r8, qword [rsp]
lea rax, [r14 + r8]
ror r8, 0x22
add r9, rax
mov rax, qword [rsp + 0x28]
add rax, rcx
xor r8, r9
add r15, rax
ror rcx, 0x1e
mov rax, qword [rsp + 0x48]
xor rcx, r15
add rax, r12
add rax, rdx
add r13, rax
ror rdx, 0x28
mov rax, qword [rsp + 0x10]
xor rdx, r13
add rax, r8
add r9, r10
add r13, rcx
ror r8, 0x2f
xor r8, rax
ror r10, 0x33
add r15, rdx
ror rcx, 0x36
xor r10, r9
ror rdx, 0xe
xor rcx, r13
xor rdx, r15
add rax, rcx
add r13, r8
add r15, r10
ror r8, 0x23
xor r8, r13
ror r10, 0x27
add r9, rdx
ror rcx, 0x19
xor rcx, rax
ror rdx, 0x15
xor r10, r15
xor rdx, r9
add rax, rdx
add r15, r8
ror r8, 0x2a
add r13, r10
xor r8, r15
mov qword [rsp + 0x10], rax
add r8, qword [rsp + 0x28]
add r9, rcx
mov qword [rsp], r8
mov r8, qword [rsp + 0x30]
ror r10, 0x38
add r8, 6
xor r10, r13
ror rdx, 0x1d
xor rdx, rax
ror rcx, 8
add r8, rdx
xor rcx, r9
add rcx, qword [rsp + 0x48]
add r10, r14
mov rdx, qword [rsp + 0x10]
add rcx, r12
lea rax, [rsi + r10]
ror r10, 0x12
add rdx, rax
xor r10, rdx
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp]
mov qword [rsp + 0x18], r10
mov r10, qword [rsp + 0x50]
add r10, qword [rsp + 0x40]
lea rax, [rdx + rdi]
ror rdx, 0x1c
add r9, rax
mov rax, qword [rsp + 0x20]
add rax, rcx
xor rdx, r9
add r15, rax
ror rcx, 0x2d
lea rax, [r10 + r8]
xor rcx, r15
add r13, rax
ror r8, 0x1b
mov rax, qword [rsp + 0x18]
xor r8, r13
add r15, r8
add r9, rax
ror r8, 0x25
add r13, rcx
ror rax, 0x1f
xor r8, r15
xor rax, r9
ror rcx, 0x32
xor rcx, r13
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x10]
add r15, rax
add rcx, rdx
ror rax, 0x2f
xor rax, r15
ror rdx, 0x16
xor rdx, rcx
add r9, r8
add rcx, qword [rsp + 8]
add r13, rdx
ror qword [rsp + 8], 0x1c
xor qword [rsp + 8], rcx
ror rdx, 0xf
xor rdx, r13
ror r8, 0x19
add r13, rax
add r15, rdx
ror rax, 0x14
xor r8, r9
add rcx, r8
ror rdx, 8
xor rax, r13
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 8]
add rax, rdi
add r9, rcx
ror r8, 0x37
xor r8, qword [rsp + 0x10]
xor rdx, r15
add rdx, qword [rsp + 0x20]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x38]
ror rcx, 0xa
add rdx, 7
add rdx, r8
xor rcx, r9
add rcx, qword [rsp + 0x50]
mov r8, rax
add rcx, qword [rsp + 0x40]
add rax, r14
add qword [rsp + 0x10], rax
mov rax, qword [rsp]
add rax, qword [rsp + 0x28]
add r9, rax
ror r8, 0x19
xor r8, qword [rsp + 0x10]
mov rax, qword [rsp]
ror rax, 0x22
xor rax, r9
add r9, r8
mov qword [rsp], rax
lea rax, [r12 + rcx]
add r15, rax
ror rcx, 0x1e
mov rax, qword [rsp + 0x30]
xor rcx, r15
add rax, rbx
ror r8, 0x33
add rax, rdx
xor r8, r9
add r13, rax
ror rdx, 0x28
mov rax, qword [rsp]
xor rdx, r13
add r13, rcx
add r15, rdx
ror rcx, 0x36
xor rcx, r13
ror rdx, 0xe
mov qword [rsp + 8], rcx
xor rdx, r15
mov rcx, qword [rsp + 0x10]
add r15, r8
add rcx, rax
ror r8, 0x27
ror rax, 0x2f
xor r8, r15
xor rax, rcx
add r13, rax
ror rax, 0x23
xor rax, r13
add rcx, qword [rsp + 8]
add r15, rax
ror qword [rsp + 8], 0x19
add r9, rdx
xor qword [rsp + 8], rcx
add r13, r8
ror rax, 0x2a
xor rax, r15
ror rdx, 0x15
add rax, r12
ror r8, 0x38
mov qword [rsp], rax
xor rdx, r9
add rcx, rdx
xor r8, r13
add r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 8]
add r9, rcx
ror rdx, 0x1d
xor rdx, qword [rsp + 0x10]
ror rcx, 8
xor rcx, r9
mov qword [rsp + 0x18], r8
add rcx, rbx
add rcx, qword [rsp + 0x30]
lea r8, [rdx + 8]
mov rdx, qword [rsp + 0x18]
add r8, rsi
lea rax, [rdx + rdi]
ror rdx, 0x12
add qword [rsp + 0x10], rax
xor rdx, qword [rsp + 0x10]
mov rax, qword [rsp]
add rax, qword [rsp + 0x20]
add r9, rax
mov rax, qword [rsp]
ror rax, 0x1c
xor rax, r9
add r9, rdx
mov qword [rsp], rax
mov rax, qword [rsp + 0x40]
add rax, rcx
ror rdx, 0x1f
add r15, rax
ror rcx, 0x2d
mov rax, qword [rsp + 0x38]
xor rcx, r15
add rax, qword [rsp + 0x48]
xor rdx, r9
add rax, r8
ror r8, 0x1b
add r13, rax
mov rax, qword [rsp]
xor r8, r13
add r13, rcx
add r15, r8
ror rcx, 0x32
xor rcx, r13
ror r8, 0x25
mov qword [rsp + 8], rcx
xor r8, r15
mov rcx, qword [rsp + 0x10]
add r15, rdx
add rcx, rax
ror rdx, 0x2f
ror rax, 0x16
add r9, r8
xor rax, rcx
ror r8, 0x19
add rcx, qword [rsp + 8]
add r13, rax
ror qword [rsp + 8], 0x1c
xor rdx, r15
xor qword [rsp + 8], rcx
xor r8, r9
ror rax, 0xf
xor rax, r13
add r13, rdx
add rcx, r8
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 8]
add r15, rax
ror rax, 8
add r9, rcx
xor rax, r15
ror rcx, 0xa
add rax, qword [rsp + 0x40]
xor rcx, r9
add rcx, qword [rsp + 0x48]
add rcx, qword [rsp + 0x38]
mov qword [rsp], rax
mov rax, qword [rsp + 0x28]
ror rdx, 0x14
xor rdx, r13
ror r8, 0x37
xor r8, qword [rsp + 0x10]
add rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
lea rdx, [r14 + 9]
add rdx, r8
mov r8, qword [rsp + 0x18]
add rax, r8
ror r8, 0x19
add qword [rsp + 0x10], rax
xor r8, qword [rsp + 0x10]
mov rax, qword [rsp]
add rax, r12
add r9, rax
mov rax, qword [rsp]
ror rax, 0x22
xor rax, r9
mov qword [rsp + 0x58], r9
mov r9, qword [rsp + 0x50]
mov qword [rsp], rax
add r9, rsi
mov rax, qword [rsp + 0x30]
add rax, rcx
ror rcx, 0x1e
add r15, rax
xor rcx, r15
lea rax, [r9 + rdx]
add r13, rax
ror rdx, 0x28
mov rax, qword [rsp + 0x58]
xor rdx, r13
add r13, rcx
add rax, r8
ror rcx, 0x36
add r15, rdx
xor rcx, r13
ror r8, 0x33
xor r8, rax
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x10]
add rcx, qword [rsp]
ror qword [rsp], 0x2f
xor qword [rsp], rcx
add rcx, qword [rsp + 8]
add r13, qword [rsp]
ror qword [rsp + 8], 0x19
xor qword [rsp + 8], rcx
ror qword [rsp], 0x23
xor qword [rsp], r13
ror rdx, 0xe
xor rdx, r15
add r15, r8
add rax, rdx
ror r8, 0x27
xor r8, r15
ror rdx, 0x15
add r15, qword [rsp]
xor rdx, rax
add rcx, rdx
add r13, r8
ror r8, 0x38
mov qword [rsp + 0x10], rcx
xor r8, r13
mov rcx, qword [rsp + 8]
add rax, rcx
mov qword [rsp + 0x58], rax
add r8, r12
mov qword [rsp + 0x18], r8
mov r8, qword [rsp]
ror rcx, 8
xor rcx, rax
ror r8, 0x2a
add rcx, qword [rsp + 0x50]
xor r8, r15
add r8, qword [rsp + 0x30]
add rcx, rsi
mov rax, qword [rsp + 0x20]
mov qword [rsp], r8
ror rdx, 0x1d
xor rdx, qword [rsp + 0x10]
lea r8, [rdx + 0xa]
mov rdx, qword [rsp + 0x18]
add rax, rdx
add r8, rdi
add qword [rsp + 0x10], rax
mov rax, qword [rsp]
add rax, qword [rsp + 0x40]
ror rdx, 0x12
xor rdx, qword [rsp + 0x10]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x58]
add rdx, rax
mov rax, qword [rsp]
ror rax, 0x1c
xor rax, rdx
mov qword [rsp], rax
mov rax, qword [rsp + 0x38]
add rax, rcx
ror rcx, 0x2d
add r15, rax
lea rax, [rbx + r14]
mov r14, qword [rsp + 0x38]
add rax, r8
add r13, rax
ror r8, 0x1b
mov rax, qword [rsp + 0x18]
xor rcx, r15
add rdx, rax
xor r8, r13
add r13, rcx
ror rax, 0x1f
xor rax, rdx
ror rcx, 0x32
xor rcx, r13
add r15, r8
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x10]
add rcx, qword [rsp]
ror qword [rsp], 0x16
xor qword [rsp], rcx
add r13, qword [rsp]
add rcx, qword [rsp + 8]
ror qword [rsp], 0xf
xor qword [rsp], r13
ror qword [rsp + 8], 0x1c
xor qword [rsp + 8], rcx
ror r8, 0x25
xor r8, r15
add r15, rax
ror rax, 0x2f
add rdx, r8
xor rax, r15
ror r8, 0x19
add r15, qword [rsp]
add r13, rax
ror qword [rsp], 8
xor r8, rdx
xor qword [rsp], r15
add rcx, r8
ror rax, 0x14
xor rax, r13
mov qword [rsp + 0x10], rcx
add rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 8]
add rdx, rcx
mov qword [rsp + 0x18], rax
add qword [rsp], r14
mov qword [rsp + 0x58], rdx
mov r14, qword [rsp + 0x60]
add rax, r12
mov r12, qword [rsp + 0x48]
ror rcx, 0xa
xor rcx, rdx
ror r8, 0x37
xor r8, qword [rsp + 0x10]
add rcx, rbx
mov rdx, qword [rsp + 0x28]
add rcx, r14
add rdx, 0xb
add rdx, r8
mov r8, qword [rsp + 0x10]
add r8, rax
mov rax, qword [rsp + 0x18]
ror rax, 0x19
xor rax, r8
mov qword [rsp + 0x10], r8
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp]
add rax, qword [rsp + 0x30]
add r8, rax
mov rax, qword [rsp]
ror rax, 0x22
xor rax, r8
mov qword [rsp], rax
lea rax, [rsi + rcx]
add r15, rax
ror rcx, 0x1e
mov rax, qword [rsp + 0x48]
xor rcx, r15
add rax, rdi
add rax, rdx
ror rdx, 0x28
add r13, rax
mov rax, qword [rsp + 0x18]
xor rdx, r13
add r8, rax
add r13, rcx
ror rax, 0x33
xor rax, r8
ror rcx, 0x36
xor rcx, r13
add r15, rdx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x10]
add rcx, qword [rsp]
ror qword [rsp], 0x2f
xor qword [rsp], rcx
add rcx, qword [rsp + 8]
add r13, qword [rsp]
ror qword [rsp + 8], 0x19
xor qword [rsp + 8], rcx
ror qword [rsp], 0x23
xor qword [rsp], r13
ror rdx, 0xe
xor rdx, r15
add r15, rax
add r8, rdx
ror rax, 0x27
xor rax, r15
ror rdx, 0x15
add r15, qword [rsp]
xor rdx, r8
add r8, qword [rsp + 8]
add r13, rax
ror qword [rsp + 8], 8
add rcx, rdx
xor qword [rsp + 8], r8
ror qword [rsp], 0x2a
add qword [rsp + 8], r12
xor qword [rsp], r15
add qword [rsp + 8], rdi
add qword [rsp], rsi
ror rax, 0x38
xor rax, r13
ror rdx, 0x1d
add rax, qword [rsp + 0x30]
xor rdx, rcx
mov qword [rsp + 0x18], rax
add rax, qword [rsp + 0x40]
mov r12, qword [rsp + 0x20]
add rcx, rax
mov rax, qword [rsp + 0x18]
add r12, 0xc
ror rax, 0x12
add rdx, r12
mov r12, qword [rsp + 0x68]
xor rax, rcx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp]
add rax, qword [rsp + 0x38]
add r8, rax
mov rax, qword [rsp]
mov qword [rsp + 0x58], r8
ror rax, 0x1c
xor rax, r8
mov r8, qword [rsp + 8]
mov qword [rsp], rax
lea rax, [r14 + r8]
ror r8, 0x2d
add r15, rax
lea rax, [r11 + rdx]
mov r11, qword [rsp + 0x58]
xor r8, r15
add r13, rax
ror rdx, 0x1b
mov rax, qword [rsp + 0x18]
xor rdx, r13
add r13, r8
add r11, rax
ror r8, 0x32
add r15, rdx
xor r8, r13
ror rax, 0x1f
mov qword [rsp + 8], r8
xor rax, r11
mov r8, qword [rsp]
add rcx, r8
ror rdx, 0x25
ror r8, 0x16
xor rdx, r15
xor r8, rcx
add r15, rax
add rcx, qword [rsp + 8]
add r13, r8
ror qword [rsp + 8], 0x1c
add r11, rdx
xor qword [rsp + 8], rcx
ror r8, 0xf
xor r8, r13
ror rax, 0x2f
xor rax, r15
ror rdx, 0x19
add r15, r8
xor rdx, r11
add rcx, rdx
ror r8, 8
mov qword [rsp + 0x10], rcx
add r13, rax
mov rcx, qword [rsp + 8]
xor r8, r15
ror rax, 0x14
add r11, rcx
add r8, r14
ror rcx, 0xa
xor rax, r13
ror rdx, 0x37
xor rdx, qword [rsp + 0x10]
xor rcx, r11
add rax, qword [rsp + 0x38]
add rcx, qword [rsp + 0x28]
add rcx, qword [rsp + 0x50]
mov qword [rsp], r8
lea r8, [r12 + 0xd]
add r8, rdx
mov rdx, rax
mov rax, qword [rsp + 0x30]
add rax, rdx
add qword [rsp + 0x10], rax
ror rdx, 0x19
xor rdx, qword [rsp + 0x10]
mov rax, qword [rsp]
add rax, rsi
add r11, rax
mov rax, qword [rsp]
ror rax, 0x22
xor rax, r11
add r11, rdx
mov qword [rsp], rax
lea rax, [rdi + rcx]
add r15, rax
ror rcx, 0x1e
mov rax, qword [rsp + 0x20]
xor rcx, r15
add rax, rbx
ror rdx, 0x33
add rax, r8
xor rdx, r11
add r13, rax
ror r8, 0x28
mov rax, qword [rsp]
xor r8, r13
add r13, rcx
add r15, r8
ror rcx, 0x36
xor rcx, r13
ror r8, 0xe
xor r8, r15
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x10]
add r15, rdx
add rcx, rax
ror rdx, 0x27
ror rax, 0x2f
add r11, r8
xor rax, rcx
ror r8, 0x15
add rcx, qword [rsp + 8]
add r13, rax
ror qword [rsp + 8], 0x19
xor rdx, r15
xor qword [rsp + 8], rcx
xor r8, r11
add rcx, r8
ror rax, 0x23
xor rax, r13
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 8]
add r15, rax
ror rax, 0x2a
add r13, rdx
xor rax, r15
ror rdx, 0x38
add rax, rdi
ror r8, 0x1d
xor r8, qword [rsp + 0x10]
add r11, rcx
mov qword [rsp], rax
xor rdx, r13
mov rax, qword [rsp + 0x38]
add rdx, rsi
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x40]
ror rcx, 8
add rdx, 0xe
add rdx, r8
xor rcx, r11
mov r8, qword [rsp + 0x18]
add rcx, rbx
add rcx, qword [rsp + 0x20]
add rax, r8
add qword [rsp + 0x10], rax
mov rax, qword [rsp]
add rax, r14
ror r8, 0x12
xor r8, qword [rsp + 0x10]
add r11, rax
mov rax, qword [rsp]
ror rax, 0x1c
xor rax, r11
mov qword [rsp], rax
mov rax, qword [rsp + 0x28]
add r11, r8
add rax, rcx
ror r8, 0x1f
add r15, rax
ror rcx, 0x2d
mov rax, qword [rsp + 0x48]
xor rcx, r15
add rax, r12
xor r8, r11
add rax, rdx
ror rdx, 0x1b
add r13, rax
mov rax, qword [rsp]
xor rdx, r13
add r13, rcx
add r15, rdx
ror rcx, 0x32
xor rcx, r13
ror rdx, 0x25
xor rdx, r15
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x10]
add r11, rdx
add rcx, rax
ror rdx, 0x19
ror rax, 0x16
add r15, r8
xor rax, rcx
ror r8, 0x2f
add rcx, qword [rsp + 8]
add r13, rax
ror qword [rsp + 8], 0x1c
xor rdx, r11
xor qword [rsp + 8], rcx
xor r8, r15
add rcx, rdx
ror rax, 0xf
xor rax, r13
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 8]
add r15, rax
add r13, r8
ror rdx, 0x37
xor rdx, qword [rsp + 0x10]
add r11, rcx
ror rax, 8
xor rax, r15
ror r8, 0x14
add rax, qword [rsp + 0x28]
xor r8, r13
add r8, r14
mov qword [rsp], rax
mov qword [rsp + 0x18], r8
mov r8, qword [rsp + 0x30]
ror rcx, 0xa
add r8, 0xf
add r8, rdx
xor rcx, r11
add rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x18]
add rcx, r12
lea rax, [rsi + rdx]
ror rdx, 0x19
add qword [rsp + 0x10], rax
xor rdx, qword [rsp + 0x10]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp]
lea rax, [rdx + rdi]
ror rdx, 0x22
add r11, rax
mov rax, qword [rsp + 0x20]
add rax, rcx
xor rdx, r11
add r15, rax
ror rcx, 0x1e
lea rax, [r10 + r8]
xor rcx, r15
add r13, rax
ror r8, 0x28
xor r8, r13
mov rax, qword [rsp + 0x10]
add r13, rcx
mov r10, qword [rsp + 0x18]
add rax, rdx
add r11, r10
ror rdx, 0x2f
xor rdx, rax
ror rcx, 0x36
add r15, r8
ror r10, 0x33
xor rcx, r13
ror r8, 0xe
add rax, rcx
add r13, rdx
xor r10, r11
ror rdx, 0x23
xor r8, r15
ror rcx, 0x19
xor rcx, rax
xor rdx, r13
add r15, r10
add r11, r8
ror r10, 0x27
xor r10, r15
ror r8, 0x15
add r15, rdx
xor r8, r11
add rax, r8
ror rdx, 0x2a
xor rdx, r15
mov qword [rsp + 0x10], rax
add rdx, qword [rsp + 0x20]
add r11, rcx
add r13, r10
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x38]
ror rcx, 8
add rdx, 0x10
xor rcx, r11
ror r10, 0x38
add rcx, qword [rsp + 0x50]
xor r10, r13
add rcx, qword [rsp + 0x40]
add r10, rdi
ror r8, 0x1d
xor r8, rax
add rdx, r8
mov r8, qword [rsp + 0x10]
lea rax, [r14 + r10]
ror r10, 0x12
add r8, rax
mov rax, qword [rsp + 0x28]
xor r10, r8
mov qword [rsp + 0x10], r8
mov r8, qword [rsp]
add rax, r8
ror r8, 0x1c
add r11, rax
lea rax, [r12 + rcx]
add r15, rax
ror rcx, 0x2d
mov rax, qword [rsp + 0x30]
xor rcx, r15
add rax, rbx
xor r8, r11
add rax, rdx
add r11, r10
add r13, rax
ror rdx, 0x1b
mov rax, qword [rsp + 0x10]
xor rdx, r13
add r15, rdx
ror r10, 0x1f
add r13, rcx
ror rdx, 0x25
ror rcx, 0x32
xor rdx, r15
xor r10, r11
xor rcx, r13
add rax, r8
ror r8, 0x16
xor r8, rax
add r15, r10
add rax, rcx
ror r10, 0x2f
add r13, r8
ror rcx, 0x1c
xor rcx, rax
ror r8, 0xf
xor r8, r13
add r11, rdx
xor r10, r15
ror rdx, 0x19
xor rdx, r11
add r15, r8
add rax, rdx
ror r8, 8
add r13, r10
ror rdx, 0x37
xor rdx, rax
ror r10, 0x14
add r11, rcx
xor r8, r15
xor r10, r13
ror rcx, 0xa
add r10, qword [rsp + 0x28]
xor rcx, r11
add rcx, rbx
add r8, r12
add rcx, qword [rsp + 0x30]
mov rbx, rax
mov qword [rsp], r8
lea r8, [rdx + 0x11]
mov rdx, qword [rsp]
lea rax, [rdi + r10]
mov rdi, qword [rsp + 0x20]
add r8, rsi
mov rsi, qword [rsp + 0x40]
add rbx, rax
ror r10, 0x19
xor r10, rbx
lea rax, [rdi + rdx]
ror rdx, 0x22
add r11, rax
lea rax, [rsi + rcx]
xor rdx, r11
ror rcx, 0x1e
add r15, rax
add r11, r10
mov rax, qword [rsp + 0x38]
xor rcx, r15
add rax, qword [rsp + 0x48]
add rbx, rdx
add rax, r8
ror r10, 0x33
ror r8, 0x28
add r13, rax
xor r8, r13
ror rdx, 0x2f
add r13, rcx
add r15, r8
xor r10, r11
ror r8, 0xe
xor r8, r15
ror rcx, 0x36
xor rcx, r13
xor rdx, rbx
add r13, rdx
add r15, r10
add rbx, rcx
ror r10, 0x27
add r11, r8
ror rdx, 0x23
xor r10, r15
ror rcx, 0x19
ror r8, 0x15
xor rdx, r13
xor rcx, rbx
add r13, r10
xor r8, r11
mov qword [rsp + 8], rcx
add rbx, r8
mov rax, qword [rsp + 0x28]
add r15, rdx
add rax, rbx
ror r10, 0x38
xor rax, rbp
ror rdx, 0x2a
mov rbp, qword [rsp + 0x48]
xor r10, r13
add r11, rcx
ror r8, 0x1d
mov rcx, qword [rsp + 0x100]
xor rdx, r15
add r10, rdi
xor r8, rbx
xor r10, qword [rsp + 0x70]
add rdx, rsi
xor rdx, qword [rsp + 0x80]
mov qword [rcx + 0x20], rax
lea rax, [r12 + r11]
xor rax, qword [rsp + 0x78]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, r15
mov qword [rcx + 0x28], r10
xor rax, qword [rsp + 0x88]
movabs r10, 0x1bd11bdaa9fc1a22
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 8]
ror rax, 8
xor rax, r11
mov qword [rcx + 0x38], rdx
add rax, rbp
add rax, qword [rsp + 0x38]
xor rax, qword [rsp + 0x90]
mov qword [rcx + 0x48], rax
lea rax, [r9 + r13]
xor rax, qword [rsp + 0x98]
mov r13, qword [rsp + 0x50]
mov r9, qword [rsp + 0x118]
mov qword [rcx + 0x50], rax
lea rax, [r14 + 0x12]
add rax, r8
xor rax, qword [rsp + 0xa0]
mov qword [rcx + 0x58], rax
movabs rax, 0xbfffffffffffffff
and r13, rax
mov rax, qword [rsp + 0x108]
sub qword [rsp + 0x110], 1
mov qword [rsp + 0x50], r13
jne 0x1400a8cf1
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], r13
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret