Function at 0x4089a9
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x456b95
call fcn.004567e0
sub esp, 0x300
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x9c]
call fcn.00401faa
or dword [ebp - 0x18], 0xffffffff
mov byte [ebx], 0
and dword [ebp - 4], 0
add ebx, 4
mov ecx, ebx
call fcn.004041f1
push ecx
mov ecx, ebx
call fcn.0040428c
test al, al
je 0x408d2a
sub esp, 0x18
mov esi, esp
lea eax, [ebp + 0x50]
push eax
push 0x473ee8
lea edx, [ebp + 0x38]
lea ecx, [ebp - 0x6c]
call fcn.004027ec
pop ecx
mov edx, eax
mov ecx, esi
call fcn.004027cb
pop ecx
push 0x64
mov ecx, ebx
call fcn.00404468
mov esi, eax
lea ecx, [ebp - 0x6c]
call fcn.00401eea
cmp esi, 0xffffffff
je 0x408d8a
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 0x20]
call fcn.00409208
mov edi, eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp + 0x20]
call fcn.004091d2
mov esi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp + 0x20]
call fcn.00409208
push dword [edi]
push dword [esi]
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040930a
add esp, 0xc
lea eax, [ebp - 0x304]
push eax
push 0x465a80
lea edx, [ebp + 8]
lea ecx, [ebp - 0x6c]
call fcn.0040856b
pop ecx
mov ecx, eax
call fcn.00401e07
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x18], edi
lea ecx, [ebp - 0x6c]
call fcn.00401e13
cmp edi, 0xffffffff
jne 0x408ad8
sub esp, 0x18
mov ecx, esp
push 0x465554
call fcn.00401f66
push 0x65
mov ecx, ebx
call fcn.00404468
mov ecx, ebx
call fcn.004047eb
mov dword [ebp - 0x24], 2
push 0x46df08
lea eax, [ebp - 0x24]
jmp 0x408da0
lea eax, [ebp - 0x304]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x408ce5
mov esi, dword [ebp - 0x1c]
cmp byte [esi], 0
je 0x408b09
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, ebx
call fcn.004047eb
jmp 0x408d4e
test byte [ebp - 0x304], 0x10
je 0x408bd1
push 0x4659c0
lea eax, [ebp - 0x2d8]
push eax
call fcn.0043e479
pop ecx
pop ecx
test eax, eax
je 0x408bd1
push 0x465aa4
lea eax, [ebp - 0x2d8]
push eax
call fcn.0043e479
pop ecx
pop ecx
test eax, eax
je 0x408bd1
push 0x465aa0
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x54]
call fcn.00403b40
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0xb4]
call fcn.00408622
pop ecx
mov edx, eax
lea ecx, [ebp - 0x6c]
call fcn.004028cf
pop ecx
lea ecx, [ebp - 0xb4]
call fcn.00401e13
lea ecx, [ebp - 0x54]
call fcn.00401e13
sub esp, 0x18
mov ecx, esp
lea eax, [ebp + 0x20]
push eax
call fcn.004082dc
sub esp, 0x18
mov ecx, esp
lea eax, [ebp - 0x6c]
push eax
call fcn.004082dc
mov ecx, esi
call fcn.00408da7
test al, al
jne 0x408bc9
mov dword [ebp - 0x28], 3
push 0x46df08
lea eax, [ebp - 0x28]
jmp 0x408da0
lea ecx, [ebp - 0x6c]
call fcn.00401e13
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x84]
call fcn.00403b40
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x84]
call fcn.00409208
mov edi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x84]
call fcn.004091d2
mov esi, eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x84]
call fcn.00409208
push dword [edi]
push dword [esi]
push dword [eax]
lea ecx, [ebp - 0x30]
call fcn.0040930a
add esp, 0xc
push 0
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp - 0x84]
call fcn.0040919a
cmp eax, 0xffffffff
je 0x408cd2
push 0x250
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x54]
call fcn.00401f86
push eax
lea ecx, [ebp - 0x9c]
call fcn.00401eef
lea ecx, [ebp - 0x54]
call fcn.00401eea
sub esp, 0x18
mov esi, esp
lea eax, [ebp - 0x9c]
push eax
push 0x473ee8
lea edx, [ebp + 8]
lea ecx, [ebp - 0xb4]
call fcn.0041aec8
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004027cb
pop ecx
mov edx, eax
mov ecx, esi
call fcn.004027cb
pop ecx
push 0x66
mov ecx, ebx
call fcn.00404468
mov esi, eax
lea ecx, [ebp - 0x54]
call fcn.00401eea
lea ecx, [ebp - 0xb4]
call fcn.00401eea
cmp esi, 0xffffffff
jne 0x408cd2
mov dword [ebp - 0x2c], 4
push 0x46df08
lea eax, [ebp - 0x2c]
jmp 0x408da0
lea ecx, [ebp - 0x84]
call fcn.00401e13
mov edi, dword [ebp - 0x18]
jmp 0x408ad8
or dword [ebp - 4], 0xffffffff
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 0x18
mov esi, esp
lea eax, [ebp + 0x50]
push eax
push 0x473ee8
lea edx, [ebp + 0x38]
lea ecx, [ebp - 0x54]
call fcn.004027ec
pop ecx
mov edx, eax
mov ecx, esi
call fcn.004027cb
pop ecx
push 0x67
mov ecx, ebx
call fcn.00404468
lea ecx, [ebp - 0x54]
call fcn.00401eea
jmp 0x408afd
push 0
push 0
jmp 0x408da1
lea ecx, [ebp - 0x9c]
call fcn.00401eea
lea ecx, [ebp + 8]
call fcn.00401e13
lea ecx, [ebp + 0x20]
call fcn.00401e13
lea ecx, [ebp + 0x38]
call fcn.00401eea
lea ecx, [ebp + 0x50]
call fcn.00401eea
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x60
mov ecx, ebx
call fcn.004047eb
mov dword [ebp - 0x20], 1
push 0x46df08
lea eax, [ebp - 0x20]
push eax
call fcn.00437bd7
int3