Function at 0x52b5d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1b8
movdqu xmm0, xmmword [0x00602d50]
mov rax, qword [rcx + 0x28]
mov r10, qword [rcx]
mov r12, qword [rcx + 0x50]
movups xmmword [rsp + 0xf0], xmm0
movdqu xmm0, xmmword [0x00602d60]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + 0x78]
movups xmmword [rsp + 0x100], xmm0
movdqu xmm0, xmmword [0x00602d70]
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0xa0]
movups xmmword [rsp + 0x110], xmm0
movdqu xmm0, xmmword [0x00602d80]
mov qword [rsp + 0x200], rcx
movups xmmword [rsp + 0x120], xmm0
movdqu xmm0, xmmword [0x00602d90]
movups xmmword [rsp + 0x130], xmm0
movdqu xmm0, xmmword [0x00602da0]
movups xmmword [rsp + 0x140], xmm0
movdqu xmm0, xmmword [0x00602db0]
movups xmmword [rsp + 0x150], xmm0
movdqu xmm0, xmmword [0x00602dc0]
movups xmmword [rsp + 0x160], xmm0
movdqu xmm0, xmmword [0x00602dd0]
movups xmmword [rsp + 0x170], xmm0
movdqu xmm0, xmmword [0x00602de0]
movups xmmword [rsp + 0x180], xmm0
movdqu xmm0, xmmword [0x00602df0]
movups xmmword [rsp + 0x190], xmm0
movdqu xmm0, xmmword [0x00602e00]
movups xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x90], rax
mov rsi, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x20]
mov rax, qword [rcx + 8]
mov qword [rsp + 0x20], rsi
mov rsi, qword [rcx + 0x38]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rcx + 0x48]
mov qword [rsp + 0x48], rsi
mov rsi, qword [rcx + 0x60]
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x68], rsi
mov rsi, qword [rcx + 0xb0]
mov qword [rsp + 0x58], rbx
mov rbx, qword [rcx + 0x70]
mov qword [rsp + 0x98], rsi
mov rsi, qword [rcx + 0x18]
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x28], rsi
mov rsi, qword [rcx + 0x40]
mov qword [rsp + 0x78], rbx
mov rbx, qword [rcx + 0x98]
mov qword [rsp + 0x50], rsi
mov rsi, qword [rcx + 0x68]
mov qword [rsp + 0x60], rax
mov rdi, qword [rcx + 0x88]
mov qword [rsp + 0x70], rsi
mov rax, qword [rcx + 0xa8]
mov rbp, qword [rcx + 0x80]
mov r13, qword [rcx + 0x90]
mov r11, rdi
mov rsi, qword [rcx + 0xb8]
mov qword [rsp + 0x88], rbx
lea rbx, [rsp + 0xf0]
mov qword [rsp + 0xa0], rbx
lea rbx, [rsp + 0x1b0]
mov r15, qword [rcx + 0xc0]
mov qword [rsp + 0xe8], rbx
mov r14, r15
mov r15, r10
mov r10, rax
nop word cs:[rax + rax]
mov r9, qword [rsp + 0x18]
xor r9, qword [rsp + 0x40]
xor r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x20]
xor r9, rbp
xor rax, qword [rsp + 0x48]
xor rax, qword [rsp + 0x68]
xor r9, r10
xor rax, r11
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
xor rax, qword [rsp + 0x98]
mov r8, r9
xor rdx, qword [rsp + 0x50]
mov rcx, rax
mov rax, qword [rsp + 0x30]
xor rax, qword [rsp + 0x58]
rol r8, 1
xor rax, qword [rsp + 0x78]
xor rax, qword [rsp + 0x88]
xor rbx, r15
xor rax, r14
xor rdx, qword [rsp + 0x70]
xor rbx, r12
xor rbx, qword [rsp + 0x80]
xor r8, rax
xor rdx, r13
xor rbx, qword [rsp + 0x90]
rol rax, 1
xor r15, r8
xor rdx, rsi
xor rax, rcx
mov qword [rsp + 0x10], r15
mov r15, rcx
mov rdi, rdx
rol rdx, 1
rol r15, 1
xor r9, rdx
xor r15, rbx
rol rbx, 1
mov rdx, rbx
xor rdx, rdi
mov rdi, qword [rsp + 0x18]
xor rdi, r15
mov rbx, rdi
mov rdi, qword [rsp + 0x48]
rol rbx, 1
xor r11, r9
xor r10, r15
xor r12, r8
xor rdi, r9
rol r11, 0xf
xor r13, rax
xor rbp, r15
rol rdi, 6
xor r14, rdx
xor rsi, rax
rol r12, 3
mov qword [rsp + 0xb0], rdi
mov rdi, qword [rsp + 0x60]
rol r13, 0x15
ror rbp, 0x13
mov qword [rsp + 0xa8], rbx
mov rbx, qword [rsp + 0x38]
rol r14, 0xe
ror rsi, 8
xor rdi, r15
mov qword [rsp + 0xc0], r11
mov rcx, rdi
mov rdi, qword [rsp + 0x50]
xor rbx, r8
rol rcx, 0xa
ror rbx, 0x1c
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0x28]
xor rdi, rax
mov qword [rsp + 0xc8], rbx
xor rcx, rax
mov r11, rcx
mov rcx, rdi
ror rcx, 9
rol r11, 0x1c
mov qword [rsp + 0xd0], rcx
mov rcx, r10
mov r10, qword [rsp + 0x30]
rol rcx, 2
mov qword [rsp + 0xd8], rcx
mov rcx, qword [rsp + 0x80]
xor r10, rdx
mov rdi, qword [rsp + 0x88]
xor rax, qword [rsp + 0x70]
rol r10, 0x1b
xor rcx, r8
mov rbx, rcx
mov rcx, qword [rsp + 0x68]
xor rdi, rdx
ror rbx, 0x17
rol rdi, 8
mov qword [rsp + 0xe0], rbx
rol rax, 0x19
xor rcx, r9
xor r15, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x20]
ror rcx, 0x15
ror r15, 0x14
xor r8, qword [rsp + 0x90]
mov qword [rsp], rcx
rol r8, 0x12
mov qword [rsp + 8], r15
xor rbx, r9
mov r15, qword [rsp]
xor r9, qword [rsp + 0x98]
mov rcx, rbx
mov rbx, qword [rsp + 0x78]
ror r9, 3
not r15
ror rcx, 2
mov qword [rsp + 0x48], r9
mov r9, qword [rsp + 8]
and r15, r13
xor rbx, rdx
xor rdx, qword [rsp + 0x58]
ror rbx, 0x19
xor r9, r15
rol rdx, 0x14
mov qword [rsp + 0x18], r9
mov r9, r13
not r9
mov r15, r9
mov r9, qword [rsp]
and r15, r14
xor r9, r15
mov r15, qword [rsp + 0x10]
mov qword [rsp + 0x20], r9
mov r9, r14
not r9
and r15, r9
mov r9, r15
xor r9, r13
mov r13, qword [rsp + 0x10]
mov qword [rsp + 0x28], r9
not r13
and r13, qword [rsp + 8]
mov r9, r13
xor r9, r14
mov r14, qword [rsp + 0x48]
mov qword [rsp + 0x30], r9
mov r9, rdx
not r9
mov r13, r9
and r13, r12
mov r9, r13
xor r9, r11
mov qword [rsp + 0x38], r9
mov r9, r12
not r9
mov r15, r9
and r15, rbp
mov r9, r15
xor r9, rdx
mov qword [rsp + 0x40], r9
mov r9, rbp
not r9
mov r13, r9
and r13, r14
mov r9, r13
xor r9, r12
mov qword [rsp + 0x48], r9
mov r9, r14
not r9
mov r12, r9
and r12, r11
not r11
and r11, rdx
xor r12, rbp
mov r9, r11
mov r11, qword [rsp + 0xb0]
mov qword [rsp + 0x50], r12
xor r9, r14
mov r14, qword [rsp + 0xa8]
mov qword [rsp + 0x58], r9
mov r9, rax
mov r12, r11
not r9
not r12
mov rdx, r9
and r12, rax
and rdx, rdi
xor r12, r14
mov r9, rdx
xor r9, r11
mov qword [rsp + 0x60], r9
mov r9, rdi
not r9
mov rdx, r9
and rdx, r8
mov r9, rdx
mov rdx, qword [rsp + 0xc0]
xor r9, rax
mov qword [rsp + 0x68], r9
mov r9, r8
not r9
mov rax, r9
and rax, r14
not r14
mov r15, r14
mov r9, rax
and r15, r11
xor r9, rdi
mov rdi, qword [rsp + 0xb8]
mov r11, rdx
mov r14, r15
not r11
mov qword [rsp + 0x70], r9
mov r15, qword [rsp + 0x10]
xor r14, r8
mov r8, qword [rsp + 0xc8]
and r11, rsi
mov rbp, rdi
mov qword [rsp + 0x78], r14
xor r11, rdi
not rbp
mov r14, r8
and rbp, rdx
not r14
xor rbp, r8
mov rax, r14
and rax, rdi
mov rdi, qword [rsp + 0xd0]
mov r14, rax
mov rax, qword [rsp + 0xd8]
xor r14, r10
mov qword [rsp + 0x80], r14
mov r14, rsi
not r14
mov r13, r14
and r13, r10
not r10
and r10, r8
mov r8, rdi
xor r13, rdx
mov rdx, qword [rsp + 0xe0]
xor r10, rsi
not r8
mov rsi, rax
and r8, rbx
not rsi
mov r9, rdx
mov qword [rsp + 0x88], r10
xor r8, rcx
and rsi, rcx
not rcx
not r9
and rcx, rdi
and r9, rax
mov r10, rbx
xor rsi, rdx
xor rax, rcx
not r10
mov rcx, qword [rsp + 8]
xor r9, rbx
mov r14, rax
mov rax, qword [rsp + 0xa0]
and r10, rdx
mov qword [rsp + 0x90], r8
xor r10, rdi
not rcx
and rcx, qword [rsp]
mov qword [rsp + 0x98], r9
xor r15, qword [rax]
add rax, 8
mov qword [rsp + 0xa0], rax
xor r15, rcx
cmp rax, qword [rsp + 0xe8]
jne 0x52b7c0
mov rax, qword [rsp + 0x200]
movq xmm0, r15
movq xmm1, r11
mov rbx, r10
movhps xmm0, qword [rsp + 0x18]
movq xmm3, rbx
movq xmm2, rsi
movups xmmword [rax], xmm0
movq xmm0, qword [rsp + 0x20]
mov qword [rax + 0xc0], r14
movhps xmm0, qword [rsp + 0x28]
movups xmmword [rax + 0x10], xmm0
movq xmm0, qword [rsp + 0x30]
movhps xmm0, qword [rsp + 0x38]
movups xmmword [rax + 0x20], xmm0
movq xmm0, qword [rsp + 0x40]
movhps xmm0, qword [rsp + 0x48]
movups xmmword [rax + 0x30], xmm0
movq xmm0, qword [rsp + 0x50]
movhps xmm0, qword [rsp + 0x58]
movups xmmword [rax + 0x40], xmm0
movq xmm0, r12
movhps xmm0, qword [rsp + 0x60]
movups xmmword [rax + 0x50], xmm0
movq xmm0, qword [rsp + 0x68]
movhps xmm0, qword [rsp + 0x70]
movups xmmword [rax + 0x60], xmm0
movq xmm0, qword [rsp + 0x78]
movhps xmm0, qword [rsp + 0x80]
movups xmmword [rax + 0x70], xmm0
movq xmm0, rbp
punpcklqdq xmm0, xmm1
movups xmmword [rax + 0x80], xmm0
movq xmm0, r13
movhps xmm0, qword [rsp + 0x88]
movups xmmword [rax + 0x90], xmm0
movq xmm0, r8
punpcklqdq xmm0, xmm3
movups xmmword [rax + 0xa0], xmm0
movq xmm0, r9
punpcklqdq xmm0, xmm2
movups xmmword [rax + 0xb0], xmm0
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret