Function at 0x140076000
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 r12, r8
mov r15, rdx
mov r13, rcx
mov rax, qword [rcx + 8]
cmp dword [rax + 4], 0
jne 0x140076081
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x28]
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, [0x1402dfb30]
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 [r13 + 0x18], 1
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
jmp 0x14007640d
mov rdx, r12
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
nop
mov rax, qword [r12]
cmp dword [rax + 4], 3
jl 0x1400760ec
xor edx, edx
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
cmp al, 3
je 0x1400760fa
mov dword [r13 + 0x18], 2
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x28]
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, [0x1402dfb40]
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 rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
jmp 0x140076402
mov edx, 1
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
movsx ebx, al
mov dword [rbp - 0x48], ebx
mov r9d, 0xffffffff
lea r8d, [r9 + 3]
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
mov rdx, rax
lea rcx, [rbp - 0x40]
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 rax, qword [rbp - 0x40]
mov eax, dword [rax + 4]
mov dword [rbp + 0x48], 0
test eax, eax
jle 0x1400761da
mov r12d, dword [rbp + 0x48]
mov r15d, eax
xor bl, bl
nop dword [rax]
mov r8d, r12d
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteRef___cdecl_QByteArray::operator___int____ptr64]
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteRef::operator_char_void_const___ptr64]
movzx r14d, al
mov rcx, qword [r13 + 8]
mov esi, r12d
and esi, 7
add rsi, qword [rcx + 0x10]
add rsi, rcx
mov edx, r12d
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_char___cdecl_QByteArray::at_int_const___ptr64]
movzx edi, al
xor dil, byte [rsi]
xor dil, bl
mov r8d, r12d
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteRef___cdecl_QByteArray::operator___int____ptr64]
mov rcx, rax
movzx edx, dil
call qword [sym.imp.Qt5Core.dll_public:_class_QByteRef____ptr64___cdecl_QByteRef::operator_char____ptr64]
movzx ebx, r14b
inc r12d
cmp r12d, r15d
jl 0x140076160
mov ebx, dword [rbp - 0x48]
mov r15, qword [rbp + 0x50]
mov r12, qword [rbp + 0x58]
mov r9d, 0xffffffff
lea r8d, [r9 + 2]
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
mov rdx, rax
lea rcx, [rbp - 0x40]
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]
test bl, 2
je 0x1400762b8
mov rax, qword [rbp - 0x40]
cmp dword [rax + 4], 2
jge 0x140076232
mov dword [r13 + 0x18], 3
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
jmp 0x140076402
mov r8d, 1
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QDataStream::constructor_class_QByteArray____ptr64__class_QFlags_enum_QIODevice::OpenModeFlag_____ptr64]
nop
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_class_QDataStream____ptr64___cdecl_QDataStream::operator___short_int____ptr64____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QDataStream::destructor_void____ptr64]
mov r9d, 0xffffffff
lea r8d, [r9 + 3]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
mov rdx, rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::operator_class_QByteArray____ptr64____ptr64]
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, qword [rbp - 0x40]
mov edi, dword [rax + 4]
lea rcx, [rbp - 0x40]
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_]
cmp ax, word [rbp + 0x48]
sete dil
jmp 0x1400763a5
test bl, 4
je 0x1400763ae
mov rax, qword [rbp - 0x40]
cmp dword [rax + 4], 0x14
jl 0x14007621c
mov r8d, 0x14
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::left_int____ptr64]
nop
mov r9d, 0xffffffff
lea r8d, [r9 + 0x15]
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
mov rdx, rax
lea rcx, [rbp - 0x40]
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 edx, 2
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::constructor_enum_QCryptographicHash::Algorithm____ptr64]
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::addData_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QCryptographicHash::result_void____ptr64]
mov r14, rax
mov rcx, qword [rax]
movsxd rax, dword [rcx + 4]
mov rcx, qword [rbp + 0x60]
cmp eax, dword [rcx + 4]
jne 0x140076382
mov rsi, rax
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rdi, rax
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rcx, rax
mov r8, rsi
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140076382
mov dil, 1
jmp 0x140076385
xor dil, dil
lea rcx, [rbp - 0x48]
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]
nop
lea rcx, [rbp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
test dil, dil
je 0x14007621c
test bl, 1
je 0x1400763ec
mov rax, qword [rbp - 0x40]
mov ebx, dword [rax + 4]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_class_QByteArray___cdecl_qUncompress_unsigned_char_const____ptr64__int_]
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x40]
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 dword [r13 + 0x18], 0
lea rdx, [rbp - 0x40]
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray____ptr64____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
mov rcx, r12
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, r15
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret