Function at 0x14001fab0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, r8
mov r15, rdx
mov rsi, rcx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov rdx, r9
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov r12d, 1
mov dword [rsp + 0x20], r12d
mov qword [rsi + 0x38], r15
mov rdx, rbx
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov r8, rax
xor edx, edx
mov rcx, rsi
call fcn.14001f970
movzx r13d, r12b
cmp dword [rsi + 0x28], r12d
jle 0x14001fce0
mov rcx, rsi
call fcn.1400213a0
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov r8, rax
movzx edx, byte [rax + 1]
movzx ecx, byte [rax + 5]
mov byte [rax + 1], cl
movzx ecx, byte [rax + 9]
mov byte [rax + 5], cl
movzx ecx, byte [rax + 0xd]
mov byte [rax + 9], cl
mov byte [rax + 0xd], dl
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 0xa]
mov byte [r8 + 2], al
mov byte [r8 + 0xa], cl
movzx ecx, byte [r8 + 6]
movzx eax, byte [r8 + 0xe]
mov byte [r8 + 6], al
mov byte [r8 + 0xe], cl
movzx ecx, byte [r8 + 3]
movzx eax, byte [r8 + 0xf]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 0xf], al
movzx eax, byte [r8 + 7]
mov byte [r8 + 0xb], al
mov byte [r8 + 7], cl
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
lea r15, [rax + 1]
mov ebp, 4
nop dword [rax]
movzx ebx, byte [r15 - 1]
movzx edi, byte [r15 + 2]
movzx r10d, byte [r15 + 1]
movzx r9d, dil
xor r9b, r10b
movzx r8d, byte [r15]
movzx r11d, r9b
xor r11b, bl
xor r11b, r8b
movzx edx, bl
xor dl, r8b
movzx eax, dl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add dl, dl
xor cl, dl
xor cl, bl
xor cl, r11b
mov byte [r15 - 1], cl
movzx edx, r10b
xor dl, r8b
movzx eax, dl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add dl, dl
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r15], cl
movzx eax, r9b
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add r9b, r9b
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r15 + 1], cl
xor bl, dil
movzx eax, bl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
add bl, bl
xor cl, bl
xor dil, cl
xor dil, r11b
mov byte [r15 + 2], dil
lea r15, [r15 + 4]
sub rbp, 1
jne 0x14001fbb0
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov rbp, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov rdi, rax
mov ebx, r14d
lea r15d, [r12*4]
nop
mov edx, ebx
shr edx, 2
add edx, r15d
imul edx, dword [rsi + 0x10]
mov ecx, ebx
and ecx, 3
add edx, ecx
mov rcx, rbp
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
xor byte [rdi], al
inc ebx
lea rdi, [rdi + 1]
cmp ebx, 0x10
jl 0x14001fc90
mov rcx, rbp
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
inc r13b
movzx r12d, r13b
cmp r12d, dword [rsi + 0x28]
jl 0x14001fb23
mov rbx, qword [rsp + 0x80]
mov r15, qword [rsp + 0x78]
mov rcx, rsi
call fcn.1400213a0
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov r8, rax
movzx edx, byte [rax + 1]
movzx ecx, byte [rax + 5]
mov byte [rax + 1], cl
movzx ecx, byte [rax + 9]
mov byte [rax + 5], cl
movzx ecx, byte [rax + 0xd]
mov byte [rax + 9], cl
mov byte [rax + 0xd], dl
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 0xa]
mov byte [r8 + 2], al
mov byte [r8 + 0xa], cl
movzx ecx, byte [r8 + 6]
movzx eax, byte [r8 + 0xe]
mov byte [r8 + 6], al
mov byte [r8 + 0xe], cl
movzx ecx, byte [r8 + 3]
movzx eax, byte [r8 + 0xf]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 0xf], al
movzx eax, byte [r8 + 7]
mov byte [r8 + 0xb], al
mov byte [r8 + 7], cl
mov rdx, rbx
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov rbp, rax
mov qword [rsp + 0x28], rax
movzx ebx, byte [rsi + 0x28]
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::begin_void____ptr64]
mov rdi, rax
shl ebx, 2
mov edx, r14d
shr edx, 2
add edx, ebx
imul edx, dword [rsi + 0x10]
mov eax, r14d
and eax, 3
add edx, eax
mov rcx, rbp
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
xor byte [rdi], al
inc r14d
lea rdi, [rdi + 1]
cmp r14d, 0x10
jl 0x14001fd81
mov rcx, rbp
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, r15
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret