Function at 0x1400587b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rax, qword [rcx + 0x18]
mov rdi, rdx
mov r15, qword [rcx + 0x10]
movabs rsi, 0x1bd11bdaa9fc1a22
mov qword [rsp + 0x58], rax
nop dword [rax]
movups xmm2, xmmword [rdi]
mov r11, qword [rcx + 0x40]
add r15, r9
movups xmm3, xmmword [rdi + 0x10]
mov rbx, qword [rcx + 0x48]
mov rbp, rax
movups xmm4, xmmword [rdi + 0x20]
mov r14, qword [rcx + 0x58]
mov r13, r11
movups xmm5, xmmword [rdi + 0x30]
mov rdx, qword [rcx + 0x38]
xor r13, rbx
mov r10, qword [rcx + 0x30]
xor rbp, r15
mov r12, qword [rcx + 0x28]
movdqa xmm0, xmm2
mov r9, qword [rcx + 0x50]
movdqa xmm1, xmm3
mov r8, qword [rcx + 0x20]
xor r13, r9
add qword [rsp + 0x128], 0x40
xor r13, r14
psrldq xmm0, 8
xor r13, r12
xor r13, rdx
mov qword [rsp + 0x60], r15
movq rax, xmm0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x90], rax
xor r13, r10
mov qword [rsp + 0x48], r11
xor r13, r8
xor r13, rsi
mov qword [rsp + 0x30], rbx
lea rdi, [rax + r12]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x28], r10
movdqa xmm0, xmm4
psrldq xmm0, 8
psrldq xmm1, 8
movq rax, xmm1
mov qword [rsp + 0x50], r12
mov qword [rsp + 0xa0], rax
lea rsi, [rax + rdx]
movq rax, xmm0
add r15, rax
mov qword [rsp + 0xb0], rax
add r15, rbx
movq rdx, xmm2
mov qword [rsp + 0x88], rdx
movdqa xmm0, xmm5
psrldq xmm0, 8
movq rax, xmm0
mov qword [rsp + 0xc0], rax
add rax, r14
lea r14, [rdx + r8]
movq rdx, xmm3
add r14, rdi
mov qword [rsp + 0x98], rdx
ror rdi, 0x12
xor rdi, r14
lea rbx, [rdx + r10]
movq rdx, xmm4
add rbx, rsi
mov qword [rsp + 0xa8], rdx
ror rsi, 0x1c
xor rsi, rbx
add rbx, rdi
lea r10, [rdx + r11]
mov r11, qword [rsp + 0x58]
add r10, r15
movq rdx, xmm5
add r11, rdx
rol r15, 0x13
add r11, r9
mov qword [rsp + 0xb8], rdx
add r11, rax
xor r15, r10
ror rax, 0x1b
xor rax, r11
ror rdi, 0x1f
add r14, rsi
add r11, r15
add r10, rax
ror rsi, 0x16
xor rsi, r14
rol r15, 0xe
xor r15, r11
rol rax, 0x1b
xor rdi, rbx
xor rax, r10
add r10, rdi
add r11, rsi
add r14, r15
rol rdi, 0x11
xor rdi, r10
ror rsi, 0xf
xor rsi, r11
ror r15, 0x1c
xor r15, r14
add rbx, rax
add r11, rdi
ror rax, 0x19
xor rax, rbx
ror rdi, 0x14
add r10, rsi
add r14, rax
add rbx, r15
ror rsi, 8
xor rdi, r11
ror r15, 0xa
add rdi, qword [rsp + 0x28]
xor rsi, r10
add rsi, qword [rsp + 0x48]
xor r15, rbx
add r15, qword [rsp + 0x58]
rol rax, 9
add r15, r9
xor rax, r14
lea rdx, [rax + 1]
lea rax, [r12 + rdi]
add rdx, r13
mov r12, qword [rsp + 0x38]
add r14, rax
mov rax, qword [rsp + 0x40]
add r12, rbp
add rax, rsi
ror rdi, 0x19
xor rdi, r14
rol rsi, 0x1e
add rbx, rax
mov rax, qword [rsp + 0x30]
add rax, r15
xor rsi, rbx
add r14, rsi
ror r15, 0x1e
add r10, rax
rol rsi, 0x11
xor r15, r10
lea rax, [r12 + rdx]
add rbx, rdi
rol rdx, 0x18
xor rsi, r14
rol rdi, 0xd
add r11, rax
xor rdi, rbx
xor rdx, r11
add r11, r15
add r10, rdx
rol r15, 0xa
xor r15, r11
ror rdx, 0xe
add r11, rsi
xor rdx, r10
add r10, rdi
rol rsi, 0x1d
rol rdi, 0x19
add r14, r15
xor rdi, r10
ror r15, 0x19
xor rsi, r11
xor r15, r14
mov rax, qword [rsp + 0x28]
add r11, rdi
add r10, rsi
rol rdi, 8
xor rdi, r11
rol rsi, 0x16
add rdi, qword [rsp + 0x40]
xor rsi, r10
add rsi, qword [rsp + 0x30]
add rax, rdi
add rbx, rdx
ror rdi, 0x12
add r8, 2
ror rdx, 0x15
xor rdx, rbx
add rbx, r15
add r14, rdx
ror r15, 8
xor r15, rbx
ror rdx, 0x1d
xor rdx, r14
add r15, rbp
add r15, qword [rsp + 0x38]
add r14, rax
xor rdi, r14
add r8, rdx
mov rdx, qword [rsp + 0x48]
lea rax, [rdx + rsi]
ror rsi, 0x1c
add rbx, rax
lea rax, [r9 + r15]
add r10, rax
rol r15, 0x13
xor rsi, rbx
xor r15, r10
add rbx, rdi
mov qword [rsp], r15
mov r15, qword [rsp + 0x60]
add r14, rsi
ror rdi, 0x1f
add r15, r13
xor rdi, rbx
ror rsi, 0x16
xor rsi, r14
lea rax, [r15 + r8]
ror r8, 0x1b
add r11, rax
mov rax, qword [rsp]
xor r8, r11
add r11, rax
add r10, r8
rol rax, 0xe
xor rax, r11
rol r8, 0x1b
add r14, rax
add r11, rsi
xor r8, r10
ror rax, 0x1c
add r10, rdi
ror rsi, 0xf
xor rax, r14
rol rdi, 0x11
xor rdi, r10
xor rsi, r11
add rbx, r8
add r11, rdi
add r10, rsi
ror rdi, 0x14
ror rsi, 8
xor rdi, r11
ror r8, 0x19
xor rsi, r10
xor r8, rbx
add rdi, rdx
add rbx, rax
add r14, r8
ror rax, 0xa
add rsi, r9
xor rax, rbx
add rax, r13
add rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov qword [rsp], rax
add rdx, 3
mov rax, qword [rsp + 0x40]
add rax, rdi
rol r8, 9
xor r8, r14
ror rdi, 0x19
add r14, rax
add rdx, r8
mov r8, qword [rsp]
xor rdi, r14
mov rax, qword [rsp + 0x30]
add rax, rsi
mov qword [rsp + 8], r14
mov r14, qword [rsp + 0x58]
add rbx, rax
add r14, qword [rcx + 0x20]
mov rax, qword [rsp + 0x38]
add rax, r8
rol rsi, 0x1e
add r10, rax
mov qword [rsp + 0x70], r14
lea rax, [r14 + rdx]
ror r8, 0x1e
xor rsi, rbx
rol rdx, 0x18
add r11, rax
add rbx, rdi
mov rax, qword [rsp + 8]
xor rdx, r11
add rax, rsi
rol rdi, 0xd
xor r8, r10
rol rsi, 0x11
add r10, rdx
xor rsi, rax
xor rdi, rbx
ror rdx, 0xe
xor rdx, r10
add r11, r8
add rbx, rdx
add r10, rdi
ror rdx, 0x15
mov r14, r8
mov r8, qword [rsp + 0x28]
xor rdx, rbx
rol r14, 0xa
add r8, 4
xor r14, r11
rol rdi, 0x19
add rax, r14
add r11, rsi
xor rdi, r10
ror r14, 0x19
xor r14, rax
rol rsi, 0x1d
add rax, rdx
xor rsi, r11
add rbx, r14
ror rdx, 0x1d
xor rdx, rax
ror r14, 8
add r11, rdi
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x48]
add r10, rsi
rol rdi, 8
xor r14, rbx
add r14, qword [rsp + 0x58]
add r8, rdx
mov rdx, qword [rsp + 8]
xor rdi, r11
add rdi, qword [rsp + 0x30]
add r14, qword [rcx + 0x20]
add rax, rdi
rol rsi, 0x16
add rdx, rax
xor rsi, r10
add rsi, qword [rsp + 0x38]
ror rdi, 0x12
xor rdi, rdx
lea rax, [r9 + rsi]
add rbx, rax
ror rsi, 0x1c
lea rax, [r14 + r13]
xor rsi, rbx
add r10, rax
rol r14, 0x13
xor r14, r10
mov qword [rsp + 0x120], rsi
mov rsi, qword [rsp + 0x50]
add rbx, rdi
ror rdi, 0x1f
add rsi, rbp
xor rdi, rbx
lea rax, [rsi + r8]
ror r8, 0x1b
add r11, rax
xor r8, r11
add r11, r14
rol r14, 0xe
add r10, r8
xor r14, r11
rol r8, 0x1b
mov qword [rsp], r14
xor r8, r10
mov rax, qword [rsp]
add r10, rdi
mov r14, qword [rsp + 0x120]
add rbx, r8
add rdx, r14
rol rdi, 0x11
xor rdi, r10
ror r14, 0x16
xor r14, rdx
ror r8, 0x19
add rdx, rax
add r11, r14
ror rax, 0x1c
xor r8, rbx
xor rax, rdx
ror r14, 0xf
add rbx, rax
add rdx, r8
ror rax, 0xa
xor r14, r11
xor rax, rbx
rol r8, 9
add rax, rbp
mov qword [rsp + 8], rdx
add rax, qword [rsp + 0x50]
add r11, rdi
mov qword [rsp], rax
add r10, r14
mov rax, qword [rsp + 0x30]
xor r8, rdx
mov rdx, qword [rsp + 0x40]
ror rdi, 0x14
add rdx, 5
xor rdi, r11
ror r14, 8
add rdi, r9
xor r14, r10
add rax, rdi
add r14, r13
add rdx, r8
ror rdi, 0x19
mov r8, qword [rsp + 8]
add r8, rax
mov rax, qword [rsp + 0x38]
add rax, r14
xor rdi, r8
add rbx, rax
mov qword [rsp + 0x10], rdi
mov rdi, qword [rsp]
mov rax, qword [rcx + 0x20]
add rax, rdi
rol r14, 0x1e
add r10, rax
xor r14, rbx
ror rdi, 0x1e
xor rdi, r10
add r8, r14
mov qword [rsp], rdi
mov rdi, qword [rsp + 0x60]
add rdi, qword [rsp + 0x28]
mov qword [rsp + 0x78], rdi
rol r14, 0x11
xor r14, r8
lea rax, [rdi + rdx]
mov rdi, qword [rsp]
add r11, rax
rol rdx, 0x18
mov rax, qword [rsp + 0x10]
xor rdx, r11
add rbx, rax
add r10, rdx
add r11, rdi
rol rax, 0xd
xor rax, rbx
ror rdx, 0xe
xor rdx, r10
rol rdi, 0xa
add r10, rax
xor rdi, r11
add r8, rdi
rol rax, 0x19
xor rax, r10
ror rdi, 0x19
xor rdi, r8
add rbx, rdx
add r11, r14
ror rdx, 0x15
xor rdx, rbx
rol r14, 0x1d
add r8, rdx
add rbx, rdi
xor r14, r11
ror rdx, 0x1d
add r11, rax
mov qword [rsp + 8], r8
xor rdx, r8
rol rax, 8
mov r8, qword [rsp + 0x48]
xor rax, r11
add rax, qword [rsp + 0x38]
add r10, r14
ror rdi, 8
add r8, 6
add r8, rdx
rol r14, 0x16
mov rdx, rax
xor rdi, rbx
add rdi, qword [rsp + 0x28]
add rax, r9
add qword [rsp + 8], rax
xor r14, r10
add r14, qword [rcx + 0x20]
add rdi, qword [rsp + 0x60]
ror rdx, 0x12
xor rdx, qword [rsp + 8]
lea rax, [r14 + r13]
ror r14, 0x1c
add rbx, rax
mov rax, qword [rsp + 0x50]
add rax, rdi
mov qword [rsp + 0x18], rbx
add r10, rax
rol rdi, 0x13
xor r14, rbx
xor rdi, r10
mov rbx, qword [rsp + 0x58]
add rbx, qword [rsp + 0x40]
mov qword [rsp + 0x80], rbx
lea rax, [rbx + r8]
ror r8, 0x1b
add r11, rax
mov rax, qword [rsp + 0x18]
add rax, rdx
xor r8, r11
ror rdx, 0x1f
xor rdx, rax
add r11, rdi
add r10, r8
rol rdi, 0xe
xor rdi, r11
rol r8, 0x1b
xor r8, r10
mov qword [rsp], rdi
mov rdi, qword [rsp + 8]
add rax, r8
mov rbx, qword [rsp]
add rdi, r14
add r10, rdx
ror r8, 0x19
xor r8, rax
ror r14, 0x16
xor r14, rdi
rol rdx, 0x11
add r11, r14
xor rdx, r10
add rdi, rbx
ror r14, 0xf
xor r14, r11
ror rbx, 0x1c
add r11, rdx
xor rbx, rdi
add rdi, r8
ror rdx, 0x14
add rax, rbx
mov qword [rsp + 8], rdi
xor rdx, r11
mov qword [rsp + 0x18], rax
rol r8, 9
add r10, r14
add rdx, r13
ror r14, 8
mov qword [rsp + 0x10], rdx
xor r14, r10
add r14, qword [rsp + 0x50]
mov rdi, rbx
mov rdx, qword [rsp + 0x30]
ror rdi, 0xa
add rdx, 7
xor rdi, rax
mov qword [rsp + 0x20], r11
add rdi, qword [rsp + 0x58]
add rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 8]
mov rax, qword [rsp + 0x38]
xor r8, r11
add rdx, r8
mov r8, qword [rsp + 0x10]
add rax, r8
ror r8, 0x19
add r11, rax
mov rax, qword [rcx + 0x20]
add rax, r14
mov qword [rsp + 8], r11
xor r8, r11
rol r14, 0x1e
mov r11, qword [rsp + 0x48]
mov qword [rsp + 0x10], r8
add r11, rbp
mov r8, qword [rsp + 0x18]
add r8, rax
mov rax, qword [rsp + 0x28]
add rax, rdi
mov qword [rsp + 0x18], r8
add r10, rax
ror rdi, 0x1e
xor r14, r8
lea rax, [r11 + rdx]
mov r8, qword [rsp + 0x20]
xor rdi, r10
add r8, rax
mov qword [rsp + 0x120], r14
mov r14, qword [rsp + 0x10]
mov rax, qword [rsp + 0x18]
rol rdx, 0x18
add rax, r14
xor rdx, r8
rol r14, 0xd
xor r14, rax
add r8, rdi
add r10, rdx
rol rdi, 0xa
xor rdi, r8
ror rdx, 0xe
xor rdx, r10
mov qword [rsp], rdi
mov rdi, qword [rsp + 8]
add rax, rdx
add rdi, qword [rsp + 0x120]
add r10, r14
rol qword [rsp + 0x120], 0x11
xor qword [rsp + 0x120], rdi
add r8, qword [rsp + 0x120]
rol qword [rsp + 0x120], 0x1d
xor qword [rsp + 0x120], r8
mov rbx, qword [rsp]
rol r14, 0x19
add rdi, rbx
xor r14, r10
ror rdx, 0x15
add r10, qword [rsp + 0x120]
xor rdx, rax
add r8, r14
ror rbx, 0x19
xor rbx, rdi
rol r14, 8
add rdi, rdx
mov qword [rsp + 0x20], r8
xor r14, r8
mov qword [rsp + 8], rdi
add rax, rbx
mov qword [rsp + 0x10], r14
mov r14, qword [rsp + 0x120]
lea r8, [r9 + 8]
mov qword [rsp + 0x18], rax
mov rdi, rbx
mov rbx, qword [rcx + 0x20]
add qword [rsp + 0x10], rbx
ror rdx, 0x1d
xor rdx, qword [rsp + 8]
add r8, rdx
rol r14, 0x16
mov rdx, qword [rsp + 0x10]
xor r14, r10
add r14, qword [rsp + 0x28]
ror rdi, 8
xor rdi, rax
lea rax, [rdx + r13]
add rdi, rbp
add qword [rsp + 8], rax
add rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
add rax, r14
ror rdx, 0x12
xor rdx, qword [rsp + 8]
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x18]
add rdx, rax
ror r14, 0x1c
mov rax, qword [rsp + 0x40]
xor r14, rdx
add rax, rdi
mov qword [rsp + 0x120], r14
mov r14, qword [rsp + 0x10]
add r10, rax
add rdx, r14
rol rdi, 0x13
xor rdi, r10
mov qword [rsp + 0x68], r10
mov r10, qword [rsp + 0x60]
add r10, qword [rsp + 0x30]
ror r14, 0x1f
mov qword [rsp + 0x18], rdx
lea rax, [r10 + r8]
ror r8, 0x1b
add qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
xor r8, rax
xor r14, rdx
mov rdx, qword [rsp + 0x68]
add rax, rdi
add r9, qword [rsp + 0x58]
add rdx, r8
rol rdi, 0xe
xor rdi, rax
rol r8, 0x1b
xor r8, rdx
mov qword [rsp], rdi
add qword [rsp + 0x18], r8
add rdx, r14
mov rdi, qword [rsp + 8]
add rdi, qword [rsp + 0x120]
ror qword [rsp + 0x120], 0x16
xor qword [rsp + 0x120], rdi
add rax, qword [rsp + 0x120]
ror qword [rsp + 0x120], 0xf
xor qword [rsp + 0x120], rax
mov rbx, qword [rsp]
rol r14, 0x11
add rdi, rbx
xor r14, rdx
ror r8, 0x19
xor r8, qword [rsp + 0x18]
add rax, r14
add rdx, qword [rsp + 0x120]
mov qword [rsp + 0x20], rax
ror r14, 0x14
xor r14, rax
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x10], r14
add qword [rsp + 0x10], rax
mov r14, qword [rsp + 0x120]
mov rax, qword [rcx + 0x20]
ror r14, 8
xor r14, rdx
ror rbx, 0x1c
add r14, qword [rsp + 0x40]
xor rbx, rdi
add qword [rsp + 0x18], rbx
add rdi, r8
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 8], rdi
add rdx, 9
rol r8, 9
mov rdi, rbx
xor r8, qword [rsp + 8]
add rdx, r8
ror rdi, 0xa
xor rdi, qword [rsp + 0x18]
add rdi, qword [rsp + 0x30]
add rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x10]
add rax, r8
ror r8, 0x19
add qword [rsp + 8], rax
xor r8, qword [rsp + 8]
mov rax, qword [rsp + 0x28]
add rax, r14
mov qword [rsp + 0x10], r8
mov r8, qword [rsp + 0x18]
add r8, rax
rol r14, 0x1e
mov rax, qword [rsp + 0x48]
xor r14, r8
add rax, rdi
mov qword [rsp + 0x18], r8
mov r8, qword [rsp + 0x68]
add r8, rax
mov qword [rsp + 0x120], r14
mov r14, qword [rsp + 0x10]
lea rax, [r9 + rdx]
add qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
add qword [rsp + 0x18], r14
ror rdi, 0x1e
rol rdx, 0x18
xor rdi, r8
xor rdx, rax
rol r14, 0xd
xor r14, qword [rsp + 0x18]
add rax, rdi
add r8, rdx
rol rdi, 0xa
xor rdi, rax
ror rdx, 0xe
xor rdx, r8
mov qword [rsp], rdi
add qword [rsp + 0x18], rdx
add r8, r14
mov rbx, qword [rsp]
mov rdi, qword [rsp + 8]
add rdi, qword [rsp + 0x120]
rol qword [rsp + 0x120], 0x11
xor qword [rsp + 0x120], rdi
add rdi, rbx
add rax, qword [rsp + 0x120]
rol qword [rsp + 0x120], 0x1d
xor qword [rsp + 0x120], rax
rol r14, 0x19
xor r14, r8
ror rdx, 0x15
xor rdx, qword [rsp + 0x18]
add rax, r14
add r8, qword [rsp + 0x120]
rol r14, 8
mov qword [rsp + 0x20], rax
xor rax, r14
add rax, qword [rsp + 0x28]
mov r14, qword [rsp + 0x120]
mov qword [rsp + 0x10], rax
add rax, qword [rsp + 0x50]
rol r14, 0x16
xor r14, r8
ror rbx, 0x19
add r14, qword [rsp + 0x48]
xor rbx, rdi
add qword [rsp + 0x18], rbx
add rdi, rdx
ror rdx, 0x1d
xor rdx, rdi
ror rbx, 8
xor rbx, qword [rsp + 0x18]
add rdi, rax
add rbx, qword [rsp + 0x58]
add rdx, 0xa
add rbx, qword [rcx + 0x50]
add rdx, r13
mov rax, qword [rsp + 0x10]
ror rax, 0x12
xor rax, rdi
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x40]
add rax, r14
ror r14, 0x1c
add qword [rsp + 0x18], rax
xor r14, qword [rsp + 0x18]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x120], r14
add rax, rbx
add r8, rax
mov r14, rbx
lea rax, [r12 + rdx]
rol r14, 0x13
mov r12, qword [rsp + 0x20]
xor r14, r8
add r12, rax
ror rdx, 0x1b
mov rax, qword [rsp + 0x18]
xor rdx, r12
mov qword [rsp], r14
add r8, rdx
mov r14, qword [rsp + 0x10]
mov rbx, qword [rsp]
add rax, r14
ror r14, 0x1f
add r12, rbx
rol rdx, 0x1b
xor r14, rax
xor rdx, r8
rol rbx, 0xe
add rdi, qword [rsp + 0x120]
add rax, rdx
ror qword [rsp + 0x120], 0x16
add r8, r14
xor qword [rsp + 0x120], rdi
xor rbx, r12
add r12, qword [rsp + 0x120]
add rdi, rbx
ror qword [rsp + 0x120], 0xf
xor qword [rsp + 0x120], r12
ror rdx, 0x19
xor rdx, rax
rol r14, 0x11
xor r14, r8
ror rbx, 0x1c
add r8, qword [rsp + 0x120]
add r12, r14
xor rbx, rdi
mov qword [rsp + 0x68], r8
add rdi, rdx
ror r14, 0x14
mov qword [rsp + 8], rdi
add rax, rbx
rol rdx, 9
mov rdi, rbx
xor rdx, qword [rsp + 8]
mov qword [rsp + 0x18], rax
ror rdi, 0xa
xor rdi, rax
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x28]
xor r12, r14
add r12, qword [rsp + 0x40]
add rdi, rbp
add rdi, qword [rsp + 0x38]
add rax, r12
mov r14, qword [rsp + 0x120]
ror r14, 8
xor r14, r8
ror r12, 0x19
add r14, qword [rsp + 0x30]
mov r8, qword [rcx + 0x20]
add r8, 0xb
add r8, rdx
mov rdx, qword [rsp + 8]
add rdx, rax
mov rax, qword [rsp + 0x48]
xor r12, rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x18]
add rax, r14
add rdx, rax
mov qword [rsp + 0x10], r12
mov r12, qword [rcx + 0x50]
mov qword [rsp + 0x18], rdx
rol r14, 0x1e
xor r14, rdx
mov rdx, qword [rsp + 0x68]
lea rax, [r12 + rdi]
ror rdi, 0x1e
add rdx, rax
lea rax, [r15 + r8]
mov r15, qword [rsp + 0x10]
xor rdi, rdx
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x20]
add rdx, rax
rol r8, 0x18
mov rax, qword [rsp + 0x18]
xor r8, rdx
add rax, r15
add rdx, rdi
rol r15, 0xd
xor r15, rax
rol rdi, 0xa
mov qword [rsp + 0x10], r15
mov r15, qword [rsp + 0x68]
add r15, r8
ror r8, 0xe
xor r8, r15
xor rdi, rdx
add rax, r8
mov qword [rsp], rdi
mov rdi, qword [rsp + 8]
mov rbx, qword [rsp]
add rdi, r14
rol r14, 0x11
xor r14, rdi
ror r8, 0x15
xor r8, rax
mov qword [rsp + 0x120], r14
add rdx, qword [rsp + 0x120]
add rdi, rbx
mov r14, qword [rsp + 0x10]
rol qword [rsp + 0x120], 0x1d
add r15, r14
xor qword [rsp + 0x120], rdx
rol r14, 0x19
xor r14, r15
ror rbx, 0x19
add r15, qword [rsp + 0x120]
add rdx, r14
rol r14, 8
xor rbx, rdi
xor r14, rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x48]
add rdi, r8
add rax, rbx
mov qword [rsp + 8], rdi
mov qword [rsp + 0x18], rax
mov rdi, rbx
mov qword [rsp + 0x10], r14
add qword [rsp + 0x10], rdx
mov r14, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x50]
ror r8, 0x1d
add rdx, 0xc
xor r8, qword [rsp + 8]
add rdx, r8
rol r14, 0x16
mov r8, qword [rsp + 0x10]
xor r14, r15
ror rdi, 8
add r14, r12
xor rdi, rax
mov rax, qword [rsp + 0x40]
add rax, r8
add rdi, r13
add qword [rsp + 8], rax
add rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
add rax, r14
ror r8, 0x12
xor r8, qword [rsp + 8]
ror r14, 0x1c
mov qword [rsp + 0x10], r8
mov r8, qword [rsp + 0x18]
add r8, rax
mov rax, qword [rsp + 0x38]
add rax, rdi
xor r14, r8
add r15, rax
mov qword [rsp + 0x120], r14
mov rax, qword [rsp + 0x70]
mov r14, qword [rsp + 0x20]
add rax, rdx
add r14, rax
ror rdx, 0x1b
mov rax, qword [rsp + 0x10]
xor rdx, r14
rol rdi, 0x13
add r8, rax
xor rdi, r15
ror rax, 0x1f
add r15, rdx
add r14, rdi
rol rdx, 0x1b
xor rax, r8
xor rdx, r15
rol rdi, 0xe
xor rdi, r14
add r15, rax
mov qword [rsp], rdi
mov rdi, qword [rsp + 8]
add r8, rdx
add rdi, qword [rsp + 0x120]
ror qword [rsp + 0x120], 0x16
xor qword [rsp + 0x120], rdi
add r14, qword [rsp + 0x120]
ror qword [rsp + 0x120], 0xf
xor qword [rsp + 0x120], r14
mov rbx, qword [rsp]
rol rax, 0x11
add rdi, rbx
xor rax, r15
ror rdx, 0x19
add r15, qword [rsp + 0x120]
add r14, rax
ror qword [rsp + 0x120], 8
xor rdx, r8
xor qword [rsp + 0x120], r15
ror rax, 0x14
xor rax, r14
ror rbx, 0x1c
add rax, qword [rsp + 0x30]
xor rbx, rdi
add rdi, rdx
mov qword [rsp + 0x10], rax
add rax, qword [rsp + 0x48]
add r8, rbx
mov qword [rsp + 8], rdi
mov rdi, rbx
mov rbx, qword [rsp + 0x38]
add qword [rsp + 0x120], rbx
ror rdi, 0xa
xor rdi, r8
mov qword [rsp + 0x18], r8
add rdi, qword [rsp + 0x58]
add rdi, qword [rcx + 0x20]
mov r8, qword [rsp + 0x28]
rol rdx, 9
add r8, 0xd
xor rdx, qword [rsp + 8]
add r8, rdx
mov rdx, qword [rsp + 8]
add rdx, rax
mov rax, qword [rsp + 0x10]
ror rax, 0x19
xor rax, rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x120]
add rax, r12
add rdx, rax
mov rax, qword [rsp + 0x120]
rol rax, 0x1e
xor rax, rdx
mov qword [rsp + 0x120], rax
lea rax, [rdi + r13]
add r15, rax
ror rdi, 0x1e
lea rax, [rsi + r8]
xor rdi, r15
add r14, rax
rol r8, 0x18
mov rax, qword [rsp + 0x10]
xor r8, r14
add r14, rdi
add r15, r8
rol rdi, 0xa
xor rdi, r14
ror r8, 0xe
lea rsi, [rax + rdx]
mov qword [rsp], rdi
mov rdx, qword [rsp + 0x120]
xor r8, r15
mov rdi, qword [rsp + 8]
rol rax, 0xd
add rdi, rdx
xor rax, rsi
rol rdx, 0x11
mov rbx, qword [rsp]
xor rdx, rdi
add r15, rax
add r14, rdx
rol rax, 0x19
add rsi, r8
xor rax, r15
rol rdx, 0x1d
xor rdx, r14
ror r8, 0x15
add r14, rax
add rdi, rbx
rol rax, 8
add r15, rdx
xor rax, r14
rol rdx, 0x16
add rax, r12
ror rbx, 0x19
mov qword [rsp + 0x10], rax
xor r8, rsi
add rax, qword [rsp + 0x30]
xor rbx, rdi
add rdi, r8
xor rdx, r15
mov qword [rsp + 8], rdi
add rdx, r13
ror r8, 0x1d
add rsi, rbx
xor r8, qword [rsp + 8]
mov rdi, rbx
ror rdi, 8
xor rdi, rsi
mov qword [rsp + 0x120], rdx
mov rdx, qword [rsp + 0x40]
add rdi, rbp
add rdi, qword [rsp + 0x50]
add rdx, 0xe
add rdx, r8
mov r8, qword [rsp + 8]
add r8, rax
mov rax, qword [rsp + 0x10]
ror rax, 0x12
xor rax, r8
mov qword [rsp + 8], r8
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x38]
add rax, r8
ror r8, 0x1c
add rsi, rax
mov rax, qword [rcx + 0x20]
add rax, rdi
xor r8, rsi
add r15, rax
rol rdi, 0x13
mov rax, qword [rsp + 0x78]
xor rdi, r15
add rax, rdx
mov qword [rsp], rdi
mov rdi, qword [rsp + 0x10]
add r14, rax
mov rax, qword [rsp]
add rsi, rdi
ror rdx, 0x1b
xor rdx, r14
ror rdi, 0x1f
add r14, rax
add r15, rdx
rol rax, 0xe
xor rdi, rsi
xor rax, r14
rol rdx, 0x1b
mov qword [rsp], rax
xor rdx, r15
mov rax, qword [rsp + 8]
add r15, rdi
add rax, r8
rol rdi, 0x11
ror r8, 0x16
xor r8, rax
xor rdi, r15
mov rbx, qword [rsp]
add r14, r8
add rsi, rdx
ror r8, 0xf
xor r8, r14
ror rdx, 0x19
xor rdx, rsi
add r15, r8
add rax, rbx
ror r8, 8
xor r8, r15
ror rbx, 0x1c
add r8, qword [rcx + 0x20]
xor rbx, rax
add rax, rdx
mov qword [rsp + 0x120], r8
rol rdx, 9
add r14, rdi
xor rdx, rax
mov qword [rsp + 8], rax
add rsi, rbx
ror rdi, 0x14
xor rdi, r14
mov r8, rbx
add rdi, qword [rsp + 0x38]
ror r8, 0xa
xor r8, rsi
add r8, qword [rsp + 0x28]
add r8, qword [rsp + 0x60]
lea rax, [r12 + rdi]
mov qword [rsp], r8
mov r8, qword [rsp + 0x48]
add r8, 0xf
ror rdi, 0x19
add r8, rdx
mov rdx, qword [rsp + 8]
add rdx, rax
xor rdi, rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x120]
lea rax, [rdx + r13]
rol rdx, 0x1e
add rsi, rax
mov rax, qword [rsp + 0x50]
xor rdx, rsi
add rsi, rdi
mov qword [rsp + 0x120], rdx
mov rdx, qword [rsp]
mov rbx, qword [rsp + 0x120]
add rax, rdx
add r15, rax
ror rdx, 0x1e
mov rax, qword [rsp + 0x80]
xor rdx, r15
add rax, r8
rol rdi, 0xd
add r14, rax
rol r8, 0x18
mov rax, qword [rsp + 8]
xor r8, r14
add r14, rdx
add rax, rbx
xor rdi, rsi
rol rdx, 0xa
xor rdx, r14
rol rbx, 0x11
xor rbx, rax
add r15, r8
add r14, rbx
ror r8, 0xe
xor r8, r15
rol rbx, 0x1d
add r15, rdi
add rax, rdx
rol rdi, 0x19
xor rbx, r14
ror rdx, 0x19
xor rdi, r15
xor rdx, rax
add rsi, r8
ror r8, 0x15
xor r8, rsi
add r14, rdi
add rax, r8
rol rdi, 8
add rsi, rdx
ror r8, 0x1d
xor r8, rax
ror rdx, 8
add r15, rbx
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x38]
xor rdx, rsi
add rdx, qword [rsp + 0x58]
xor rdi, r14
add rdx, qword [rsp + 0x40]
add rdi, r13
add rax, rdi
rol rbx, 0x16
xor rbx, r15
mov qword [rsp], rdx
add rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x30]
ror rdi, 0x12
add rdx, 0x10
add rdx, r8
mov r8, qword [rsp + 8]
add r8, rax
mov rax, qword [rcx + 0x20]
xor rdi, r8
mov qword [rsp + 8], r8
mov r8, qword [rsp]
add rax, rbx
ror rbx, 0x1c
add rsi, rax
mov rax, qword [rsp + 0x28]
xor rbx, rsi
add rax, r8
add rsi, rdi
rol r8, 0x13
add r15, rax
lea rax, [r11 + rdx]
ror rdi, 0x1f
mov r11, qword [rsp + 8]
xor r8, r15
add r11, rbx
ror rdx, 0x1b
xor rdi, rsi
ror rbx, 0x16
xor rbx, r11
add r14, rax
xor rdx, r14
add r14, r8
add r15, rdx
rol r8, 0xe
xor r8, r14
rol rdx, 0x1b
add r14, rbx
xor rdx, r15
add r15, rdi
ror rbx, 0xf
xor rbx, r14
rol rdi, 0x11
xor rdi, r15
add r11, r8
add r14, rdi
ror r8, 0x1c
add rsi, rdx
ror rdi, 0x14
add r15, rbx
ror rdx, 0x19
xor r8, r11
ror rbx, 8
xor rdx, rsi
xor rdi, r14
add rdi, qword [rcx + 0x20]
xor rbx, r15
add rbx, qword [rsp + 0x28]
add rsi, r8
add r11, rdx
ror r8, 0xa
xor r8, rsi
add rbp, r8
rol rdx, 9
add rbp, qword [rsp + 0x48]
lea rax, [rdi + r13]
ror rdi, 0x19
lea r8, [r12 + 0x11]
mov r12, qword [rsp + 0x40]
xor rdx, r11
add r11, rax
add r8, rdx
mov rdx, qword [rsp + 0x50]
xor rdi, r11
lea rax, [rdx + rbx]
rol rbx, 0x1e
add rsi, rax
lea rax, [r12 + rbp]
add r15, rax
ror rbp, 0x1e
xor rbp, r15
lea rax, [r10 + r8]
add r14, rax
rol r8, 0x18
mov rax, qword [rcx + 0x20]
xor rbx, rsi
add rsi, rdi
add r11, rbx
xor r8, r14
rol rdi, 0xd
add r14, rbp
rol rbx, 0x11
xor rdi, rsi
rol rbp, 0xa
xor rbp, r14
xor rbx, r11
add r15, r8
add r11, rbp
add r14, rbx
ror rbp, 0x19
xor rbp, r11
rol rbx, 0x1d
xor rbx, r14
ror r8, 0xe
xor r8, r15
add r15, rdi
rol rdi, 0x19
add rsi, r8
xor rdi, r15
ror r8, 0x15
add r15, rbx
add r14, rdi
rol rdi, 8
xor r8, rsi
add rsi, rbp
rol rbx, 0x16
ror rbp, 8
xor rbx, r15
xor rdi, r14
xor rbp, rsi
add rbp, qword [rsp + 0x30]
add r11, r8
add rax, r11
add rdi, rdx
xor rax, qword [rsp + 0x88]
add rbx, r12
xor rdi, qword [rsp + 0x90]
xor rbx, qword [rsp + 0xa0]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0x28]
add rax, rsi
mov qword [rcx + 0x28], rdi
xor rax, qword [rsp + 0x98]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x48]
add rax, r15
mov qword [rcx + 0x38], rbx
xor rax, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x60]
add rbp, r15
mov qword [rcx + 0x40], rax
xor rbp, qword [rsp + 0xb0]
mov qword [rcx + 0x48], rbp
mov rdi, qword [rsp + 0x128]
lea rax, [r9 + r14]
xor rax, qword [rsp + 0xb8]
movabs rdx, 0xbfffffffffffffff
mov r9, qword [rsp + 0x138]
movabs rsi, 0x1bd11bdaa9fc1a22
mov qword [rcx + 0x50], rax
mov rax, qword [rsp + 0x38]
add rax, 0x12
ror r8, 0x1d
xor r8, r11
add rax, r8
xor rax, qword [rsp + 0xc0]
mov qword [rcx + 0x58], rax
mov rax, qword [rsp + 0x58]
and rax, rdx
sub qword [rsp + 0x130], 1
mov qword [rsp + 0x58], rax
jne 0x1400587f0
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], rax
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret