Function at 0x140142aa0
Capabilities:
Empty the recycle bin

Disassembly:
mov byte [rsp + 0x20], r9b
mov word [rsp + 0x18], r8w
mov byte [rsp + 0x10], dl
mov byte [rsp + 8], cl
sub rsp, 0x138
movabs rax, 0x334578c23c585450
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x30], 6
movzx eax, word [rsp + 0x150]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0xd0
je 0x140142b92
cmp dword [rsp + 0x80], 0x415
je 0x140142b00
jmp 0x140142c02
movzx eax, word [rsp + 0x150]
cmp eax, 0x2c7
jge 0x140142b5a
movzx eax, byte [section..data]
mov byte [rsp + 0x140], al
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.SHELL32.dll_FindExecutableA]
mov qword [rsp + 0xa0], rax
movzx r8d, word [rsp + 0x150]
mov dx, 0xf1
mov cx, 0x63
call fcn.140142560
nop
movzx eax, byte [rsp + 0x148]
mov byte [rsp + 0x158], al
mov edx, 0xdb
lea rcx, [rsp + 0x90]
call qword [sym.imp.SHELL32.dll_SHMultiFileProperties]
mov dword [rsp + 0x90], eax
mov eax, 0xde0
mov word [rsp + 0x150], ax
jmp 0x140142c02
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.SHELL32.dll_ILSaveToStream]
mov dword [rsp + 0x7c], eax
mov eax, 0xfe
mov word [rsp + 0x150], ax
movzx eax, word [rsp + 0x150]
sub eax, 0xba8
cmp eax, 0x673
jl 0x140142c02
mov ecx, 0xb8
call fcn.140143980
lea rcx, [rsp + 0x7c]
call qword [sym.imp.SHELL32.dll_ILFindLastID]
mov qword [rsp + 0xe8], rax
movzx eax, byte [section..data]
mov byte [rsp + 0x140], al
mov eax, 0x767
mov word [rsp + 0x150], ax
movzx eax, word [rsp + 0x150]
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0
je 0x140142c31
cmp dword [rsp + 0x84], 0x4f9
je 0x140142cc2
jmp 0x140142d7a
movzx eax, word [rsp + 0x150]
mov dword [rsp + 0xb4], eax
cmp dword [rsp + 0xb4], 0
je 0x140142c4c
jmp 0x140142cb0
movzx eax, byte [section..data]
add eax, 0x55
movzx ecx, byte [rsp + 0x140]
cmp eax, ecx
jne 0x140142c86
mov r8d, 1
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.SHELL32.dll_ILAppendID]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x34], 0x390654a4
movsx eax, byte [rsp + 0x148]
movsx ecx, byte [rsp + 0x158]
and eax, ecx
mov byte [rsp + 0x30], al
mov eax, 0x1d8
mov word [rsp + 0x40], ax
jmp 0x140142cbd
movsx eax, word [rsp + 0x40]
shl eax, 5
mov word [rsp + 0x40], ax
jmp 0x140142d7a
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0x27c28160
je 0x140142d61
cmp dword [rsp + 0x88], 0xee194a3c
je 0x140142cf0
jmp 0x140142d7a
movzx eax, byte [section..data]
sar eax, 0xde
movzx ecx, byte [rsp + 0x140]
cmp eax, ecx
je 0x140142d5f
mov eax, dword [rsp + 0x34]
or eax, 0xb97e0283
mov dword [rsp + 0x34], eax
mov ecx, PathMakeUniqueName
call fcn.140143980
lea rcx, [rsp + 0xd0]
call qword [sym.imp.SHELL32.dll_ILCloneFirst]
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0x148]
mov byte [rsp + 0x158], al
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0xd0]
call qword [sym.imp.SHELL32.dll_SHIsFileAvailableOffline]
mov dword [rsp + 0xc0], eax
jmp 0x140142d7a
movzx r8d, word [rsp + 0x150]
movzx edx, word [rsp + 0x40]
movzx ecx, word [rsp + 0x40]
call fcn.140142560
nop
movzx eax, word [rsp + 0x150]
mov word [rsp + 0x3c], ax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x44], al
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x48], ax
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x8c], al
cmp byte [rsp + 0x8c], 0
je 0x140142e10
cmp byte [rsp + 0x8c], 0xcf
je 0x140142dc2
jmp 0x140142f08
movzx eax, byte [section..data]
xor eax, 0xe0
movzx ecx, byte [rsp + 0x140]
cmp eax, ecx
je 0x140142e0b
movzx eax, word [rsp + 0x150]
sub eax, 0x6f3
mov word [rsp + 0x3c], ax
mov ecx, 0xde
call qword [sym.imp.SHELL32.dll_SHChangeNotifyDeregister]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x34]
add eax, 0x7f19683c
mov dword [rsp + 0x34], eax
jmp 0x140142f08
movabs rax, 0xefb190751b56664
mov qword [rsp + 0xd8], rax
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0x45], al
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0x58], ax
movzx eax, byte [rsp + 0x45]
mov byte [rsp + 0xb8], al
cmp byte [rsp + 0xb8], 0
je 0x140142e50
jmp 0x140142efa
movzx eax, word [rsp + 0x48]
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 0x390654a4
je 0x140142e74
jmp 0x140142ea8
movabs rax, 0x4d18793d2272ea49
mov rcx, qword [rsp + 0x50]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x34]
mov qword [rsp + 0x60], rax
jmp 0x140142ef8
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
call fcn.140144170
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [sym.imp.SHELL32.dll_PathYetAnotherMakeUniqueName]
mov dword [rsp + 0xe4], eax
jmp 0x140142f08
movzx eax, byte [section..data]
mov byte [rsp + 0x140], al
movabs rax, 0x5a23156ff1ad9bff
cmp qword [rsp + 0x50], rax
jg 0x14014320c
movabs rax, 0x39a0b2b3ba18d70b
cmp qword [rsp + 0x50], rax
jle 0x14014306d
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf8], rax
movabs rax, 0x7c2e09b1fe0ae2c8
cmp qword [rsp + 0xf8], rax
je 0x140142f55
jmp 0x140142fa0
movzx r9d, word [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
call fcn.140143300
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
lea r8, [rsp + 0xa0]
mov edx, PathYetAnotherMakeUniqueName
lea rcx, [rsp + 0xa0]
call qword [sym.imp.SHELL32.dll_PathMakeUniqueName]
mov dword [rsp + 0xac], eax
mov r8d, 0x82
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.SHELL32.dll_SHEmptyRecycleBinA]
mov dword [rsp + 0xc0], eax
movzx eax, word [rsp + 0x58]
mov word [rsp + 0x20], ax
movzx r9d, word [rsp + 0x38]
movzx r8d, word [rsp + 0x48]
movzx edx, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x30]
call fcn.140143790
nop
movabs rax, 0x4eb4ab95c655e041
cmp qword [rsp + 0x50], rax
jl 0x140143068
movsx eax, word [rsp + 0x48]
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0x5c3e
je 0x140143022
cmp dword [rsp + 0x94], 0x7ad9
je 0x140143060
jmp 0x140143068
movabs rax, 0x19b8e3171e80ce64
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x108]
call qword [sym.imp.SHELL32.dll_SHSetInstanceExplorer]
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rax]
and eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
jmp 0x140143068
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x68], eax
jmp 0x140143148
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0x26ed22ac
je 0x140143094
jmp 0x1401430b2
mov rcx, qword [rsp + 0x50]
call fcn.140143980
movzx eax, word [rsp + 0x150]
movzx ecx, word [rsp + 0x3c]
sub eax, ecx
mov word [rsp + 0x58], ax
movsx eax, word [rsp + 0x40]
movsx ecx, word [rsp + 0x38]
add eax, ecx
movsx ecx, word [rsp + 0x48]
movzx r9d, word [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
call fcn.140143300
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x78]
mov eax, dword [rax]
sub eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov dword [rsp + 0x28], PathYetAnotherMakeUniqueName
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8d, 0x6a
mov edx, reloc.SHELL32.dll_ILFindChild
mov rcx, qword [rsp + 0x110]
call qword [sym.imp.SHELL32.dll_SHDefExtractIconA]
mov dword [rsp + 0xe0], eax
movzx eax, byte [section..data]
mov byte [rsp + 0x140], al
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
add eax, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov dword [rsp + 0x20], 0xeb
lea r9, [rsp + 0xc8]
lea r8, [rsp + 0x98]
mov edx, 0x1c
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.SHELL32.dll_ExtractIconExA]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rax]
or eax, ecx
cmp eax, dword [rsp + 0x68]
jae 0x1401431b7
movabs rax, 0x4c01bc8aa6114f3a
mov rcx, qword [rsp + 0x50]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
add eax, dword [rsp + 0x68]
mov dword [rsp + 0x34], eax
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExA]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
mov eax, dword [rax]
sub eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
movzx eax, byte [section..data]
mov byte [rsp + 0x140], al
movsx eax, word [rsp + 0x38]
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0x647d
je 0x140143227
jmp 0x140143229
jmp 0x14014323d
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rax]
xor eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
movzx eax, word [rsp + 0x58]
movzx ecx, word [rsp + 0x3c]
and eax, ecx
movzx ecx, word [rsp + 0x150]
cmp eax, ecx
jg 0x140143285
movzx r9d, word [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
call fcn.140143300
movzx eax, word [rsp + 0x58]
movzx ecx, word [rsp + 0x150]
shl eax, cl
mov word [rsp + 0x3c], ax
jmp 0x140143291
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
add eax, 0x48161f06
mov rcx, qword [rsp + 0x50]
call fcn.140143980
mov eax, dword [rsp + 0x34]
sub eax, 0xc2090c08
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov r8d, 0xc1
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x3c]
call qword [sym.imp.SHELL32.dll_SHSetLocalizedName]
mov dword [rsp + 0x7c], eax
movsx eax, byte [rsp + 0x44]
movsx ecx, byte [rsp + 0x148]
sub eax, ecx
mov byte [rsp + 0x45], al
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
add eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov eax, 0x75
add rsp, 0x138
ret