Function at 0x42c6c0
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x244
push ebx
push ebp
push esi
push edi
call fcn.0042c630
push 0x104
lea eax, [esp + 0x154]
push eax
push 0
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
mov cl, byte [esp + 0x150]
xor edx, edx
test cl, cl
lea eax, [esp + 0x150]
mov ebx, 4
je 0x42c74a
xor ecx, ecx
mov cl, byte [eax]
mov esi, ecx
and esi, 0xff
test byte [esi + 0x55c601], bl
je 0x42c714
inc eax
jmp 0x42c71b
cmp cl, 0x5c
jne 0x42c71b
mov edx, eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x42c6fd
test edx, edx
je 0x42c74a
or ecx, 0xffffffff
xor eax, eax
inc edx
mov edi, 0x46074c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.kernel32.dll_FindFirstFileA]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x154]
push edx
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x42c77d
push eax
call dword [sym.imp.kernel32.dll_FindClose]
call fcn.0042c630
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret
test byte [esp + 0x10], 0x10
jne 0x42c78a
inc dword [0x466eac]
lea eax, [esp + 0x10]
push eax
push esi
call dword [sym.imp.kernel32.dll_FindNextFileA]
cmp eax, 1
je 0x42c77d
push esi
mov esi, dword [sym.imp.kernel32.dll_FindClose]
call esi
mov ecx, dword [0x466eac]
push ebx
push ecx
call fcn.00451cc7
mov edx, dword [0x466eac]
push ebx
push edx
mov dword [0x466e98], eax
call fcn.00451cc7
mov dword [0x466e9c], eax
mov eax, dword [0x466eac]
push ebx
push eax
call fcn.00451cc7
mov ecx, dword [0x466eac]
push ebx
push ecx
mov dword [0x466ea0], eax
call fcn.00451cc7
mov edx, dword [0x466eac]
push ebx
push edx
mov dword [0x466ea4], eax
call fcn.00451cc7
add esp, 0x28
mov dword [0x466ea8], eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x154]
push ecx
call edi
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x42c829
push eax
call esi
call fcn.0042c630
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret
mov ebx, dword [sym.imp.kernel32.dll_LoadLibraryA]
mov edi, dword [sym.imp.kernel32.dll_GetProcAddress]
xor esi, esi
test byte [esp + 0x10], 0x10
jne 0x42c91c
cmp esi, dword [0x466eac]
jg 0x42c91c
lea edx, [esp + 0x3c]
push edx
call ebx
mov ecx, dword [0x466e98]
mov dword [ecx + esi*4], eax
mov edx, dword [0x466e98]
mov eax, dword [edx + esi*4]
test eax, eax
je 0x42c91c
push 0x46073c
push eax
call edi
mov ecx, dword [0x466e9c]
mov dword [ecx + esi*4], eax
mov edx, dword [0x466e98]
mov eax, dword [edx + esi*4]
push 0x460730
push eax
call edi
mov ecx, dword [0x466ea0]
mov dword [ecx + esi*4], eax
mov edx, dword [0x466e98]
mov eax, dword [edx + esi*4]
push 0x460720
push eax
call edi
mov ecx, dword [0x466ea4]
mov dword [ecx + esi*4], eax
mov edx, dword [0x466e98]
mov eax, dword [edx + esi*4]
push 0x460714
push eax
call edi
mov ecx, dword [0x466ea8]
mov dword [ecx + esi*4], eax
mov eax, dword [0x466ea8]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x466ea4]
xor edx, edx
test ecx, ecx
setne dl
xor ecx, ecx
cmp dword [eax + esi*4], ecx
mov eax, dword [0x466ea0]
setne cl
and edx, ecx
xor ecx, ecx
cmp dword [eax + esi*4], ecx
setne cl
test ecx, edx
jne 0x42c91b
mov ecx, dword [0x466e98]
mov edx, dword [ecx + esi*4]
push edx
call dword [sym.imp.kernel32.dll_FreeLibrary]
mov eax, dword [0x466e98]
mov dword [eax + esi*4], 0
jmp 0x42c91c
inc esi
lea ecx, [esp + 0x10]
push ecx
push ebp
call dword [sym.imp.kernel32.dll_FindNextFileA]
cmp eax, 1
je 0x42c837
push ebp
call dword [sym.imp.kernel32.dll_FindClose]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x244
ret