Function at 0x4f8e90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
movups xmmword [rsp + 0x170], xmm6
movups xmmword [rsp + 0x180], xmm7
movups xmmword [rsp + 0x190], xmm8
movups xmmword [rsp + 0x1a0], xmm9
movups xmmword [rsp + 0x1b0], xmm10
movups xmmword [rsp + 0x1c0], xmm11
movups xmmword [rsp + 0x1d0], xmm12
movups xmmword [rsp + 0x1e0], xmm13
movups xmmword [rsp + 0x1f0], xmm14
movups xmmword [rsp + 0x200], xmm15
movdqu xmm6, xmmword [0x006129e0]
movdqu xmm8, xmmword [0x006129f0]
movdqu xmm7, xmmword [0x00612a00]
movdqu xmm1, xmmword [rcx]
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0x10]
movdqu xmm4, xmm6
movdqu xmm2, xmmword [rcx + 0x10]
movdqu xmm3, xmmword [rcx + 0x20]
movdqu xmm14, xmm8
movdqu xmm15, xmm7
pand xmm1, xmm6
pandn xmm4, xmmword [rcx + 0x20]
movdqu xmm12, xmmword [rcx + 0x80]
por xmm0, xmm1
movdqu xmm1, xmm6
pandn xmm1, xmmword [rcx]
movdqu xmm11, xmmword [rcx + 0x90]
pand xmm2, xmm6
pand xmm3, xmm6
movdqu xmm10, xmm0
mov r11, rdx
por xmm2, xmm1
movdqu xmm1, xmm6
pandn xmm1, xmmword [rcx + 0x30]
mov edx, r8d
pand xmm10, xmm8
movdqu xmm5, xmm2
shl edx, 5
mov rax, rcx
por xmm3, xmm1
movdqu xmm1, xmmword [rcx + 0x30]
pand xmm5, xmm7
mov r13d, r8d
pand xmm12, xmm6
pand xmm11, xmm6
lea rbx, [r11 + rdx*4]
pand xmm1, xmm6
lea r10, [rcx + 0x80]
lea rsi, [rcx + 0xc0]
por xmm1, xmm4
movdqu xmm4, xmm8
lea rdi, [rcx + 0x40]
pandn xmm4, xmm3
pand xmm3, xmm8
por xmm10, xmm4
movdqu xmm4, xmm7
pandn xmm4, xmm1
pand xmm1, xmm7
movups xmmword [rcx], xmm10
movups xmmword [rsp + 0xe0], xmm10
por xmm5, xmm4
movdqu xmm4, xmm8
pandn xmm4, xmm0
movdqu xmm0, xmm7
movups xmmword [rsp + 0x100], xmm5
pandn xmm0, xmm2
movdqu xmm2, xmmword [rcx + 0xa0]
por xmm3, xmm4
movdqu xmm4, xmm6
por xmm1, xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0x90]
movups xmmword [rcx + 0x10], xmm5
pand xmm2, xmm6
pandn xmm4, xmmword [rcx + 0xa0]
movups xmmword [rcx + 0x20], xmm3
por xmm12, xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0x80]
movups xmmword [rcx + 0x30], xmm1
movdqu xmm9, xmm12
pandn xmm14, xmm12
movups xmmword [rsp + 0xf0], xmm3
por xmm11, xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0xb0]
movups xmmword [rsp + 0x110], xmm1
pand xmm9, xmm8
movdqu xmm13, xmm11
pandn xmm15, xmm11
por xmm2, xmm0
movdqu xmm0, xmmword [rcx + 0xb0]
pand xmm13, xmm7
pand xmm0, xmm6
por xmm0, xmm4
movdqu xmm4, xmm8
pandn xmm4, xmm2
pand xmm2, xmm8
por xmm9, xmm4
movdqu xmm4, xmm7
por xmm2, xmm14
pandn xmm4, xmm0
pand xmm0, xmm7
movups xmmword [rsp + 0x120], xmm9
movdqu xmm14, xmm6
por xmm4, xmm13
por xmm0, xmm15
movups xmmword [rcx + 0x80], xmm9
movups xmmword [rsp + 0x140], xmm4
movups xmmword [rcx + 0x90], xmm4
movups xmmword [rsp + 0x130], xmm2
movups xmmword [rcx + 0xa0], xmm2
movdqu xmm13, xmmword [rcx + 0x40]
movdqu xmm11, xmmword [rcx + 0x50]
movups xmmword [rsp + 0x160], xmm0
movdqu xmm12, xmmword [rcx + 0x60]
pandn xmm14, xmmword [rcx + 0x60]
movups xmmword [rsp + 0x150], xmm0
pand xmm13, xmm6
pand xmm11, xmm6
movups xmmword [rcx + 0xb0], xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0x50]
pand xmm12, xmm6
por xmm13, xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0x40]
movdqu xmm15, xmm13
por xmm11, xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0x70]
pand xmm15, xmm8
por xmm12, xmm0
movdqu xmm0, xmmword [rcx + 0x70]
pand xmm0, xmm6
por xmm0, xmm14
movdqu xmm14, xmm8
pandn xmm14, xmm12
pand xmm12, xmm8
por xmm15, xmm14
movdqu xmm14, xmm7
movups xmmword [rsp + 0x30], xmm15
pandn xmm14, xmm0
pand xmm0, xmm7
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rcx + 0x40], xmm15
movdqu xmm15, xmm11
pand xmm15, xmm7
por xmm15, xmm14
movdqu xmm14, xmm6
pandn xmm14, xmmword [rcx + 0xe0]
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rcx + 0x50], xmm15
movdqu xmm15, xmm8
pandn xmm15, xmm13
movdqu xmm13, xmm7
pandn xmm13, xmm11
por xmm12, xmm15
movdqu xmm11, xmmword [rcx + 0xd0]
por xmm0, xmm13
movups xmmword [rsp + 0x50], xmm12
movdqu xmm13, xmmword [rcx + 0xc0]
movups xmmword [rsp + 0x90], xmm0
pand xmm11, xmm6
movups xmmword [rsp + 0x80], xmm0
pand xmm13, xmm6
movups xmmword [rcx + 0x70], xmm0
movdqu xmm0, xmm6
movdqu xmm15, xmm13
pandn xmm0, xmmword [rcx + 0xd0]
movups xmmword [rsp + 0x40], xmm12
por xmm15, xmm0
movdqu xmm0, xmm6
movups xmmword [rcx + 0x60], xmm12
pandn xmm0, xmmword [rcx + 0xc0]
movdqu xmm12, xmmword [rcx + 0xe0]
movups xmmword [rsp + 0xb0], xmm15
pand xmm15, xmm8
por xmm11, xmm0
movdqu xmm0, xmm6
pandn xmm0, xmmword [rcx + 0xf0]
pand xmm12, xmm6
movdqu xmm13, xmm11
por xmm12, xmm0
movdqu xmm0, xmmword [rcx + 0xf0]
pand xmm13, xmm7
pand xmm0, xmm6
por xmm0, xmm14
movdqu xmm14, xmm8
pandn xmm14, xmm12
pand xmm12, xmm8
por xmm15, xmm14
movdqu xmm14, xmm7
movups xmmword [rsp + 0xa0], xmm15
pandn xmm14, xmm0
pand xmm0, xmm7
por xmm14, xmm13
movdqu xmm13, xmm8
pandn xmm13, xmmword [rsp + 0xb0]
movups xmmword [rcx + 0xc0], xmm15
movups xmmword [rsp + 0xc0], xmm14
por xmm13, xmm12
movdqu xmm12, xmm7
movups xmmword [rcx + 0xd0], xmm14
pandn xmm12, xmm11
movups xmmword [rcx + 0xe0], xmm13
movups xmmword [rsp + 0xb0], xmm13
por xmm0, xmm12
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rcx + 0xf0], xmm0
test r8d, r8d
je 0x4f96e4
lea edx, [r8 - 1]
mov rbp, r11
mov r14, rbx
mov r12, rdx
shl rdx, 7
lea r15, [r11 + rdx + 0x80]
nop dword [rax + rax]
movdqu xmm5, xmmword [rax]
mov rdx, r10
mov rcx, rax
mov r9, rsi
mov r8, rdi
sub rbp, 0xffffffffffffff80
sub r14, 0xffffffffffffff80
movups xmmword [rbp - 0x80], xmm5
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm2
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [rbp - 0x60], xmm4
movdqu xmm3, xmmword [rax + 0x30]
movups xmmword [rbp - 0x50], xmm3
movdqu xmm5, xmmword [rax + 0x40]
movups xmmword [rbp - 0x40], xmm5
movdqu xmm2, xmmword [rax + 0x50]
movups xmmword [rbp - 0x30], xmm2
movdqu xmm4, xmmword [rax + 0x60]
movups xmmword [rbp - 0x20], xmm4
movdqu xmm3, xmmword [rax + 0x70]
movups xmmword [rbp - 0x10], xmm3
movdqu xmm5, xmmword [r10]
movups xmmword [r14 - 0x80], xmm5
movdqu xmm2, xmmword [r10 + 0x10]
movups xmmword [r14 - 0x70], xmm2
movdqu xmm4, xmmword [r10 + 0x20]
movups xmmword [r14 - 0x60], xmm4
movdqu xmm3, xmmword [r10 + 0x30]
movups xmmword [r14 - 0x50], xmm3
movdqu xmm5, xmmword [r10 + 0x40]
movups xmmword [r14 - 0x40], xmm5
movdqu xmm2, xmmword [r10 + 0x50]
movups xmmword [r14 - 0x30], xmm2
movdqu xmm4, xmmword [r10 + 0x60]
movups xmmword [r14 - 0x20], xmm4
movdqu xmm3, xmmword [r10 + 0x70]
movups xmmword [r14 - 0x10], xmm3
call fcn.004f7190
mov rdx, rsi
mov rcx, rdi
mov r9, r10
mov r8, rax
call fcn.004f7190
cmp r15, rbp
jne 0x4f9370
xor ebp, ebp
nop dword [rax + rax]
mov edx, dword [rax + 0x40]
mov ecx, dword [rax + 0xc0]
mov r9, rsi
mov r8, rdi
add ebp, 1
and edx, r12d
and ecx, r12d
shl edx, 3
shl ecx, 3
shl rdx, 4
shl rcx, 4
movdqu xmm1, xmmword [r11 + rdx]
movdqu xmm0, xmmword [rbx + rcx]
pxor xmm1, xmmword [rax]
pxor xmm0, xmmword [rax + 0x80]
movups xmmword [rax], xmm1
movups xmmword [rax + 0x80], xmm0
movdqu xmm1, xmmword [r11 + rdx + 0x10]
movdqu xmm0, xmmword [rbx + rcx + 0x10]
pxor xmm1, xmmword [rax + 0x10]
pxor xmm0, xmmword [rax + 0x90]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x90], xmm0
movdqu xmm1, xmmword [r11 + rdx + 0x20]
movdqu xmm0, xmmword [rbx + rcx + 0x20]
pxor xmm1, xmmword [rax + 0x20]
pxor xmm0, xmmword [rax + 0xa0]
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0xa0], xmm0
movdqu xmm1, xmmword [r11 + rdx + 0x30]
movdqu xmm0, xmmword [rbx + rcx + 0x30]
pxor xmm1, xmmword [rax + 0x30]
pxor xmm0, xmmword [rax + 0xb0]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0xb0], xmm0
movdqu xmm1, xmmword [r11 + rdx + 0x40]
movdqu xmm0, xmmword [rbx + rcx + 0x40]
pxor xmm1, xmmword [rax + 0x40]
pxor xmm0, xmmword [rax + 0xc0]
movups xmmword [rax + 0x40], xmm1
movups xmmword [rax + 0xc0], xmm0
movdqu xmm0, xmmword [rbx + rcx + 0x50]
movdqu xmm1, xmmword [r11 + rdx + 0x50]
pxor xmm0, xmmword [rax + 0xd0]
pxor xmm1, xmmword [rax + 0x50]
movups xmmword [rax + 0xd0], xmm0
movups xmmword [rax + 0x50], xmm1
movdqu xmm1, xmmword [r11 + rdx + 0x60]
movdqu xmm0, xmmword [rbx + rcx + 0x60]
pxor xmm1, xmmword [rax + 0x60]
pxor xmm0, xmmword [rax + 0xe0]
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0xe0], xmm0
movdqu xmm1, xmmword [r11 + rdx + 0x70]
mov rdx, r10
movdqu xmm0, xmmword [rbx + rcx + 0x70]
pxor xmm1, xmmword [rax + 0x70]
pxor xmm0, xmmword [rax + 0xf0]
mov rcx, rax
movups xmmword [rax + 0x70], xmm1
movups xmmword [rax + 0xf0], xmm0
call fcn.004f7190
mov rdx, rsi
mov rcx, rdi
mov r9, r10
mov r8, rax
call fcn.004f7190
cmp ebp, r13d
jne 0x4f9448
movdqu xmm5, xmmword [rax + 0x40]
movdqu xmm2, xmmword [rax + 0x60]
movdqu xmm3, xmmword [rax + 0xc0]
movdqu xmm4, xmmword [rax]
movups xmmword [rsp + 0x20], xmm5
movups xmmword [rsp + 0x30], xmm5
movdqu xmm5, xmmword [rax + 0x50]
movdqu xmm15, xmm3
movdqu xmm10, xmm4
movups xmmword [rsp + 0x40], xmm2
movups xmmword [rsp + 0x50], xmm2
movdqu xmm2, xmmword [rax + 0x70]
movups xmmword [rsp + 0x60], xmm5
movups xmmword [rsp + 0x70], xmm5
movdqu xmm5, xmmword [rax + 0xe0]
movups xmmword [rsp + 0x80], xmm2
movups xmmword [rsp + 0x90], xmm2
movdqu xmm2, xmmword [rax + 0xd0]
movdqu xmm13, xmm5
movups xmmword [rsp + 0xa0], xmm3
movdqu xmm3, xmmword [rax + 0xf0]
movups xmmword [rsp + 0xb0], xmm5
movdqu xmm14, xmm2
movdqu xmm5, xmmword [rax + 0x20]
movups xmmword [rsp + 0xc0], xmm2
movdqu xmm2, xmmword [rax + 0x10]
movdqu xmm0, xmm3
movups xmmword [rsp + 0xe0], xmm4
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [rsp + 0xd0], xmm3
movdqu xmm3, xmm5
movups xmmword [rsp + 0xf0], xmm5
movdqu xmm1, xmm4
movdqu xmm5, xmm2
movups xmmword [rsp + 0x100], xmm2
movdqu xmm2, xmmword [rax + 0x80]
movups xmmword [rsp + 0x110], xmm4
movdqu xmm4, xmmword [rax + 0xa0]
movups xmmword [rsp + 0x120], xmm2
movdqu xmm9, xmm2
movups xmmword [rsp + 0x130], xmm4
movdqu xmm2, xmm4
movdqu xmm4, xmmword [rax + 0x90]
movdqu xmm11, xmmword [rax + 0xb0]
movups xmmword [rsp + 0x140], xmm4
movups xmmword [rsp + 0x150], xmm11
movups xmmword [rsp + 0x160], xmm11
movdqu xmm11, xmm8
pand xmm10, xmm8
pand xmm3, xmm8
pand xmm5, xmm7
pand xmm1, xmm7
movdqu xmm12, xmm6
pand xmm9, xmm8
pand xmm2, xmm8
pand xmm4, xmm7
pand xmm15, xmm8
pand xmm14, xmm7
pand xmm0, xmm7
pandn xmm11, xmmword [rsp + 0xf0]
pand xmm13, xmm8
por xmm10, xmm11
movdqu xmm11, xmm8
pandn xmm11, xmmword [rsp + 0xe0]
por xmm3, xmm11
movdqu xmm11, xmm7
pandn xmm11, xmmword [rsp + 0x110]
por xmm5, xmm11
movdqu xmm11, xmm7
pandn xmm11, xmmword [rsp + 0x100]
pandn xmm12, xmm5
pand xmm5, xmm6
por xmm1, xmm11
movdqu xmm11, xmm10
pand xmm11, xmm6
por xmm11, xmm12
movdqu xmm12, xmm6
pandn xmm12, xmm10
movdqu xmm10, xmm6
movups xmmword [rax], xmm11
por xmm5, xmm12
pandn xmm10, xmm1
pand xmm1, xmm6
movdqu xmm12, xmmword [rsp + 0x50]
movups xmmword [rax + 0x10], xmm5
movdqu xmm5, xmm3
pand xmm5, xmm6
pand xmm12, xmm8
por xmm5, xmm10
movups xmmword [rax + 0x20], xmm5
movdqu xmm5, xmm6
pandn xmm5, xmm3
movdqu xmm3, xmmword [rsp + 0x160]
por xmm1, xmm5
movdqu xmm5, xmm6
movups xmmword [rax + 0x30], xmm1
movdqu xmm1, xmm8
pand xmm3, xmm7
pandn xmm1, xmmword [rsp + 0x130]
por xmm9, xmm1
movdqu xmm1, xmm8
pandn xmm1, xmmword [rsp + 0x120]
por xmm2, xmm1
movdqu xmm1, xmm7
pandn xmm1, xmmword [rsp + 0x150]
por xmm4, xmm1
movdqu xmm1, xmm7
pandn xmm1, xmmword [rsp + 0x140]
pandn xmm5, xmm4
pand xmm4, xmm6
por xmm1, xmm3
movdqu xmm3, xmm9
pand xmm3, xmm6
por xmm3, xmm5
movdqu xmm5, xmm6
movups xmmword [rax + 0x80], xmm3
movdqu xmm3, xmm6
pandn xmm5, xmm2
pandn xmm3, xmm9
movdqu xmm9, xmm6
por xmm4, xmm3
movdqu xmm3, xmm2
movdqu xmm2, xmmword [rsp + 0x30]
movups xmmword [rax + 0x90], xmm4
movdqu xmm4, xmm6
pand xmm3, xmm6
pandn xmm4, xmm1
pand xmm1, xmm6
pand xmm2, xmm8
por xmm3, xmm4
movdqu xmm4, xmmword [rsp + 0x70]
por xmm1, xmm5
movdqu xmm5, xmmword [rsp + 0x90]
movups xmmword [rax + 0xa0], xmm3
movdqu xmm3, xmm7
pandn xmm3, xmmword [rsp + 0x80]
movups xmmword [rax + 0xb0], xmm1
pand xmm4, xmm7
movdqu xmm1, xmm8
pandn xmm1, xmmword [rsp + 0x40]
por xmm4, xmm3
movdqu xmm3, xmm7
pandn xmm3, xmmword [rsp + 0x60]
por xmm1, xmm2
pand xmm5, xmm7
pandn xmm9, xmm4
por xmm3, xmm5
movdqu xmm5, xmm1
movdqu xmm2, xmm8
pand xmm5, xmm6
pandn xmm2, xmmword [rsp + 0x20]
pand xmm4, xmm6
por xmm5, xmm9
movups xmmword [rax + 0x40], xmm5
movdqu xmm5, xmm6
por xmm2, xmm12
movdqu xmm12, xmm8
pandn xmm12, xmmword [rsp + 0xa0]
pandn xmm5, xmm1
movdqu xmm1, xmm2
por xmm4, xmm5
pand xmm1, xmm6
movups xmmword [rax + 0x50], xmm4
movdqu xmm4, xmm6
por xmm13, xmm12
pandn xmm4, xmm3
pand xmm3, xmm6
por xmm1, xmm4
movups xmmword [rax + 0x60], xmm1
movdqu xmm1, xmm6
pandn xmm1, xmm2
movdqu xmm2, xmm6
por xmm3, xmm1
movdqu xmm1, xmm8
pandn xmm1, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x70], xmm3
por xmm15, xmm1
movdqu xmm1, xmm7
pandn xmm1, xmmword [rsp + 0xd0]
por xmm14, xmm1
movdqu xmm1, xmm7
pandn xmm1, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0x180]
movups xmm8, xmmword [rsp + 0x190]
pandn xmm2, xmm14
pand xmm14, xmm6
movups xmm9, xmmword [rsp + 0x1a0]
movups xmm10, xmmword [rsp + 0x1b0]
por xmm0, xmm1
movdqu xmm1, xmm15
movups xmm11, xmmword [rsp + 0x1c0]
movups xmm12, xmmword [rsp + 0x1d0]
pand xmm1, xmm6
por xmm1, xmm2
movdqu xmm2, xmm6
movups xmmword [rax + 0xc0], xmm1
movdqu xmm1, xmm6
pandn xmm2, xmm0
pand xmm0, xmm6
pandn xmm1, xmm15
movups xmm15, xmmword [rsp + 0x200]
por xmm14, xmm1
movdqu xmm1, xmm13
pand xmm1, xmm6
movups xmmword [rax + 0xd0], xmm14
movups xmm14, xmmword [rsp + 0x1f0]
por xmm1, xmm2
movups xmmword [rax + 0xe0], xmm1
movdqu xmm1, xmm6
movups xmm6, xmmword [rsp + 0x170]
pandn xmm1, xmm13
movups xmm13, xmmword [rsp + 0x1e0]
por xmm0, xmm1
movups xmmword [rax + 0xf0], xmm0
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret