Function at 0x491863
Capabilities:
Check if file exists
Create a process with modified i/o handles and window
Create process on windows

Disassembly:
push 0x104
mov eax, 0x5e5de3
call fcn.00593b07
push 0xe4
mov esi, str.LaunchUninstall
push esi
push str.__s__d___LaunchUninstall_Begin.
call fcn.0040a649
lea ecx, [ebp - 0xb8]
call fcn.00425ad5
xor ebx, ebx
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
inc eax
mov edx, str.Software360360huabao
mov byte [ebp - 4], al
mov ecx, reloc.WS2_32.dll_accept
lea eax, [ebp - 0x70]
push eax
push str.Version
call fcn.00425d08
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00429700
push 0x62aa1c
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.0041151f
push str.360huabaosetup.exe
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.0041151f
add esp, 0x28
lea ecx, [ebp - 0x88]
call fcn.0040b67e
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
call fcn.0040b67e
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x491a95
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
call fcn.004c51d0
test eax, eax
je 0x491a95
push 0x44
pop esi
push esi
lea eax, [ebp - 0x110]
push ebx
push eax
call fcn.005aa3d0
add esp, 0xc
mov dword [ebp - 0x110], esi
xor eax, eax
mov dword [ebp - str.hbod_safe_dhbod_pic_d], str.Default
inc eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xe4], eax
push str._uninstall:byuser___force
mov word [ebp - 0xe0], ax
call fcn.0040b0d5
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x88]
push 0x62cf58
push eax
call fcn.00440e2c
push 0x6527e0
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xa0]
call fcn.0041151f
add esp, 0x10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 8
push dword [ebp - 0x48]
cmovae ecx, dword [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.0040b220
mov byte [ebp - 0xbc], bl
lea ecx, [ebp - 0x40]
push dword [ebp - 0xbc]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp - 0x2c], ebx
call fcn.0040b632
lea ecx, [ebp - 0xa0]
call fcn.0040b67e
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.0040b67e
xor eax, eax
lea edi, [ebp - 0xcc]
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0xcc]
push ecx
stosd dword es:[edi], eax
lea ecx, [ebp - 0x110]
push ecx
push ebx
push ebx
stosd dword es:[edi], eax
push ebx
push ebx
push ebx
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp dword [ebp - 0x2c], 8
mov ebx, eax
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ebx
push eax
push 0x101
push str.LaunchUninstall
push str.__s__d___LaunchUninstall_CreateProcess__s__ret_d.
call fcn.0040a649
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0x14
push dword [ebp - 0xc8]
call esi
push dword [ebp - 0xcc]
call esi
lea ecx, [ebp - 0x40]
call fcn.0040b67e
lea ecx, [ebp - 0x58]
call fcn.0040b67e
jmp 0x491ab4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0xed
push esi
push str.__s__d___LaunchUninstall_ExePath__s__check_failed.
call fcn.0040a649
add esp, 0x10
lea ecx, [ebp - 0x28]
call fcn.0040b67e
lea ecx, [ebp - 0x70]
call fcn.0040b67e
lea ecx, [ebp - 0xb8]
call fcn.0040b67e
mov eax, ebx
call fcn.00593ab1
ret