Function at 0x14004b2a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov r15, rdx
mov r14, rcx
lea rcx, [rdx + 0x4a]
mov dword [rdx + 0x60], 0
lea rbx, [rdx + 0x65]
xor edx, edx
lea rax, [0x1401af380]
nop dword [rax]
mov esi, edx
shr esi, 0x18
movzx edi, byte [rcx]
xor edi, esi
shl edx, 8
xor edx, dword [rax + rdi*4]
mov edi, edx
shr edi, 0x18
movzx esi, byte [rcx + 1]
xor esi, edi
shl edx, 8
xor edx, dword [rax + rsi*4]
mov edi, edx
shr edi, 0x18
movzx esi, byte [rcx + 2]
xor esi, edi
shl edx, 8
xor edx, dword [rax + rsi*4]
add rcx, 3
cmp rcx, rbx
jne 0x14004b2d0
mov rcx, qword [r15 + 0x28]
mov r10, qword [r15 + 0x38]
test r10, r10
je 0x14004b37a
test r10b, 1
jne 0x14004b329
mov rbx, rcx
cmp r10, 1
jne 0x14004b346
jmp 0x14004b37a
lea rbx, [rcx + 1]
mov edi, edx
shr edi, 0x18
movzx r9d, byte [rcx]
xor r9d, edi
shl edx, 8
xor edx, dword [rax + r9*4]
cmp r10, 1
je 0x14004b37a
add r10, rcx
nop dword [rax]
mov edi, edx
shr edi, 0x18
movzx esi, byte [rbx]
xor esi, edi
shl edx, 8
xor edx, dword [rax + rsi*4]
mov edi, edx
shr edi, 0x18
movzx esi, byte [rbx + 1]
xor esi, edi
shl edx, 8
xor edx, dword [rax + rsi*4]
add rbx, 2
cmp rbx, r10
jne 0x14004b350
mov r9, qword [r8]
mov r11, qword [r8 + 0x10]
test r11, r11
je 0x14004b3ea
test r11b, 1
jne 0x14004b397
mov rbx, r9
cmp r11, 1
jne 0x14004b3b4
jmp 0x14004b3ea
lea rbx, [r9 + 1]
mov edi, edx
shr edi, 0x18
movzx r10d, byte [r9]
xor r10d, edi
shl edx, 8
xor edx, dword [rax + r10*4]
cmp r11, 1
je 0x14004b3ea
add r11, r9
nop word [rax + rax]
mov edi, edx
shr edi, 0x18
movzx esi, byte [rbx]
xor esi, edi
shl edx, 8
xor edx, dword [rax + rsi*4]
mov edi, edx
shr edi, 0x18
movzx esi, byte [rbx + 1]
xor esi, edi
shl edx, 8
xor edx, dword [rax + rsi*4]
add rbx, 2
cmp rbx, r11
jne 0x14004b3c0
lea rsi, [r15 + 0x28]
mov eax, dword [r15 + 0x44]
cmp eax, edx
jne 0x14004b47d
mov rax, qword [r8 + 0x10]
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [r8]
movaps xmmword [rsp + 0x20], xmm0
mov rdx, qword [r15 + 0x30]
test rdx, rdx
je 0x14004b420
mov r8d, 1
call fcn.1400012f0
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
mov rax, qword [r15 + 0x60]
mov qword [r14 + 0x68], rax
movups xmm0, xmmword [r15 + 0x50]
movups xmmword [r14 + 0x58], xmm0
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [r14 + 0x48], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [r14 + 0x38], xmm3
movups xmmword [r14 + 0x28], xmm2
movups xmmword [r14 + 0x18], xmm1
movups xmmword [r14 + 8], xmm0
mov qword [r14], 0
jmp 0x14004b4e0
mov byte [r14 + 8], 2
mov dword [r14 + 0xc], eax
mov dword [r14 + 0x10], edx
mov qword [r14], 1
mov rdx, qword [r8 + 8]
test rdx, rdx
je 0x14004b4a8
mov r8d, 1
mov rcx, r9
call fcn.1400012f0
mov rdx, qword [r15 + 0x10]
test rdx, rdx
je 0x14004b4c9
shl rdx, 2
test rdx, rdx
je 0x14004b4c9
mov rcx, qword [r15 + 8]
mov r8d, 2
call fcn.1400012f0
mov rdx, qword [r15 + 0x30]
test rdx, rdx
je 0x14004b4e0
mov rcx, qword [rsi]
mov r8d, 1
call fcn.1400012f0
mov rax, r14
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret