Function at 0x49e3cf
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x52fe80]
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 0x55b31c
call fcn.004a9913
add esp, 0xc
call fcn.0049c0dd
push esi
lea ecx, [ebp - 0x54]
call fcn.00406c40
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00406c10
lea eax, [ebp - 0x6c]
push eax
call fcn.0049e01b
mov esi, str.knbcenter.exe
push esi
call fcn.00405d70
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x6c]
call fcn.00407480
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 0x49e5a5
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 0x55b31c
call fcn.004a9913
add esp, 0xc
lea ecx, [ebp - 0x24]
call fcn.00425467
lea ecx, [ebp - 0x24]
call fcn.00425490
test eax, eax
js 0x49e612
lea ecx, [ebp - 0x24]
call fcn.0042555b
test eax, eax
je 0x49e612
call fcn.00420bd2
push eax
lea ecx, [ebp - 0x74]
call fcn.00423e41
call fcn.00420bd2
push eax
lea ecx, [ebp - 0x70]
call fcn.00423e41
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x24]
call fcn.00425881
lea ecx, [ebp - 0x74]
call fcn.0043f655
push eax
lea ecx, [ebp - 0x74]
call fcn.00425c4a
push esi
lea ecx, [ebp - 0x74]
call fcn.0046805d
test eax, eax
jne 0x49e50f
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x24]
call fcn.0042568c
test eax, eax
js 0x49e50f
lea ecx, [ebp - 0x70]
call fcn.0043f655
push eax
lea ecx, [ebp - 0x70]
call fcn.00425c4a
push ebx
push esi
lea ecx, [ebp - 0x70]
call fcn.0049bf19
cmp eax, 0xffffffff
jne 0x49e537
mov ecx, dword [ebp - 0x70]
lea ecx, [ecx - 0x10]
call fcn.004206ab
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.004206ab
lea ecx, [ebp - 0x24]
call fcn.00425569
test eax, eax
jne 0x49e499
jmp 0x49e59d
push eax
push ebx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x70]
call fcn.004319d0
mov esi, dword [eax]
push esi
call fcn.00405d70
pop ecx
push eax
push esi
lea ecx, [ebp - 0x54]
call fcn.00407560
mov ecx, dword [ebp - 0x88]
lea ecx, [ecx - 0x10]
call fcn.004206ab
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 0x55b31c
call fcn.004a9913
mov ecx, dword [ebp - 0x70]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.004206ab
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.004206ab
lea ecx, [ebp - 0x24]
call fcn.00425389
cmp dword [ebp - 0x44], ebx
je 0x49e824
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00406c10
lea eax, [ebp - 0x1c]
push eax
call fcn.0049e01b
mov esi, str.Module_securityknbpolicy.dll
push esi
call fcn.00405d70
pop ecx
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c]
call fcn.00407480
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 0x49e622
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 0x55b31c
call fcn.004a9913
add esp, 0xc
mov esi, ebx
jmp 0x49e7e6
lea ecx, [ebp - 0x24]
call fcn.00425389
push 6
pop esi
jmp 0x49e826
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00406c10
lea eax, [ebp - 0x3c]
push eax
call fcn.0049e01b
mov dword [esp], str.knbcenter.exe
call fcn.00405d70
pop ecx
push eax
push str.knbcenter.exe
lea ecx, [ebp - 0x3c]
call fcn.00407480
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 0x49e682
cmp dword [ebp - 0x28], esi
cmovae eax, dword [ebp - 0x3c]
push eax
push str.PathFileExists_wstrPath___ws_no_exists__r_n
push 0x55b31c
call fcn.004a9913
add esp, 0xc
jmp 0x49e698
cmp dword [ebp - 0x28], esi
push ebx
cmovae eax, dword [ebp - 0x3c]
push ebx
push eax
call fcn.0049d163
add esp, 0xc
test eax, eax
jne 0x49e69f
mov esi, ebx
jmp 0x49e7db
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.0049f8ed
cmp dword [ebp - 8], esi
lea eax, [ebp - 0x1c]
mov esi, 0x55b31c
cmovae eax, dword [ebp - 0x1c]
push eax
push str.CUninstall_StopSvr_LoadInterface___ws_r_n
push esi
call fcn.004a9913
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.0049d58b
test eax, eax
jne 0x49e6f7
xor esi, esi
inc esi
jmp 0x49e7c0
push str.CUninstall_Initialize_Begin__r_n
push esi
call fcn.004a9913
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 0x49e71c
push 2
jmp 0x49e7bf
push str.CUninstall_Initialize_End__r_n
push esi
call fcn.004a9913
push str.CUninstall_ExitHostProcess_Begin__r_n
push esi
call fcn.004a9913
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x78]
test eax, eax
jne 0x49e74a
push 3
jmp 0x49e7bf
push str.CUninstall_ExitHostProcess_End__r_n
push esi
call fcn.004a9913
push str.CUninstall_UnInitialize_Begin__r_n
push esi
call fcn.004a9913
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x49e777
push 4
jmp 0x49e7bf
push str.CUninstall_UnInitialize_End__r_n
push esi
call fcn.004a9913
push str.CUninstall_StopSvr_End__r_n
push esi
call fcn.004a9913
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.0049d163
add esp, 0xc
test eax, eax
je 0x49e7f3
dec esi
je 0x49e7bd
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x49e793
push 7
pop esi
lea ecx, [ebp - 0x84]
call fcn.0049bf53
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x49e7db
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.00403650
push ebx
push 1
lea ecx, [ebp - 0x1c]
call fcn.00403650
jmp 0x49e826
lea ecx, [ebp - 0x84]
call fcn.0049bf53
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x49e80e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.00403650
push ebx
push 1
lea ecx, [ebp - 0x1c]
call fcn.00403650
mov esi, ebx
push ebx
push 1
lea ecx, [ebp - 0x6c]
call fcn.00403650
push ebx
push 1
lea ecx, [ebp - 0x54]
call fcn.00403650
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bc1bd
mov esp, ebp
pop ebp
ret