Function at 0x444a90
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x690
mov eax, dword [0x54c384]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
call sym.360huabaosetup.exe_public:_void___thiscall_DuiLib::CWindowWnd::constructor_void_
push 0x53
lea ecx, [ebx + 0x14]
mov dword [ebx + 0x10], vtable.DuiLib::CNotifyPump.0
call sym.360huabaosetup.exe_public:_void___thiscall_DuiLib::CStdStringPtrMap::constructor_int_
lea ecx, [ebx + 0x30]
mov dword [ebx], vtable.DuiLib::WindowImplBase.0
mov dword [ebx + 0x10], vtable.DuiLib::WindowImplBase.1.0
mov dword [ebx + 0x20], vtable.DuiLib::WindowImplBase.2.0
mov dword [ebx + 0x24], vtable.DuiLib::WindowImplBase.3.0
mov dword [ebx + 0x28], vtable.DuiLib::WindowImplBase.4.0
mov dword [ebx + 0x2c], vtable.DuiLib::WindowImplBase.5.0
call sym.360huabaosetup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::constructor_void_
mov dword [ebx], vtable.InstallUtil.5.0
xor eax, eax
mov dword [ebx + 0x10], vtable.InstallUtil.3.0
xor ecx, ecx
mov dword [ebx + 0x20], vtable.InstallUtil.4.0
mov dword [ebx + 0x24], vtable.InstallUtil.1.0
mov dword [ebx + 0x28], vtable.InstallUtil.2.0
mov dword [ebx + 0x2c], vtable.InstallUtil.0
mov dword [ebx + 0x6e8], 0
mov dword [ebx + 0x6ec], 7
mov word [ebx + 0x6d8], ax
mov dword [ebx + 0x700], eax
mov dword [ebx + 0x704], 7
mov word [ebx + 0x6f0], cx
mov dword [ebx + 0x718], eax
mov dword [ebx + 0x71c], 7
mov word [ebx + 0x708], cx
lea ecx, [ebx + 0x724]
push edi
call fcn.00402f60
mov dword [ebx + 0x73c], 1
lea ecx, [ebx + 0x7a4]
mov word [ebx + 0x740], 0
xor eax, eax
mov dword [ebx + 0x754], 0
mov dword [ebx + 0x758], 7
mov word [ebx + 0x744], ax
mov dword [ebx + 0x76c], eax
mov dword [ebx + 0x770], 7
mov word [ebx + 0x75c], ax
mov dword [ebx + 0x784], eax
mov dword [ebx + 0x788], 7
mov word [ebx + 0x774], ax
mov dword [ebx + 0x79c], eax
mov dword [ebx + 0x7a0], 7
mov word [ebx + 0x78c], ax
push eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
push 0x5010a0
mov word [ecx], ax
call fcn.00403e30
xor eax, eax
mov dword [ebx + 0x7cc], 0
lea ecx, [ebx + 0x7bc]
mov dword [ecx + 0x14], 7
push eax
push 0x5010a0
mov word [ecx], ax
call fcn.00403e30
push 0x32
push str.InstallUtil::InstallUtil
push str.__s__d___InstallUtil_Constructor
mov word [ebx + 0x80c], 1
mov dword [ebx + 0x810], 1
call fcn.0041f720
add esp, 0xc
lea ecx, [ebx + 0x744]
push 5
push 0x50b860
call fcn.00403e30
push 0x20a
push 0
lea eax, [ebp - 0x42c]
push eax
call fcn.004c05c0
add esp, 0xc
cmp dword [edi + 0x10], 0
je 0x444d7b
cmp dword [edi + 0x14], 8
mov ecx, edi
jb 0x444c91
mov ecx, dword [edi]
lea eax, [ebp - 0x42c]
mov edx, str.__user
push 0x104
push eax
call fcn.00410d70
add esp, 8
test eax, eax
jne 0x444d7b
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x444cbc
mov eax, dword [edi]
push str._updateinstall:
push eax
call fcn.004bfc5b
add esp, 8
test eax, eax
je 0x444cdd
mov dword [ebx + 0x720], 3
jmp 0x444d85
cmp dword [edi + 0x14], 8
mov ecx, edi
jb 0x444ce7
mov ecx, dword [edi]
lea eax, [ebp - 0x42c]
mov edx, str._ltype:
push 0x104
push eax
call fcn.00410d70
add esp, 8
test eax, eax
je 0x444d2d
cmp dword [ebx + 0x738], 8
lea esi, [ebx + 0x724]
mov ecx, esi
jb 0x444d17
mov ecx, dword [esi]
push ecx
mov edx, str._ltype:
call fcn.00410cf0
add esp, 4
mov dword [ebx + 0x720], eax
jmp 0x444d8b
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x444d37
mov eax, dword [edi]
push str.__restore
push eax
call fcn.004bfc5b
add esp, 8
test eax, eax
je 0x444d55
mov dword [ebx + 0x720], 6
jmp 0x444d85
cmp dword [edi + 0x14], 8
jb 0x444d5d
mov edi, dword [edi]
push str.__fromusercheck
push edi
call fcn.004bfc5b
add esp, 8
test eax, eax
je 0x444d85
mov dword [ebx + 0x720], 9
jmp 0x444d85
mov dword [ebx + 0x720], 2
lea esi, [ebx + 0x724]
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x444d95
mov ecx, dword [esi]
lea eax, [ebp - 0x42c]
mov edx, str.__fromyoo
push 0x104
push eax
call fcn.00410d70
add esp, 8
test eax, eax
je 0x444db9
mov byte [ebx + 0x80d], 1
xor eax, eax
mov dword [ebp - 0x644], 0
push eax
push 0x5010a0
lea ecx, [ebp - 0x654]
mov dword [ebp - 0x640], 7
mov word [ebp - 0x654], ax
call fcn.00403e30
mov eax, dword [ebp - 0x644]
test eax, eax
jne 0x444e17
lea eax, [ebp - 0x654]
mov edx, str.Software360360huabao
push eax
push str.InstallPath
mov ecx, SysReAllocString
call fcn.0040ffe0
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x644]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
movups xmm0, xmmword [ebp - 0x654]
movups xmmword [ebp - 0x66c], xmm0
movq xmm0, qword [ebp - 0x644]
movq qword [ebp - 0x65c], xmm0
test eax, eax
je 0x444e61
cmp dword [ebp - 0x640], 8
lea eax, [ebp - 0x66c]
cmovae eax, dword [ebp - 0x654]
push eax
call edi
test eax, eax
je 0x444e61
mov byte [ebx + 0x80c], 0
push str.360huabao.exe
lea edx, [ebp - 0x66c]
mov byte [ebp - 0x685], 0
lea ecx, [ebp - 0x684]
call fcn.004048c0
add esp, 4
lea eax, [ebp - 0x684]
cmp dword [ebp - 0x670], 8
cmovae eax, dword [ebp - 0x684]
push eax
call edi
movzx ecx, byte [ebp - 0x685]
test eax, eax
mov edx, 1
cmove ecx, edx
mov dword [ebp - 0x68c], ecx
mov ecx, ebx
call fcn.00445580
push 0x20a
lea eax, [ebp - 0x63c]
push 0
push eax
call fcn.004c05c0
add esp, 0xc
mov ecx, esi
cmp dword [esi + 0x14], 8
jb 0x444ed6
mov ecx, dword [esi]
lea eax, [ebp - 0x63c]
mov edx, str.__enable
push 0x104
push eax
call fcn.00410d70
add esp, 8
test eax, eax
je 0x444f49
cmp dword [esi + 0x14], 8
jb 0x444efb
mov esi, dword [esi]
push 0x208
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.004c05c0
add esp, 0xc
lea eax, [ebp - 0x21c]
mov edx, str.__enable
mov ecx, esi
push 0x103
push eax
call fcn.00410d70
add esp, 8
test eax, eax
je 0x444f41
lea eax, [ebp - 0x21c]
push eax
call fcn.004c5459
add esp, 4
jmp 0x444f43
xor eax, eax
mov dword [ebx + 0x810], eax
lea esi, [ebx + 0x708]
mov edx, str.Software360360huabao
push esi
push str.Version
mov ecx, SysReAllocString
call fcn.0040ffe0
add esp, 8
cmp byte [ebp - 0x68c], 0
je 0x444f92
push 0x57
push str.InstallUtil::InstallUtil
push str.__s__d___m_bIsNewInstall_is_true_clear_old_version
call fcn.0041f720
add esp, 0xc
mov ecx, esi
push 0
push 0x5010a0
call fcn.00403e30
call fcn.004138e0
push eax
push 0x5b
push str.InstallUtil::InstallUtil
push str.__s__d___m_eNeedDownloadSe:__d
mov dword [ebx + 0x73c], eax
call fcn.0041f720
add esp, 0x10
cmp dword [ebx + 0x700], 0
jne 0x445083
push 0x20a
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.004c05c0
add esp, 0xc
lea eax, [ebp - 0x21c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [ebp - 0x644], 0
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x640], 7
mov word [ebp - 0x654], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x445010
sub ecx, esi
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x654]
call fcn.00403e30
lea edx, [ebx + 0x6f0]
lea ecx, [ebp - 0x654]
call fcn.00410700
mov edx, dword [ebp - 0x640]
cmp edx, 8
jb 0x445083
mov ecx, dword [ebp - 0x654]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x445079
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44512d
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x670]
cmp edx, 8
jb 0x4450bf
mov ecx, dword [ebp - 0x684]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4450b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445132
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x658]
xor eax, eax
mov dword [ebp - 0x674], 0
mov dword [ebp - 0x670], 7
mov word [ebp - 0x684], ax
cmp edx, 8
jb 0x445118
mov ecx, dword [ebp - 0x66c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44510e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445132
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov ecx, dword [ebp - 8]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bdaf8
mov esp, ebp
pop ebp
ret 4
call fcn.004c8da3
call fcn.004c8da3
int3