Function at 0x4d0176
Capabilities:
Check if file exists

Disassembly:
push 0x88
mov eax, 0x533fe5
call fcn.004f2332
mov esi, dword [ebp + 8]
push esi
push str.StopSvr___ws__r_n
push 0x5aea00
call fcn.004de360
add esp, 0xc
call fcn.004cdb20
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.004cfe1f
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 0x4d0373
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 0x5aea00
call fcn.004de360
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 0x4d03e7
lea ecx, [ebp - 0x30]
call fcn.0043bbd9
test eax, eax
je 0x4d03e7
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 0x4d02cc
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0043bd0a
test eax, eax
js 0x4d02cc
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 0x4d02f7
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 0x4d0246
jmp 0x4d0367
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 0x5aea00
call fcn.004de360
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 0x4d05fd
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.004cfe1f
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 0x4d03f7
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 0x5aea00
call fcn.004de360
add esp, 0xc
xor esi, esi
mov ebx, esi
jmp 0x4d05c9
lea ecx, [ebp - 0x30]
call fcn.0043b9ef
push 6
pop ebx
jmp 0x4d05ff
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.004cfe1f
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 0x4d045d
cmp dword [ebp - 0x34], esi
cmovae eax, dword [ebp - 0x48]
push eax
push str.PathFileExists_wstrPath___ws_no_exists__r_n
push 0x5aea00
call fcn.004de360
add esp, 0xc
xor esi, esi
jmp 0x4d0475
cmp dword [ebp - 0x34], esi
cmovae eax, dword [ebp - 0x48]
xor esi, esi
push esi
push esi
push eax
call fcn.004cef2f
add esp, 0xc
test eax, eax
jne 0x4d047c
mov ebx, esi
jmp 0x4d05be
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.004d166f
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov edi, 0x5aea00
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x28]
push eax
push str.CUninstall_StopSvr_LoadInterface___ws_r_n
push edi
call fcn.004de360
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.004cf354
test eax, eax
jne 0x4d04e5
xor ebx, ebx
inc ebx
jmp 0x4d05af
push str.CUninstall_Initialize_Begin__r_n
push edi
call fcn.004de360
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 0x4d05af
push str.CUninstall_Initialize_End__r_n
push edi
call fcn.004de360
push str.CUninstall_ExitHostProcess_Begin__r_n
push edi
call fcn.004de360
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x78]
test eax, eax
jne 0x4d0535
push 3
jmp 0x4d05ae
push str.CUninstall_ExitHostProcess_End__r_n
push edi
call fcn.004de360
push str.CUninstall_UnInitialize_Begin__r_n
push edi
call fcn.004de360
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4d0562
push 4
jmp 0x4d05ae
push str.CUninstall_UnInitialize_End__r_n
push edi
call fcn.004de360
push str.CUninstall_StopSvr_End__r_n
push edi
call fcn.004de360
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.004cef2f
add esp, 0xc
test eax, eax
je 0x4d05d6
dec esi
je 0x4d05aa
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4d057e
push 7
xor esi, esi
pop ebx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
call fcn.004ccb6f
push esi
push 1
lea ecx, [ebp - 0x48]
call fcn.00417d20
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.00417d20
jmp 0x4d05ff
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
call fcn.004ccb6f
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.004f22e1
ret