Function at 0x4d9b10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1f8
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x160], xmm7
movups xmmword [rsp + 0x170], xmm8
movups xmmword [rsp + 0x180], xmm9
movups xmmword [rsp + 0x190], xmm10
movups xmmword [rsp + 0x1a0], xmm11
movups xmmword [rsp + 0x1b0], xmm12
movups xmmword [rsp + 0x1c0], xmm13
movups xmmword [rsp + 0x1d0], xmm14
movups xmmword [rsp + 0x1e0], xmm15
movd xmm6, dword [rcx + 0x3c]
movd xmm0, dword [rcx + 0x28]
movd xmm14, dword [rcx]
movd xmm2, dword [rcx + 0x94]
punpckldq xmm0, xmm6
movd xmm6, dword [rcx + 0x14]
movd xmm13, dword [rcx + 0x80]
movd xmm5, dword [rcx + 0xc]
movd xmm12, dword [rcx + 0x10]
punpckldq xmm14, xmm6
punpckldq xmm13, xmm2
mov r11, rdx
mov edx, r8d
punpcklqdq xmm14, xmm0
movd xmm6, dword [rcx + 0xbc]
movd xmm0, dword [rcx + 0xa8]
shl edx, 5
movd xmm11, dword [rcx + 0x90]
movd xmm10, dword [rcx + 0x20]
mov rax, rcx
movdqu xmm4, xmm14
punpckldq xmm0, xmm6
mov r13d, r8d
movd xmm6, dword [rcx + 0x24]
movd xmm3, dword [rcx + 0x8c]
punpcklqdq xmm13, xmm0
movd xmm0, dword [rcx + 0x38]
movd xmm2, dword [rcx + 0xa4]
lea r10, [rcx + 0x80]
punpckldq xmm12, xmm6
movd xmm6, dword [rcx + 0x1c]
movd xmm9, dword [rcx + 0xa0]
movdqu xmm15, xmm13
punpckldq xmm0, xmm5
lea rbx, [r11 + rdx*4]
lea rdi, [rcx + 0x40]
movd xmm8, dword [rcx + 0x30]
punpcklqdq xmm12, xmm0
movd xmm0, dword [rcx + 0xb8]
punpckldq xmm11, xmm2
movd xmm2, dword [rcx + 0x9c]
movd xmm7, dword [rcx + 0xac]
movdqu xmm5, xmm12
lea rsi, [rcx + 0xc0]
punpckldq xmm0, xmm3
movd xmm3, dword [rcx + 0x34]
punpcklqdq xmm11, xmm0
movd xmm0, dword [rcx + 8]
punpckldq xmm10, xmm3
movdqu xmm1, xmm11
punpckldq xmm0, xmm6
movd xmm6, dword [rcx + 0xb4]
punpcklqdq xmm10, xmm0
movd xmm0, dword [rcx + 0x88]
punpckldq xmm9, xmm6
movd xmm6, dword [rcx + 0x2c]
movdqu xmm3, xmm10
punpckldq xmm0, xmm2
punpcklqdq xmm9, xmm0
movd xmm0, dword [rcx + 0x18]
movdqu xmm2, xmm9
punpckldq xmm0, xmm6
movd xmm6, dword [rcx + 4]
punpckldq xmm8, xmm6
punpcklqdq xmm8, xmm0
movd xmm0, dword [rcx + 0x98]
movdqu xmm6, xmm8
punpckldq xmm0, xmm7
movd xmm7, dword [rcx + 0xb0]
movq qword [rsp + 0x20], xmm0
movd xmm0, dword [rcx + 0x84]
movups xmmword [rcx + 0x10], xmm12
movd xmm12, dword [rcx + 0x7c]
punpckldq xmm7, xmm0
movups xmmword [rcx], xmm14
movd xmm14, dword [rcx + 0x40]
movhps xmm7, qword [rsp + 0x20]
movups xmmword [rcx + 0x80], xmm13
movd xmm13, dword [rcx + 0xc0]
movups xmmword [rcx + 0xb0], xmm7
movdqu xmm0, xmm7
movd xmm7, dword [rcx + 0x68]
movups xmmword [rcx + 0x20], xmm10
movd xmm10, dword [rcx + 0xd4]
punpckldq xmm7, xmm12
movd xmm12, dword [rcx + 0x54]
movups xmmword [rcx + 0x30], xmm8
punpckldq xmm13, xmm10
movups xmmword [rcx + 0x90], xmm11
movd xmm10, dword [rcx + 0x64]
movd xmm11, dword [rcx + 0x50]
punpckldq xmm14, xmm12
movups xmmword [rcx + 0xa0], xmm9
movd xmm12, dword [rcx + 0xfc]
punpcklqdq xmm14, xmm7
movd xmm7, dword [rcx + 0xe8]
punpckldq xmm11, xmm10
movd xmm10, dword [rcx + 0xcc]
movups xmmword [rsp + 0x40], xmm14
punpckldq xmm7, xmm12
movdqu xmm12, xmm13
movd xmm13, dword [rcx + 0x4c]
punpcklqdq xmm12, xmm7
movd xmm7, dword [rcx + 0x78]
movups xmmword [rsp + 0x80], xmm12
punpckldq xmm7, xmm13
movdqu xmm13, xmm11
movups xmmword [rsp + 0x20], xmm12
movd xmm11, dword [rcx + 0xd0]
punpcklqdq xmm13, xmm7
movd xmm7, dword [rcx + 0xf8]
movups xmmword [rsp + 0x90], xmm13
movdqu xmm12, xmm13
punpckldq xmm7, xmm10
movd xmm10, dword [rcx + 0xe4]
punpckldq xmm11, xmm10
punpcklqdq xmm11, xmm7
movd xmm7, dword [rcx + 0x48]
movups xmmword [rsp + 0x50], xmm11
movd xmm8, dword [rcx + 0x5c]
movd xmm10, dword [rcx + 0x60]
movd xmm9, dword [rcx + 0xe0]
punpckldq xmm7, xmm8
movd xmm8, dword [rcx + 0x74]
punpckldq xmm10, xmm8
movd xmm8, dword [rcx + 0xdc]
punpcklqdq xmm10, xmm7
movd xmm7, dword [rcx + 0xc8]
movdqu xmm13, xmm10
punpckldq xmm7, xmm8
movd xmm8, dword [rcx + 0xf4]
punpckldq xmm9, xmm8
movdqu xmm8, xmm9
movd xmm9, dword [rcx + 0x44]
movups xmmword [rcx + 0x40], xmm14
movdqu xmm14, xmmword [rsp + 0x80]
punpcklqdq xmm8, xmm7
movd xmm7, dword [rcx + 0x58]
movups xmmword [rsp + 0xa0], xmm8
movups xmmword [rsp + 0x30], xmm8
movd xmm8, dword [rcx + 0x6c]
movups xmmword [rcx + 0x60], xmm10
punpckldq xmm7, xmm8
movd xmm8, dword [rcx + 0x70]
punpckldq xmm8, xmm9
movd xmm9, dword [rcx + 0xec]
punpcklqdq xmm8, xmm7
movd xmm7, dword [rcx + 0xd8]
movups xmmword [rcx + 0xd0], xmm11
movups xmmword [rsp + 0x60], xmm8
punpckldq xmm7, xmm9
movups xmmword [rcx + 0x70], xmm8
movd xmm9, dword [rcx + 0xc4]
movq qword [rsp + 0x70], xmm7
movd xmm7, dword [rcx + 0xf0]
movups xmmword [rcx + 0xc0], xmm14
movdqu xmm14, xmmword [rsp + 0x90]
punpckldq xmm7, xmm9
movups xmmword [rcx + 0x50], xmm14
movhps xmm7, qword [rsp + 0x70]
movdqu xmm14, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x70], xmm7
movups xmmword [rcx + 0xe0], xmm14
movups xmmword [rcx + 0xf0], xmm7
test r8d, r8d
je 0x4da247
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 xmm2, xmmword [rax]
mov rdx, r10
mov rcx, rax
mov r9, rsi
mov r8, rdi
sub rbp, 0xffffffffffffff80
sub r14, 0xffffffffffffff80
movups xmmword [rbp - 0x80], xmm2
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm5
movdqu xmm6, xmmword [rax + 0x20]
movups xmmword [rbp - 0x60], xmm6
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [rbp - 0x50], xmm4
movdqu xmm3, xmmword [rax + 0x40]
movups xmmword [rbp - 0x40], xmm3
movdqu xmm2, xmmword [rax + 0x50]
movups xmmword [rbp - 0x30], xmm2
movdqu xmm5, xmmword [rax + 0x60]
movups xmmword [rbp - 0x20], xmm5
movdqu xmm6, xmmword [rax + 0x70]
movups xmmword [rbp - 0x10], xmm6
movdqu xmm4, xmmword [r10]
movups xmmword [r14 - 0x80], xmm4
movdqu xmm7, xmmword [r10 + 0x10]
movups xmmword [r14 - 0x70], xmm7
movdqu xmm3, xmmword [r10 + 0x20]
movups xmmword [r14 - 0x60], xmm3
movdqu xmm2, xmmword [r10 + 0x30]
movups xmmword [r14 - 0x50], xmm2
movdqu xmm5, xmmword [r10 + 0x40]
movups xmmword [r14 - 0x40], xmm5
movdqu xmm6, xmmword [r10 + 0x50]
movups xmmword [r14 - 0x30], xmm6
movdqu xmm4, xmmword [r10 + 0x60]
movups xmmword [r14 - 0x20], xmm4
movdqu xmm7, xmmword [r10 + 0x70]
movups xmmword [r14 - 0x10], xmm7
call fcn.004d7e00
mov rdx, rsi
mov rcx, rdi
mov r9, r10
mov r8, rax
call fcn.004d7e00
cmp r15, rbp
jne 0x4d9f78
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.004d7e00
mov rdx, rsi
mov rcx, rdi
mov r9, r10
mov r8, rax
call fcn.004d7e00
cmp ebp, r13d
jne 0x4da050
movdqu xmm5, xmmword [rax + 0x40]
movdqu xmm3, xmmword [rax + 0xd0]
movdqu xmm2, xmmword [rax + 0xe0]
movdqu xmm12, xmmword [rax + 0x50]
movups xmmword [rsp + 0x40], xmm5
movdqu xmm5, xmmword [rax + 0xc0]
movdqu xmm4, xmmword [rax]
movups xmmword [rsp + 0x50], xmm3
movdqu xmm13, xmmword [rax + 0x60]
movdqu xmm3, xmmword [rax + 0xf0]
movups xmmword [rsp + 0x20], xmm5
movdqu xmm5, xmmword [rax + 0x70]
movdqu xmm15, xmmword [rax + 0x80]
movups xmmword [rsp + 0x30], xmm2
movdqu xmm1, xmmword [rax + 0x90]
movdqu xmm2, xmmword [rax + 0xa0]
movups xmmword [rsp + 0x60], xmm5
movdqu xmm6, xmmword [rax + 0x30]
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm3
movdqu xmm0, xmmword [rax + 0xb0]
movdqu xmm3, xmmword [rax + 0x20]
movdqu xmm9, xmm3
pshufd xmm8, xmm5, 0xff
pshufd xmm7, xmm6, 0x55
punpckhdq xmm9, xmm3
movdqu xmm11, xmm4
movdqu xmm10, xmm12
movdqu xmm14, xmm9
movdqu xmm9, xmm6
punpckldq xmm11, xmm7
punpckldq xmm14, xmm8
punpckhdq xmm9, xmm6
pshufd xmm8, xmm3, 0xff
movq qword [rsp + 0x90], xmm11
movq qword [rsp + 0x80], xmm14
movdqu xmm14, xmm9
movdqu xmm9, xmm4
pshufd xmm7, xmm4, 0x55
punpckldq xmm14, xmm8
punpckhdq xmm9, xmm4
movdqu xmm8, xmm5
punpckldq xmm8, xmm7
movdqu xmm11, xmm9
pshufd xmm7, xmm5, 0x55
movq qword [rsp + 0xa0], xmm14
movdqu xmm9, xmm3
punpckhdq xmm5, xmm5
pshufd xmm4, xmm4, 0xff
punpckldq xmm9, xmm7
movdqu xmm7, xmm5
movdqu xmm14, xmm8
punpckldq xmm7, xmm4
movdqu xmm4, xmm2
pshufd xmm8, xmm6, 0xff
movq qword [rsp + 0xb8], xmm9
punpckhdq xmm4, xmm2
punpckldq xmm11, xmm8
pshufd xmm3, xmm3, 0x55
movq qword [rsp + 0xc0], xmm7
movdqu xmm9, xmm4
pshufd xmm4, xmm1, 0xff
movdqu xmm5, xmm6
movq qword [rsp + 0xb0], xmm11
punpckldq xmm9, xmm4
movdqu xmm4, xmm0
punpckldq xmm5, xmm3
punpckhdq xmm4, xmm0
pshufd xmm3, xmm0, 0x55
movdqu xmm6, xmm15
movq qword [rsp + 0xc8], xmm5
movdqu xmm11, xmm4
pshufd xmm4, xmm2, 0xff
punpckldq xmm6, xmm3
punpckldq xmm11, xmm4
pshufd xmm3, xmm15, 0x55
movdqu xmm5, xmm1
movdqu xmm4, xmm15
pshufd xmm7, xmm1, 0x55
pshufd xmm8, xmm0, 0xff
punpckldq xmm5, xmm3
punpckhdq xmm4, xmm15
movdqu xmm3, xmm2
punpckldq xmm4, xmm8
punpckldq xmm3, xmm7
punpckhdq xmm1, xmm1
pshufd xmm7, xmm15, 0xff
punpcklqdq xmm3, xmm4
pshufd xmm2, xmm2, 0x55
punpckldq xmm1, xmm7
movups xmmword [rax + 0xa0], xmm3
movdqu xmm3, xmmword [rsp + 0x60]
movq xmm7, qword [rsp + 0x90]
punpckldq xmm0, xmm2
movdqu xmm15, xmm13
movdqu xmm2, xmmword [rsp + 0x40]
punpcklqdq xmm5, xmm11
punpcklqdq xmm0, xmm1
punpckhdq xmm15, xmm13
movdqu xmm11, xmm3
movups xmmword [rax + 0x90], xmm5
pshufd xmm1, xmm12, 0xff
punpcklqdq xmm6, xmm9
movhps xmm7, qword [rsp + 0x80]
movups xmmword [rax + 0xb0], xmm0
movups xmmword [rax], xmm7
punpckldq xmm15, xmm1
movdqu xmm7, xmm2
pshufd xmm1, xmm13, 0xff
punpckhdq xmm11, xmm3
movups xmmword [rax + 0x80], xmm6
punpckhdq xmm7, xmm2
movdqu xmm6, xmm14
punpckldq xmm11, xmm1
pshufd xmm1, xmm3, 0xff
pshufd xmm0, xmm3, 0x55
movq xmm5, qword [rsp + 0xc8]
movhps xmm6, qword [rsp + 0xa0]
punpckldq xmm7, xmm1
movdqu xmm1, xmm3
movdqu xmm3, xmm12
movups xmmword [rax + 0x10], xmm6
movdqu xmm14, xmm2
movq xmm6, qword [rsp + 0xb8]
punpckhdq xmm3, xmm12
punpckldq xmm14, xmm0
pshufd xmm0, xmm2, 0x55
movdqu xmm4, xmm3
pshufd xmm2, xmm2, 0xff
movhps xmm6, qword [rsp + 0xb0]
movdqu xmm3, xmmword [rsp + 0x70]
punpckldq xmm4, xmm2
movups xmmword [rax + 0x20], xmm6
punpckldq xmm10, xmm0
movhps xmm5, qword [rsp + 0xc0]
pshufd xmm0, xmm12, 0x55
movdqu xmm6, xmm13
movdqu xmm2, xmmword [rsp + 0x50]
movq qword [rsp + 0x40], xmm4
movdqu xmm4, xmmword [rsp + 0x30]
movups xmmword [rax + 0x30], xmm5
punpckldq xmm6, xmm0
movdqu xmm5, xmm1
pshufd xmm0, xmm13, 0x55
pshufd xmm1, xmm2, 0xff
movdqu xmm9, xmm3
punpckldq xmm5, xmm0
movdqu xmm13, xmm4
punpckhdq xmm9, xmm3
movq qword [rsp + 0x60], xmm5
punpckhdq xmm13, xmm4
movdqu xmm5, xmmword [rsp + 0x20]
pshufd xmm0, xmm3, 0x55
punpckldq xmm13, xmm1
pshufd xmm1, xmm4, 0xff
punpcklqdq xmm6, xmm7
movd xmm4, dword [rsp + 0x30]
punpckldq xmm9, xmm1
movdqu xmm1, xmm5
punpckhdq xmm1, xmmword [rsp + 0x20]
movdqu xmm12, xmm5
movdqu xmm8, xmm2
punpcklqdq xmm14, xmm15
punpckldq xmm12, xmm0
pshufd xmm0, xmm5, 0x55
movdqu xmm5, xmm1
pshufd xmm1, xmm3, 0xff
punpckldq xmm8, xmm0
pshufd xmm0, xmm2, 0x55
punpckldq xmm5, xmm1
pshufd xmm1, xmmword [rsp + 0x30], 0x55
movups xmmword [rax + 0x60], xmm6
movq xmm6, qword [rsp + 0x60]
punpckldq xmm4, xmm0
movdqu xmm0, xmm2
punpcklqdq xmm12, xmm13
movups xmmword [rax + 0x40], xmm14
punpcklqdq xmm10, xmm11
punpcklqdq xmm8, xmm9
movhps xmm6, qword [rsp + 0x40]
movups xmmword [rax + 0xc0], xmm12
punpckhdq xmm0, xmm2
punpckldq xmm3, xmm1
movups xmmword [rax + 0x70], xmm6
punpcklqdq xmm4, xmm5
movups xmmword [rax + 0x50], xmm10
pshufd xmm2, xmmword [rsp + 0x20], 0xff
movups xmm6, xmmword [rsp + 0x150]
punpckldq xmm0, xmm2
movups xmmword [rax + 0xd0], xmm8
punpcklqdq xmm3, xmm0
movups xmm7, xmmword [rsp + 0x160]
movups xmm8, xmmword [rsp + 0x170]
movups xmm9, xmmword [rsp + 0x180]
movups xmmword [rax + 0xe0], xmm4
movups xmm10, xmmword [rsp + 0x190]
movups xmm11, xmmword [rsp + 0x1a0]
movups xmmword [rax + 0xf0], xmm3
movups xmm12, xmmword [rsp + 0x1b0]
movups xmm13, xmmword [rsp + 0x1c0]
movups xmm14, xmmword [rsp + 0x1d0]
movups xmm15, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret