Function at 0x49e130
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x52de80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
push str.StopSvr___ws__r_n
push 0x55913c
call fcn.004a985e
add esp, 0xc
call fcn.0049bde2
push esi
lea ecx, [ebp - 0x54]
call fcn.004045b0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00404580
lea eax, [ebp - 0x6c]
push eax
call fcn.0049dd7c
mov esi, str.knbcenter.exe
push esi
call fcn.00402db0
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x6c]
call fcn.004063e0
cmp dword [ebp - 0x58], 8
lea eax, [ebp - 0x6c]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x6c]
push eax
call edi
xor ebx, ebx
test eax, eax
jne 0x49e306
cmp dword [ebp - 0x58], 8
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
push str.CUninstall_StopSvr_PathFileExists___ws_r_n
push 0x55913c
call fcn.004a985e
add esp, 0xc
lea ecx, [ebp - 0x24]
call fcn.004253f0
lea ecx, [ebp - 0x24]
call fcn.00425419
test eax, eax
js 0x49e373
lea ecx, [ebp - 0x24]
call fcn.004254e4
test eax, eax
je 0x49e373
call fcn.00420e9a
push eax
lea ecx, [ebp - 0x74]
call fcn.00423ea0
call fcn.00420e9a
push eax
lea ecx, [ebp - 0x70]
call fcn.00423ea0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x24]
call fcn.0042580a
lea ecx, [ebp - 0x74]
call fcn.0043e71b
push eax
lea ecx, [ebp - 0x74]
call fcn.00425bd3
push esi
lea ecx, [ebp - 0x74]
call fcn.00467d8a
test eax, eax
jne 0x49e270
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x24]
call fcn.00425615
test eax, eax
js 0x49e270
lea ecx, [ebp - 0x70]
call fcn.0043e71b
push eax
lea ecx, [ebp - 0x70]
call fcn.00425bd3
push ebx
push esi
lea ecx, [ebp - 0x70]
call fcn.0049bc1e
cmp eax, 0xffffffff
jne 0x49e298
mov ecx, dword [ebp - 0x70]
lea ecx, [ecx - 0x10]
call fcn.004209ab
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.004209ab
lea ecx, [ebp - 0x24]
call fcn.004254f2
test eax, eax
jne 0x49e1fa
jmp 0x49e2fe
push eax
push ebx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.00431320
mov esi, dword [eax]
push esi
call fcn.00402db0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x54]
call fcn.004064c0
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx - 0x10]
call fcn.004209ab
cmp dword [ebp - 0x40], 8
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x54]
push eax
push str.CUninstall_StopSvr_wstrPath___ws_r_n
push 0x55913c
call fcn.004a985e
mov ecx, dword [ebp - 0x70]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.004209ab
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.004209ab
lea ecx, [ebp - 0x24]
call fcn.00425312
cmp dword [ebp - 0x44], ebx
je 0x49e585
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404580
lea eax, [ebp - 0x1c]
push eax
call fcn.0049dd7c
mov esi, str.Module_securityknbpolicy.dll
push esi
call fcn.00402db0
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c]
call fcn.004063e0
push 8
pop esi
cmp dword [ebp - 8], esi
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
call edi
test eax, eax
jne 0x49e383
cmp dword [ebp - 8], esi
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
push eax
push str.PathFileExists_wstrPath___ws_no_exists__r_n
push 0x55913c
call fcn.004a985e
add esp, 0xc
mov esi, ebx
jmp 0x49e547
lea ecx, [ebp - 0x24]
call fcn.00425312
push 6
pop esi
jmp 0x49e587
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00404580
lea eax, [ebp - 0x3c]
push eax
call fcn.0049dd7c
mov dword [esp], str.knbcenter.exe
call fcn.00402db0
pop ecx
push eax
push str.knbcenter.exe
lea ecx, [ebp - 0x3c]
call fcn.004063e0
cmp dword [ebp - 0x28], esi
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call edi
test eax, eax
lea eax, [ebp - 0x3c]
jne 0x49e3e3
cmp dword [ebp - 0x28], esi
cmovae eax, dword [ebp - 0x3c]
push eax
push str.PathFileExists_wstrPath___ws_no_exists__r_n
push 0x55913c
call fcn.004a985e
add esp, 0xc
jmp 0x49e3f9
cmp dword [ebp - 0x28], esi
push ebx
cmovae eax, dword [ebp - 0x3c]
push ebx
push eax
call fcn.0049ce68
add esp, 0xc
test eax, eax
jne 0x49e400
mov esi, ebx
jmp 0x49e53c
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.0049f64e
cmp dword [ebp - 8], esi
lea eax, [ebp - 0x1c]
mov esi, 0x55913c
cmovae eax, dword [ebp - 0x1c]
push eax
push str.CUninstall_StopSvr_LoadInterface___ws_r_n
push esi
call fcn.004a985e
add esp, 0xc
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x84]
cmovae eax, dword [ebp - 0x1c]
push eax
call fcn.0049d290
test eax, eax
jne 0x49e458
xor esi, esi
inc esi
jmp 0x49e521
push str.CUninstall_Initialize_Begin__r_n
push esi
call fcn.004a985e
mov eax, dword [ebp - 0x84]
pop ecx
pop ecx
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x49e47d
push 2
jmp 0x49e520
push str.CUninstall_Initialize_End__r_n
push esi
call fcn.004a985e
push str.CUninstall_ExitHostProcess_Begin__r_n
push esi
call fcn.004a985e
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x78]
test eax, eax
jne 0x49e4ab
push 3
jmp 0x49e520
push str.CUninstall_ExitHostProcess_End__r_n
push esi
call fcn.004a985e
push str.CUninstall_UnInitialize_Begin__r_n
push esi
call fcn.004a985e
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x49e4d8
push 4
jmp 0x49e520
push str.CUninstall_UnInitialize_End__r_n
push esi
call fcn.004a985e
push str.CUninstall_StopSvr_End__r_n
push esi
call fcn.004a985e
add esp, 0x10
push 0xa
pop esi
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
push ebx
cmovae eax, dword [ebp - 0x3c]
push ebx
push eax
call fcn.0049ce68
add esp, 0xc
test eax, eax
je 0x49e554
dec esi
je 0x49e51e
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x49e4f4
push 7
pop esi
lea ecx, [ebp - 0x84]
call fcn.0049bc58
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x49e53c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.00402540
push ebx
push 1
lea ecx, [ebp - 0x1c]
call fcn.00402540
jmp 0x49e587
lea ecx, [ebp - 0x84]
call fcn.0049bc58
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x49e56f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.00402540
push ebx
push 1
lea ecx, [ebp - 0x1c]
call fcn.00402540
mov esi, ebx
push ebx
push 1
lea ecx, [ebp - 0x6c]
call fcn.00402540
push ebx
push 1
lea ecx, [ebp - 0x54]
call fcn.00402540
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bc11d
mov esp, ebp
pop ebp
ret