Function at 0x454a74
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x478b8f
call fcn.00444d58
sub esp, 0x23c
push ebx
push esi
xor esi, esi
push edi
mov dword [ebp - 0x14], esi
cmp dword [ebp + 0x14], esi
mov dword [ebp - 4], 2
mov edi, 0x47b598
jne 0x454acb
sub esp, 0x28
lea eax, [ebp + 8]
mov dword [ebp - 0x18], esp
mov ecx, esp
push esi
push eax
mov dword [ecx], 0x47b5a0
mov dword [ecx + 0x20], edi
call fcn.00403e42
call fcn.004548a5
add esp, 0x28
test al, al
jne 0x454acb
xor bl, bl
jmp 0x454e0d
mov al, byte [ebp + 0x8b]
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x40], al
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
lea eax, [ebp - 0x40]
lea ecx, [ebp + 0x34]
push eax
push 0x3b
mov byte [ebp - 4], 3
call fcn.00419bfa
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x38]
je 0x454ce4
push dword [ebp - 0x1c]
lea eax, [ebp - 0xe0]
lea ecx, [ebp + 8]
push eax
call fcn.0040e41b
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.0040305e
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
call fcn.00401f95
cmp dword [ebp - 0x18], 0xffffffff
mov al, 1
je 0x454ccf
test al, al
je 0x454ccf
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp + 0x84]
and eax, dword [ebp + 0x88]
and ecx, dword [ebp + 0x88]
cmp eax, ecx
jne 0x454cb5
lea eax, [ebp - 0x1e]
push 1
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x68]
call fcn.00402caf
lea eax, [ebp - 0x68]
push 0x47ceec
push eax
mov byte [ebp - 4], 5
call fcn.004278aa
pop ecx
test al, al
pop ecx
jne 0x454ca9
lea eax, [ebp - 0x68]
push 0x4974c0
push eax
call fcn.004278aa
pop ecx
test al, al
pop ecx
jne 0x454ca9
mov eax, 0x4974b8
mov dword [ebp - 0xb8], 0x47b5a0
mov ecx, eax
mov dword [ebp - 0x98], edi
test ecx, ecx
jne 0x454bd8
mov eax, 0x498d9c
lea ecx, [ebp - 0x1d]
push esi
push ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.00403ed5
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 6
call fcn.0045c48a
mov bl, al
lea ecx, [ebp - 0xb8]
neg bl
sbb bl, bl
mov byte [ebp - 4], 5
inc bl
call fcn.00401f95
test bl, bl
je 0x454ca9
cmp byte [ebp + 0x8c], 0
je 0x454c2d
lea ecx, [ebp + 8]
jmp 0x454c58
lea eax, [ebp - 0xd]
push esi
push eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], 0x47b5a0
mov dword [ebp - 0x70], edi
call fcn.00402b2c
or dword [ebp - 0x14], 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040e41b
mov edx, dword [ebp + 0x30]
push eax
mov dword [ebp - 4], 8
mov ecx, dword [edx + 8]
push ecx
mov ecx, edx
call fcn.0045cb67
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 7
call fcn.00401f95
test byte [ebp - 0x14], 1
mov dword [ebp - 4], 5
je 0x454ca9
and dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x90]
call fcn.00401f95
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 3
call fcn.00401f95
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
setne al
jmp 0x454b47
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindClose]
add dword [ebp - 0x1c], 0x28
mov eax, dword [ebp - 0x1c]
jmp 0x454af5
cmp byte [ebp + 0x90], 0
jne 0x454cf4
mov bl, 1
jmp 0x454e01
mov al, byte [ebp + 0x8b]
mov dword [ebp - 0x2c], esi
mov byte [ebp - 0x30], al
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
push esi
push 1
pop esi
lea eax, [ebp - 0xd]
push esi
push 0x10
push 0x10
mov byte [ebp - 4], 9
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x18], esp
push esi
push eax
push 0x4974b4
call fcn.00402caf
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp + 8]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
push eax
call fcn.0040e4a6
mov byte [ebp - 4], 9
call fcn.004549da
mov ebx, dword [ebp - 0x2c]
add esp, 0x64
cmp ebx, dword [ebp - 0x28]
je 0x454df3
push 0x47ceec
push ebx
call fcn.004278aa
pop ecx
test al, al
pop ecx
jne 0x454de7
push 0x4974c0
push ebx
call fcn.004278aa
pop ecx
test al, al
pop ecx
jne 0x454de7
push dword [ebp + 0x90]
lea eax, [ebp + 0x5c]
push dword [ebp + 0x8c]
push dword [ebp + 0x88]
push dword [ebp + 0x84]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x18], esp
push esi
push eax
call fcn.0040e4a6
sub esp, 0x28
lea eax, [ebp + 0x34]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
push eax
mov byte [ebp - 4], 0xb
call fcn.0040e4a6
push dword [ebp + 0x30]
mov byte [ebp - 4], 0xc
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x14], esp
push esi
push ebx
call fcn.0040e4a6
mov byte [ebp - 4], 9
call fcn.00454a74
add esp, 0x8c
test al, al
je 0x454def
add ebx, 0x28
jmp 0x454d53
xor bl, bl
jmp 0x454df5
mov bl, 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00407225
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.00407225
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.00401f95
and byte [ebp - 4], 0
lea ecx, [ebp + 0x34]
call fcn.00401f95
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5c]
call fcn.00401f95
mov ecx, dword [ebp - 0xc]
pop edi
mov al, bl
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret