Function at 0x49310e
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x3a8
mov eax, dword [0x50e7dc]
xor eax, ebp
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x7c]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x74]
push 0x511110
lea ecx, [ebp - 0x2fc]
mov dword [ebp - 0x300], edi
mov dword [ebp - 0x2f8], eax
call fcn.00404f19
push 0x4cd790
lea ecx, [ebp + 0x4c]
call fcn.00404bd0
lea eax, [ebp + 0x4c]
push eax
call fcn.004017f5
pop ecx
xor ebx, ebx
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x4c]
call fcn.004058b3
lea eax, [edi + 0x98]
push eax
lea ecx, [ebp - 0x40]
call fcn.00404bf2
push ebx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0xc], 7
call fcn.00405ece
cmp word [ebp + 0x78], 0xffff
sete byte [ebp - 0x2f1]
cmp dword [ebp - 0x2f8], ebx
je 0x4931af
push dword [ebp - 0x2f8]
lea ecx, [ebp - 0x24]
call fcn.00405394
push esi
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x158]
call fcn.004069e3
push 0x4d51f0
lea ecx, [ebp + 0x30]
call fcn.00404bd0
push str.MachineID
lea ecx, [ebp + 0x4c]
call fcn.00404bd0
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x158]
call fcn.00406d31
push ebx
push esi
lea ecx, [ebp + 0x4c]
call fcn.004058b3
push ebx
push esi
lea ecx, [ebp + 0x30]
call fcn.004058b3
cmp dword [ebp + 0x28], ebx
jne 0x49321b
push str.unknown
lea ecx, [ebp + 0x14]
call fcn.00405394
push esi
push ebx
push 0x4cd78c
lea ecx, [ebp + 0x14]
call fcn.00405719
cmp eax, 0xffffffff
je 0x493259
push eax
push ebx
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp + 0x14]
call fcn.00404cd6
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x14]
call fcn.00405301
push ebx
push esi
lea ecx, [ebp - 0x320]
call fcn.004058b3
push ebx
lea ecx, [ebp - 8]
mov dword [ebp + 0x10], 7
call fcn.00405ece
lea ecx, [ebp - 0x2f0]
call fcn.0041c503
lea eax, [ebp - 8]
push eax
sub esp, 0x1c
lea eax, [ebp + 0x14]
mov ecx, esp
mov dword [ebp - 0x2f8], esp
push eax
call fcn.00404bf2
lea ecx, [ebp - 0x2f0]
call fcn.0041c51d
cmp byte [edi + 0x6f], bl
jne 0x4932e8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.00404cf8
test eax, eax
je 0x4932e8
push str.FAILD_to_encrypt_machine_ID
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 0x2f1], bl
call fcn.0040608f
push str.CGenericWnd::Uninstall___FAILD_to_encrypt_machine_ID
lea ecx, [ebp + 0x4c]
call fcn.00404bd0
lea eax, [ebp + 0x4c]
push eax
call fcn.004017f5
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x4c]
call fcn.004058b3
jmp 0x493605
cmp byte [ebp - 0x2f1], bl
je 0x49341e
push str.CGenericWnd::Uninstall___Reset_SAPs
lea ecx, [ebp + 0x4c]
call fcn.00404bd0
lea eax, [ebp + 0x4c]
push eax
call fcn.004017f5
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x4c]
call fcn.004058b3
call fcn.00402359
test eax, eax
jle 0x493419
push esi
lea ecx, [ebp - 0x1ec]
call fcn.00410314
push esi
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 0x2f8], ebx
call fcn.00411cb8
cmp dword [ebp - 0x2f8], ebx
je 0x49336f
push dword [ebp - 0x2f8]
lea ecx, [ebp - 0x1ec]
call fcn.004179bc
mov ecx, dword [ebp - 0x2f8]
cmp ecx, ebx
je 0x49336f
mov eax, dword [ecx]
push esi
call dword [eax]
lea eax, [ebp + 0x4c]
push str.ProgramFiles
push eax
call fcn.0040479d
pop ecx
pop ecx
mov edi, 0x4d5480
push edi
lea ecx, [ebp + 0x4c]
call fcn.004052dd
lea eax, [ebp - 0x320]
push eax
call fcn.0040798e
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x4c]
call fcn.00405c92
push ebx
push esi
lea ecx, [ebp - 0x320]
call fcn.004058b3
push edi
lea ecx, [ebp + 0x4c]
call fcn.004052dd
push str.Uninstall.exe
lea ecx, [ebp + 0x4c]
call fcn.004052dd
push str._RESETSAPS__EXECUTEUNINSTALL
lea ecx, [ebp - 0x320]
call fcn.00404bd0
push esi
push ebx
push esi
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0041e207
add esp, 0x14
push ebx
push esi
lea ecx, [ebp - 0x320]
call fcn.004058b3
push ebx
push esi
lea ecx, [ebp + 0x4c]
call fcn.004058b3
lea ecx, [ebp - 0x1ec]
call fcn.0041069b
mov edi, dword [ebp - 0x300]
jmp 0x49341e
call fcn.0041d015
mov byte [ebp - 0x2f8], bl
call fcn.00402359
cmp eax, 2
jl 0x49345f
push str.CGenericWnd::Uninstall___Need_Elevation
lea ecx, [ebp - 0x320]
call fcn.00404bd0
lea eax, [ebp - 0x320]
push eax
call fcn.004017f5
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x320]
call fcn.004058b3
mov byte [ebp - 0x2f8], 1
lea ecx, [ebp - 0x114]
call fcn.0048cade
push 0xffffffffffffffff
push ebx
lea eax, [edi + 0x98]
push eax
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xf3], 1
call fcn.00405301
mov al, byte [edi + 0x6f]
push ebx
lea ecx, [ebp + 0x30]
mov byte [ebp - 0xf1], 1
mov byte [ebp - 0xeb], 1
mov byte [ebp - 0xea], al
mov byte [ebp - 0x114], bl
mov byte [ebp - 0xf4], bl
mov byte [ebp - 0xf2], bl
mov byte [ebp - 0xf0], bl
mov byte [ebp - 0xef], bl
mov byte [ebp - 0xee], bl
mov byte [ebp - 0xed], bl
mov byte [ebp - 0xec], bl
mov dword [ebp + 0x48], 7
call fcn.00405ece
lea eax, [ebp + 0x30]
push eax
lea eax, [edi + 0x98]
push eax
call fcn.0041e143
cmp dword [ebp + 0x48], 8
mov eax, dword [ebp + 0x34]
pop ecx
pop ecx
jae 0x4934fb
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x493526
push str.FAILD_to_find_installer.exe_file
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 0x2f1], bl
call fcn.0040608f
push str.CGenericWnd::Uninstall___FAILD_to_find_installer.exe_file
jmp 0x4935cb
push dword [ebp - 0x2f8]
lea eax, [ebp - 0x114]
sub esp, 0xd4
mov ecx, esp
mov dword [ebp - 0x300], esp
push eax
call fcn.0041d5d4
push esi
sub esp, 0x1c
lea eax, [edi + 0xb4]
mov ecx, esp
mov dword [ebp - 0x300], esp
push eax
call fcn.00404bf2
sub esp, 0x1c
lea eax, [ebp + 0x30]
mov ecx, esp
mov dword [ebp - 0x300], esp
push eax
call fcn.00404bf2
sub esp, 0x1c
lea eax, [edi + 0x98]
mov ecx, esp
mov dword [ebp - 0x300], esp
push eax
call fcn.00404bf2
call fcn.0041d420
add esp, 0x130
lea ecx, [ebp - 0x2fc]
test al, al
je 0x4935b6
push str.SUCCEEDED_Step_1_window
mov byte [ebp - 0x2f1], 1
call fcn.0040608f
push str.CGenericWnd::Uninstall___SUCCEEDED_Step_1_window
jmp 0x4935cb
push str.FAILD_to_Execute_Seperate_Installer
mov byte [ebp - 0x2f1], bl
call fcn.0040608f
push str.CGenericWnd::Uninstall___FAILD_to_Execute_Seperate_Installer
lea ecx, [ebp - 0x320]
call fcn.00404bd0
lea eax, [ebp - 0x320]
push eax
call fcn.004017f5
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x320]
call fcn.004058b3
push ebx
push esi
lea ecx, [ebp + 0x30]
call fcn.004058b3
lea ecx, [ebp - 0x114]
call fcn.0041d577
lea ecx, [ebp - 0x33c]
call fcn.00491a56
mov eax, 0x4d527c
cmp byte [ebp - 0x2f1], bl
jne 0x493622
mov eax, 0x4d5288
push eax
lea ecx, [ebp - 0x304]
call fcn.00404a87
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00492a13
lea eax, [ebp - 0x2fc]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00492a13
lea eax, [ebp - 0x33c]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x300], esp
push str.Client_Completed
call fcn.00404a87
lea eax, [ebp + 0x3c]
push eax
mov ecx, edi
call fcn.00492189
lea eax, [ebp + 0x3c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x304]
add ecx, 0xfffffff0
call fcn.00401713
lea ecx, [ebp - 0x33c]
call fcn.00491abd
push dword [ebp - 0x33c]
call fcn.0049ecd9
pop ecx
lea ecx, [ebp - 0x2f0]
call fcn.00434d74
push ebx
push esi
lea ecx, [ebp - 8]
call fcn.004058b3
push ebx
push esi
lea ecx, [ebp + 0x14]
call fcn.004058b3
lea ecx, [ebp - 0x158]
call fcn.004017b6
push ebx
push esi
lea ecx, [ebp - 0x24]
call fcn.004058b3
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.004058b3
mov ecx, dword [ebp - 0x2fc]
add ecx, 0xfffffff0
call fcn.00401713
mov ecx, dword [ebp + 0x68]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0049f533
add ebp, 0x6c
leave
ret 0xc