Function at 0x64784f70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
test r9, r9
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1c8], r9
jle 0x64785c48
lea rsi, [rsp + 0x130]
mov rax, r9
mov qword [rsp + 0x58], rdx
sub rax, 1
mov qword [rsp + 0xc0], r8
and rax, 0xfffffffffffffff0
mov qword [rsp + 0x80], rsi
lea rax, [rdx + rax + 0x10]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x140]
lea rbp, [rsp + 0xe0]
mov qword [rsp + 0xc8], rax
nop dword [rax]
xor eax, eax
mov ecx, 8
mov rdi, rbp
mov rsi, qword [rsp + 0xd0]
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x80]
lea rdx, [rbp + 0x20]
mov ecx, 6
mov r8, rsi
rep stosq qword [rdi], rax
mov rax, qword [rsp + 0x58]
mov rcx, rbp
movdqu xmm4, xmmword [rax]
movaps xmmword [rsp + 0x20], xmm4
movaps xmmword [rsp + 0x120], xmm4
call fcn.64781610
mov r8, qword [rsp + 0x80]
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 8]
call fcn.64781610
mov r8, qword [rsp + 0xc8]
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.64781610
lea r8, [rsi + 0x30]
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x18]
call fcn.64781610
mov rcx, rbp
call fcn.64783cd0
mov rax, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xf8]
mov rdx, qword [rax + 0x3c0]
mov r12, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
mov rax, rdx
shl rax, 6
add rax, qword [rsp + 0x1b0]
xor rdi, qword [rax + 8]
xor rcx, qword [rax]
xor r15, qword [rax + 0x18]
xor r12, qword [rax + 0x20]
mov r10, rdi
mov rdi, qword [rsp + 0xf0]
xor rdi, qword [rax + 0x10]
mov r14, rcx
xor rsi, qword [rax + 0x30]
mov rcx, qword [rsp + 0x108]
xor r8, qword [rax + 0x38]
mov r9, rdi
xor rcx, qword [rax + 0x28]
lea rdi, [rdx - 1]
test rdi, rdi
mov qword [rsp + 0xb8], rdi
jle 0x647857f2
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x88], rbp
nop
nop word cs:[rax + rax]
movabs rdi, 0xff0000000000
mov rax, r14
mov rdx, r14
shl rax, 4
shr rdx, 0xc
movabs r11, 0xff00000000
and edx, 0xf0000
and eax, 0xfff00000
movabs rbp, 0xf000000000000000
movabs rbx, 0xfff000000000000
or rax, rdx
movzx edx, r14w
or rax, rdx
mov rdx, r14
mov r13, rbx
shl rdx, 8
and rdx, rdi
or rax, rdx
mov rdx, r14
shr rdx, 8
and rdx, r11
or rax, rdx
mov rdx, r14
shr r14, 4
shl rdx, 0xc
and r14, rbx
mov rbx, r10
and rdx, rbp
shl rbx, 4
or rax, rdx
and ebx, 0xfff00000
mov rdx, r10
or r14, rax
mov rax, r10
shl rdx, 0xc
shr rax, 0xc
and rdx, rbp
and eax, 0xf0000
or rbx, rax
movzx eax, r10w
or rbx, rax
mov rax, r10
shl rax, 8
and rax, rdi
or rbx, rax
mov rax, r10
shr rax, 8
and rax, r11
or rbx, rax
or rbx, rdx
shr r10, 4
mov rdx, r9
and r10, r13
mov r13, r9
shl rdx, 4
shr r13, 0xc
and edx, 0xfff00000
or r10, rbx
mov rax, r13
mov r13, r9
mov rbx, r15
shl r13, 8
and eax, 0xf0000
shr rbx, 8
or rdx, rax
movzx eax, r9w
or rdx, rax
mov rax, r13
mov r13, r9
and rax, rdi
shr r13, 8
or rdx, rax
mov rax, r13
mov r13, r9
shl r13, 0xc
and rax, r11
shr r9, 4
or rdx, rax
mov rax, r13
and rax, rbp
or rdx, rax
movabs rax, 0xfff000000000000
and r9, rax
mov r13, rax
or r9, rdx
mov rdx, r15
shl rdx, 4
mov rax, rdx
mov rdx, r15
shr rdx, 0xc
and eax, 0xfff00000
and edx, 0xf0000
or rax, rdx
movzx edx, r15w
or rax, rdx
mov rdx, r15
shl rdx, 8
and rdx, rdi
or rax, rdx
and rbx, r11
mov rdx, r12
or rax, rbx
mov rbx, r15
shr r15, 4
shl rbx, 0xc
and r15, r13
shr rdx, 0xc
and rbx, rbp
and edx, 0xf0000
or rax, rbx
mov rbx, rdi
or r15, rax
mov rax, r12
shl rax, 4
and eax, 0xfff00000
or rax, rdx
movzx edx, r12w
or rax, rdx
mov rdx, r12
shl rdx, 8
and rdx, rdi
mov rdi, r11
or rax, rdx
mov rdx, r12
shr rdx, 8
and rdx, r11
or rax, rdx
mov rdx, r12
shr r12, 4
shl rdx, 0xc
and r12, r13
and rdx, rbp
or rax, rdx
mov rdx, rcx
or r12, rax
mov rax, rcx
shr rdx, 0xc
shl rax, 4
and edx, 0xf0000
and eax, 0xfff00000
or rax, rdx
movzx edx, cx
or rax, rdx
mov rdx, rcx
shl rdx, 8
and rdx, rbx
or rax, rdx
mov rdx, rcx
shr rdx, 8
and rdx, rdi
or rax, rdx
mov rdx, rcx
shr rcx, 4
shl rdx, 0xc
and rcx, r13
and rdx, rbp
or rax, rdx
mov rdx, rsi
or rcx, rax
shl rdx, 4
mov rax, rsi
mov r11, rdx
shr rax, 0xc
mov rdx, rsi
and eax, 0xf0000
and r11d, 0xfff00000
shr rdx, 8
or r11, rax
movzx eax, si
and rdx, rdi
or r11, rax
mov rax, rsi
shl rax, 8
and rax, rbx
or r11, rax
mov rax, r8
or r11, rdx
mov rdx, rsi
shr rsi, 4
shl rdx, 0xc
and rsi, r13
shl rax, 4
and rdx, rbp
and eax, 0xfff00000
or r11, rdx
mov rdx, r8
or rsi, r11
shr rdx, 0xc
and edx, 0xf0000
or rax, rdx
movzx edx, r8w
or rax, rdx
mov rdx, r8
shl rdx, 8
and rdx, rbx
or rax, rdx
mov rdx, r8
shr rdx, 8
and rdx, rdi
or rax, rdx
mov rdx, r8
shr r8, 4
shl rdx, 0xc
and r8, r13
and rdx, rbp
or rax, rdx
mov rdx, rsi
or r8, rax
mov rax, r10
xor r10, r15
xor rax, r12
xor r12, r9
xor r10, rsi
xor rdx, rax
xor r12, r8
xor rax, r8
mov qword [rsp + 0x100], r10
mov qword [rsp + 0x118], rdx
mov rdx, r14
xor r14, r9
xor r9, rcx
xor rdx, r15
xor r14, rcx
xor r8, r9
mov qword [rsp + 0x108], r12
mov r11, rdx
xor rsi, rdx
not rax
mov qword [rsp + 0xf8], r14
xor r11, rcx
mov rcx, qword [rsp + 0x88]
not r8
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x110], r11
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xe0], r8
call fcn.647816c0
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x100]
mov r9, rcx
mov rdi, qword [rsp + 0x108]
mov r11, rdx
mov r15, qword [rsp + 0x50]
mov r10, r8
mov rsi, qword [rsp + 0x118]
xor r10, r14
xor r11, rax
mov rbp, qword [rsp + 0x110]
xor rdx, rcx
xor r9, rdi
xor rdx, rdi
xor r8, rax
xor rdx, qword [r15 - 0x28]
xor rcx, r14
xor rdi, r11
xor r9, rsi
xor r9, qword [r15 - 0x40]
xor rcx, rsi
mov rax, qword [r15 - 0x18]
mov rbx, rbp
xor r8, rbp
xor rbx, r11
xor r8, qword [r15 - 0x20]
xor rbp, r10
xor rdi, qword [r15 - 0x10]
mov r14, rdx
mov r13, rdx
mov qword [rsp + 0xa8], r9
mov r12, r9
mov r9, qword [r15 - 0x38]
ror r14, 0x10
xor rax, rcx
mov qword [rsp + 0x20], r14
not r12
xor r13, rax
mov r14, r8
mov qword [rsp + 0xa0], r13
mov r13, qword [rsp + 0x20]
ror r14, 0x10
mov r11, rdi
xor r9, rbx
mov rbx, rsi
mov qword [rsp + 0x48], r14
ror r11, 0x10
xor rbx, r10
mov r10, qword [r15 - 8]
mov rsi, r9
xor rbx, qword [r15 - 0x30]
ror rsi, 0x10
mov r15, r12
mov qword [rsp + 0x40], rsi
mov rsi, rax
ror r15, 0x10
ror rsi, 0x10
xor r10, rbp
mov qword [rsp + 0xb0], rbx
not rbx
mov r14, r10
mov rbp, r10
mov rcx, rbx
mov r10, r12
ror rbp, 0x10
mov qword [rsp + 0x38], r14
ror rcx, 0x10
xor r12, r9
xor r10, rax
xor r14, rdi
xor r13, r14
mov r14, r9
xor r9, rax
xor r14, rbx
mov qword [rsp + 0x78], r13
mov r13, r8
mov qword [rsp + 0x60], r14
mov r14, rbx
xor r13, rax
xor r14, rdx
xor rdx, r8
mov qword [rsp + 0x70], r13
mov r13, rax
mov qword [rsp + 0x90], r14
mov r14, qword [rsp + 0x38]
xor r13, rdi
mov qword [rsp + 0x98], rdx
mov rdx, rsi
xor rdx, rbp
mov qword [rsp + 0x68], r13
xor r9, qword [rsp + 0x38]
xor r14, rdx
mov rdx, rdi
xor r14, r13
xor rdx, rsi
mov r13, qword [rsp + 0x40]
xor rdx, r15
xor r14, r15
xor rdx, r10
rol rdx, 0x20
xor r14, rdx
mov rdx, r13
xor r9, r13
xor rdx, rsi
xor r9, rsi
xor rdx, r11
xor r9, r11
xor rdx, rbp
rol r9, 0x20
xor rdx, r15
xor r10, rdx
mov rdx, r13
mov r13, qword [rsp + 0x78]
xor r10, r9
mov r9, qword [rsp + 0xa8]
xor r9, qword [rsp + 0xb0]
xor r9, rdi
xor r9, r11
xor r9, rbp
xor r9, rcx
xor rdx, r11
xor r13, rsi
xor rbx, qword [rsp + 0x68]
xor rdx, rdi
rol r9, 0x20
xor rbx, qword [rsp + 0x20]
xor rdx, rbp
xor rdx, rcx
xor rdx, r12
xor r9, rdx
mov rdx, r13
mov r13, qword [rsp + 0xa0]
xor rbx, rsi
xor rdx, rbp
xor rbx, r15
xor rbx, rcx
xor rbx, r12
xor rdx, r13
xor r15, rdx
mov rdx, qword [rsp + 0x48]
xor r15, r12
mov r12, qword [rsp + 0x20]
rol r15, 0x20
xor r15, rbx
mov rbx, qword [rsp + 0x40]
xor r12, rbx
xor rbx, rdx
xor r12, rdx
xor r12, rsi
xor r12, r11
xor r12, rbp
xor r12, r13
mov r13, rdx
mov rdx, rbx
mov rbx, qword [rsp + 0x38]
xor r12, qword [rsp + 0x60]
xor rdx, rbx
xor rdx, rsi
xor rdx, r11
xor rdx, qword [rsp + 0x70]
xor r8, rdi
xor rax, rbx
xor rdx, qword [rsp + 0x60]
xor r8, r13
xor r8, rsi
mov r13, qword [rsp + 0x90]
xor r8, r11
xor rax, qword [rsp + 0x20]
xor r8, rbp
rol rdx, 0x20
xor r8, rcx
xor r12, rdx
mov rdx, rsi
xor r8, r13
xor rdx, r11
xor rsi, rax
mov rax, qword [rsp + 0x70]
xor rdx, rbp
xor rdx, qword [rsp + 0x68]
xor rsi, r11
xor rsi, rbp
xor rdx, rcx
mov rcx, r8
mov r8, qword [rsp + 0x98]
xor rdx, r13
mov r13, qword [rsp + 0x78]
rol rdx, 0x20
xor rcx, rdx
xor rsi, r8
xor r13, r11
mov rdx, r13
xor rdx, rbp
xor rdx, r8
rol rdx, 0x20
xor rsi, rdx
mov rdx, qword [rsp + 0x48]
xor r11, rdx
xor r11, rdi
xor r11, rbp
xor r11, rax
xor rdx, rbp
sub qword [rsp + 0x50], 0x40
mov r8, rdx
xor r8, rbx
xor r8, rax
rol r8, 0x20
xor r8, r11
sub qword [rsp + 0xb8], 1
jne 0x64785140
mov rbp, qword [rsp + 0x88]
movabs rbx, 0xff0000000000
mov rax, r14
movabs r11, 0xff00000000
movabs r13, 0xf000000000000000
shl rax, 4
movabs rdi, 0xfff000000000000
and eax, 0xfff00000
mov rdx, rax
mov rax, r14
shr rax, 0xc
and eax, 0xf0000
or rax, rdx
movzx edx, r14w
or rax, rdx
mov rdx, r14
shl rdx, 8
and rdx, rbx
or rax, rdx
mov rdx, r14
shr rdx, 8
and rdx, r11
or rax, rdx
mov rdx, r14
shl rdx, 0xc
and rdx, r13
or rax, rdx
mov rdx, r14
mov r14, r11
shr rdx, 4
and rdx, rdi
mov rdi, r10
or rax, rdx
shr rdi, 8
mov qword [rsp + 0xe0], rax
mov rax, r10
and rdi, r11
shl rax, 4
and eax, 0xfff00000
mov rdx, rax
mov rax, r10
shr rax, 0xc
and eax, 0xf0000
or rax, rdx
movzx edx, r10w
or rax, rdx
mov rdx, r10
shl rdx, 8
and rdx, rbx
or rax, rdx
or rax, rdi
mov rdi, r10
shl rdi, 0xc
and rdi, r13
or rax, rdi
mov rdi, r10
movabs r10, 0xfff000000000000
shr rdi, 4
and rdi, r10
or rax, rdi
mov rdi, r9
mov qword [rsp + 0xe8], rax
mov rax, r9
shr rdi, 8
shl rax, 4
and rdi, r14
and eax, 0xfff00000
mov rdx, rax
mov rax, r9
shr rax, 0xc
and eax, 0xf0000
or rax, rdx
movzx edx, r9w
or rax, rdx
mov rdx, r9
shl rdx, 8
and rdx, rbx
or rax, rdx
mov rdx, r12
or rax, rdi
mov rdi, r9
shl rdi, 0xc
and rdi, r13
or rax, rdi
mov rdi, r9
shr rdi, 4
and rdi, r10
or rdi, rax
mov rax, r15
mov qword [rsp + 0xf0], rdi
mov rdi, r15
shr rax, 0xc
shl rdi, 4
and eax, 0xf0000
and edi, 0xfff00000
or rdi, rax
movzx eax, r15w
or rdi, rax
mov rax, r15
shl rax, 8
and rax, rbx
or rdi, rax
mov rax, r15
shr rax, 8
and rax, r14
shr rdx, 0xc
or rdi, rax
mov rax, r15
and edx, 0xf0000
shl rax, 0xc
shr r15, 4
and rax, r13
and r15, r10
or rdi, rax
mov rax, r12
shl rax, 4
or rdi, r15
and eax, 0xfff00000
mov qword [rsp + 0xf8], rdi
mov rdi, r12
or rax, rdx
movzx edx, r12w
shr rdi, 8
or rax, rdx
mov rdx, r12
and rdi, r14
shl rdx, 8
and rdx, rbx
or rax, rdx
mov rdx, rcx
or rax, rdi
mov rdi, r12
shr r12, 4
shl rdi, 0xc
and r12, r10
shr rdx, 0xc
and rdi, r13
and edx, 0xf0000
or rax, rdi
mov rdi, rcx
or r12, rax
mov rax, rcx
shl rax, 4
mov qword [rsp + 0x100], r12
and eax, 0xfff00000
or rax, rdx
movzx edx, cx
or rax, rdx
mov rdx, rcx
shl rdx, 8
shr rdi, 8
and rdx, rbx
and rdi, r14
or rax, rdx
mov rdx, rsi
or rax, rdi
mov rdi, rcx
shr rcx, 4
shl rdi, 0xc
and rcx, r10
shr rdx, 0xc
and rdi, r13
and edx, 0xf0000
or rax, rdi
or rcx, rax
mov rax, rsi
shl rax, 4
mov qword [rsp + 0x108], rcx
mov rcx, rbx
and eax, 0xfff00000
or rax, rdx
movzx edx, si
or rax, rdx
mov rdx, rsi
shl rdx, 8
and rdx, rbx
or rax, rdx
mov rdx, rsi
shr rdx, 8
and rdx, r14
or rax, rdx
mov rdx, rsi
shr rsi, 4
shl rdx, 0xc
and rsi, r10
and rdx, r13
or rax, rdx
mov rdx, r8
or rsi, rax
shl rdx, 4
mov rax, r8
and edx, 0xfff00000
shr rax, 0xc
mov qword [rsp + 0x110], rsi
and eax, 0xf0000
or rdx, rax
movzx eax, r8w
or rdx, rax
mov rax, r8
shl rax, 8
and rax, rcx
mov rcx, rbp
or rdx, rax
mov rax, r8
shr rax, 8
and rax, r14
or rdx, rax
mov rax, r8
shr r8, 4
shl rax, 0xc
and r8, r10
and rax, r13
or rdx, rax
or r8, rdx
mov qword [rsp + 0x118], r8
call fcn.647819d0
mov rax, qword [rsp + 0x1b0]
mov rcx, rbp
movdqa xmm2, xmmword [rsp + 0xf0]
movdqa xmm1, xmmword [rsp + 0x100]
movdqa xmm0, xmmword [rsp + 0x110]
movdqu xmm4, xmmword [rax + 0x10]
movdqu xmm5, xmmword [rax + 0x20]
movdqa xmm3, xmmword [rsp + 0xe0]
pxor xmm2, xmm4
movaps xmmword [rsp + 0xf0], xmm2
pxor xmm1, xmm5
movdqu xmm5, xmmword [rax]
movaps xmmword [rsp + 0x100], xmm1
movdqu xmm4, xmmword [rax + 0x30]
pxor xmm3, xmm5
movaps xmmword [rsp + 0x20], xmm5
pxor xmm0, xmm4
movaps xmmword [rsp + 0xe0], xmm3
movaps xmmword [rsp + 0x110], xmm0
call fcn.64783cd0
mov rsi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xe0]
mov rcx, rsi
call fcn.64781570
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x80]
call fcn.64781570
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xc8]
call fcn.64781570
mov r8, qword [rsp + 0x118]
lea rcx, [rsi + 0x30]
mov rdx, qword [rsp + 0xf8]
call fcn.64781570
mov rax, qword [rsp + 0xc0]
movdqa xmm0, xmmword [rsp + 0x120]
add qword [rsp + 0x58], 0x10
mov rsi, qword [rsp + 0x58]
add rax, 0x10
movups xmmword [rax - 0x10], xmm0
cmp rsi, qword [rsp + 0xd8]
mov qword [rsp + 0xc0], rax
jne 0x64785000
mov rax, qword [rsp + 0x1c8]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret