Function at 0x105fc22
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x694
mov eax, dword [0x1099a38]
push ebx
mov ebx, dword [ebp + 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push esi
push edi
xor esi, esi
mov dword [ebp - 0x65c], eax
xor eax, eax
lea edi, [ebp - 0x678]
mov dword [ebp - 0x67c], esi
mov dword [ebp - 0x660], ebx
mov dword [ebp - 0x684], esi
mov dword [ebp - 0x668], 1
mov dword [ebp - 0x66c], esi
stosd dword es:[edi], eax
call fcn.01044720
mov eax, dword [ebp + 8]
push ebx
push dword [ebp - 0x65c]
lea eax, [eax*4 + 0x10999a8]
push dword [eax]
mov dword [ebp - 0x674], eax
push 0x101f53c
call fcn.010430af
add esp, 0x10
lea eax, [ebp - 0x67c]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.0105f71d
test eax, eax
jne 0x105fcd4
push 0x101f528
push 0x75d
push 0x101f504
call fcn.01071aea
add esp, 0xc
mov eax, 0xf117
jmp 0x10604a0
lea eax, [ebp - 0x66c]
push eax
push dword [ebp - 0x678]
push dword [ebp - 0x67c]
push dword [ebp + 8]
push ebx
call fcn.0105e85d
mov eax, dword [ebp - 0x66c]
cmp eax, esi
jne 0x105fcff
mov eax, 0x101f4f8
push eax
push 0x101f4c8
call fcn.01071ac0
cmp dword [ebp - 0x678], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
pop ecx
pop ecx
mov ebx, 0x104
je 0x105fd66
cmp dword [ebp + 8], 6
je 0x105fd2c
cmp dword [ebp + 8], 7
jne 0x105fd66
push ebx
lea eax, [ebp - 0x310]
push eax
push 0x101f4b8
push dword [ebp - 0x65c]
call fcn.01070fc9
lea eax, [ebp - 0x310]
push eax
call edi
cmp eax, 0xffffffff
jne 0x105fd66
push 0x101f484
call fcn.01071aad
mov eax, 0xf027
jmp 0x10604a0
push ebx
lea eax, [ebp - 0x310]
push eax
push 0x101d01c
push dword [ebp - 0x65c]
call fcn.01070fc9
lea eax, [ebp - 0x310]
push eax
call edi
cmp eax, 0xffffffff
jne 0x105fda0
push 0x101f444
call fcn.01071aad
mov eax, 0xf028
jmp 0x10604a0
call fcn.0104529a
push 1
push 0x3e8
call fcn.010452b7
push dword [ebp + 0x18]
push 1
push esi
call fcn.01044d04
test eax, eax
jne 0x105fdca
push 0x101f3e8
jmp 0x1060603
call fcn.010451e3
call fcn.01045063
call fcn.010450c6
call fcn.01045216
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x101c620
push dword [ebp - 0x65c]
call fcn.01070fc9
lea eax, [ebp - 0x658]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
inc dword [ebp - 0x668]
lea eax, [ebp - 0x658]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x105fe0c
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x101f3e0
call fcn.010430af
movzx eax, word [ebp - 0x668]
pop ecx
push 1
push eax
push esi
call fcn.0104536b
push 0xfffa
mov edi, 0x1106960
push edi
push 0xf0c7
push esi
call fcn.01031fb1
push esi
push edi
call fcn.01046c95
push dword [ebp + 0x20]
lea eax, [ebp - 0x108]
push 1
push esi
push dword [ebp - 0x660]
push eax
push dword [ebp - 0x65c]
call fcn.0105e128
mov dword [ebp - 0x680], eax
cmp eax, 0xffffffff
lea eax, [ebp - 0x108]
je 0x1060487
push ebx
push eax
push 0x100f678
push dword [ebp - 0x65c]
call fcn.01070fc9
push esi
push 2
push esi
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpOpenInfFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x664], eax
je 0x1060234
push 0x101f3c0
call fcn.010430af
pop ecx
lea eax, [ebp - 0x694]
push eax
push esi
push 0x101f3a0
push dword [ebp - 0x664]
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindFirstLineA]
test eax, eax
je 0x1060003
push esi
push ebx
lea eax, [ebp - 0x310]
push eax
push 1
lea eax, [ebp - 0x694]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpGetStringFieldA]
test eax, eax
je 0x1060003
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push ebx
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x65c]
call fcn.01070fc9
lea eax, [ebp - 0x108]
push eax
call edi
cmp eax, 0xffffffff
jne 0x105ff76
lea eax, [ebp - 0x310]
push eax
call fcn.010711a2
push ebx
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x65c]
call fcn.01070fc9
lea eax, [ebp - 0x108]
push eax
call edi
cmp eax, 0xffffffff
je 0x105ffd1
push ebx
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll_strncpy]
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strrchr]
add esp, 0x14
cmp eax, esi
je 0x105ffa4
mov byte [eax], 0
push dword [ebp + 0x20]
lea eax, [ebp - 0x108]
push esi
push esi
push dword [ebp - 0x660]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0105e128
cmp eax, 0xffffffff
je 0x10602fd
add dword [ebp - 0x680], eax
lea eax, [ebp - 0x694]
push eax
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindNextLine]
test eax, eax
je 0x1060003
push esi
push ebx
lea eax, [ebp - 0x310]
push eax
push 1
lea eax, [ebp - 0x694]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpGetStringFieldA]
test eax, eax
jne 0x105ff1a
mov dword [ebp - 0x670], esi
and dword [ebp - 0x668], 0
cmp dword [ebp - 0x670], 0
push 7
lea edi, [ebp - 0x20c]
pop ecx
mov esi, 0x101f380
jne 0x106002c
mov esi, 0x101f360
cmp dword [ebp - 0x668], 0
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
je 0x1060082
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1060041
mov eax, dword [ebp - 0x674]
mov eax, dword [eax]
mov esi, 0x1016328
movsw word es:[edi], word [esi]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x106005a
lea edi, [ebp - 0x20c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x106006a
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x20c]
push eax
push 0x101f358
call fcn.010430af
pop ecx
pop ecx
lea eax, [ebp - 0x694]
push eax
xor esi, esi
push esi
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x664]
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindFirstLineA]
test eax, eax
je 0x106020c
push esi
push ebx
lea eax, [ebp - 0x518]
push eax
push esi
push esi
push esi
lea eax, [ebp - 0x694]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpGetLineTextA]
test eax, eax
je 0x106020c
xor eax, eax
cmp dword [ebp - 0x670], esi
mov edi, 0x101c620
sete al
mov dword [ebp - 0x678], eax
lea eax, [ebp - 0x518]
push 0x101660c
push eax
call dword [sym.imp.msvcrt.dll_strstr]
pop ecx
pop ecx
mov esi, eax
test esi, esi
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x518]
push eax
push dword [ebp - 0x65c]
je 0x1060149
mov byte [esi], 0
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x108]
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x414]
push eax
inc esi
push esi
jmp 0x1060172
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x108]
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x518]
push eax
push dword [ebp - 0x660]
call fcn.01070fc9
xor esi, esi
cmp dword [ebp - 0x670], esi
je 0x10601a6
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x10601a6
push esi
lea eax, [ebp - 0x414]
push eax
call fcn.01073070
push dword [ebp + 0x20]
lea eax, [ebp - 0x414]
push dword [ebp - 0x678]
push esi
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0105e128
cmp eax, 0xffffffff
je 0x10602fd
add dword [ebp - 0x684], eax
lea eax, [ebp - 0x694]
push eax
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindNextLine]
test eax, eax
je 0x106020c
push esi
push ebx
lea eax, [ebp - 0x518]
push eax
push esi
push esi
push esi
lea eax, [ebp - 0x694]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpGetLineTextA]
test eax, eax
jne 0x10600f1
inc dword [ebp - 0x668]
cmp dword [ebp - 0x668], 1
jbe 0x1060010
inc dword [ebp - 0x670]
cmp dword [ebp - 0x670], 1
jbe 0x1060009
xor esi, esi
push ebx
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp - 0x674]
push dword [eax]
push dword [ebp - 0x65c]
call fcn.01070fc9
lea eax, [ebp - 0x20c]
push eax
push 0x101f358
call fcn.010430af
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x101c620
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
push dword [ebp + 0x20]
lea eax, [ebp - 0x108]
push esi
push esi
push dword [ebp - 0x660]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0105e128
cmp eax, 0xffffffff
mov dword [ebp - 0x674], eax
je 0x1060481
cmp dword [ebp - 0x664], 0xffffffff
je 0x106030e
cmp dword [ebp - 0x66c], esi
je 0x106030e
lea eax, [ebp - 0x674]
push eax
push dword [ebp + 0x20]
push 1
push dword [ebp - 0x660]
push dword [ebp - 0x65c]
push dword [ebp - 0x66c]
push dword [ebp - 0x664]
call fcn.0105f969
test eax, eax
jne 0x106030e
push dword [ebp - 0x664]
call dword [sym.imp.UPDSPAPI.dll_UpdSpCloseInfFile]
push dword [ebp - 0x65c]
jmp 0x1060488
push dword [ebp - 0x664]
call dword [sym.imp.UPDSPAPI.dll_UpdSpCloseInfFile]
jmp 0x1060481
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x1009600
push dword [ebp - 0x65c]
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x101c620
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
lea eax, [ebp - 0x108]
push eax
mov edi, 0x101f354
push edi
call fcn.010430af
pop ecx
pop ecx
push dword [ebp + 0x20]
lea eax, [ebp - 0x108]
push esi
push esi
push dword [ebp - 0x660]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0105e128
cmp eax, 0xffffffff
je 0x1060481
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x1015df0
push dword [ebp - 0x65c]
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x101f34c
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.010430af
pop ecx
pop ecx
push dword [ebp + 0x20]
lea eax, [ebp - 0x108]
push esi
push esi
push dword [ebp - 0x660]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0105e128
cmp eax, 0xffffffff
mov dword [ebp - 0x678], eax
je 0x1060481
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x101f344
push dword [ebp - 0x65c]
call fcn.01070fc9
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x101c620
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.010430af
mov edi, dword [ebp - 0x660]
pop ecx
lea eax, [ebp - 0x414]
pop ecx
sub eax, edi
mov cl, byte [edi]
mov byte [edi + eax], cl
inc edi
test cl, cl
jne 0x1060435
lea eax, [ebp - 0x414]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strrchr]
cmp eax, esi
pop ecx
pop ecx
je 0x1060457
mov byte [eax], 0
push dword [ebp + 0x20]
lea eax, [ebp - 0x414]
push esi
push esi
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0105e128
cmp eax, 0xffffffff
mov dword [ebp - 0x66c], eax
jne 0x10604af
lea eax, [ebp - 0x108]
push eax
push 0x101f314
call fcn.01071ac0
pop ecx
pop ecx
mov esi, 0xf053
call fcn.01044de7
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0106bc50
leave
ret 0x1c
cmp dword [ebp - 0x664], 0xffffffff
je 0x10605bd
lea eax, [ebp - 0x694]
push eax
push esi
push 0x101f2f4
push dword [ebp - 0x664]
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindFirstLineA]
test eax, eax
je 0x10605b1
push esi
push ebx
lea eax, [ebp - 0x310]
push eax
push 1
lea eax, [ebp - 0x694]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpGetStringFieldA]
test eax, eax
je 0x10605b1
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push ebx
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x660]
call fcn.01070fc9
lea eax, [ebp - 0x414]
push eax
call edi
cmp eax, 0xffffffff
jne 0x106055f
lea eax, [ebp - 0x310]
push eax
call fcn.010711a2
push ebx
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x660]
call fcn.01070fc9
lea eax, [ebp - 0x414]
push eax
call edi
cmp eax, 0xffffffff
je 0x106057f
lea eax, [ebp - 0x414]
push eax
push 0x101f2e4
call fcn.010430af
pop ecx
pop ecx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x694]
push eax
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpFindNextLine]
test eax, eax
je 0x10605b1
push esi
push ebx
lea eax, [ebp - 0x310]
push eax
push 1
lea eax, [ebp - 0x694]
push eax
call dword [sym.imp.UPDSPAPI.dll_UpdSpGetStringFieldA]
test eax, eax
jne 0x1060503
push dword [ebp - 0x664]
call dword [sym.imp.UPDSPAPI.dll_UpdSpCloseInfFile]
cmp dword [ebp - 0x680], esi
jne 0x1060499
cmp dword [ebp - 0x684], esi
jne 0x1060499
cmp dword [ebp - 0x674], esi
jne 0x1060499
cmp dword [ebp - 0x678], esi
jne 0x1060499
cmp dword [ebp - 0x66c], esi
jne 0x1060499
call fcn.01044de7
push 0x101f298
call fcn.01071aad
mov eax, 0xf053
jmp 0x10604a0