Function at 0x40f245
Capabilities:
Delete file
Enumerate files on windows
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x378
push ebx
push esi
push edi
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x36c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x214], 0
push 0x9a3740
push str._s.
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x45e03c], 0
je 0x40f2f5
lea eax, [ebp - 0x208]
push eax
push 0
call fcn.00452990
add esp, 4
push eax
push str._r_n__X_ASL:SCANNING_ASL_USAGE_UPL_r_n____s__
call fcn.00452380
add esp, 0xc
mov edi, 0x508c60
xor eax, eax
mov ecx, 0x25
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov byte [0x508c60], 0x29
mov dword [ebp - 0x218], 0x32
mov dword [ebp - 0x21c], 0
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x378], eax
mov dword [0x462374], 0
cmp dword [ebp - 0x378], 0xffffffff
jne 0x40f375
cmp dword [0x45e03c], 0
je 0x40f36b
push str._r_nASLx1:Zero_offline_files_found
call fcn.00452380
add esp, 4
jmp 0x40f6bb
cmp dword [ebp - 0x378], 0xffffffff
je 0x40f3fc
test byte [ebp - 0x364], 0x10
jne 0x40f3c4
lea eax, [ebp - 0x338]
push eax
push 0x9a3740
push 0x46cef8
push 0x140
mov eax, dword [0x462374]
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x704f20
push eax
call fcn.00452660
add esp, 0x14
inc dword [0x462374]
lea eax, [ebp - 0x364]
push eax
mov eax, dword [ebp - 0x378]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x40f3f7
mov eax, dword [ebp - 0x378]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x378], 0xffffffff
jmp 0x40f375
cmp dword [0x462374], 1
jle 0x40f426
push 0x40cbd2
push 0x140
mov eax, dword [0x462360]
push eax
push 0x704f20
call fcn.00453390
add esp, 0x10
mov dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x224]
cmp dword [0x462374], eax
jle 0x40f6bb
cmp dword [0x4622c8], 0
je 0x40f454
jmp 0x40f6bb
cmp dword [0x45e03c], 0
je 0x40f480
mov eax, dword [ebp - 0x224]
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x704f20
push eax
push str._r_nASL:FOUND_USAGE_FILE___s_
call fcn.00452380
add esp, 8
push 0
push 0
push 3
push 0
push 1
push bind
mov eax, dword [ebp - 0x224]
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x704f20
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x220], eax
cmp dword [0x45e03c], 0
je 0x40f4d5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x220]
push eax
push str._r_n_ASL:Open___X__GLE_d
call fcn.00452380
add esp, 0xc
cmp dword [ebp - 0x220], 0xffffffff
je 0x40f6b0
push 0
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 4], eax
cmp dword [0x45e03c], 0
je 0x40f512
mov eax, dword [ebp - 4]
push eax
push str._r_n_ASL:Size_:__d
call fcn.00452380
add esp, 8
cmp dword [ebp - 4], 0
je 0x40f526
cmp dword [ebp - 4], 0xffffffff
jne 0x40f550
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x224]
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x704f20
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40f6b0
cmp dword [ebp - 4], 0x200
jae 0x40f6b0
mov dword [ebp - 0x218], 0
push 0
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp - 4]
push eax
push 0x508c60
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x218]
cmp dword [ebp - 4], eax
je 0x40f5aa
mov dword [ebp - 0x210], 0
jmp 0x40f5c1
cmp dword [ebp - 0x218], 0
jne 0x40f5c1
mov dword [ebp - 0x210], 0
cmp dword [0x45e03c], 0
je 0x40f5f6
cmp dword [ebp - 0x210], 0
jne 0x40f5f6
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x210]
push eax
push str._r_n_ASL:RCC._d__BR___d_:__d
call fcn.00452380
add esp, 0xc
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x210], 0
je 0x40f6b0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
push 1
lea eax, [ebp - 0x368]
push eax
push 0x80
push 0x99e9a0
mov eax, dword [ebp - 4]
add eax, 0xa
push eax
push 0x508c60
push 0xb4bbc0
call fcn.00437f8d
add esp, 0x1c
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x40f6b0
cmp dword [0x99e9a4], 0xd4003399
jne 0x40f690
mov eax, dword [ebp - 0x224]
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x704f20
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40f6b0
cmp dword [0x45e03c], 0
je 0x40f6b0
mov eax, dword [0x99e9a4]
push eax
push str._r_nASL_UNABLE_TO_COMPLETE___X_
call fcn.00452380
add esp, 8
inc dword [ebp - 0x224]
jmp 0x40f430
pop edi
pop esi
pop ebx
leave
ret