Function at 0x4fb80c
Capabilities:
Enumerate files on windows

Disassembly:
test dword [0x7eda90], 0xffffff80
jne 0x4fb834
test dword [0x7eda90], 0xffffffff
jne 0x4fba3c
call fcn.006a6b5c
jmp fcn.004fb80c
push edi
push esi
push ebp
push ebx
sub esp, 0xc
mov dword [esp + 4], edx
test ecx, ecx
je 0x4fb87e
mov esi, 0x6ffec0
mov edi, ecx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4fb84a
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x4fb86b
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4fb856
dec eax
cmp byte [eax + 0x6ffebf], 0x5c
je 0x4fb880
mov byte [eax + 0x6ffec0], 0x5c
inc eax
jmp 0x4fb880
xor eax, eax
lea edx, [eax + 0x6ffec0]
mov byte [eax + 0x6ffec0], 0
push 0x6cfa98
push 0x6c3a54
push edx
call fcn.006964d6
add esp, 0xc
mov ecx, 0x13e
call fcn.004dbcd8
mov ebp, eax
push ebp
push 0x6ffec0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4fba22
mov eax, dword [ebp]
xor ecx, ecx
and eax, 0x10
mov edx, 1
cmovne ecx, edx
mov dword [esp], ecx
lea edi, [ebp + 0x2c]
mov dword [esp + 8], edi
mov esi, 0x6cf9dc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fb902
test dl, dl
je 0x4fb8fe
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fb902
add edi, 2
add esi, 2
test dl, dl
jne 0x4fb8e2
xor eax, eax
jmp 0x4fb907
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fb941
mov edi, dword [esp + 8]
mov esi, 0x6cfa9c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fb934
test dl, dl
je 0x4fb930
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fb934
add edi, 2
add esi, 2
test dl, dl
jne 0x4fb914
xor eax, eax
jmp 0x4fb939
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4fb9ec
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
jne 0x4fba08
mov edi, dword [esp + 8]
mov esi, 0x6cf9dc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fb97b
test dl, dl
je 0x4fb977
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fb97b
add edi, 2
add esi, 2
test dl, dl
jne 0x4fb95b
xor eax, eax
jmp 0x4fb980
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fb9d9
mov edi, dword [esp + 8]
mov esi, 0x6cfa9c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fb9ad
test dl, dl
je 0x4fb9a9
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fb9ad
add edi, 2
add esi, 2
test dl, dl
jne 0x4fb98d
xor eax, eax
jmp 0x4fb9b2
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fb9d9
mov eax, dword [ebp]
xor edx, edx
and eax, 0x10
mov esi, 1
cmovne edx, esi
mov edi, dword [esp + 0x20]
push edi
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
call eax
test eax, eax
je 0x4fba08
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x4fb952
jmp 0x4fba08
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
call esi
cmp eax, 1
je 0x4fb941
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, ebp
call fcn.004db418
xor eax, eax
add esp, 0xc
pop ebx
pop ebp
pop esi
pop edi
ret 4
mov ecx, ebp
call fcn.004db418
call dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
pop ebx
pop ebp
pop esi
pop edi
ret 4
push edi
push esi
push ebp
push ebx
sub esp, 0xc
mov dword [esp + 4], edx
test ecx, ecx
je 0x4fba86
mov esi, 0x6ffec0
mov edi, ecx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4fba52
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x4fba73
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4fba5e
dec eax
cmp byte [eax + 0x6ffebf], 0x5c
je 0x4fba88
mov byte [eax + 0x6ffec0], 0x5c
inc eax
jmp 0x4fba88
xor eax, eax
lea edx, [eax + 0x6ffec0]
mov byte [eax + 0x6ffec0], 0
push 0x6cfa98
push 0x6c3a54
push edx
call fcn.006964d6
add esp, 0xc
mov ecx, 0x13e
call fcn.004dbcd8
mov ebp, eax
push ebp
push 0x6ffec0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4fbc24
mov eax, dword [ebp]
and eax, 0x10
xor edx, edx
test eax, eax
setne dl
mov dword [esp], edx
lea edi, [ebp + 0x2c]
mov dword [esp + 8], edi
mov esi, 0x6cf9dc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fbb07
test dl, dl
je 0x4fbb03
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fbb07
add edi, 2
add esi, 2
test dl, dl
jne 0x4fbae7
xor eax, eax
jmp 0x4fbb0c
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fbb46
mov edi, dword [esp + 8]
mov esi, 0x6cfa9c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fbb39
test dl, dl
je 0x4fbb35
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fbb39
add edi, 2
add esi, 2
test dl, dl
jne 0x4fbb19
xor eax, eax
jmp 0x4fbb3e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4fbbee
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
jne 0x4fbc0a
mov edi, dword [esp + 8]
mov esi, 0x6cf9dc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fbb80
test dl, dl
je 0x4fbb7c
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fbb80
add edi, 2
add esi, 2
test dl, dl
jne 0x4fbb60
xor eax, eax
jmp 0x4fbb85
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fbbdb
mov edi, dword [esp + 8]
mov esi, 0x6cfa9c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4fbbb2
test dl, dl
je 0x4fbbae
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4fbbb2
add edi, 2
add esi, 2
test dl, dl
jne 0x4fbb92
xor eax, eax
jmp 0x4fbbb7
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fbbdb
mov eax, dword [ebp]
and eax, 0x10
xor edx, edx
test eax, eax
setne dl
mov esi, dword [esp + 0x20]
push esi
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 8]
call edi
test eax, eax
je 0x4fbc0a
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x4fbb57
jmp 0x4fbc0a
mov esi, dword [esp + 0x20]
push esi
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
call eax
cmp eax, 1
je 0x4fbb46
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, ebp
call fcn.004db418
xor eax, eax
add esp, 0xc
pop ebx
pop ebp
pop esi
pop edi
ret 4
mov ecx, ebp
call fcn.004db418
call dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
pop ebx
pop ebp
pop esi
pop edi
ret 4