Function at 0x644910
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rax, qword [rcx + 8]
mov r12, qword [rcx + 0x48]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x20], rax
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x60]
mov qword [rsp + 0x10], rax
mov rax, qword [rcx + 0x68]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x80]
mov qword [rsp + 0x48], rax
mov rbp, qword [rcx + 0x88]
mov rax, qword [rcx + 0x90]
mov r9, qword [rcx]
mov r11, qword [rcx + 0x98]
mov r10, qword [rcx + 0xa0]
mov r15, rbp
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0xa8]
mov rdi, qword [rcx + 0xb8]
mov r13, qword [rcx + 0xc0]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0xb0]
lea rcx, [0x00ae20c0]
mov qword [rsp + 0xa0], rcx
mov rcx, r9
nop dword [rax]
mov rsi, qword [rsp + 0x58]
xor rsi, qword [rsp + 0x60]
xor rsi, qword [rsp + 0x10]
mov r14, qword [rsp + 0x68]
xor r14, qword [rsp + 0x70]
xor r14, qword [rsp + 0x78]
xor rsi, r15
xor r14, qword [rsp + 0x80]
mov rdx, rsi
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x30]
xor rdx, rax
xor r8, qword [rsp + 0x38]
xor r8, qword [rsp + 0x40]
xor r14, rdi
xor r8, qword [rsp + 0x48]
xor rsi, r12
mov rbp, r14
xor r8, qword [rsp + 0x50]
xor rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x18]
mov r14, r8
xor rsi, r11
rol r14, 1
xor rsi, r13
xor rbx, rcx
mov r9, r14
xor rbx, qword [rsp + 0x20]
xor rbx, qword [rsp + 0x28]
xor r9, rsi
mov r14, rbp
xor rcx, r9
rol r14, 1
mov qword [rsp + 8], rcx
mov rcx, rdx
rol rsi, 1
xor r8, r14
rol rcx, 1
xor rsi, rdx
mov rdx, qword [rsp + 0x38]
xor rbx, r10
xor rcx, rbx
rol rbx, 1
mov r14, rbx
mov rbx, qword [rsp + 0x90]
xor r14, rbp
mov rbp, qword [rsp + 0x58]
xor rdx, rcx
ror rdx, 0x14
xor rdi, rsi
xor r12, r14
ror rdi, 8
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x28]
xor r10, r9
mov qword [rsp + 0xb8], rdi
xor rbx, r14
rol r12, 0x14
xor r11, r14
xor rbp, r8
ror rbx, 0x19
xor r13, r14
mov qword [rsp + 0x38], r12
ror rbp, 2
rol r10, 0x12
xor rax, r8
mov rdi, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rbp
mov rbp, qword [rsp + 0x10]
xor rdx, r9
ror rax, 3
ror rdx, 0x17
mov qword [rsp + 0xa8], rbx
rol r11, 8
mov qword [rsp + 0x90], r10
rol r13, 0xe
xor rdi, r14
mov qword [rsp + 0xc0], rdx
xor rbp, r8
rol rdi, 0x1b
ror rbp, 0x15
mov r12, rbp
mov rbp, qword [rsp + 0x78]
mov qword [rsp + 0x28], rdi
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x98], r12
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x18]
mov r10, qword [rsp + 0x68]
xor rbp, rsi
xor r14, rcx
rol rbp, 0x19
mov rdi, qword [rsp + 0x40]
rol r14, 2
xor rdx, rcx
mov qword [rsp + 0xc8], r14
mov r14, qword [rsp + 0x70]
xor rbx, r9
xor r14, rsi
ror r14, 9
mov qword [rsp + 0x50], r14
mov r14, rdx
ror r14, 0x13
ror rbx, 0x1c
xor r10, rsi
xor r9, qword [rsp + 0x20]
xor rsi, qword [rsp + 0x80]
xor rdi, rcx
rol r10, 0x1c
xor rcx, qword [rsp + 0x30]
rol rdi, 0xa
rol r9, 3
rol rsi, 0x15
mov rdx, rsi
mov rsi, r15
mov r15, r12
mov r12, qword [rsp]
not r15
xor rsi, r8
xor r8, qword [rsp + 0x60]
rol rcx, 1
and r15, rdx
rol rsi, 0xf
xor r12, r15
mov qword [rsp + 0x30], r12
mov r12, rdx
rol r8, 6
not r12
mov r15, r12
mov r12, qword [rsp + 0x98]
and r15, r13
xor r12, r15
mov r15, qword [rsp + 8]
mov qword [rsp + 0x58], r12
mov r12, r13
not r12
and r15, r12
mov r12, r15
mov r15, qword [rsp + 0x38]
xor r12, rdx
mov rdx, qword [rsp + 8]
mov qword [rsp + 0x68], r12
not rdx
and rdx, qword [rsp]
mov r12, rdx
xor r12, r13
mov r13, r15
not r13
mov qword [rsp + 0x88], r12
mov r12, r14
mov rdx, r13
not r12
and rdx, r9
mov r13, rdx
xor r13, r10
mov qword [rsp + 0x18], r13
mov r13, r9
not r13
mov rdx, r13
and rdx, r14
mov r13, rdx
mov rdx, r12
mov r12, rax
xor r13, r15
and rdx, rax
not r12
mov qword [rsp + 0x38], r13
mov r13, rdx
mov rdx, r12
xor r13, r9
and rdx, r10
not r10
mov qword [rsp + 0x60], r13
mov r13, rdx
and r15, r10
mov r10, qword [rsp + 0x90]
xor r13, r14
mov r12, r15
mov qword [rsp + 0x70], r13
mov r13, r8
xor r12, rax
not r13
mov r9, r13
and r9, rbp
mov r13, r9
mov r9, r10
xor r13, rcx
not r9
mov qword [rsp + 0x20], r13
mov r13, rbp
not r13
mov rax, r13
and rax, r11
mov r13, rax
xor r13, r8
mov qword [rsp + 0x40], r13
mov r13, r11
not r13
mov rax, r13
and rax, r10
mov r13, rax
mov rax, r10
xor r13, rbp
mov rbp, r9
and rbp, rcx
not rcx
mov qword [rsp + 0x10], r13
mov r10, rbp
and rcx, r8
xor r10, r11
xor rcx, rax
mov qword [rsp + 0x78], r10
mov r10, rbx
mov qword [rsp + 0x90], rcx
not r10
mov r11, qword [rsp + 0x28]
mov rdx, r10
mov rax, qword [rsp + 0xb8]
and rdx, rdi
mov rcx, qword [rsp + 0x50]
mov r10, rdx
mov r9, qword [rsp + 0xc8]
xor r10, r11
mov r8, qword [rsp + 0xc0]
mov qword [rsp + 0x28], r10
mov r10, rdi
mov rbp, qword [rsp + 8]
not r10
mov r14, r10
and r14, rsi
mov r10, r14
xor r10, rbx
mov qword [rsp + 0x48], r10
mov r10, rsi
not r10
mov r15, r10
and r15, rax
xor r15, rdi
mov rdi, rax
not rdi
mov rdx, rdi
mov rdi, r9
and rdx, r11
not r11
not rdi
and r11, rbx
mov rbx, qword [rsp + 0xa8]
mov r10, rdx
xor r10, rsi
mov rsi, qword [rsp + 0xb0]
xor r11, rax
mov qword [rsp + 0x80], r10
mov r10, rcx
not r10
mov rax, rbx
and r10, rbx
not rax
and rdi, rsi
xor r10, rsi
mov rdx, rax
mov rax, r8
not rsi
not rax
and rdx, r8
mov r13, rsi
and rax, r9
xor rdx, rcx
and r13, rcx
mov rcx, qword [rsp]
xor rax, rbx
xor rdi, r8
xor r13, r9
mov qword [rsp + 0x50], rdx
mov rbx, qword [rsp + 0xa0]
lea rsi, [0x00ae2180]
not rcx
and rcx, qword [rsp + 0x98]
xor rbp, qword [rbx]
add rbx, 8
mov qword [rsp + 0xa0], rbx
xor rcx, rbp
cmp rbx, rsi
jne 0x644a20
movq xmm0, rcx
movq xmm1, r12
movq xmm2, r15
mov rcx, qword [rsp + 0x120]
movhps xmm0, qword [rsp + 0x30]
movq xmm3, r11
movq xmm4, rdi
movups xmmword [rcx], xmm0
movq xmm0, qword [rsp + 0x58]
mov qword [rcx + 0xc0], r13
movhps xmm0, qword [rsp + 0x68]
movups xmmword [rcx + 0x10], xmm0
movq xmm0, qword [rsp + 0x88]
movhps xmm0, qword [rsp + 0x18]
movups xmmword [rcx + 0x20], xmm0
movq xmm0, qword [rsp + 0x38]
movhps xmm0, qword [rsp + 0x60]
movups xmmword [rcx + 0x30], xmm0
movq xmm0, qword [rsp + 0x70]
punpcklqdq xmm0, xmm1
movups xmmword [rcx + 0x40], xmm0
movq xmm0, qword [rsp + 0x20]
movhps xmm0, qword [rsp + 0x40]
movups xmmword [rcx + 0x50], xmm0
movq xmm0, qword [rsp + 0x10]
movhps xmm0, qword [rsp + 0x78]
movups xmmword [rcx + 0x60], xmm0
movq xmm0, qword [rsp + 0x90]
movhps xmm0, qword [rsp + 0x28]
movups xmmword [rcx + 0x70], xmm0
movq xmm0, qword [rsp + 0x48]
punpcklqdq xmm0, xmm2
movups xmmword [rcx + 0x80], xmm0
movq xmm0, qword [rsp + 0x80]
punpcklqdq xmm0, xmm3
movups xmmword [rcx + 0x90], xmm0
movq xmm0, r10
movhps xmm0, qword [rsp + 0x50]
movups xmmword [rcx + 0xa0], xmm0
movq xmm0, rax
punpcklqdq xmm0, xmm4
movups xmmword [rcx + 0xb0], xmm0
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret