Function at 0x140020c40
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 r13, rdx
mov rsi, rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov rdx, r9
mov rcx, r13
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov dword [rsp + 0x20], 1
mov qword [rsi + 0x38], r13
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
movzx edx, byte [rsi + 0x28]
mov rcx, rsi
call fcn.14001f970
movzx r12d, byte [rsi + 0x28]
sub r12b, 1
je 0x140020dc1
mov r13, qword [rsp + 0x80]
nop dword [rax]
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 + 0xd]
movzx ecx, byte [rax + 9]
mov byte [rax + 0xd], cl
movzx ecx, byte [rax + 5]
mov byte [rax + 9], cl
movzx ecx, byte [rax + 1]
mov byte [rax + 5], cl
mov byte [rax + 1], dl
movzx ecx, byte [rax + 0xa]
movzx eax, byte [rax + 2]
mov byte [r8 + 0xa], al
mov byte [r8 + 2], cl
movzx ecx, byte [r8 + 0xe]
movzx eax, byte [r8 + 6]
mov byte [r8 + 0xe], al
mov byte [r8 + 6], cl
movzx ecx, byte [r8 + 0xf]
movzx eax, byte [r8 + 3]
mov byte [r8 + 0xf], al
movzx eax, byte [r8 + 7]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 7], al
mov byte [r8 + 0xb], cl
mov rcx, rsi
call fcn.140021160
mov rdx, r13
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov r14, 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, ebp
movzx r15d, r12b
shl r15d, 2
nop dword [rax]
nop dword [rax + rax]
mov edx, ebx
shr edx, 2
add edx, r15d
imul edx, dword [rsi + 0x10]
mov eax, ebx
and eax, 3
add edx, eax
mov rcx, r14
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 0x140020d70
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rcx, rsi
call fcn.140020eb0
add r12b, 0xff
jne 0x140020cc0
mov r13, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
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 + 0xd]
movzx ecx, byte [rax + 9]
mov byte [rax + 0xd], cl
movzx ecx, byte [rax + 5]
mov byte [rax + 9], cl
movzx ecx, byte [rax + 1]
mov byte [rax + 5], cl
mov byte [rax + 1], dl
movzx ecx, byte [rax + 0xa]
movzx eax, byte [rax + 2]
mov byte [r8 + 0xa], al
mov byte [r8 + 2], cl
movzx ecx, byte [r8 + 0xe]
movzx eax, byte [r8 + 6]
mov byte [r8 + 0xe], al
mov byte [r8 + 6], cl
movzx ecx, byte [r8 + 0xf]
movzx eax, byte [r8 + 3]
mov byte [r8 + 0xf], al
movzx eax, byte [r8 + 7]
mov byte [r8 + 3], al
movzx eax, byte [r8 + 0xb]
mov byte [r8 + 7], al
mov byte [r8 + 0xb], cl
mov rcx, rsi
call fcn.140021160
mov rdx, rbx
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov rdi, 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 rbx, rax
nop dword [rax + rax]
mov edx, ebp
shr edx, 2
imul edx, dword [rsi + 0x10]
mov ecx, ebp
and ecx, 3
add edx, ecx
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
xor byte [rbx], al
inc ebp
lea rbx, [rbx + 1]
cmp ebp, 0x10
jl 0x140020e60
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, r13
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret