Function at 0x422660
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0xc94
mov eax, dword [str.Version]
mov ecx, dword [0x4370fc]
mov edx, dword [0x437100]
push ebx
mov dword [esp + 4], eax
mov eax, dword [0x437104]
mov dword [esp + 8], ecx
mov cx, word [0x437108]
push ebp
push esi
mov dword [esp + 0x14], edx
push edi
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], cx
xor ebp, ebp
lea edx, [esp + 0x234]
mov ecx, 0x93
xor eax, eax
lea edi, [esp + 0x440]
mov dword [esp + 0x43c], ebp
test edx, edx
rep stosd dword es:[edi], eax
je 0x422906
mov eax, dword [esp + 0xcb0]
cmp eax, ebp
je 0x422906
mov ebx, dword [sym.imp.MSVCRT.dll_wcscpy]
mov word [eax], bp
mov eax, dword [esp + 0xcac]
lea ecx, [esp + 0x234]
push eax
push ecx
mov word [esp + 0x694], bp
mov word [esp + 0x34], bp
mov word [esp + 0xaa4], bp
call ebx
push 1
lea edx, [esp + 0x240]
push ebp
push edx
call fcn.00423bd0
lea eax, [esp + 0x248]
lea ecx, [esp + 0x8a8]
push eax
push ecx
call ebx
lea edx, [esp + 0x2c]
lea eax, [esp + 0x8b0]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_wcscat]
mov esi, dword [sym.imp.MSVCRT.dll_wcslen]
mov edi, dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0x24
test ebp, ebp
jne 0x42276e
lea ecx, [esp + 0x43c]
lea edx, [esp + 0x894]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x422906
jmp 0x422785
lea eax, [esp + 0x43c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x422841
test byte [esp + 0x43c], 0x10
jne 0x422747
push 0x4370e8
call esi
push eax
lea ecx, [esp + 0x470]
push 0x4370e8
push ecx
call dword [sym.imp.MSVCRT.dll__wcsnicmp]
add esp, 0x10
test eax, eax
jne 0x422747
cmp word [esp + 0x2c], ax
je 0x422804
lea edx, [esp + 0x468]
lea eax, [esp + 0x234]
push edx
push eax
lea ecx, [esp + 0xaa4]
push str._s_s
push ecx
call edi
lea edx, [esp + 0x3c]
push edx
call fcn.00423fe0
fstp qword [esp + 0x38]
lea eax, [esp + 0xab0]
push eax
call fcn.00423fe0
fcomp qword [esp + 0x3c]
add esp, 0x18
fnstsw ax
test ah, 1
jne 0x422747
lea ecx, [esp + 0x468]
lea edx, [esp + 0x234]
push ecx
push edx
lea eax, [esp + 0x34]
push str._s_s
push eax
call edi
push 0x4370e8
call esi
lea ecx, [esp + eax*2 + 0x47c]
lea edx, [esp + 0x6a0]
push ecx
push edx
call ebx
add esp, 0x1c
jmp 0x422747
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp word [esp + 0x68c], 0
je 0x422906
lea eax, [esp + 0x68c]
push eax
call fcn.00424ab0
mov edi, dword [esp + 0xcb8]
lea ecx, [esp + 0x690]
push edi
lea edx, [esp + 0x34]
push ecx
push edx
call fcn.00423f90
push 0
lea eax, [esp + 0x248]
push 0
push eax
call fcn.00423bd0
mov esi, dword [sym.imp.MSVCRT.dll_wcsrchr]
lea ecx, [esp + 0x250]
push 0x5c
push ecx
call esi
add esp, 0x24
test eax, eax
je 0x4228e0
mov ebx, dword [sym.imp.MSVCRT.dll_wcscat]
lea edx, [esp + 0x2c]
push 0x4370e0
push edx
call ebx
lea eax, [esp + 0x23c]
push 0x5c
push eax
call esi
add eax, 2
lea ecx, [esp + 0x3c]
push eax
push ecx
call ebx
lea edx, [esp + 0x44]
push 0x4370dc
push edx
call ebx
add esp, 0x20
mov ecx, dword [esp + 0xcb0]
lea eax, [esp + 0x2c]
push edi
push eax
push ecx
call fcn.00423f90
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc94
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc94
ret