Function at 0x4d7ad4
Capabilities:
Check if file exists

Disassembly:
push 0x38
mov eax, 0x534a67
call fcn.004f1db2
mov edi, ecx
push str.Magic_StartMenuShortcut_Begin_r_n
mov ebx, 0x5aca00
push ebx
call fcn.004dddd9
pop ecx
pop ecx
call fcn.00437474
push eax
lea ecx, [ebp - 0x3c]
call fcn.0043a4ef
and dword [ebp - 4], 0
lea eax, [ebp - 0x3c]
push eax
mov ecx, edi
call fcn.004d4632
call fcn.00437474
push eax
lea ecx, [ebp - 0x44]
call fcn.0043a4ef
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 1
push eax
mov ecx, edi
call fcn.004d4118
call fcn.00437474
push eax
lea ecx, [ebp - 0x40]
call fcn.0043a4ef
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.004d5004
call fcn.00437474
push eax
lea ecx, [ebp - 0x2c]
call fcn.0043a4ef
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 3
push eax
mov ecx, edi
call fcn.004d4f5a
lea eax, [ebp - 0x2c]
push eax
call fcn.004cf906
mov esi, 0x5394d0
push esi
call fcn.0043a8c3
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.004516f5
mov ecx, edi
call fcn.004d7d89
push 0
push dword [ebp - 0x2c]
call fcn.004cf647
pop ecx
pop ecx
test eax, eax
jne 0x4d7c0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.KFunction::MyCreateDirectory_errcode_d_r_n
push ebx
call fcn.004dddd9
push dword [ebp - 0x2c]
call fcn.004ccaac
mov eax, dword [ebp - 0x2c]
add esp, 8
mov esi, esp
mov dword [esi], eax
test eax, eax
je 0x4d7bce
push eax
call fcn.00416680
pop ecx
lea ecx, [ebp - 0x28]
mov dword [esi + 4], eax
call fcn.004195a0
push eax
mov byte [ebp - 4], 4
call fcn.0041bae0
mov bl, al
mov byte [ebp - 4], 3
pop ecx
neg bl
lea ecx, [ebp - 0x28]
sbb bl, bl
call fcn.00419620
inc bl
je 0x4d7c0b
push str.base::DirectoryExists_r_n
push 0x5aca00
call fcn.004dddd9
pop ecx
pop ecx
call fcn.00437474
push eax
lea ecx, [ebp - 0x38]
call fcn.0043a4ef
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 5
push eax
mov ecx, edi
call fcn.004d469d
mov esi, dword [ebp - 0x38]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, dword [ebp - 0x44]
test eax, eax
mov edi, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
push 0x54124c
push eax
lea eax, [ebp - 0x34]
push eax
je 0x4d7c70
call fcn.0045922d
push 0
push esi
push dword [eax]
mov esi, dword [ebp - 0x3c]
push str.__ico3
push esi
mov byte [ebp - 4], 6
call fcn.004ccc17
mov ecx, dword [ebp - 0x34]
add esp, 0x20
add ecx, 0xfffffff0
jmp 0x4d7c94
call fcn.0045922d
mov esi, dword [ebp - 0x3c]
push 0
push dword [eax]
mov byte [ebp - 4], 7
push str.__ico3
push esi
call fcn.004cce10
mov ecx, dword [ebp - 0x34]
add esp, 0x1c
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], 5
mov dword [ebp - 0x30], eax
call fcn.00436fdb
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4d7d3f
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4d7cf7
push 0x541278
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0045922d
push 0
push dword [eax]
mov byte [ebp - 4], 8
push 0x559c78
push ebx
call fcn.004cce10
mov ecx, dword [ebp - 0x34]
add esp, 0x1c
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 5
lea ecx, [ecx - 0x10]
call fcn.00436fdb
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4d7d3f
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4d7d3c
push 0x541290
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0045922d
push 0
push dword [eax]
mov byte [ebp - 4], 9
push 0x559c78
push edi
call fcn.004cce10
mov ecx, dword [ebp - 0x34]
add esp, 0x1c
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 5
lea ecx, [ecx - 0x10]
call fcn.00436fdb
mov eax, dword [ebp - 0x30]
push eax
push str.Magic_StartMenuShortcut_End_bRet___d_r_n
push 0x5aca00
call fcn.004dddd9
mov ecx, dword [ebp - 0x38]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00436fdb
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.00436fdb
lea ecx, [edi - 0x10]
call fcn.00436fdb
lea ecx, [ebx - 0x10]
call fcn.00436fdb
lea ecx, [esi - 0x10]
call fcn.00436fdb
mov eax, dword [ebp - 0x30]
call fcn.004f1d61
ret