Function at 0x40f38d
Capabilities:
Enumerate files on windows
Get file size
Write file on windows

Disassembly:
call fcn.004044f8
xor eax, eax
push ebp
push 0x40f93c
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00409d4c
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x154]
mov ecx, 0x40f954
mov edx, dword [ebp - 4]
call fcn.00404354
mov eax, dword [ebp - 0x154]
call fcn.00404508
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov esi, eax
mov eax, 0x42ab30
mov edx, 0x40f960
call fcn.004040c0
cmp esi, 0xffffffff
je 0x40f8fc
lea eax, [ebp - 8]
lea edx, [ebp - 0x124]
mov ecx, 0x104
call fcn.004042dc
test byte [ebp - 0x150], 0x10
je 0x40f457
mov eax, dword [ebp - 8]
mov edx, 0x40fa04
call fcn.00404454
je 0x40f8e7
mov eax, dword [ebp - 8]
mov edx, 0x40fa10
call fcn.00404454
je 0x40f8e7
push dword [ebp - 4]
push dword [ebp - 8]
push 0x40fa1c
lea eax, [ebp - 0x158]
mov edx, 3
call fcn.004043c8
mov eax, dword [ebp - 0x158]
call fcn.0040f374
jmp 0x40f8e7
mov eax, 0x42ab30
mov edx, 0x40fa28
call fcn.004040c0
cmp word [0x429218], 0
jne 0x40f476
inc dword [0x42ab5c]
mov eax, dword [0x42ab5c]
cmp eax, dword [0x42ab58]
jl 0x40f8e7
lea eax, [ebp - 0x15c]
push eax
mov eax, dword [ebp - 8]
call fcn.00404308
mov edx, eax
sub edx, 2
mov ecx, 3
mov eax, dword [ebp - 8]
call fcn.00404568
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 0xc]
call fcn.004069a4
mov edx, dword [0x42ab24]
mov eax, dword [ebp - 0xc]
call fcn.004045f0
test eax, eax
je 0x40f4cc
mov bl, 3
jmp 0x40f4ce
mov bl, 1
mov eax, 0x42ab30
mov edx, 0x40fa98
call fcn.004040c0
cmp bl, 3
jne 0x40f5a6
mov eax, dword [0x42ab20]
call fcn.00404308
test eax, eax
jne 0x40f4fb
mov bl, 2
jmp 0x40f5a6
mov edi, dword [ebp - 0x130]
cmp edi, 0x9600000
jbe 0x40f510
mov bl, 2
jmp 0x40f5a6
mov eax, dword [ebp - 0xc]
mov edx, 0x40fb08
call fcn.00404454
jne 0x40f54f
cmp edi, 0x7530
jae 0x40f52b
mov bl, 2
jmp 0x40f5a6
lea eax, [ebp - 0x160]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404354
mov eax, dword [ebp - 0x160]
call fcn.00406c94
test al, al
jne 0x40f5a6
mov bl, 2
jmp 0x40f5a6
mov edx, dword [ebp - 8]
mov eax, 0x40fb14
call fcn.004045f0
test eax, eax
je 0x40f5a6
mov edx, dword [ebp - 8]
mov eax, 0x40fb24
inc eax
add al, ch
adc dword [eax - 1], 0xffffffff
test eax, eax
jne 0x40f5a6
mov edx, dword [ebp - 8]
mov eax, 0x40fb38
call fcn.004045f0
test eax, eax
jne 0x40f5a6
mov edx, dword [ebp - 8]
mov eax, 0x40fb4c
call fcn.004045f0
test eax, eax
jne 0x40f5a6
mov edx, dword [ebp - 8]
mov eax, 0x40fb64
call fcn.004045f0
test eax, eax
jne 0x40f5a6
mov bl, 2
mov eax, 0x42ab30
mov edx, 0x40fb7c
call fcn.004040c0
cmp bl, 3
jne 0x40f64c
inc word [0x429218]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0040eb74
test al, al
je 0x40f602
mov eax, 0x42ab3c
mov edx, dword [ebp - 4]
call fcn.004040c0
lea eax, [ebp - 0x164]
mov ecx, 0x40fa1c
mov edx, dword [0x42ab1c]
call fcn.00404354
mov eax, dword [ebp - 0x164]
call fcn.0040f374
push dword [0x42aafc]
push 0x40fbe4
lea edx, [ebp - 0x16c]
movzx eax, word [0x429218]
call fcn.00406920
push dword [ebp - 0x16c]
push 0x40fbf0
lea eax, [ebp - 0x168]
mov edx, 4
call fcn.004043c8
mov eax, dword [ebp - 0x168]
call fcn.00406e4c
dec word [0x429218]
xor eax, eax
cmp bl, 1
invalid
test dword [ebx + 2], ecx
invalid