Function at 0x445605
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x4685b0
call fcn.0043540c
sub esp, 0x34c
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, 0x46b5b8
jne 0x44565c
sub esp, 0x28
lea eax, [ebp + 8]
mov dword [ebp - 0x18], esp
mov ecx, esp
push esi
push eax
mov dword [ecx], 0x46b5c0
mov dword [ecx + 0x20], edi
call fcn.00403c87
call fcn.00445435
add esp, 0x28
test al, al
jne 0x44565c
xor bl, bl
jmp 0x4459b0
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.00415a92
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x38]
je 0x445887
push dword [ebp - 0x1c]
lea eax, [ebp - 0xe0]
lea ecx, [ebp + 8]
push eax
call fcn.0040e137
mov eax, dword [eax + 8]
cmp eax, esi
jne 0x4456ad
mov eax, 0x46b5e8
lea ecx, [ebp - 0x358]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x18], eax
call fcn.00402079
cmp dword [ebp - 0x18], 0xffffffff
mov al, 1
je 0x445872
test al, al
je 0x445872
mov eax, dword [ebp - 0x358]
mov ecx, dword [ebp + 0x84]
and eax, dword [ebp + 0x88]
and ecx, dword [ebp + 0x88]
cmp eax, ecx
jne 0x445858
lea eax, [ebp - 0x32c]
mov ebx, 0x46b5c0
test eax, eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x32c]
jne 0x44571d
mov eax, 0x486618
lea ecx, [ebp - 0x1e]
push esi
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403d1a
lea eax, [ebp - 0x68]
push 0x46cecc
push eax
mov byte [ebp - 4], 4
call fcn.0042c454
pop ecx
test al, al
pop ecx
jne 0x44584c
lea eax, [ebp - 0x68]
push 0x484a48
push eax
call fcn.0042c454
pop ecx
test al, al
pop ecx
jne 0x44584c
mov eax, 0x484a40
mov dword [ebp - 0xb8], ebx
mov ecx, eax
mov dword [ebp - 0x98], edi
test ecx, ecx
jne 0x44577b
mov eax, 0x486618
lea ecx, [ebp - 0x1d]
push esi
push ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.00403d1a
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 5
call fcn.0044d062
mov bl, al
lea ecx, [ebp - 0xb8]
neg bl
sbb bl, bl
mov byte [ebp - 4], 4
inc bl
call fcn.00402079
test bl, bl
je 0x44584c
cmp byte [ebp + 0x8c], 0
je 0x4457d0
lea ecx, [ebp + 8]
jmp 0x4457fb
lea eax, [ebp - 0xd]
push esi
push eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], 0x46b5c0
mov dword [ebp - 0x70], edi
call fcn.00402b02
or dword [ebp - 0x14], 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040e137
mov edx, dword [ebp + 0x30]
push eax
mov dword [ebp - 4], 7
mov ecx, dword [edx + 8]
push ecx
mov ecx, edx
call fcn.0044d801
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 6
call fcn.00402079
test byte [ebp - 0x14], 1
mov dword [ebp - 4], 4
je 0x44584c
and dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x90]
call fcn.00402079
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 3
call fcn.00402079
lea eax, [ebp - 0x358]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
jmp 0x4456d5
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindClose]
add dword [ebp - 0x1c], 0x28
mov eax, dword [ebp - 0x1c]
jmp 0x445686
cmp byte [ebp + 0x90], 0
jne 0x445897
mov bl, 1
jmp 0x4459a4
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], 8
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x18], esp
push esi
push eax
push 0x484a38
call fcn.00408d5f
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp + 8]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
push eax
call fcn.0040e1c2
mov byte [ebp - 4], 8
call fcn.0044556b
mov ebx, dword [ebp - 0x2c]
add esp, 0x64
cmp ebx, dword [ebp - 0x28]
je 0x445996
push 0x46cecc
push ebx
call fcn.0042c454
pop ecx
test al, al
pop ecx
jne 0x44598a
push 0x484a48
push ebx
call fcn.0042c454
pop ecx
test al, al
pop ecx
jne 0x44598a
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.0040e1c2
sub esp, 0x28
lea eax, [ebp + 0x34]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
push eax
mov byte [ebp - 4], 0xa
call fcn.0040e1c2
push dword [ebp + 0x30]
mov byte [ebp - 4], 0xb
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x14], esp
push esi
push ebx
call fcn.0040e1c2
mov byte [ebp - 4], 8
call fcn.00445605
add esp, 0x8c
test al, al
je 0x445992
add ebx, 0x28
jmp 0x4458f6
xor bl, bl
jmp 0x445998
mov bl, 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00407113
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.00407113
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.00402079
and byte [ebp - 4], 0
lea ecx, [ebp + 0x34]
call fcn.00402079
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5c]
call fcn.00402079
mov ecx, dword [ebp - 0xc]
pop edi
mov al, bl
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret