Function at 0x18018a5e0
Capabilities:
Delete file

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x278]
sub rsp, 0x370
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rsi, r8
mov rbx, rdx
mov rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.180186c50
nop
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.180158200
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QDir::toNativeSeparators_class_QString_const____ptr64_
nop
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
mov edi, 0xffffffff
test ecx, ecx
je 0x18018a65c
cmp ecx, edi
je 0x18018a670
mov ecx, edi
mov rax, qword [rsp + 0x58]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18018a670
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x58]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
nop
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
test ecx, ecx
je 0x18018a692
cmp ecx, 0xffffffff
je 0x18018a6a5
mov ecx, edi
mov rax, qword [rsp + 0x68]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18018a6a5
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x68]
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 [rsp + 0x60]
mov ecx, dword [rax]
test ecx, ecx
je 0x18018a6c7
cmp ecx, 0xffffffff
je 0x18018a6da
mov ecx, edi
mov rax, qword [rsp + 0x60]
lock xadd dword [rax], ecx
lea eax, [rcx - 1]
test eax, eax
jne 0x18018a6da
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x60]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
lea rcx, [rbp + 0x38]
call sym.Qt5Core.dll_public:_static_class_QOperatingSystemVersion___cdecl_QOperatingSystemVersion::current_void_
mov ecx, dword [rax]
cmp ecx, dword [sym.Qt5Core.dll_class_QOperatingSystemVersion_const_QOperatingSystemVersion::Windows7]
jne 0x18018a704
lea rdx, sym.Qt5Core.dll_class_QOperatingSystemVersion_const_QOperatingSystemVersion::Windows7
mov rcx, rax
call sym.Qt5Core.dll_private:_static_int___cdecl_QOperatingSystemVersion::compare_class_QOperatingSystemVersion_const____ptr64__class_QOperatingSystemVersion_const____ptr64_
test eax, eax
jle 0x18018a704
mov al, 1
jmp 0x18018a706
xor al, al
test al, al
je 0x18018a942
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], rdx
mov dword [rbp + 0x298], 0x80004005
lea rax, [rsp + 0x50]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x298]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rsi
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [rbp], xmm1
movsd xmm0, qword [rbp - 0x68]
movsd qword [rbp + 0x10], xmm0
mov byte [rbp + 0x18], 1
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [0x1803e8e08]
lea r8d, [rdx + 0x17]
lea rcx, [0x1804b0a50]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [rbp + 0x298], eax
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18018a8d0
mov rax, qword [rcx]
mov edx, 0x80454
call qword [rax + 0x28]
lea rcx, [rsp + 0x38]
call sym.Qt5Core.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
lea r9, [rsp + 0x40]
lea r8, [0x1803e8c40]
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHELL32.dll_SHCreateItemFromParsingName]
mov dword [rbp + 0x298], eax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x18018a93b
mov ecx, 0x18
call fcn.1802e1ac8
mov qword [rsp + 0x48], rax
lea rcx, vtable.FileOperationProgressSink.0
mov qword [rax], rcx
lea rcx, sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov qword [rax + 8], rcx
mov dword [rax + 0x10], 1
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x90]
mov r8, rax
mov rdx, qword [rsp + 0x40]
call r9
mov dword [rbp + 0x298], eax
test eax, eax
js 0x18018a8cb
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0xa8]
mov dword [rbp + 0x298], eax
test eax, eax
js 0x18018a8cb
mov rdx, qword [rsp + 0x50]
add rdx, 8
lea rcx, [rbp + 0x20]
call fcn.180157f00
mov r8, rax
mov rdx, qword [rbx]
mov qword [rbp - 0x20], rdx
mov rcx, qword [rax]
mov qword [rbx], rcx
mov qword [rax], rdx
mov rdx, qword [rbx + 8]
mov qword [rbp - 0x18], rdx
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov qword [rax + 8], rdx
movzx ecx, word [rax + 0x10]
mov word [rbx + 0x10], cx
movzx eax, word [rax + 0x12]
mov word [rbx + 0x12], ax
movzx eax, word [r8 + 0x14]
mov word [rbx + 0x14], ax
lea rcx, [rbp + 0x20]
call fcn.18011ac80
nop
lea rcx, [rbp - 0x10]
call fcn.180186880
jmp 0x18018aa4a
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x18018a8f2
mov rax, qword [r8]
mov rcx, r8
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x18018a905
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18018a910
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [rbp + 0x298]
test eax, eax
jns 0x18018a934
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], 2
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
xor bl, bl
jmp 0x18018aa4c
mov rcx, qword [rsp + 0x30]
jmp 0x18018a8d5
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
add ecx, 2
mov dword [rbp + 0x54], ecx
cmp ecx, 0x105
jle 0x18018a986
movsxd rcx, ecx
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
mov qword [rbp + 0x58], rax
test rax, rax
jne 0x18018a979
call sym.Qt5Core.dll_void___cdecl_qBadAlloc_void_
mov r9, qword [rbp + 0x58]
mov eax, dword [rbp + 0x54]
mov dword [rbp + 0x50], eax
mov rax, qword [rsp + 0x38]
jmp 0x18018a995
lea r9, [rbp + 0x60]
mov qword [rbp + 0x58], r9
mov dword [rbp + 0x50], 0x105
movsxd r8, dword [rax + 4]
mov rdx, qword [rax + 0x10]
add rdx, rax
je 0x18018a9b6
add r8, r8
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x38]
mov r9, qword [rbp + 0x58]
movsxd rcx, dword [rax + 4]
xor edx, edx
mov word [r9 + rcx*2], dx
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + 0x58]
mov word [rax + rcx*2 + 2], dx
mov qword [rbp - 0x60], rdx
mov dword [rbp - 0x58], 3
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
mov eax, 0x654
mov word [rbp - 0x40], ax
mov dword [rbp - 0x3c], edx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
lea rcx, [rbp - 0x60]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
je 0x18018aa37
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], 2
mov rax, qword [rsp + 0x48]
mov qword [rsi], rax
lea rax, [rbp + 0x60]
mov rcx, qword [rbp + 0x58]
cmp rcx, rax
je 0x18018aa33
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor bl, bl
jmp 0x18018aa4c
lea rax, [rbp + 0x60]
mov rcx, qword [rbp + 0x58]
cmp rcx, rax
je 0x18018aa4a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov bl, 1
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax]
test ecx, ecx
je 0x18018aa6c
cmp ecx, 0xffffffff
je 0x18018aa7f
mov rcx, qword [rsp + 0x38]
lock xadd dword [rcx], edi
lea ecx, [rdi - 1]
test ecx, ecx
jne 0x18018aa7f
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rsp + 0x38]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__
movzx eax, bl
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret