Function at 0x45a26e
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push 0x2a4
mov eax, 0x5e25a8
call fcn.0046dcda
and dword [ebp - 4], 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x58]
call fcn.004041b0
mov esi, 0x5e8400
mov byte [ebp - 4], 1
push esi
call fcn.0048ece7
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00405da0
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2ac], eax
call fcn.004524ef
test al, al
je 0x45a2e0
insd dword es:[edi], dx
fisubr dword [ebp + 0x744ec4d8]
push 0xffffffffffffffca
inc esi
cmp dword [ebx - 0x9a03633], ecx
pop esp
call fcn.004521f8
test al, al
je 0x45a308
dec esp
pop ds
ljmp 0x67d7
call fcn.00452015
test al, al
je 0x45a327
les esi, [eax]
mov esp, 0xa058b19a
je 0x45a376
pop esp
pop es
invalid
mov eax, dword [ebp - 0x2ac]
cmp eax, 0xffffffff
je 0x45a463
push 0x2e
pop esi
mov edi, 0x5e6ba4
lea ecx, [ebp - 0x2a8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x45a463
cmp word [ebp - 0x27c], si
je 0x45a458
cmp word [ebp - 0x27a], 0
je 0x45a458
cmp word [ebp - 0x27a], si
jne 0x45a386
cmp word [ebp - 0x278], 0
je 0x45a458
xor eax, eax
mov dword [ebp - 0x2c], 7
xor ebx, ebx
mov word [ebp - 0x40], ax
mov dword [ebp - 0x30], ebx
cmp word [ebp - 0x27c], ax
je 0x45a3ae
lea eax, [ebp - 0x27c]
push eax
call fcn.0048ece7
pop ecx
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402ad0
test byte [ebp - 0x2a8], 0x10
lea eax, [ebp + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
push eax
je 0x45a410
call fcn.004041b0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x28]
call fcn.00405c90
push edi
call fcn.0048ece7
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00405da0
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.004041b0
call fcn.0045a26e
jmp 0x45a43b
call fcn.004041b0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x28]
call fcn.00405c90
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.004041b0
call int.0045a505
add esp, 0x18
lea ecx, [ebp - 0x28]
push ebx
push 1
call fcn.0041edb0
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0041edb0
mov eax, dword [ebp - 0x2ac]
jmp 0x45a33e
call fcn.004521f8
test al, al
je 0x45a487
jnp 0x45a3f2
push esi
hlt
call fcn.0045209f
test al, al
je 0x45a4ae
mov ebp, 0x42dc940f
add cl, dl
mov bl, 0x46
mov esi, 0x1972f641
clc
wait
sub al, 0xcd
mov eax, dword [0xe34c20dd]
stosb byte es:[edi], al
loope 0x45a4c3
mov dword [0x858be207], eax
push esp
std
invalid
mov eax, dword [ebp - 0x2ac]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
inc ebx
inc ebp
or byte [eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_RemoveDirectoryW
test eax, eax
jne 0x45a4e7
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
push 4
cmovae eax, dword [ebp + 8]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.0041edb0
push 0
push 1
lea ecx, [ebp + 8]
call fcn.0041edb0
call fcn.0046dc84
ret