Function at 0x419360
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x558
mov eax, dword [0x45426c]
xor eax, esp
mov dword [esp + 0x554], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebx, dword [edi + 0xe10]
cmp dword [edi + 0xe0c], ebx
lea esi, [edi + 0xe00]
jbe 0x419393
call fcn.0042f06c
mov ebp, dword [esi + 0xc]
mov eax, dword [esi]
mov dword [esp + 0x10], eax
cmp ebp, dword [esi + 0x10]
jbe 0x4193a6
call fcn.0042f06c
mov ecx, dword [esp + 0x10]
mov eax, dword [esi]
push ebx
push ecx
push ebp
push eax
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.004189b0
cmp byte [edi + 4], 0
jne 0x41945a
cmp byte [edi + 0x104], 0
jne 0x419417
push 7
push 0
push 0x444eec
push 0x51d45a
mov ecx, edi
call fcn.00418ec0
lea ebx, [edi + 0x501]
mov ebp, 5
nop
cmp byte [ebx - 0x100], 0
je 0x41940a
push 6
push 0
push 0x444eec
push ebx
mov ecx, edi
call fcn.00418ec0
add ebx, 0x1ff
sub ebp, 1
jne 0x4193f0
jmp 0x41946f
cmp byte [edi + 0xdff], 0
je 0x41945a
push 4
push 0
push 0x444eec
push 0x51d4f0
mov ecx, edi
call fcn.00418ec0
push 7
push 0
push 0x444eec
push 0x51d45a
mov ecx, edi
call fcn.00418ec0
push 5
push 0
push 0x444eec
push 0x51d586
jmp 0x419468
push 3
push 0
push 0x444eec
push 0x51d3c4
mov ecx, edi
call fcn.00418ec0
cmp byte [edi + 4], 0
je 0x419481
mov ecx, edi
call fcn.00419250
jmp 0x419802
cmp byte [edi + 0xdfd], 0
je 0x419491
mov ecx, edi
call fcn.004190d0
lea eax, [edi + 0x104]
push eax
push str._s.
lea ecx, [esp + 0x36c]
push 0xff
push ecx
call fcn.0042e3b2
add esp, 0x10
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x368]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
push 0
cmp ebx, 0xffffffff
jne 0x4194e6
push 0x10
push 0x444eec
push 0x445e90
mov ecx, edi
call fcn.00418ec0
jmp 0x419802
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x158]
push edx
lea eax, [esp + 0x58]
push eax
mov ecx, edi
call fcn.00418ec0
mov ebp, dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea ecx, [esp + 0x20]
push ecx
push ebx
call ebp
test eax, eax
je 0x419544
lea edx, [esp + 0x4c]
push edx
mov ecx, edi
call fcn.004182e0
mov eax, dword [esp + 0x20]
push 0
push eax
lea ecx, [esp + 0x158]
push ecx
lea edx, [esp + 0x58]
push edx
mov ecx, edi
call fcn.00418ec0
lea eax, [esp + 0x20]
push eax
push ebx
call ebp
test eax, eax
jne 0x419511
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp ebp, 0x12
je 0x419587
push ebp
push str.FindNextFile_error._Error_is__u.
lea ecx, [esp + 0x46c]
push 0xff
push ecx
call fcn.0042e3b2
mov ecx, dword [edi]
add esp, 0x10
lea edx, [esp + 0x464]
push edx
call fcn.00407410
jmp 0x419802
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4195a5
call fcn.0042f06c
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 4
jne 0x4195d7
mov ecx, edi
call fcn.004186c0
test eax, eax
jne 0x4195d7
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.004188d0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call fcn.00418940
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
mov edi, 1
add ecx, edx
cmp ecx, edi
jle 0x419802
jmp 0x419600
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea ebx, [edi - 1]
add eax, edx
cmp ebx, eax
jb 0x419623
call fcn.0042f06c
mov edx, dword [esi + 0xc]
mov ecx, ebx
imul ecx, ecx, 0x204
cmp dword [ecx + edx], 0
je 0x419668
mov ecx, dword [esi + 0x10]
sub ecx, edx
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x419653
call fcn.0042f06c
mov edx, dword [esi + 0xc]
mov ecx, ebx
imul ecx, ecx, 0x204
cmp dword [ecx + edx], 1
jne 0x4197e2
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x419688
call fcn.0042f06c
mov edx, dword [esi + 0xc]
mov ecx, ebx
imul ecx, ecx, 0x204
cmp dword [ecx + edx], 1
je 0x4197e2
mov ecx, dword [esi + 0x10]
sub ecx, edx
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4196bc
call fcn.0042f06c
mov edx, dword [esi + 0xc]
mov ecx, edi
imul ecx, ecx, 0x204
cmp dword [ecx + edx], 1
jne 0x4197e2
push edi
mov ecx, esi
call fcn.00408cf0
add eax, 4
push eax
lea eax, [esp + 0x168]
push 0xff
push eax
call fcn.0042e687
add esp, 0xc
push edi
mov ecx, esi
call fcn.00408cf0
add eax, 0x103
push eax
lea ecx, [esp + 0x267]
push 0xff
push ecx
call fcn.0042e687
add esp, 0xc
push edi
mov ecx, esi
call fcn.00408cf0
mov edx, dword [eax]
push ebx
mov ecx, esi
mov dword [esp + 0x164], edx
call fcn.00408cf0
add eax, 4
push eax
push 0xff
push edi
mov ecx, esi
call fcn.00408cf0
add eax, 4
push eax
call fcn.0042e687
add esp, 0xc
push ebx
mov ecx, esi
call fcn.00408cf0
add eax, 0x103
push eax
push 0xff
push edi
mov ecx, esi
call fcn.00408cf0
add eax, 0x103
push eax
call fcn.0042e687
add esp, 0xc
push ebx
mov ecx, esi
call fcn.00408cf0
push edi
mov ecx, esi
mov ebp, eax
call fcn.00408cf0
mov ecx, dword [ebp]
lea edx, [esp + 0x164]
push edx
push 0xff
mov dword [eax], ecx
push ebx
mov ecx, esi
call fcn.00408cf0
add eax, 4
push eax
call fcn.0042e687
add esp, 0xc
lea eax, [esp + 0x263]
push eax
push 0xff
push ebx
mov ecx, esi
call fcn.00408cf0
add eax, 0x103
push eax
call fcn.0042e687
add esp, 0xc
push ebx
mov ecx, esi
call fcn.00408cf0
mov ecx, dword [esp + 0x160]
mov dword [eax], ecx
xor edi, edi
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0xfe03f81
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
cmp edi, eax
jl 0x419600
mov ecx, dword [esp + 0x564]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042e3d0
add esp, 0x558
ret