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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
or dword [ebp - 8], 0xffffffff
push esi
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
push edi
mov dword [ebp - 0x14], esi
mov byte [ebp - 1], 0
mov dword [ebp - 0x18], esi
call fcn.0046adf2
pop ecx
test eax, eax
jne 0x46aad9
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x46aad1
push esi
push dword [ebp + 8]
call fcn.0046aa7a
pop ecx
pop ecx
jmp 0x46acb9
or eax, 0xffffffff
jmp 0x46acb9
push ebx
jmp 0x46aadf
mov edi, dword [ebp + 0xc]
push edi
call fcn.004806d0
pop ecx
lea ecx, [edi - 1]
add eax, ecx
jmp 0x46aaf3
dec eax
cmp byte [eax], 0x2f
je 0x46aaf8
cmp eax, edi
ja 0x46aaed
dec eax
lea edi, [eax + 1]
mov bl, byte [edi]
mov byte [edi], 0
test esi, esi
je 0x46ab09
mov al, byte [ebp - 1]
mov byte [esi], al
push dword [ebp + 8]
mov esi, edi
mov byte [ebp - 1], bl
call fcn.0046a016
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x46ab23
cmp edi, dword [ebp + 0xc]
ja 0x46aadc
mov dword [ebp + 0xc], edi
push 0x2f
inc edi
push edi
call fcn.0046af15
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
je 0x46ab59
mov byte [eax], 0
inc eax
push eax
mov dword [ebp - 0x10], eax
call fcn.004806d0
push dword [ebp + 8]
mov edi, eax
call fcn.004806d0
pop ecx
lea eax, [edi + eax + 0x101]
jmp 0x46ab66
push dword [ebp + 8]
call fcn.004806d0
add eax, 0x100
cmp dword [ebp - 0xc], 0
pop ecx
je 0x46ac6c
push eax
call fcn.0047da45
mov edi, eax
pop ecx
mov dword [ebp - 0x14], edi
test edi, edi
je 0x46ac6c
push dword [ebp + 8]
push edi
call fcn.004805d0
push edi
call fcn.004806d0
add esp, 0xc
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x46aba0
mov byte [esi], bl
push dword [ebp + 0xc]
call fcn.0046adf2
pop ecx
test eax, eax
jne 0x46ac57
or dword [ebp - 8], 0xffffffff
jmp 0x46ac80
push 0x4abc78
push edi
call fcn.00480ef0
pop ecx
pop ecx
test eax, eax
je 0x46ac57
push 0x4abc7c
push edi
call fcn.00480ef0
pop ecx
pop ecx
test eax, eax
je 0x46ac57
push 0
push edi
push dword [ebp + 0xc]
call fcn.0046b208
add esp, 0xc
test eax, eax
je 0x46ac57
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
lea esi, [eax + ebx]
push edi
push esi
call fcn.004805d0
cmp dword [ebp - 0x10], 0
pop ecx
pop ecx
je 0x46ac2d
push ebx
call fcn.004806d0
push dword [ebp - 0x10]
mov edi, eax
add edi, ebx
mov byte [edi], 0x2f
inc edi
push edi
call fcn.004805d0
push edi
push ebx
call fcn.0046aa8d
add esp, 0x14
jmp 0x46ac3e
mov eax, dword [ebp - 0xc]
push dword [eax + 8]
push 0
push ebx
call fcn.0046a7b4
add esp, 0xc
mov dword [ebp - 8], eax
mov byte [esi], 0
test eax, eax
jne 0x46ac51
mov dword [ebp - 0x18], 1
jmp 0x46ac57
cmp dword [ebp - 8], 0xffffffff
jne 0x46ac80
push dword [ebp - 0xc]
call fcn.0046a109
mov edi, eax
pop ecx
test edi, edi
jne 0x46abba
jmp 0x46ac80
test esi, esi
je 0x46ac72
mov byte [esi], bl
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
and eax, 5
dec eax
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0xc]
xor edi, edi
pop ebx
cmp esi, edi
je 0x46ac8f
call fcn.0046a0f9
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x46ac9a
mov byte [eax - 1], 0x2f
cmp dword [ebp - 0x14], edi
je 0x46aca8
push dword [ebp - 0x14]
call fcn.0047d643
pop ecx
cmp dword [ebp - 8], 0xffffffff
jne 0x46acb6
cmp dword [ebp - 0x18], edi
je 0x46acb6
mov dword [ebp - 8], edi
mov eax, dword [ebp - 8]
pop edi
pop esi
leave
ret