Function at 0x180037620
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov r15, r8
mov r12, rdx
mov r14, rcx
mov dword [rbp - 0x48], 0
mov rax, qword [rcx + 8]
cmp dword [rax + 4], 0
jne 0x1800376b7
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::constructor_char_const____ptr64__int__char_const____ptr64____ptr64]
mov rcx, rax
lea rdx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QDebug___cdecl_QMessageLogger::warning_void____ptr64]
nop
lea rdx, str.No_key_set.
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_class_QDebug____ptr64___cdecl_QDebug::operator___char_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QDebug::destructor_void____ptr64]
mov dword [r14 + 0x18], 1
mov rcx, r12
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
mov dword [rbp - 0x48], 1
jmp 0x180037937
mov rdx, r8
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
nop
xor ebx, ebx
mov eax, dword [r14 + 0x10]
cmp eax, 1
jne 0x1800376ff
lea r8d, [rbx + 9]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call fcn.180037960
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::operator_class_QByteArray____ptr64____ptr64]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov ebx, 1
jmp 0x180037741
test eax, eax
jne 0x180037741
lea r8d, [rax + 9]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call fcn.180037960
mov rax, qword [rbp + 0x48]
mov ecx, dword [rax + 4]
mov rax, qword [rbp + 0x60]
cmp ecx, dword [rax + 4]
jge 0x180037737
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::operator_class_QByteArray_const____ptr64____ptr64]
mov ebx, 1
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
nop
mov eax, dword [r14 + 0x14]
cmp eax, 1
jne 0x1800377a1
or ebx, 2
lea r8d, [rax + 1]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QDataStream::constructor_class_QByteArray____ptr64__class_QFlags_enum_QIODevice::OpenModeFlag_____ptr64]
nop
mov rax, qword [rbp + 0x60]
mov edi, dword [rax + 4]
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rcx, rax
mov edx, edi
call qword [sym.imp.Qt5Core.dll_unsigned_short_int___cdecl_qChecksum_char_const____ptr64__unsigned_int_]
movzx edx, ax
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QDataStream____ptr64___cdecl_QDataStream::operator___short_int____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QDataStream::destructor_void____ptr64]
jmp 0x1800377f6
cmp eax, 2
jne 0x1800377f6
or ebx, 4
mov edx, eax
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::constructor_enum_QCryptographicHash::Algorithm____ptr64]
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::addData_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QCryptographicHash::result_void____ptr64]
nop
mov rdx, rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::destructor_void____ptr64]
call qword [sym.imp.Qt5Core.dll_int___cdecl_qrand_void_]
lea r8, [rbp - 0x38]
movzx edx, al
lea rcx, [rbp - 0x30]
call fcn.180037100
nop
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.18002f040
mov rdx, rax
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::operator_class_QByteArray_const____ptr64____ptr64]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
xor r13b, r13b
mov rax, qword [rbp + 0x60]
mov eax, dword [rax + 4]
xor esi, esi
test eax, eax
jle 0x1800378b4
mov r15d, eax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r14 + 8]
mov edi, esi
and edi, 7
add rdi, qword [rax + 0x10]
add rdi, rax
lea rax, [rbp + 0x60]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], esi
mov edx, esi
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
xor al, byte [rdi]
xor al, r13b
movzx edx, al
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteRef____ptr64___cdecl_QByteRef::operator_char____ptr64]
mov edx, esi
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
movzx r13d, al
inc esi
cmp esi, r15d
jl 0x180037860
mov r15, qword [rbp + 0x58]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
nop
mov rax, qword [rbp + 0x60]
mov edx, dword [rax + 4]
add edx, 2
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::reserve_int____ptr64]
mov dl, 3
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_char____ptr64]
movzx edx, bl
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_char____ptr64]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
mov dword [r14 + 0x18], 0
lea rdx, [rbp - 0x40]
mov rcx, r12
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray____ptr64____ptr64]
mov dword [rbp - 0x48], 1
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, r12
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret