Function at 0x4cfc9d
Capabilities:
Check if file exists

Disassembly:
push 0x88
mov eax, 0x53393e
call fcn.004f1db2
mov esi, dword [ebp + 8]
push esi
push str.StopSvr___ws__r_n
push 0x5aca00
call fcn.004dddd9
add esp, 0xc
call fcn.004cd647
push esi
lea ecx, [ebp - 0x60]
call fcn.00417260
lea eax, [ebp - 0x60]
xor esi, esi
push eax
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], esi
call fcn.00417230
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 1
push eax
call fcn.004cf946
mov ebx, str.knbcenter.exe
push ebx
call fcn.00416680
pop ecx
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x78]
call fcn.00418190
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x78]
push eax
call edi
push 2
pop ebx
test eax, eax
jne 0x4cfe9a
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
cmovae eax, dword [ebp - 0x78]
push eax
push str.CUninstall_StopSvr_PathFileExists___ws_r_n
push 0x5aca00
call fcn.004dddd9
add esp, 0xc
lea ecx, [ebp - 0x30]
call fcn.0043bae5
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], bl
call fcn.0043bb0e
test eax, eax
js 0x4cff0e
lea ecx, [ebp - 0x30]
call fcn.0043bbd9
test eax, eax
je 0x4cff0e
call fcn.00437474
push eax
lea ecx, [ebp - 0x80]
call fcn.0043a4ef
mov byte [ebp - 4], 3
call fcn.00437474
push eax
lea ecx, [ebp - 0x7c]
call fcn.0043a4ef
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x30]
call fcn.0043beff
lea ecx, [ebp - 0x80]
call fcn.00454f04
push eax
lea ecx, [ebp - 0x80]
call fcn.0043c2e8
push str.knbcenter.exe
lea ecx, [ebp - 0x80]
call fcn.004684c0
test eax, eax
jne 0x4cfdf3
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0043bd0a
test eax, eax
js 0x4cfdf3
lea ecx, [ebp - 0x7c]
call fcn.00454f04
push eax
lea ecx, [ebp - 0x7c]
call fcn.0043c2e8
push esi
push str.knbcenter.exe
lea ecx, [ebp - 0x7c]
call fcn.00468330
cmp eax, 0xffffffff
jne 0x4cfe1e
mov ecx, dword [ebp - 0x7c]
lea ecx, [ecx - 0x10]
call fcn.00436fdb
mov ecx, dword [ebp - 0x80]
mov byte [ebp - 4], bl
lea ecx, [ecx - 0x10]
call fcn.00436fdb
lea ecx, [ebp - 0x30]
call fcn.0043bbe7
test eax, eax
jne 0x4cfd6d
jmp 0x4cfe8e
push eax
push esi
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x7c]
call fcn.00447a0f
mov esi, dword [eax]
push esi
mov byte [ebp - 4], 5
call fcn.00416680
pop ecx
push eax
push esi
lea ecx, [ebp - 0x60]
call fcn.00417b50
mov ecx, dword [ebp - 0x94]
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.00436fdb
cmp dword [ebp - 0x4c], 8
lea eax, [ebp - 0x60]
cmovae eax, dword [ebp - 0x60]
push eax
push str.CUninstall_StopSvr_wstrPath___ws_r_n
push 0x5aca00
call fcn.004dddd9
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00436fdb
mov ecx, dword [ebp - 0x80]
lea ecx, [ecx - 0x10]
call fcn.00436fdb
xor esi, esi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0043b9ef
cmp dword [ebp - 0x50], 0
je 0x4d0124
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x28]
call fcn.00417230
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 6
push eax
call fcn.004cf946
mov esi, str.Module_securityknbpolicy.dll
push esi
call fcn.00416680
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00418190
push 8
pop esi
cmp dword [ebp - 0x14], esi
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
test eax, eax
jne 0x4cff1e
cmp dword [ebp - 0x14], esi
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push str.PathFileExists_wstrPath___ws_no_exists__r_n
push 0x5aca00
call fcn.004dddd9
add esp, 0xc
xor esi, esi
mov ebx, esi
jmp 0x4d00f0
lea ecx, [ebp - 0x30]
call fcn.0043b9ef
push 6
pop ebx
jmp 0x4d0126
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x48]
call fcn.00417230
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 7
push eax
call fcn.004cf946
mov dword [esp], str.knbcenter.exe
call fcn.00416680
pop ecx
push eax
push str.knbcenter.exe
lea ecx, [ebp - 0x48]
call fcn.00418190
cmp dword [ebp - 0x34], esi
lea eax, [ebp - 0x48]
cmovae eax, dword [ebp - 0x48]
push eax
call edi
test eax, eax
lea eax, [ebp - 0x48]
jne 0x4cff84
cmp dword [ebp - 0x34], esi
cmovae eax, dword [ebp - 0x48]
push eax
push str.PathFileExists_wstrPath___ws_no_exists__r_n
push 0x5aca00
call fcn.004dddd9
add esp, 0xc
xor esi, esi
jmp 0x4cff9c
cmp dword [ebp - 0x34], esi
cmovae eax, dword [ebp - 0x48]
xor esi, esi
push esi
push esi
push eax
call fcn.004cea56
add esp, 0xc
test eax, eax
jne 0x4cffa3
mov ebx, esi
jmp 0x4d00e5
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
call fcn.004d1197
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov edi, 0x5aca00
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x28]
push eax
push str.CUninstall_StopSvr_LoadInterface___ws_r_n
push edi
call fcn.004dddd9
add esp, 0xc
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x90]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.004cee7b
test eax, eax
jne 0x4d000c
xor ebx, ebx
inc ebx
jmp 0x4d00d6
push str.CUninstall_Initialize_Begin__r_n
push edi
call fcn.004dddd9
mov eax, dword [ebp - 0x90]
pop ecx
pop ecx
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x4d00d6
push str.CUninstall_Initialize_End__r_n
push edi
call fcn.004dddd9
push str.CUninstall_ExitHostProcess_Begin__r_n
push edi
call fcn.004dddd9
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x78]
test eax, eax
jne 0x4d005c
push 3
jmp 0x4d00d5
push str.CUninstall_ExitHostProcess_End__r_n
push edi
call fcn.004dddd9
push str.CUninstall_UnInitialize_Begin__r_n
push edi
call fcn.004dddd9
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4d0089
push 4
jmp 0x4d00d5
push str.CUninstall_UnInitialize_End__r_n
push edi
call fcn.004dddd9
push str.CUninstall_StopSvr_End__r_n
push edi
call fcn.004dddd9
add esp, 0x10
push 0xa
pop esi
cmp dword [ebp - 0x34], 8
lea eax, [ebp - 0x48]
push 0
cmovae eax, dword [ebp - 0x48]
push 0
push eax
call fcn.004cea56
add esp, 0xc
test eax, eax
je 0x4d00fd
dec esi
je 0x4d00d1
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4d00a5
push 7
xor esi, esi
pop ebx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
call fcn.004cc696
push esi
push 1
lea ecx, [ebp - 0x48]
call fcn.00417d20
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.00417d20
jmp 0x4d0126
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
call fcn.004cc696
xor esi, esi
lea ecx, [ebp - 0x48]
push esi
push 1
call fcn.00417d20
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.00417d20
mov ebx, esi
push esi
push 1
lea ecx, [ebp - 0x78]
call fcn.00417d20
push esi
push 1
lea ecx, [ebp - 0x60]
call fcn.00417d20
mov eax, ebx
call fcn.004f1d61
ret