Function at 0x1d166dd
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc50
push 0xff
lea eax, [ebp - 0x54f]
push 0
push eax
mov byte [ebp - 0x550], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push pe_nt_image_headers32
lea eax, [ebp - 0x550]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x2df
lea eax, [ebp - 0x30f]
push 0
push eax
mov byte [ebp - 0x310], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x60c0f50
lea ecx, [ebp - 0xb]
call fcn.01d1f9da
lea edx, [ebp - 0x310]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16747
mov eax, str.._5
sub eax, 0x8578ac
push eax
lea ecx, [ebp - 9]
call fcn.01d1fa15
lea edx, [ebp - 0x2f0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d1676c
push 0x5c5badc
lea ecx, [ebp - 8]
call fcn.01d1fa50
lea edx, [ebp - 0x2d0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d1678b
mov eax, 0x1d646a8
sub eax, 0x331a54e7
push eax
lea ecx, [ebp - 0xf]
call fcn.01d1fa8b
lea edx, [ebp - 0x2b0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d167b0
push 0x53172954
lea ecx, [ebp - 0xa]
call fcn.01d1fac6
lea edx, [ebp - 0x290]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d167cf
mov eax, 0x1d646c4
sub eax, 0x1a680bd0
push eax
lea ecx, [ebp - 0x15]
call fcn.01d1fb03
lea edx, [ebp - 0x270]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d167f4
push 0x13dcfada
lea ecx, [ebp - 0x15]
call fcn.01d1fb3e
lea edx, [ebp - 0x250]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16813
push 0x8b2b230
lea ecx, [ebp - 7]
call fcn.01d1fb79
lea edx, [ebp - 0x230]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16832
mov eax, 0x1d646fc
sub eax, 0x335e974e
push eax
lea ecx, [ebp - 0xa]
call fcn.01d1fbb6
lea edx, [ebp - 0x210]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16857
push 0x1d798a6f
lea ecx, [ebp - 0xa]
call fcn.01d1fbf3
lea edx, [ebp - 0x1f0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16876
mov eax, 0x1d64714
sub eax, 0x4be4d94d
push eax
lea ecx, [ebp - 0xa]
call fcn.01d1fc2e
lea edx, [ebp - 0x1d0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d1689b
mov eax, 0x1d64720
sub eax, 0x1098ca24
push eax
lea ecx, [ebp - 0xe]
call fcn.01d1fc6b
lea edx, [ebp - 0x1b0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d168c0
push 0x6cb2041d
lea ecx, [ebp - 0x10]
call fcn.01d1fca8
lea edx, [ebp - 0x190]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d168df
mov eax, 0x1d64740
sub eax, 0x3e140235
push eax
lea ecx, [ebp - 7]
call fcn.01d1fce3
lea edx, [ebp - 0x170]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d16904
mov eax, str.e_j4
sub eax, 0x9746354
push eax
lea ecx, [ebp - 9]
call fcn.01d1fd20
lea edx, [ebp - 0x150]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d16929
push 0xa950f34
lea ecx, [ebp - 0xa]
call fcn.01d1fd5b
lea edx, [ebp - 0x130]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d16948
mov eax, 0x1d64760
sub eax, 0x2f8d2d72
push eax
lea ecx, [ebp - 0xc]
call fcn.01d1fd96
lea edx, [ebp - 0x110]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d1696d
mov eax, 0x1d6476c
sub eax, 0x29b008ca
push eax
lea ecx, [ebp - 9]
call fcn.01d1fdd3
lea edx, [ebp - 0xf0]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d16992
push 0x6e1d000a
lea ecx, [ebp - 0xa]
call fcn.01d1fe10
lea edx, [ebp - 0xd0]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d169b1
push 0x2f2dde15
lea ecx, [ebp - 0x10]
call fcn.01d1fe4b
lea edx, [ebp - 0xb0]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x1d169d0
mov eax, 0x1d64794
sub eax, 0x1e4e9547
push eax
lea ecx, [ebp - 0x10]
call fcn.01d1fe86
lea edx, [ebp - 0x90]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d169f5
mov eax, str.gagpy
sub eax, 0x79bd5633
push eax
lea ecx, [ebp - 0xc]
call fcn.01d1fec3
lea edx, [ebp - 0x70]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16a17
mov eax, 0x1d647b0
sub eax, 0x59ea2482
push eax
lea ecx, [ebp - 0xe]
call fcn.01d1fefe
lea edx, [ebp - 0x50]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1d16a39
push ebx
push esi
mov eax, str.6gI_9uv
push edi
sub eax, 0xa40c06a
push eax
lea ecx, [ebp - 9]
call fcn.01d1ff3b
push dword [ebp + 8]
mov esi, dword [sym.imp.MSVCR100.dll_sprintf]
push eax
lea eax, [ebp - 0x850]
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x28], eax
cmp byte [ebp - 0x424], 0x2e
je 0x1d16b4d
xor ebx, ebx
lea edi, [ebp - 0x310]
lea eax, [ebp - 0x424]
push edi
push eax
call dword [sym.imp.MSVCR100.dll__stricmp]
pop ecx
pop ecx
test eax, eax
je 0x1d16b4d
inc ebx
add edi, 0x20
cmp ebx, 0x17
jl 0x1d16a9b
push 0x5aa49d3
lea ecx, [ebp - 0x2e]
call fcn.01d1ff76
lea ecx, [ebp - 0x424]
push ecx
lea ecx, [ebp - 0x550]
push ecx
push eax
lea eax, [ebp - 0x750]
push eax
call esi
xor eax, eax
lea edi, [ebp - 0x2e]
stosd dword es:[edi], eax
stosw word es:[edi], ax
add esp, 0x10
lea eax, [ebp - 0x750]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1d16b4d
push 0x5aa49db
lea ecx, [ebp - 6]
call fcn.01d1ff76
lea ecx, [ebp - 0x424]
push ecx
push dword [ebp + 8]
push eax
lea eax, [ebp - 0x650]
push eax
call esi
xor eax, eax
lea edi, [ebp - 6]
stosd dword es:[edi], eax
add esp, 0x10
stosw word es:[edi], ax
push 0
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
je 0x1d16b73
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x1d16b73
lea eax, [ebp - 0x450]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1d16a86
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
inc esi
jmp 0x1d16bbd
push 0x28716541
lea ecx, [ebp - 0x1d]
call fcn.01d1ffb3
lea ecx, [ebp - 0x424]
push ecx
push eax
lea eax, [ebp - 0xc50]
push eax
call esi
mov eax, 0x1d647fc
add esp, 0xc
sub eax, 0x747729b5
push eax
lea ecx, [ebp - 0x28]
call fcn.01d1ffee
push 0x40010
push eax
lea eax, [ebp - 0xc50]
push eax
xor esi, esi
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret