Function at 0x4d805e
Capabilities:
Check if file exists

Disassembly:
push 0x38
mov eax, 0x53510e
call fcn.004f2332
mov edi, ecx
push str.Magic_StartMenuShortcut_Begin_r_n
mov ebx, 0x5aea00
push ebx
call fcn.004de360
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.004d4b53
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.004d4639
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.004d558d
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.004d54e3
lea eax, [ebp - 0x2c]
push eax
call fcn.004cfddf
mov esi, 0x53f3e4
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.004d8313
push 0
push dword [ebp - 0x2c]
call fcn.004cfb20
pop ecx
pop ecx
test eax, eax
jne 0x4d8195
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.KFunction::MyCreateDirectory_errcode_d_r_n
push ebx
call fcn.004de360
push dword [ebp - 0x2c]
call fcn.004ccf85
mov eax, dword [ebp - 0x2c]
add esp, 8
mov esi, esp
mov dword [esi], eax
test eax, eax
je 0x4d8158
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 0x4d8195
push str.base::DirectoryExists_r_n
push 0x5aea00
call fcn.004de360
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.004d4bbe
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 0x5425cc
push eax
lea eax, [ebp - 0x34]
push eax
je 0x4d81fa
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.004cd0f0
mov ecx, dword [ebp - 0x34]
add esp, 0x20
add ecx, 0xfffffff0
jmp 0x4d821e
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.004cd2e9
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 0x4d82c9
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4d8281
push 0x5425f8
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 0x55aff0
push ebx
call fcn.004cd2e9
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 0x4d82c9
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4d82c6
push 0x542610
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 0x55aff0
push edi
call fcn.004cd2e9
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 0x5aea00
call fcn.004de360
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.004f22e1
ret