Function at 0x433521
Capabilities:
Check if file exists
Get common file path
Get startup folder

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x4a02f0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp + 0x10]
xor ebx, ebx
push str.CreateOrUpdateChromeShortcuts
mov dword [ebp - 0x3c4], esi
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c0], edi
mov dword [ebp - 0x3b8], ebx
call fcn.0045979e
push edi
lea eax, [ebp - 0x35c]
push 0x49b5ec
push eax
call fcn.00417540
mov eax, dword [ebp - 0x35c]
add esp, 0x10
cmp dword [ebp - 0x348], 8
jae 0x433597
lea eax, [ebp - 0x35c]
push eax
call fcn.0045979e
pop ecx
push esi
call fcn.00432e49
mov ecx, eax
call fcn.0042e88d
call fcn.0044298d
cmp al, 1
jne 0x4335b9
call fcn.00447ff6
cmp byte [0x4a0075], 1
je 0x4335cd
push esi
call fcn.00447ee4
pop ecx
cmp al, 1
jne 0x4335d4
push esi
call fcn.00447712
pop ecx
cmp byte [0x4a0074], 1
je 0x4335e8
push esi
call fcn.00447f9a
pop ecx
cmp al, 1
jne 0x4335ef
push esi
call fcn.0044627c
pop ecx
cmp byte [0x4a0076], 1
je 0x433603
push esi
call fcn.00447f3e
pop ecx
cmp al, 1
jne 0x43360a
push esi
call fcn.00446302
pop ecx
lea ecx, [ebp - 0x2ec]
call fcn.00417fc0
lea eax, [ebp - 0x2ec]
push eax
xor eax, eax
cmp byte [ebp + 0x18], bl
sete al
add eax, 0x6a
push eax
call fcn.00413d60
pop ecx
pop ecx
test al, al
jne 0x4336ba
call fcn.0040ab90
cmp eax, 2
jg 0x433672
push 2
push 0x262
push str.installer_tdsetupinstall.cc
lea ecx, [ebp - 0x47c]
mov dword [ebp - 0x3b8], 1
call fcn.0040add0
add eax, 8
push str.Failed_to_get_location_for_shortcut.
push eax
call fcn.00403540
pop ecx
pop ecx
test byte [ebp - 0x3b8], 1
je 0x433686
lea ecx, [ebp - 0x47c]
call fcn.0040ae20
mov byte [ebp - 0x3b9], bl
lea ecx, [ebp - 0x2ec]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x35c]
call fcn.00402b70
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x3b9]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046e0cd
leave
ret
push edi
call fcn.0042cc5f
pop ecx
mov byte [ebp - 0x3b9], al
call fcn.00448048
mov esi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0x378]
push ecx
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [esi]
lea ecx, [ebp - 0x340]
push ecx
mov ecx, esi
call dword [eax + 0x24]
lea eax, [ebp - 0x3b0]
push 0x157e
push eax
call fcn.0043eee7
pop ecx
pop ecx
lea eax, [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00401490
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00401490
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebp - 0x298]
mov byte [ebp - 0x3b1], 1
call fcn.00401f50
mov edi, 0x49172c
push edi
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0042e514
add esp, 0xc
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x298]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x298]
call fcn.00401490
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x27c]
call fcn.00402b70
push dword [ebp - 0x3c4]
lea ecx, [ebp - 0x244]
call fcn.00401f50
xor eax, eax
push 0x4900d4
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x214], 7
mov dword [ebp - 0x218], ebx
mov word [ebp - 0x228], ax
call fcn.00401fb0
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.0040e190
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x228]
call fcn.00402b70
cmp dword [ebp - 0x3c0], ebx
je 0x4339de
cmp dword [ebp - 0x3c0], 1
je 0x4339de
cmp byte [ebp - 0x3b9], 1
je 0x4339de
lea eax, [ebp - 0x298]
push eax
call fcn.00404eb0
pop ecx
test al, al
je 0x433904
call fcn.0040ab90
test eax, eax
jg 0x4338e3
push ebx
push 0x28c
push str.installer_tdsetupinstall.cc
lea ecx, [ebp - 0x47c]
mov dword [ebp - 0x3b8], 4
call fcn.0040add0
add eax, 8
push str.Updating_shortcut_at
push eax
call fcn.00403540
cmp dword [ebp - 0x284], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x298]
jae 0x4338b0
lea ecx, [ebp - 0x298]
push ecx
push eax
call fcn.0040b670
push str._to_point_to
push eax
call fcn.00403540
mov ecx, dword [ebp - 0x244]
add esp, 0x10
cmp dword [ebp - 0x230], 8
jae 0x4338da
lea ecx, [ebp - 0x244]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
test byte [ebp - 0x3b8], 4
je 0x4338fe
and dword [ebp - 0x3b8], 0xfffffffb
lea ecx, [ebp - 0x47c]
call fcn.0040ae20
push ebx
jmp 0x433a9a
lea eax, [ebp - 0x298]
push eax
call fcn.00404eb0
pop ecx
test al, al
jne 0x433ac0
cmp dword [ebp - 0x3c0], 7
je 0x433ac0
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404eb0
pop ecx
test al, al
jne 0x433944
lea eax, [ebp - 0x2ec]
push eax
call fcn.00405960
pop ecx
call fcn.0040ab90
test eax, eax
jg 0x4339c5
push ebx
push 0x296
push str.installer_tdsetupinstall.cc
lea ecx, [ebp - 0x47c]
mov dword [ebp - 0x3b8], 8
call fcn.0040add0
add eax, 8
push str.Creating_shortcut_to
push eax
call fcn.00403540
cmp dword [ebp - 0x230], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x244]
jae 0x433992
lea ecx, [ebp - 0x244]
push ecx
push eax
call fcn.0040b670
push str._at
push eax
call fcn.00403540
mov ecx, dword [ebp - 0x298]
add esp, 0x10
cmp dword [ebp - 0x284], 8
jae 0x4339bc
lea ecx, [ebp - 0x298]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
test byte [ebp - 0x3b8], 8
je 0x433a98
and dword [ebp - 0x3b8], 0xfffffff7
jmp 0x433a8d
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404eb0
pop ecx
test al, al
jne 0x4339fc
lea eax, [ebp - 0x2ec]
push eax
call fcn.00405960
pop ecx
call fcn.0040ab90
test eax, eax
jg 0x433a7d
push ebx
push 0x286
push str.installer_tdsetupinstall.cc
lea ecx, [ebp - 0x47c]
mov dword [ebp - 0x3b8], 2
call fcn.0040add0
add eax, 8
push str.Creating_shortcut_to
push eax
call fcn.00403540
cmp dword [ebp - 0x230], 8
pop ecx
pop ecx
mov ecx, dword [ebp - 0x244]
jae 0x433a4a
lea ecx, [ebp - 0x244]
push ecx
push eax
call fcn.0040b670
push str._at
push eax
call fcn.00403540
mov ecx, dword [ebp - 0x298]
add esp, 0x10
cmp dword [ebp - 0x284], 8
jae 0x433a74
lea ecx, [ebp - 0x298]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
test byte [ebp - 0x3b8], 2
je 0x433a98
and dword [ebp - 0x3b8], 0xfffffffd
lea ecx, [ebp - 0x47c]
call fcn.0040ae20
push 1
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00442d2f
add esp, 0x10
test al, al
setne byte [ebp - 0x3b1]
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call fcn.0046e0e0
xor eax, eax
add esp, 0xc
mov word [ebp - 0x324], ax
lea eax, [ebp - 0x20c]
push eax
xor eax, eax
cmp byte [ebp + 0x18], bl
push ebx
sete al
push ebx
mov dword [ebp - 0x310], 7
mov dword [ebp - 0x314], ebx
dec eax
and eax, 0xb
add eax, 0xb
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x433b26
mov byte [ebp - 0x3b1], bl
jmp 0x433d6c
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x324]
call fcn.00401fb0
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00401f50
push edi
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0042e514
add esp, 0xc
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x27c]
call fcn.00401490
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.00402b70
cmp byte [ebp - 0x3b1], bl
je 0x433bfb
or dword [ebp - 0x3b8], 0x20
xor eax, eax
push 0x49b4f8
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 7
mov dword [ebp - 0x250], ebx
mov word [ebp - 0x260], ax
call fcn.00401fb0
push 1
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00442d2f
add esp, 0x10
mov byte [ebp - 0x3b1], 1
test al, al
jne 0x433c01
mov byte [ebp - 0x3b1], bl
test byte [ebp - 0x3b8], 0x20
je 0x433c1f
and dword [ebp - 0x3b8], 0xffffffdf
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.00402b70
lea eax, [ebp - 0x2d0]
push 0x13e4
push eax
call fcn.0043eee7
pop ecx
pop ecx
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebp - 0x228]
call fcn.00401f50
push edi
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0042e514
add esp, 0xc
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x228]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x228]
call fcn.00401490
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.00402b70
cmp byte [ebp - 0x3b1], bl
je 0x433d24
mov eax, dword [esi]
or dword [ebp - 0x3b8], 0x40
lea ecx, [ebp - 0x2b4]
push ecx
mov ecx, esi
call dword [eax + 0x18]
push 8
pop ecx
cmp dword [eax + 0x14], ecx
jb 0x433cc0
mov edi, dword [eax]
jmp 0x433cc2
mov edi, eax
mov eax, dword [ebp - 0x244]
cmp dword [ebp - 0x230], ecx
jae 0x433cd6
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 0x228]
cmp dword [ebp - 0x214], ecx
jae 0x433cea
lea edx, [ebp - 0x228]
cmp dword [ebp - 0x230], ecx
mov ecx, dword [ebp - 0x244]
jae 0x433cfe
lea ecx, [ebp - 0x244]
push 2
push edi
push ebx
push eax
push ebx
push str.http:__chrome.360.cn_features_
push ebx
push edx
push ecx
call fcn.00405050
add esp, 0x24
mov edi, 0x49172c
mov byte [ebp - 0x3b1], 1
test al, al
jne 0x433d2a
mov byte [ebp - 0x3b1], bl
test byte [ebp - 0x3b8], 0x40
je 0x433d48
and dword [ebp - 0x3b8], 0xffffffbf
push ebx
push 1
lea ecx, [ebp - 0x2b4]
call fcn.00402b70
lea ecx, [ebp - 0x228]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x2d0]
call fcn.00402b70
lea ecx, [ebp - 0x27c]
call fcn.00401f80
push dword [ebp + 0x18]
call fcn.0043cbab
pop ecx
test al, al
jne 0x4340cd
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebp - 0x308]
call fcn.00401f50
mov eax, dword [esi]
lea ecx, [ebp - 0x228]
push ecx
mov ecx, esi
call dword [eax + 0x44]
push edi
mov ecx, eax
call fcn.00406d00
push eax
lea ecx, [ebp - 0x27c]
call fcn.004038f0
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x308]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x308]
call fcn.00401490
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x27c]
call fcn.00402b70
push ebx
push 1
lea ecx, [ebp - 0x228]
call fcn.00402b70
cmp dword [ebp - 0x3c0], ebx
je 0x433e35
cmp dword [ebp - 0x3c0], 1
je 0x433e35
cmp dword [ebp - 0x3c0], 2
je 0x433e35
cmp byte [ebp - 0x3b9], 1
je 0x433e35
lea eax, [ebp - 0x308]
push eax
call fcn.00404eb0
pop ecx
test al, al
je 0x4340c2
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404eb0
pop ecx
test al, al
jne 0x433e53
lea eax, [ebp - 0x2ec]
push eax
call fcn.00405960
pop ecx
push dword [ebp - 0x3cc]
lea eax, [ebp - 0x2d0]
push dword [ebp - 0x3c4]
push eax
call fcn.0042e7e8
add esp, 0xc
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x3c8]
lea ecx, [ebp - 0x394]
call fcn.00401f50
mov ecx, eax
call fcn.004019c0
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.0040e190
pop ecx
pop ecx
lea ecx, [ebp - 0x27c]
call fcn.00401f80
lea ecx, [ebp - 0x394]
call fcn.00401f80
push 7
pop esi
push dword [ebp + 0x18]
xor eax, eax
mov word [ebp - 0x260], ax
lea eax, [ebp - 0x260]
push eax
mov dword [ebp - 0x24c], esi
mov dword [ebp - 0x250], ebx
call fcn.0042d555
pop ecx
pop ecx
call fcn.0040ab90
test eax, eax
jg 0x433f36
or dword [ebp - 0x3b8], 0x80
push ebx
push 0x2cd
push str.installer_tdsetupinstall.cc
lea ecx, [ebp - 0x47c]
call fcn.0040add0
add eax, 8
push str.Creating_updating_uninstall_link_at
push eax
call fcn.00403540
pop ecx
pop ecx
mov ecx, dword [ebp - 0x308]
push 8
pop edi
cmp dword [ebp - 0x2f4], edi
jae 0x433f2b
lea ecx, [ebp - 0x308]
push ecx
push eax
call fcn.0040b670
pop ecx
pop ecx
jmp 0x433f39
push 8
pop edi
test byte [ebp - 0x3b8], 0x80
je 0x433f4d
lea ecx, [ebp - 0x47c]
call fcn.0040ae20
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x2b4]
call fcn.00401f50
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2b4]
call fcn.004018f0
xor eax, eax
push 0x4922f4
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x26c], ebx
mov word [ebp - 0x27c], ax
call fcn.00401fb0
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x228]
call fcn.00401a30
push eax
lea ecx, [ebp - 0x228]
call fcn.00401490
lea ecx, [ebp - 0x394]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x27c]
call fcn.00402b70
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x214], edi
jae 0x433fe8
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x434015
cmp byte [ebp - 0x3b1], bl
je 0x43408a
mov esi, dword [ebp - 0x228]
cmp dword [ebp - 0x214], edi
jae 0x434031
lea esi, [ebp - 0x228]
jmp 0x434031
cmp byte [ebp - 0x3b1], bl
je 0x43408a
mov esi, dword [ebp - 0x2d0]
cmp dword [ebp - 0x2bc], edi
jae 0x434031
lea esi, [ebp - 0x2d0]
mov edx, dword [ebp - 0x260]
cmp dword [ebp - 0x24c], edi
jae 0x434045
lea edx, [ebp - 0x260]
mov ecx, dword [ebp - 0x308]
cmp dword [ebp - 0x2f4], edi
jae 0x434059
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x2d0]
cmp dword [ebp - 0x2bc], edi
jae 0x43406d
lea eax, [ebp - 0x2d0]
push 2
push ebx
push ebx
push esi
push ebx
push edx
push ebx
push ecx
push eax
call fcn.00405050
add esp, 0x24
mov byte [ebp - 0x3b1], 1
test al, al
jne 0x434090
mov byte [ebp - 0x3b1], bl
lea ecx, [ebp - 0x228]
call fcn.00401f80
lea ecx, [ebp - 0x2b4]
call fcn.00401f80
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.00402b70
push ebx
push 1
lea ecx, [ebp - 0x2d0]
call fcn.00402b70
lea ecx, [ebp - 0x308]
call fcn.00401f80
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x324]
call fcn.00402b70
push ebx
push esi
lea ecx, [ebp - 0x244]
call fcn.00402b70
lea ecx, [ebp - 0x298]
call fcn.00401f80
push ebx
push esi
lea ecx, [ebp - 0x3b0]
call fcn.00402b70
push ebx
push esi
lea ecx, [ebp - 0x340]
call fcn.00402b70
push ebx
push esi
lea ecx, [ebp - 0x378]
call fcn.00402b70
mov al, byte [ebp - 0x3b1]
mov byte [ebp - 0x3b9], al
jmp 0x43368c