Function at 0x42216c
Capabilities:
Enumerate files on windows
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd50
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov byte [ebp - 0xd], 0
mov byte [ebp - 0x19], 0
mov byte [ebp - 0x22], 1
mov dword [ebp - 0x20], 0x640
mov eax, dword [ebp - 0x20]
push eax
push 0x40
call sub.kernel32.dll_GlobalAlloc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4221c7
fild dword [ebp - 0x20]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x422546
lea eax, [ebp - 0x196]
mov edx, dword [ebp - 4]
call fcn.004b81b0
push 0x422554
lea eax, [ebp - 0x196]
push eax
call sub.kernel32.dll_lstrcatA
mov byte [ebp - 0x138], 0
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x196]
push eax
call sub.kernel32.dll_FindFirstFileA
mov edi, eax
mov eax, dword [ebp - 0xc]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax], edx
jmp 0x4224d5
test byte [ebp - 0x164], 0x10
jne 0x4224c1
lea eax, [ebp - 0x138]
call fcn.004aecd8
mov edx, eax
lea eax, [ebp - 0x25e]
call fcn.004b81b0
push 0x42255c
lea eax, [ebp - 0x25e]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x42229b
push 0x422560
lea eax, [ebp - 0x25e]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x42229b
push 0x422564
lea eax, [ebp - 0x25e]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x42229b
mov byte [ebp - 0x138], 0
lea eax, [ebp - 0x164]
push eax
push edi
call sub.kernel32.dll_FindNextFileA
jmp 0x4224d5
mov byte [ebp - 0x23], 0
mov esi, 1
mov ebx, 0x4bd4d0
mov eax, dword [ebx]
push eax
lea eax, [ebp - 0x138]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x4222d6
mov byte [ebp - 0x138], 0
lea eax, [ebp - 0x164]
push eax
push edi
call sub.kernel32.dll_FindNextFileA
mov byte [ebp - 0x23], 1
jmp 0x4222df
inc esi
add ebx, 4
cmp esi, 6
jne 0x4222a9
cmp byte [ebp - 0x23], 0
jne 0x4224d5
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x1fa]
push eax
call sub.kernel32.dll_lstrcpyA
push 0x422568
lea eax, [ebp - 0x1fa]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x1fa]
push eax
call sub.kernel32.dll_lstrcatA
push 0
push 0
push 3
push 0
push 1
push 0x80000000
lea eax, [ebp - 0x1fa]
push eax
call sub.kernel32.dll_CreateFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x422357
lea edx, [ebp - 0x1fa]
mov ax, 1
call fcn.004acdac
mov byte [ebp - 0xd], 0
jmp 0x422537
push 0
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x14]
push eax
push ebx
call sub.kernel32.dll_ReadFile_1
test eax, eax
jne 0x42238d
lea edx, [ebp - 0x1fa]
mov ax, 2
call fcn.004acdac
push ebx
call sub.kernel32.dll_CloseHandle_1
mov byte [ebp - 0xd], 0
jmp 0x422537
push ebx
call sub.kernel32.dll_CloseHandle_1
mov edx, 0x42256c
mov eax, dword [ebp - 0x14]
call fcn.004b832c
test eax, eax
je 0x4223ac
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x4223e4
mov edx, 0x422590
mov eax, dword [ebp - 0x14]
call fcn.004b832c
test eax, eax
je 0x4223c5
mov eax, dword [ebp + 0xc]
mov byte [eax], 2
jmp 0x4223e4
mov edx, 0x4225c8
mov eax, dword [ebp - 0x14]
call fcn.004b832c
test eax, eax
je 0x4223de
mov eax, dword [ebp + 0xc]
mov byte [eax], 3
jmp 0x4223e4
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
jne 0x422410
mov dword [0x4c0e7c], 0
mov dword [0x4c0e80], 0
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax], edx
mov byte [ebp - 0xd], 0
jmp 0x4224e2
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, byte [ebp - 0x19]
je 0x42242f
cmp byte [ebp - 0x19], 0
je 0x42242f
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov byte [ebp - 0xd], 0
jmp 0x4224e2
cmp byte [ebp - 0x22], 0
je 0x422471
mov eax, dword [ebp + 8]
mov byte [eax], 8
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
call fcn.00421fac
mov eax, dword [ebp + 8]
cmp byte [eax], 0
jne 0x422471
mov eax, dword [ebp + 8]
mov byte [eax], 7
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
call fcn.00421fac
cmp byte [ebp - 0x19], 0
jne 0x422481
mov eax, dword [ebp + 8]
mov al, byte [eax]
mov byte [ebp - 0x21], al
jmp 0x422495
mov eax, dword [ebp + 8]
mov al, byte [eax]
cmp al, byte [ebp - 0x21]
je 0x422495
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov byte [ebp - 0x22], 0
cmp byte [ebp - 0x19], 0
jne 0x4224a3
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 8]
inc dword [eax]
mov eax, dword [ebp - 0x148]
shl eax, 0x20
add eax, dword [ebp - 0x144]
xor edx, edx
mov ecx, dword [ebp - 0xc]
add dword [ecx], eax
adc dword [ecx + 4], edx
mov byte [ebp - 0x138], 0
lea eax, [ebp - 0x164]
push eax
push edi
call sub.kernel32.dll_FindNextFileA
cmp byte [ebp - 0x138], 0
jne 0x42221e
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x4224f0
mov byte [ebp - 0xd], 1
jmp 0x422537
push 0x4225f0
lea eax, [ebp - 0x2ae]
push eax
call sub.kernel32.dll_lstrcpyA
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x2ae]
push eax
call sub.kernel32.dll_lstrcatA
push 0x422620
lea eax, [ebp - 0x2ae]
push eax
call sub.kernel32.dll_lstrcatA
push 0
push 0
lea eax, [ebp - 0x2ae]
push eax
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_GlobalFree
push edi
call sub.kernel32.dll_FindClose
mov al, byte [ebp - 0xd]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8