Function at 0x4b48e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 8], 0
mov edi, ecx
mov dword [ebp - 0xc], 0
mov ecx, esi
mov dword [ebp - 0x10], edi
xor bh, bh
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xffffffff
call fcn.004b3250
test eax, eax
jne 0x4b4947
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4b493a
push 0xffffffffffffffff
xor edx, edx
mov ecx, edi
call fcn.004b4e60
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x10]
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4950
sub ecx, edx
lea eax, [esi - 1]
add eax, ecx
cmp eax, esi
jbe 0x4b4971
mov ecx, eax
dec eax
mov dword [ebp - 4], ecx
cmp byte [eax], 0x2f
je 0x4b4976
cmp eax, esi
ja 0x4b4962
mov ecx, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
mov bl, byte [ecx]
mov byte [ecx], 0
test eax, eax
je 0x4b4984
mov byte [eax], bh
mov dword [ebp - 0xc], ecx
mov bh, bl
mov ecx, edi
call fcn.004b47a0
mov edi, eax
mov eax, dword [ebp - 4]
test edi, edi
jne 0x4b499d
cmp eax, esi
ja 0x4b4944
lea esi, [eax + 1]
mov al, byte [esi]
test al, al
je 0x4b49c5
cmp al, 0x2f
je 0x4b4a3e
call fcn.004e006f
push eax
push esi
call fcn.004e0021
add esi, eax
add esp, 8
mov al, byte [esi]
test al, al
jne 0x4b49a6
mov esi, dword [ebp - 0x10]
mov ecx, esi
mov dword [ebp - 0xc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b49d4
sub ecx, edx
add ecx, 0x100
test edi, edi
je 0x4b4bff
push ecx
call fcn.004dad8d
mov edx, eax
add esp, 4
mov dword [ebp - 8], edx
test edx, edx
je 0x4b4bff
mov ecx, edx
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x4b4a05
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4b4a15
mov eax, dword [ebp - 4]
sub edx, ecx
mov dword [ebp - 0x10], edx
mov esi, eax
mov byte [eax], bl
test bl, bl
je 0x4b4aa0
nop dword [eax]
cmp bl, 0x5c
jne 0x4b4a79
cmp byte [esi + 1], 0
je 0x4b4a88
inc esi
jmp 0x4b4a88
lea eax, [esi + 1]
mov byte [esi], 0
mov esi, dword [ebp - 0x10]
mov ecx, esi
mov dword [ebp - 0xc], eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4a50
sub ecx, edx
mov edx, dword [ebp - 0xc]
lea eax, [edx + 1]
mov dword [ebp - 0x10], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x4b4a62
sub edx, dword [ebp - 0x10]
add ecx, 0x101
add ecx, edx
jmp 0x4b49e3
cmp bl, 0x3f
je 0x4b4aa8
cmp bl, 0x2a
je 0x4b4aa8
cmp bl, 0x5b
je 0x4b4aa8
call fcn.004e006f
push eax
push esi
call fcn.004e0021
mov bl, byte [esi + eax]
add esi, eax
add esp, 8
test bl, bl
jne 0x4b4a30
or esi, 0xffffffff
jmp 0x4b4c16
cmp dword [edi + 4], 0
je 0x4b4b00
mov dword [edi + 4], 0
mov esi, edi
cmp dword [0x568bd4], 0
jne 0x4b4aca
test esi, esi
je 0x4b4aca
test byte [esi + 8], 6
jne 0x4b4aa8
lea eax, [esi + 0x34]
neg esi
sbb esi, esi
and esi, eax
je 0x4b4c13
mov ecx, 0x5435a0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b4b14
test dl, dl
je 0x4b4afc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b4b14
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b4ae0
xor eax, eax
jmp 0x4b4b19
lea eax, [edi + 8]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4b4ab5
xor esi, esi
jmp 0x4b4ab7
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b4aa8
mov ecx, 0x5435a4
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b4b44
test dl, dl
je 0x4b4b40
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b4b44
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b4b24
xor eax, eax
jmp 0x4b4b49
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b4aa8
mov ecx, dword [ebp - 4]
mov edx, esi
push 0
call fcn.004b3620
add esp, 4
test eax, eax
je 0x4b4aa8
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
add ebx, edx
mov ecx, ebx
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4b4b72
cmp dword [ebp - 0xc], 0
je 0x4b4bcc
mov ecx, edx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4b90
sub ecx, edx
mov edx, dword [ebp - 8]
add edx, ecx
mov ecx, dword [ebp - 0xc]
mov byte [edx], 0x2f
inc edx
mov esi, edx
sub esi, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x4b4bb0
mov ecx, dword [ebp - 8]
call fcn.004b48e0
mov esi, eax
mov dword [ebp - 0x14], esi
jmp 0x4b4be1
push dword [edi + 8]
mov ecx, dword [ebp - 8]
xor edx, edx
call fcn.004b4e60
add esp, 4
mov dword [ebp - 0x14], eax
mov esi, eax
mov byte [ebx], 0
test esi, esi
jne 0x4b4bf4
mov dword [ebp - 0x18], 1
jmp 0x4b4aa8
cmp esi, 0xffffffff
je 0x4b4aa8
jmp 0x4b4c16
mov eax, dword [ebp - 4]
or esi, 0xffffffff
test edi, edi
mov byte [eax], bl
mov eax, 4
cmovne esi, eax
jmp 0x4b4c16
mov esi, dword [ebp - 0x14]
test edi, edi
je 0x4b4c2b
push dword [edi]
call dword [sym.imp.KERNEL32.dll_FindClose]
push edi
call fcn.004dab64
add esp, 4
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4b4c36
mov byte [eax - 1], 0x2f
mov eax, dword [ebp - 8]
test eax, eax
je 0x4b4c46
push eax
call fcn.004dab64
add esp, 4
cmp esi, 0xffffffff
jne 0x4b4c53
xor eax, eax
cmp dword [ebp - 0x18], eax
cmovne esi, eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret