Function at 0x180070b70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x178], rbx
mov rdi, rdx
mov r14, rcx
mov rcx, qword [rcx]
mov r8, qword [rcx + 8]
cmp dword [r8 + 4], 0
je 0x180070bc9
mov qword [rdx], r8
mov eax, dword [r8]
inc eax
cmp eax, 1
jbe 0x180070e41
mov ebx, 1
lock xadd dword [r8], ebx
jmp 0x180070e41
call fcn.180070820
mov r8, qword [r14]
mov ecx, dword [r8 + 0x18]
call fcn.180070ac0
movsxd rbx, eax
lea rcx, [r8 + 0x10]
lea rdx, [rbp + 0x80]
call sym.Qt5Core.dll_public:_class_QByteArray___cdecl_QCryptographicHash::result_void____ptr64
nop
mov dword [rsp + 0x34], ebx
cmp ebx, 0x100
jle 0x180070c24
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x180070c1a
call sym.Qt5Core.dll_void___cdecl_qBadAlloc_void_
mov rdx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x30], eax
jmp 0x180070c36
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], 0x100
mov rax, qword [r14]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
add r8, rcx
xor r9d, r9d
test ebx, ebx
jle 0x180070d0f
cmp ebx, 0x40
jb 0x180070d0f
lea eax, [rbx - 1]
movsxd rcx, eax
lea r10, [rcx + rdx]
lea rax, [rcx + r8]
cmp rdx, rax
ja 0x180070c73
cmp r10, r8
jae 0x180070d0f
mov ecx, ebx
and ecx, 0x8000003f
jge 0x180070c84
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, ebx
sub eax, ecx
movsxd rsi, eax
movdqa xmm2, xmmword [0x180305530]
lea rdx, [r8 + 0x30]
lea r11, [r8 + 0x10]
mov rcx, qword [rsp + 0x38]
mov r15, rcx
mov r10, r8
sub r10, rcx
nop dword [rax]
movdqu xmm0, xmmword [r10 + rcx]
pxor xmm0, xmm2
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [r11]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm0, xmmword [rdx - 0x10]
pxor xmm0, xmm2
movdqu xmmword [rcx + 0x20], xmm0
movdqu xmm0, xmmword [rdx]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add r9d, 0x40
add rcx, 0x40
lea r11, [r11 + 0x40]
lea rdx, [rdx + 0x40]
mov rax, rcx
sub rax, r15
cmp rax, rsi
jl 0x180070cb0
mov rdx, qword [rsp + 0x38]
movsxd rax, r9d
cmp rax, rbx
jge 0x180070d3a
nop word [rax + rax]
movzx ecx, byte [rax + r8]
xor cl, 0x5c
mov byte [rdx + rax], cl
inc rax
cmp rax, rbx
jge 0x180070d3a
mov rdx, qword [rsp + 0x38]
jmp 0x180070d20
mov rax, qword [r14]
mov edx, dword [rax + 0x18]
lea rcx, [rbp + 0x70]
call sym.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::constructor_enum_QCryptographicHash::Algorithm____ptr64
nop
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0x70]
call sym.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::addData_char_const____ptr64__int____ptr64
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x70]
call sym.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::addData_class_QByteArray_const____ptr64____ptr64
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x70]
call sym.Qt5Core.dll_public:_class_QByteArray___cdecl_QCryptographicHash::result_void____ptr64
mov r8, qword [r14]
mov rdx, qword [r8 + 8]
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax]
mov qword [r8 + 8], rcx
mov qword [rax], rdx
mov rax, qword [rbp + 0x88]
mov ecx, dword [rax]
mov ebx, 1
lea esi, [rbx - 2]
test ecx, ecx
je 0x180070dbd
cmp ecx, esi
je 0x180070dd2
mov ecx, esi
mov rax, qword [rbp + 0x88]
lock xadd dword [rax], ecx
cmp ecx, ebx
jne 0x180070dd2
mov r8d, 8
mov rdx, rbx
mov rcx, qword [rbp + 0x88]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
mov rax, qword [r14]
mov rcx, qword [rax + 8]
mov qword [rdi], rcx
mov eax, dword [rcx]
inc eax
cmp eax, ebx
jbe 0x180070dea
mov eax, ebx
lock xadd dword [rcx], eax
lea rcx, [rbp + 0x70]
call sym.Qt5Core.dll_public:_void___cdecl_QCryptographicHash::destructor_void____ptr64
nop
lea rax, [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
cmp rcx, rax
je 0x180070e0a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rax, qword [rbp + 0x80]
mov ecx, dword [rax]
test ecx, ecx
je 0x180070e2c
cmp ecx, 0xffffffff
je 0x180070e41
mov rax, qword [rbp + 0x80]
lock xadd dword [rax], esi
cmp esi, 1
jne 0x180070e41
mov r8d, 8
mov rdx, rbx
mov rcx, qword [rbp + 0x80]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
mov rax, rdi
mov rbx, qword [rsp + 0x178]
add rsp, 0x140
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret