Function at 0x10053c20
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Set file attributes

Disassembly:
mov eax, 0x158ec
call fcn.102244a0
push ebx
push ebp
push esi
push edi
mov ebx, dword [esp + 0x15900]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x60c]
rep stosd dword es:[edi], eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x400
jae 0x10054618
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x60c]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x5c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x610]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
test eax, eax
je 0x10054618
lea edx, [esp + 0x60c]
mov byte [eax + 1], 0
push str.desktop.ini
push edx
lea eax, [esp + 0x214]
push str._s_s
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov ecx, dword [0x107ab964]
add esp, 0x10
lea eax, [esp + 0x20c]
mov edx, dword [ecx]
push 0
push eax
call dword [edx]
cmp eax, 0xffffffff
je 0x10053ced
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x20c]
push eax
mov edx, dword [ecx]
call dword [edx + 0x3c]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x20c]
push 3
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x210]
push ebx
push ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov edi, 0x10265c5c
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x20c]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0xcc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x210]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edx, eax
cmp edx, 0xffffffff
je 0x10054618
lea edi, [esp + 0xf8]
or ecx, 0xffffffff
xor eax, eax
lea ebp, [esp + 0x20f]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xe8]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jne 0x10054611
mov eax, dword [esp + 0xec]
cmp eax, 0x200
jb 0x10054611
cmp eax, 0x900
ja 0x10054611
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0x20c]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea edx, [esp + 0x20c]
push edx
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 4
cmp eax, 0xffffffff
jne 0x10053dff
lea eax, [esp + 0x20c]
push eax
push 0x10227334
call fcn.10029940
add esp, 8
mov ecx, dword [0x107ab964]
push 0
push 0x8000
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x10054618
mov ecx, dword [0x107ab964]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
jg 0x10053e4c
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret
mov eax, dword [0x107ab964]
push 0xa
push 0x1000
push ebp
push ebx
push eax
lea ecx, [esp + 0x40]
call fcn.100243a0
test eax, eax
jne 0x10053e81
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x2c]
push 1
push eax
push ebp
push ebx
push ecx
lea ecx, [esp + 0x1e20]
call fcn.10001ab0
test eax, eax
jne 0x10053ec3
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x18]
lea ecx, [esp + 0x2c]
call fcn.10024430
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x44]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x44]
lea ecx, [esp + 0x1e0c]
push eax
push 6
call fcn.10003900
test eax, eax
jne 0x10053f15
lea ecx, [esp + 0x2c]
call fcn.10024430
lea ecx, [esp + 0x1e0c]
call fcn.10001b10
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x18]
push 1
lea ecx, [esp + 0xe10]
push eax
mov eax, dword [0x107ab964]
push ecx
push 0x1000
push 0x1000
push edx
push ebp
push ebx
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10053ee7
cmp dword [esp + 0x18], 0x1000
jne 0x10053ee7
mov ecx, 0x4800
xor eax, eax
lea edi, [esp + 0x38fc]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x3900]
push 0x300
push ecx
lea edx, [esp + 0xe18]
push 0x1000
push edx
call fcn.10024c10
add esp, 0x14
cmp eax, 0x10
jg 0x10053fb7
lea ecx, [esp + 0x2c]
call fcn.10024430
lea ecx, [esp + 0x1e0c]
call fcn.10001b10
mov ecx, dword [0x107ab964]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret
xor edx, edx
add eax, 0xfffffffb
xor edi, edi
xor ebp, ebp
cmp eax, edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
jle 0x10054141
lea eax, [esp + 0x3937]
cmp edi, 2
mov esi, 0x8c
jge 0x1005413d
mov ecx, edi
sub ecx, 0
je 0x10054069
dec ecx
jne 0x10054125
cmp dword [eax - 0x2b], 0x118
jne 0x10054125
cmp dword [eax - 0x1a], esi
jne 0x10054125
cmp dword [eax - 0x33], 6
jne 0x10054125
cmp byte [eax - 0x37], 0x8b
jne 0x10054125
cmp dword [eax - 5], 0x8d
jne 0x10054125
test edx, edx
jne 0x10054042
mov edx, dword [eax]
mov dword [esp + 0x20], edx
jmp 0x10054044
mov ebp, dword [eax]
lea ecx, [edx + 4]
cmp ebp, ecx
jne 0x10054125
mov ecx, dword [esp + 0x1c]
inc ecx
cmp ecx, 3
mov dword [esp + 0x1c], ecx
jne 0x10054062
mov edi, 2
mov edx, ebp
jmp 0x10054125
cmp dword [eax - 0x2b], 0x1b0
jne 0x10054125
cmp dword [eax - 0x1a], esi
jne 0x10054125
cmp dword [eax - 0x33], 1
jne 0x10054125
mov ecx, 0xf8
cmp dword [eax + 0x35], ecx
jne 0x10054125
cmp dword [eax + 0x46], esi
jne 0x10054125
cmp dword [eax + 0x5b], 0x8d
jne 0x10054125
cmp dword [eax + 0x2d], 6
jne 0x10054125
cmp dword [eax + 0x95], 0x1b0
jne 0x10054125
cmp dword [eax + 0xa6], esi
jne 0x10054125
cmp dword [eax + 0x8d], 1
jne 0x10054125
cmp dword [eax + 0xf5], ecx
jne 0x10054125
cmp dword [eax + 0x106], esi
jne 0x10054125
cmp dword [eax + 0x11b], 0x8d
jne 0x10054125
cmp dword [eax + 0xed], 6
jne 0x10054125
cmp dword [eax + 0x155], 0x1b0
jne 0x10054125
cmp dword [eax + 0x166], esi
jne 0x10054125
cmp dword [eax + 0x14d], 1
jne 0x10054125
cmp dword [eax + 0x1b5], 0x1c
jne 0x10054125
cmp dword [eax + 0x1ad], 5
jne 0x10054125
mov edi, 1
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
inc esi
add eax, 0x60
cmp esi, ecx
mov dword [esp + 0x14], esi
jl 0x10053fe3
mov dword [esp + 0x10], edi
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x6c]
lea edx, [esp + 0x6c]
rep stosd dword es:[edi], eax
push edx
lea ecx, [esp + 0x1e10]
call fcn.100021c0
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.10024430
lea ecx, [esp + 0x1e0c]
call fcn.10001b10
test esi, esi
jne 0x10054193
mov ecx, dword [0x107ab964]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret
cmp dword [esp + 0x10], 2
jne 0x1005424c
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jbe 0x1005424c
mov edx, dword [esp + 0xa4]
add edx, eax
cmp ecx, edx
jae 0x1005424c
sub ebp, eax
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0xe0c]
rep stosd dword es:[edi], eax
push eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xe10]
sub ebp, 0xc
push eax
mov eax, dword [0x107ab964]
push ecx
mov edx, ebp
push 0x1000
push 0x20
push edx
mov edx, dword [esp + 0x40]
push edx
push ebx
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10053f9e
cmp dword [esp + 0x18], 0x20
jne 0x10053f9e
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x18]
lea edi, [esp + 0xe0c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jl 0x10054618
cmp ecx, 0x15
jle 0x10054281
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158ec
ret
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x18]
mov edi, str.IndexerVolumeGuid
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xe0c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [esp + 0x15900]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x20c]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x5c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x210]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
test eax, eax
je 0x10054618
mov byte [eax + 1], 0
lea edi, [esp + 0xe0c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x20c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 1]
cmp eax, 0x400
jge 0x10054618
lea edi, [esp + 0xe0c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x20c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x210]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x107ab964]
mov eax, dword [ecx]
call dword [eax]
cmp eax, 0xffffffff
je 0x10054370
lea eax, [esp + 0x20c]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [0x107ab964]
lea eax, [esp + 0x20c]
push eax
mov edx, dword [ecx]
call dword [edx + 0x3c]
mov ecx, dword [0x107ab964]
push ebx
mov edx, dword [ecx]
call dword [edx + 0x3c]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
lea edx, [esp + 0x60c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xa0c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x60c]
or ecx, 0xffffffff
mov byte [esp + 0x60f], 0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xa0c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10232584
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0xcc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xa10]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x10054618
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov edi, 1
mov esi, 0x10232580
lea ecx, [esp + 0xf8]
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x10054462
test dl, dl
je 0x1005445e
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x10054462
add ecx, 2
add esi, 2
test dl, dl
jne 0x1005443e
xor ecx, ecx
jmp 0x10054467
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x100544de
mov esi, 0x1023257c
lea ecx, [esp + 0xf8]
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x1005449b
test dl, dl
je 0x10054497
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x1005449b
add ecx, 2
add esi, 2
test dl, dl
jne 0x10054477
xor ecx, ecx
jmp 0x100544a0
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x100544de
mov eax, dword [esp + 0xcc]
mov ecx, eax
and ecx, 0x10
cmp cl, 0x10
jne 0x100544d1
and eax, 2
cmp al, 2
jne 0x100544d1
cmp byte [esp + 0xf8], 0x7f
jbe 0x100544d1
mov al, byte [esp + 0xf9]
test al, al
je 0x100544fe
lea edx, [esp + 0xcc]
push edx
push ebp
call ebx
mov edi, eax
cmp edi, 1
je 0x10054432
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x158ec
ret
lea edi, [esp + 0x60c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xa0c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xa0c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xf8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x107ab964]
mov ecx, ebx
and ecx, 3
lea eax, [esp + 0x60c]
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xa0c]
push eax
push ecx
push edx
call fcn.1002bcc0
lea edi, [esp + 0x618]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xa0c]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xa0c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push 0x80
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xfc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0xa10]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0xa0c]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x158ec
ret
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x158ec
ret