Function at 0x444c10
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x548
push ebx
push esi
push edi
mov edi, edx
mov eax, dword [edi + 4]
xor esi, esi
cmp eax, esi
mov ebx, 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], esi
mov edx, ebx
je 0x444c76
cmp byte [eax], 0x2d
jne 0x444c76
push 0x6f
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x444c57
mov dword [esp + 0x1c], ebx
mov eax, dword [edi + 4]
push 0x61
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x444c71
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
mov edx, 2
cmp dword [edi + edx*4], esi
jne 0x444c92
mov edx, dword [edi]
push esi
push esi
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
mov ebx, dword [esp + 0x558]
push ebp
push esi
push 0x104
push ebx
mov ecx, edi
call fcn.00504590
mov ebp, eax
cmp ebp, esi
jge 0x444cc7
mov edx, dword [edi]
push 3
push esi
xor ecx, ecx
call fcn.004803b0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
mov edx, ebx
mov ecx, ebx
call fcn.0041f5c0
test eax, eax
je 0x444cae
push esi
mov esi, dword [esp + 0x564]
push 0x104
push esi
lea edx, [ebp + 1]
mov ecx, edi
call fcn.00504590
test eax, eax
jge 0x444d0a
mov edx, dword [edi]
push 3
push 0
xor ecx, ecx
call fcn.004803b0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
push 0x5c5d18
push 0x5c5c18
push 0x5c5b18
push 0x5c5b14
push esi
call fcn.00591920
mov al, byte [0x5c5b14]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
test al, al
jne 0x444d78
mov al, byte [0x5c5b18]
cmp al, 0x5c
je 0x444d78
cmp al, 0x2f
je 0x444d78
test al, al
push 0x5c5d18
push 0x5c5c18
je 0x444d68
push 0x5c5b18
push 0x5ee048
push str._s_s_s_s
push esi
call edi
add esp, 0x18
jmp 0x444d78
push 0x5ee048
push str._s_s_s
push esi
call edi
add esp, 0x14
mov al, byte [0x5c5c18]
test al, al
jne 0x444d99
mov al, byte [0x5c5d18]
test al, al
jne 0x444d99
mov ecx, esi
call fcn.00422770
mov dword [esp + 0x24], 1
lea ecx, [esp + 0x30]
push ecx
push ebx
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x18], ebp
je 0x445035
mov dword [esp + 0x10], 0
test byte [esp + 0x30], 0x10
je 0x444de0
lea edx, [esp + 0x30]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x444dc4
jmp 0x444fe6
mov eax, dword [esp + 0x24]
test eax, eax
je 0x444e1c
push 0x5c5d18
push 0x5c5c18
push 0x5c5b18
push 0x5c5b14
push esi
call fcn.00591920
lea eax, [esp + 0x70]
push eax
push 0x5c5b18
push 0x5c5b14
push str._s_s_s
push esi
call edi
add esp, 0x28
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x444eb7
mov edx, 3
mov ecx, esi
call fcn.00421f20
test eax, eax
je 0x444eb7
cmp dword [esp + 0x14], 1
jge 0x444e4e
mov edx, dword [0x5c9d44]
mov ecx, dword [esp + 0x1c]
call fcn.00513bc0
push esi
xor edx, edx
mov ecx, 0x2cf
call fcn.0041f1a0
push eax
lea ecx, [esp + 0x178]
push ecx
call edi
mov edx, dword [0x5c9d44]
mov ecx, dword [esp + 0x28]
add esp, 0xc
push edx
lea edx, [esp + 0x174]
mov dword [0x5bfd5c], 0
call fcn.00513d20
lea eax, [esp + 0x30]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x444ea2
mov dword [esp + 0x10], 1
inc dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x444dc4
jmp 0x444fee
push 0x5c5d18
push 0x5c5c18
push 0x5c5b18
push 0x5c5b14
push ebx
call fcn.00591920
lea ecx, [esp + 0x70]
push ecx
push 0x5c5b18
push 0x5c5b14
push str._s_s_s
push ebx
call edi
mov edx, dword [esp + 0x54]
add esp, 0x28
push edx
mov edx, esi
mov ecx, ebx
call fcn.0041fed0
mov ebp, eax
test ebp, ebp
jne 0x444f94
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x564]
inc ecx
test eax, eax
mov dword [esp + 0x14], ecx
je 0x444f50
push esi
push ebx
xor edx, edx
mov ecx, 0x2d0
call fcn.0041f1a0
push eax
lea eax, [esp + 0x17c]
push eax
call edi
mov ecx, dword [0x5c9d44]
add esp, 0x10
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x174]
mov dword [0x5bfd5c], ebp
call fcn.00513d20
push 0x5c5d18
push 0x5c5c18
push 0x5c5b18
push 0x5c5b14
push str._s_s_s_s
push ebx
call edi
mov eax, dword [esp + 0x3c]
add esp, 0x18
test eax, eax
je 0x444fe2
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
mov ebp, dword [esp + 0x18]
je 0x444fe6
jmp 0x444dc4
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp ebp, 1
jne 0x444fc0
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
push ebp
push ebx
xor ecx, ecx
call fcn.004803b0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
cmp ebp, 2
jne 0x444ff5
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
push 4
push esi
xor ecx, ecx
call fcn.004803b0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x548
ret 0xc
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x10], 1
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebp, dword [esp + 0x14]
test ebp, ebp
jle 0x445019
mov eax, dword [esp + 0x564]
test eax, eax
je 0x445017
mov edx, dword [0x5c9d44]
mov ecx, dword [esp + 0x1c]
call fcn.00513bc0
test ebp, ebp
je 0x445035
mov eax, dword [esp + 0x10]
test eax, eax
je 0x445035
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x548
ret 0xc
push esi
push ebx
xor edx, edx
mov ecx, 0x2d1
call fcn.0041f1a0
push eax
push 0x5cbac0
call edi
add esp, 0x10
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x548
ret 0xc