Function at 0x401f20
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x550
lea eax, [esp + 0x44c]
push ebx
push esi
push edi
push ebp
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4081a0
push eax
call esi
lea ecx, [esp + 0x45c]
push str.EPLPDX01.SY_
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x218]
lea ecx, [esp + 0x45c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
jne 0x401f7a
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_FindClose]
call ebx
lea eax, [esp + 0x244]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call edi
cmp byte [esp + eax + 0x243], 0x5f
jne 0x402018
lea eax, [esp + 0x244]
lea ecx, [esp + 0x358]
push eax
push ecx
call esi
lea ecx, [esp + 0x358]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
add esp, 4
push str.EPLPDX01.SYS
push ecx
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
add esp, 4
push str.EPLPDX01.SYS
push ecx
call esi
lea ecx, [esp + 0x114]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
lea edx, [esp + 0x14]
lea eax, [esp + 0x35c]
add esp, 4
push 1
push ecx
push edx
push eax
call fcn.004025d0
add esp, 0x10
jmp 0x402067
lea eax, [esp + 0x10]
push str.EPLPDX01.SYS
push eax
call esi
lea eax, [esp + 0x10]
push eax
call fcn.00403700
lea eax, [esp + 0x118]
add esp, 4
push str.EPLPDX01.SYS
push eax
call esi
lea eax, [esp + 0x114]
push eax
call fcn.00403700
lea eax, [esp + 0x118]
lea ecx, [esp + 0x14]
add esp, 4
push 1
push eax
push ecx
call fcn.00402860
add esp, 0xc
cmp eax, 0xffffffff
jne 0x402079
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
lea eax, [esp + 0x45c]
push 0x4081a0
push eax
call esi
lea eax, [esp + 0x45c]
push str.EPLPMX01.DL_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x218]
lea ecx, [esp + 0x45c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
jne 0x4020c3
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
push eax
call ebx
lea eax, [esp + 0x244]
push eax
call edi
cmp byte [esp + eax + 0x243], 0x5f
jne 0x402155
lea eax, [esp + 0x244]
lea ecx, [esp + 0x358]
push eax
push ecx
call esi
lea ecx, [esp + 0x358]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
add esp, 4
push str.EPLPMX01.DLL
push ecx
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
add esp, 4
push str.EPLPMX01.DLL
push ecx
call esi
lea ecx, [esp + 0x114]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
lea edx, [esp + 0x14]
lea eax, [esp + 0x35c]
add esp, 4
push 0
push ecx
push edx
push eax
call fcn.004025d0
add esp, 0x10
jmp 0x4021a4
lea eax, [esp + 0x10]
push str.EPLPMX01.DLL
push eax
call esi
lea eax, [esp + 0x10]
push eax
call fcn.00403700
lea eax, [esp + 0x118]
add esp, 4
push str.EPLPMX01.DLL
push eax
call esi
lea eax, [esp + 0x114]
push eax
call fcn.00403700
lea eax, [esp + 0x118]
lea ecx, [esp + 0x14]
add esp, 4
push 0
push eax
push ecx
call fcn.00402860
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4021b6
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
lea eax, [esp + 0x45c]
push 0x4081a0
push eax
call esi
lea eax, [esp + 0x45c]
push str.EPLPLX01.DL_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x218]
lea ecx, [esp + 0x45c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
jne 0x402200
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
push eax
call ebx
lea eax, [esp + 0x244]
push eax
call edi
cmp byte [esp + eax + 0x243], 0x5f
jne 0x402292
lea eax, [esp + 0x244]
lea ecx, [esp + 0x358]
push eax
push ecx
call esi
lea ecx, [esp + 0x358]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
add esp, 4
push str.EPLPLX01.DLL
push ecx
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
add esp, 4
push str.EPLPLX01.DLL
push ecx
call esi
lea ecx, [esp + 0x114]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
lea edx, [esp + 0x14]
lea eax, [esp + 0x35c]
add esp, 4
push 0
push ecx
push edx
push eax
call fcn.004025d0
add esp, 0x10
jmp 0x4022e1
lea eax, [esp + 0x10]
push str.EPLPLX01.DLL
push eax
call esi
lea eax, [esp + 0x10]
push eax
call fcn.00403700
lea eax, [esp + 0x118]
add esp, 4
push str.EPLPLX01.DLL
push eax
call esi
lea eax, [esp + 0x114]
push eax
call fcn.00403700
lea eax, [esp + 0x118]
lea ecx, [esp + 0x14]
add esp, 4
push 0
push eax
push ecx
call fcn.00402860
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4022f3
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
lea eax, [esp + 0x45c]
push 0x4081a0
push eax
call esi
lea eax, [esp + 0x45c]
push str.EPLPS_01.DL_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x218]
lea ecx, [esp + 0x45c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov ebx, eax
jne 0x402348
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
cmp ebx, 0xffffffff
je 0x40244d
lea eax, [esp + 0x244]
push eax
call edi
cmp byte [esp + eax + 0x243], 0x5f
mov ebp, eax
lea eax, [esp + 0x244]
push eax
jne 0x4023d1
lea ecx, [esp + 0x35c]
push ecx
call esi
lea ecx, [esp + 0x358]
push ecx
call fcn.00403700
lea ecx, [esp + 0x35c]
lea edx, [esp + 0x14]
add esp, 4
push ecx
push edx
call esi
mov byte [esp + ebp + 0xf], 0x4c
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
lea edx, [esp + 0x118]
add esp, 4
push ecx
push edx
call esi
lea ecx, [esp + 0x114]
push 0
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x360]
push edx
push eax
call fcn.004025d0
add esp, 0x10
jmp 0x40240b
lea ecx, [esp + 0x14]
push ecx
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
lea edx, [esp + 0x118]
add esp, 4
push ecx
push edx
call esi
lea ecx, [esp + 0x114]
push 0
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.00402860
add esp, 0xc
cmp eax, 0xffffffff
je 0x402440
lea eax, [esp + 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x40233f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x40244d
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
lea eax, [esp + 0x45c]
push 0x4081a0
push eax
call esi
lea eax, [esp + 0x45c]
push str.EPLPH_.HL_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x218]
lea ecx, [esp + 0x45c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov ebx, eax
jne 0x4024a2
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
cmp ebx, 0xffffffff
je 0x4025b7
lea eax, [esp + 0x244]
push eax
call edi
cmp byte [esp + eax + 0x243], 0x5f
mov ebp, eax
lea eax, [esp + 0x244]
push eax
jne 0x40252b
lea ecx, [esp + 0x35c]
push ecx
call esi
lea ecx, [esp + 0x358]
push ecx
call fcn.00403700
lea ecx, [esp + 0x35c]
lea edx, [esp + 0x14]
add esp, 4
push ecx
push edx
call esi
mov byte [esp + ebp + 0xf], 0x50
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
lea edx, [esp + 0x118]
add esp, 4
push ecx
push edx
call esi
lea ecx, [esp + 0x114]
push 0
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x360]
push edx
push eax
call fcn.00402b30
add esp, 0x10
jmp 0x402575
lea ecx, [esp + 0x14]
push ecx
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.00403700
lea ecx, [esp + 0x14]
lea edx, [esp + 0x118]
add esp, 4
push ecx
push edx
call esi
lea ecx, [esp + 0x114]
push ecx
call fcn.00403700
lea ecx, [esp + 0x118]
lea edx, [esp + 0x14]
add esp, 4
push 0
push ecx
push edx
call fcn.00402dc0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4025aa
lea eax, [esp + 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x402499
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x4025b7
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x550
ret