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

Disassembly:
push 0x684
mov eax, 0x493cc8
call fcn.00492097
mov edi, edx
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x67c], esi
mov dword [ebp - 0x684], edi
mov dword [ebp - 0x688], ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x45b1b2
push 0x4a4090
mov ecx, esi
call dword [0x4a2ed8]
mov eax, esi
jmp 0x45b4bc
push 0x206
lea eax, [ebp - 0x21a]
push ebx
push eax
mov word [ebp - 0x21c], bx
call fcn.00491fe0
add esp, 0xc
mov esi, 0x104
push esi
lea eax, [ebp - 0x21c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
cmp eax, ebx
je 0x45b1ee
cmp eax, esi
jbe 0x45b4a3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x32
jne 0x45b4a3
lea ecx, [ebp - 0x678]
call dword [0x4a2ef4]
lea ecx, [ebp - 0x680]
mov dword [ebp - 4], ebx
call dword [0x4a2ef4]
lea edx, [ebp - 0x21c]
mov byte [ebp - 4], 1
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
inc eax
inc eax
cmp cx, bx
jne 0x45b226
lea edx, [ebp - 0x424]
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
inc eax
inc eax
cmp cx, bx
jne 0x45b23e
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsUNCW]
test eax, eax
mov ebx, dword [0x4a3158]
mov esi, 0x4a6718
je 0x45b31f
lea eax, [ebp - 0x420]
push esi
push eax
call ebx
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x45b2bb
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x21c]
push eax
call dword [0x4a2ed8]
lea ecx, [ebp - 0x680]
call dword [0x4a2ee8]
lea ecx, [ebp - 0x678]
call dword [0x4a2ee8]
jmp 0x45b4b6
push 0x4a7d00
lea ecx, [ebp - 0x678]
call dword [0x4a2d8c]
push edi
lea ecx, [ebp - 0x678]
call dword [0x4a2dbc]
push esi
lea ecx, [ebp - 0x678]
call dword [0x4a2dbc]
push esi
push 0
call ebx
test eax, eax
pop ecx
pop ecx
je 0x45b28b
push eax
lea ecx, [ebp - 0x678]
call dword [0x4a2dbc]
push esi
lea ecx, [ebp - 0x678]
call dword [0x4a2dbc]
lea ecx, [ebp - 0x678]
call dword [0x4a2ccc]
mov edi, dword [ebp - 0x684]
jmp 0x45b353
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
test eax, eax
je 0x45b28b
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x678]
call dword [0x4a2d8c]
lea ecx, [ebp - 0x678]
call dword [0x4a2ccc]
push edi
call dword [sym.imp.SHLWAPI.dll_PathSkipRootW]
lea edx, [ebp - 0x424]
movzx ecx, word [eax]
inc eax
mov word [edx], cx
inc eax
inc edx
inc edx
test cx, cx
jne 0x45b360
lea eax, [ebp - 0x424]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x45b378
sub eax, edx
sar eax, 1
mov dword [ebp - 0x688], eax
push esi
lea eax, [ebp - 0x424]
push eax
jmp 0x45b474
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0x684]
push eax
call fcn.0040a1d0
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x680]
mov byte [ebp - 4], 2
call dword [0x4a2ea0]
lea ecx, [ebp - 0x684]
mov byte [ebp - 4], 1
call dword [0x4a2ee8]
lea eax, [ebp - 0x674]
push eax
push dword [ebp - 0x680]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x68c], eax
je 0x45b28b
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x45b3fa
sub eax, edx
sar eax, 1
lea ecx, [ebp - 0x678]
lea eax, [ebp - 0x440]
jne 0x45b41c
lea eax, [ebp - 0x648]
push eax
call dword [0x4a2dbc]
test byte [ebp - 0x674], 0x10
je 0x45b439
push esi
lea ecx, [ebp - 0x678]
call dword [0x4a2dbc]
push dword [ebp - 0x68c]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, edi
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x45b44a
sub eax, ecx
mov ecx, dword [ebp - 0x688]
sar eax, 1
lea eax, [edi + eax*2]
lea ecx, [ebp + ecx*2 - 0x424]
cmp eax, ecx
jae 0x45b471
mov word [eax], 0x5c
push esi
push 0
call ebx
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x45b399
mov eax, dword [ebp - 0x678]
lea edx, [ebp - 0x21c]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
inc eax
inc eax
test cx, cx
jne 0x45b490
jmp 0x45b28b
mov ecx, dword [ebp - 0x67c]
lea eax, [ebp - 0x21c]
push eax
call dword [0x4a2ed8]
mov eax, dword [ebp - 0x67c]
call fcn.0049211a
ret