Function at 0x140004f20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
pxor xmm0, xmm0
mov rax, qword [rdx + 0x10]
sub rax, qword [rdx]
mov r15, rdx
mov edx, dword [rdx + 0x18]
mov qword [rsp + 0xf0], rcx
lea rax, [rdx + rax*8]
cvtsi2sd xmm0, eax
call fcn.14000d7d0
mov edx, 3
cvttsd2si edi, xmm0
mov eax, edi
mov dword [rsp + 0x40], edi
shr eax, 0x1f
add eax, edi
sar eax, 1
mov r14d, eax
mov eax, 1
sub edi, r14d
mov ebp, eax
mov ecx, r14d
shl ebp, cl
mov ecx, edi
mov ebx, edi
shl eax, cl
mov dword [rsp + 0x44], eax
lea rcx, [rsp + 0x50]
mov edi, eax
call qword [method.QColor.QColor_Qt::GlobalColor_]
mov rax, qword [rsp + 0x50]
movabs rdx, 0x666666666666666
mov qword [rsp + 0x64], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x6c], rax
movsxd rax, edi
cmp rax, rdx
ja 0x1400053e9
lea rdx, [rax + rax*4]
test rax, rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
lea rsi, [rdx*4]
je 0x1400053c7
mov rcx, rsi
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov r8, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
lea rdx, [rax + rsi]
mov r12, rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x90], rdx
mov rsi, rax
nop word [rax + rax]
mov byte [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
add rsi, 0x14
mov qword [rsi - 0xc], r8
mov dword [rsi - 4], ecx
mov qword [rsi - 0x14], rax
cmp rdx, rsi
jne 0x140005020
movsxd rbp, ebp
mov qword [rsp + 0x88], rsi
movabs rax, 0x555555555555555
cmp rbp, rax
ja 0x1400053f5
mov rax, qword [rsp + 0xf0]
lea rdi, [rbp + rbp*2]
shl rdi, 3
test rbp, rbp
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
je 0x140005169
mov rcx, rdi
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov rcx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xf0]
mov r13, rsi
movabs rdx, 0xccccccccccccccd
add rdi, rcx
sub r13, r12
mov qword [rax + 0x10], rdi
mov rdi, rcx
mov qword [rax], rcx
mov qword [rax + 8], rcx
lea rax, [rsi - 0x14]
sub rax, r12
shr rax, 2
imul rax, rdx
movabs rdx, 0x3fffffffffffffff
and rax, rdx
lea rax, [rax + rax*4 + 5]
shl rax, 2
mov qword [rsp + 0x28], rax
jmp 0x140005149
movabs rax, 0x7ffffffffffffff8
cmp r13, rax
ja 0x1400053b8
mov rcx, r13
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov rcx, rax
lea rax, [rcx + r13]
cmp rsi, r12
mov qword [rdi], rcx
mov qword [rdi + 0x10], rax
je 0x14000513b
mov r8, qword [rsp + 0x28]
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov qword [rdi + 8], rcx
add rdi, 0x18
sub rbp, 1
je 0x140005182
test r13, r13
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
jne 0x1400050f8
xor ecx, ecx
jmp 0x140005116
mov rax, qword [rsp + 0xf0]
xor edi, edi
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
test r12, r12
mov qword [rax + 8], rdi
je 0x1400051a1
sub rsi, r12
mov rcx, r12
mov rdx, rsi
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rax, qword [r15 + 0x30]
mov rdi, qword [r15 + 0x28]
mov qword [rsp + 0x48], rax
cmp rdi, rax
je 0x14000534b
mov r13, qword [rsp + 0xf0]
mov r12, rdi
nop word [rax + rax]
mov rdi, qword [r12]
call sub.msvcrt.dll_rand
cdq
shr edx, 0x18
lea ebp, [rax + rdx]
movzx ebp, bpl
sub ebp, edx
call sub.msvcrt.dll_rand
cdq
shr edx, 0x18
lea esi, [rax + rdx]
movzx esi, sil
sub esi, edx
call sub.msvcrt.dll_rand
cdq
shr edx, 0x18
add eax, edx
movzx eax, al
sub eax, edx
mov edx, ebp
or edx, esi
or edx, eax
cmp edx, 0xff
ja 0x140005370
mov edx, ebp
mov r10d, 0xffffffff
mov dword [rsp + 0x28], 1
shl edx, 8
mov word [rsp + 0x30], r10w
add edx, ebp
mov ebp, esi
mov word [rsp + 0x3c], dx
mov edx, eax
shl ebp, 8
shl edx, 8
add esi, ebp
add eax, edx
mov word [rsp + 0x3e], si
mov word [rsp + 0x3a], ax
mov rsi, qword [r15 + 0x48]
mov rbp, qword [r15 + 0x40]
cmp rbp, rsi
jne 0x14000526d
jmp 0x14000533c
add rbp, 8
cmp rbp, rsi
je 0x14000533c
mov r8, qword [rbp]
mov rdx, rdi
mov rcx, r15
call fcn.1400044f0
test al, al
je 0x140005260
mov r8d, dword [r8 + 4]
mov ecx, ebx
mov eax, r8d
cdq
idiv dword [rsp + 0x44]
mov eax, r8d
sar eax, cl
test ebx, ebx
jle 0x1400053b0
xor ecx, ecx
xor r8d, r8d
mov r9d, edx
sar r9d, cl
add ecx, 1
xor r8d, r9d
cmp ecx, ebx
jne 0x1400052a0
movsxd r8, r8d
lea r8, [r8 + r8*4]
shl r8, 2
cmp dword [rsp + 0x40], 1
jle 0x1400053a0
xor ecx, ecx
xor edx, edx
nop word [rax + rax]
mov r9d, eax
sar r9d, cl
add ecx, 1
xor edx, r9d
cmp r14d, ecx
jg 0x1400052d0
movsxd rdx, edx
lea rax, [rdx + rdx*2]
shl rax, 3
mov rdx, qword [r13]
add rbp, 8
add r8, qword [rdx + rax]
mov eax, dword [rsp + 0x28]
mov byte [r8], 1
mov dword [r8 + 4], eax
movzx eax, word [rsp + 0x30]
mov word [r8 + 8], ax
movzx eax, word [rsp + 0x3a]
mov word [r8 + 0xa], ax
movzx eax, word [rsp + 0x3e]
mov word [r8 + 0xc], ax
movzx eax, word [rsp + 0x3c]
mov word [r8 + 0xe], ax
xor eax, eax
cmp rbp, rsi
mov word [r8 + 0x10], ax
jne 0x14000526d
add r12, 8
cmp qword [rsp + 0x48], r12
jne 0x1400051c8
mov rax, qword [rsp + 0xf0]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
xor ecx, ecx
xor r8d, r8d
mov dword [rsp + 0x28], 0
xor r9d, r9d
mov word [rsp + 0x3c], dx
mov word [rsp + 0x3e], cx
mov word [rsp + 0x3a], r8w
mov word [rsp + 0x30], r9w
jmp 0x14000524a
xor eax, eax
jmp 0x1400052ec
xor r8d, r8d
jmp 0x1400052bb
test r13, r13
jns 0x1400053c2
call fcn.14000d6c0
call fcn.14000d6e0
mov qword [rsp + 0x80], 0
xor r12d, r12d
xor esi, esi
mov qword [rsp + 0x90], 0
jmp 0x14000503e
lea rcx, str.cannot_create_std::vector_larger_than_max_size__
call fcn.14000d6d0
lea rcx, str.cannot_create_std::vector_larger_than_max_size__
call fcn.14000d6d0
mov rcx, rax
call sub.libstdc_6.dll___cxa_begin_catch
mov rbx, qword [rsp + 0x30]
cmp rdi, rbx
je 0x140005439
mov rcx, rbx
add rbx, 0x18
call fcn.140018d40
jmp 0x14000540e
lea rcx, [rsp + 0x80]
call fcn.140018d40
mov rcx, r12
call sub.libgcc_s_seh_1.dll__Unwind_Resume
call sub.libstdc_6.dll___cxa_rethrow
mov r12, rax
call sub.libstdc_6.dll___cxa_end_catch
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax]
mov rdx, qword [rax + 0x10]
sub rdx, rcx
test rcx, rcx
je 0x140005424
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
jmp 0x140005424