Function at 0x140063580
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
movaps xmmword [rsp + 0x130], xmm6
mov rax, qword [0x140158238]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov r15, r8
mov rbx, rdx
mov r12, rcx
mov qword [rbp - 0x40], r8
movdqa xmm0, xmmword [0x1400c6500]
movdqu xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QElapsedTimer::start_void____ptr64]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14000fe10
nop
mov dil, 1
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
nop
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x140063611
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 4]
lea rcx, [rsp + 0x40]
call fcn.140001d30
lea rcx, [rsp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void____ptr64____ptr64___cdecl_QListData::begin_void_const___ptr64]
mov rbx, rax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x14006363d
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 4]
lea rcx, [rsp + 0x40]
call fcn.140001d30
lea rcx, [rsp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void____ptr64____ptr64___cdecl_QListData::end_void_const___ptr64]
mov rsi, rax
cmp rbx, rax
je 0x1400636b9
mov rdx, rbx
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
nop
test dil, dil
je 0x140063669
xor dil, dil
jmp 0x14006367b
lea rdx, [0x1400d0aa8]
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_char_const____ptr64____ptr64]
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll__toUtf8_QString__QEGBA_AVQByteArray__XZ]
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
add rbx, 8
cmp rbx, rsi
jne 0x140063650
xor r13d, r13d
nop dword [rax]
lea rdx, [rbp - 0x18]
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_QString::toStdWString_void____ptr64]
cmp qword [rax + 0x18], 8
jb 0x1400636d7
mov rax, qword [rax]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x140063743
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006373e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400639a4
call fcn.1400b2eb8
cmp r14, 0xffffffffffffffff
jne 0x14006376a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
jne 0x1400639ab
lea ecx, [rax - 0x1f]
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r14, r14
je 0x1400636c0
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 4]
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rdx, rax
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x54]
mov r8d, ebx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 4]
mov esi, 0xffffffff
cmp dword [rsp + 0x54], ecx
je 0x1400638a8
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.Only__0__1_bytes_have_been_written_
lea rdx, [rbp - 0x80]
lea rcx, [0x1401576f0]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
mov dl, 0x20
lea rcx, [rsp + 0x5a]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QChar::constructor_struct_QLatin1Char____ptr64]
movzx ecx, word [rax]
mov word [rsp + 0x28], cx
mov dword [rsp + 0x20], 0xa
xor r9d, r9d
mov r8d, dword [rsp + 0x54]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x80]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::arg_unsigned_long_int__int__int__class_QChar____ptr64]
mov rdi, rax
mov rcx, qword [rsp + 0x48]
mov ebx, dword [rcx + 4]
mov dl, 0x20
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QChar::constructor_struct_QLatin1Char____ptr64]
movzx ecx, word [rax]
mov word [rsp + 0x28], cx
mov dword [rsp + 0x20], 0xa
xor r9d, r9d
mov r8d, ebx
lea rdx, [rbp - 0x60]
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::arg_int__int__int__class_QChar____ptr64]
mov rbx, rax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.Error
lea rdx, [rsp + 0x78]
lea rcx, [0x1401576f0]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
mov dword [rsp + 0x20], r13d
mov r9d, 0x400
mov r8, rbx
lea rdx, [rsp + 0x78]
mov rcx, r12
call qword [sym.imp.Qt5Widgets.dll_public:_static_enum_QMessageBox::StandardButton___cdecl_QMessageBox::critical_class_QWidget____ptr64__class_QString_const____ptr64__class_QString_const____ptr64__class_QFlags_enum_QMessageBox::StandardButton___enum_QMessageBox::StandardButton_]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x80]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Core.dll_public:_long_long___int64____cdecl_QElapsedTimer::nsecsElapsed_void_const___ptr64]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x1400cc8d0]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::constructor_char_const____ptr64__int__char_const____ptr64____ptr64]
mov rcx, rax
movaps xmm2, xmm6
movq r8, xmm6
lea rdx, str.Saving_took__.1f_ms
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::debug_char_const____ptr64_const___ptr64]
mov rcx, r12
call fcn.140066e20
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
test ecx, ecx
je 0x140063928
cmp ecx, 0xffffffff
je 0x14006396c
mov rax, qword [rsp + 0x40]
lock xadd dword [rax], esi
cmp esi, 1
jne 0x14006396c
mov rsi, qword [rsp + 0x40]
movsxd rdi, dword [rsi + 8]
add rdi, 2
lea rdi, [rsi + rdi*8]
movsxd rbx, dword [rsi + 0xc]
add rbx, 2
lea rbx, [rsi + rbx*8]
cmp rbx, rdi
je 0x140063962
nop word [rax + rax]
sub rbx, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
cmp rbx, rdi
jne 0x140063950
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data____ptr64_]
nop
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1400b2f50
mov rbx, qword [rsp + 0x198]
movaps xmm6, xmmword [rsp + 0x130]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov edx, eax
lea rcx, [rbp + 8]
call fcn.140003e70
nop
mov rdx, rax
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromStdWString_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
mov rbx, rax
mov esi, 0xffffffff
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.Error_while_writing_configuration_file:__0
lea rdx, [rsp + 0x70]
lea rcx, [0x1401576f0]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
mov dl, 0x20
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QChar::constructor_struct_QLatin1Char____ptr64]
movzx ecx, word [rax]
mov word [rsp + 0x20], cx
xor r9d, r9d
mov r8, rbx
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::arg_class_QString_const____ptr64__int__class_QChar____ptr64]
mov rbx, rax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.Error
lea rdx, [rsp + 0x68]
lea rcx, [0x1401576f0]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
mov dword [rsp + 0x20], r13d
mov r9d, 0x400
mov r8, rbx
lea rdx, [rsp + 0x68]
mov rcx, r12
call qword [sym.imp.Qt5Widgets.dll_public:_static_enum_QMessageBox::StandardButton___cdecl_QMessageBox::critical_class_QWidget____ptr64__class_QString_const____ptr64__class_QString_const____ptr64__class_QFlags_enum_QMessageBox::StandardButton___enum_QMessageBox::StandardButton_]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x140063aca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140063ac4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140063ac4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b2eb8
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
test ecx, ecx
je 0x140063afc
cmp ecx, 0xffffffff
je 0x14006396c
mov rax, qword [rsp + 0x40]
lock xadd dword [rax], esi
cmp esi, 1
jne 0x14006396c
mov rsi, qword [rsp + 0x40]
movsxd rdi, dword [rsi + 8]
add rdi, 2
lea rdi, [rsi + rdi*8]
movsxd rbx, dword [rsi + 0xc]
add rbx, 2
lea rbx, [rsi + rbx*8]
cmp rbx, rdi
je 0x140063962
sub rbx, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
cmp rbx, rdi
jne 0x140063b22
jmp 0x140063962