Function at 0x4072c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4bfa04
mov eax, dword fs:[0]
push eax
sub esp, 0x888
mov eax, dword [0x4e44b4]
xor eax, esp
mov dword [esp + 0x880], eax
push ebx
push esi
push edi
mov eax, dword [0x4e44b4]
xor eax, esp
push eax
lea eax, [esp + 0x898]
mov dword fs:[0], eax
lea eax, [esp + 0x18]
push eax
sub esp, 0x1c
mov ecx, esp
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x74], esp
push 0x15
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CreateShortcutDesktop
mov dword [esp + 0x40], ebx
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401db0
add esp, 0x20
cmp al, bl
je 0x407349
cmp dword [esp + 0x18], ebx
setne byte [esp + 0x15]
jmp 0x40734e
mov byte [esp + 0x15], 1
lea ecx, [esp + 0x18]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x74], esp
push 0x19
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CreateShortcutQuickLaunch
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401db0
add esp, 0x20
cmp al, bl
je 0x407388
cmp dword [esp + 0x18], ebx
setne byte [esp + 0x16]
jmp 0x40738d
mov byte [esp + 0x16], 1
mov dword [esp + 0x270], 7
mov dword [esp + 0x26c], ebx
mov word [esp + 0x25c], bx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
mov dword [esp + 0x8bc], ebx
push 0xb
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x4caba4
lea esi, [esp + 0x27c]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
cmp dword [0x4e8f68], 1
mov byte [esp + 0x17], al
jne 0x40742e
call fcn.004722e0
cmp eax, 3
jg 0x40742e
cmp byte [esp + 0x17], bl
jne 0x40742e
push 3
push 0x31
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0x8a4], 1
push eax
mov dword [esp + 0x18], 1
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], ebx
test byte [esp + 0x10], 1
je 0x40744d
and dword [esp + 0x10], 0xfffffffe
lea ecx, [esp + 0xac]
call fcn.00472c30
push 0xa
mov esi, 7
push str.BinQQ.exe
lea ecx, [esp + 0x98]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xac], ebx
mov word [esp + 0x9c], bx
call fcn.00405680
lea edx, [esp + 0x258]
push edx
lea ecx, [esp + 0x160]
mov byte [esp + 0x8a4], 2
call fcn.00475a60
lea ecx, [esp + 0x90]
push ecx
lea edx, [esp + 0x1ec]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 3
call fcn.00476020
lea ecx, [esp + 0x15c]
mov byte [esp + 0x8a0], 5
call fcn.00475620
mov edi, 8
mov byte [esp + 0x8a0], 6
cmp dword [esp + 0xa8], edi
jb 0x4074f0
mov eax, dword [esp + 0x94]
push eax
call fcn.00495fd1
add esp, 4
lea ecx, [esp + 0x1e8]
push ecx
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], bx
call fcn.00473b00
add esp, 4
test al, al
jne 0x40756c
call fcn.004722e0
cmp eax, 2
jg 0x407557
push 2
push 0x35
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.QQ.exe_not_exist
mov byte [esp + 0x8a4], 7
or dword [esp + 0x14], 2
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 6
test byte [esp + 0x10], 2
jmp 0x4085a5
cmp byte [esp + 0x16], bl
push 0x206
mov word [esp + 0x278], bx
push ebx
je 0x4077f3
lea eax, [esp + 0x27e]
push eax
call fcn.00499a30
add esp, 0xc
push 1
push 0x1a
lea ecx, [esp + 0x27c]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x407781
push 0x4cb47c
lea ecx, [esp + 0x3c]
call fcn.00405140
push str.MicrosoftInternet_ExplorerQuick_Launch
lea ecx, [esp + 0x20]
mov byte [esp + 0x8a4], 8
call fcn.00405140
lea edx, [esp + 0x274]
push edx
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x8a4], 9
call fcn.00405140
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x208]
mov byte [esp + 0x8a4], 0xa
call fcn.00475a60
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x240]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0xb
call fcn.00476020
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1b4]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0xc
call fcn.00476020
lea ecx, [esp + 0x23c]
mov byte [esp + 0x8a0], 0xe
call fcn.00475620
lea ecx, [esp + 0x204]
mov byte [esp + 0x8a0], 0xf
call fcn.00475620
cmp dword [esp + 0x1e4], edi
jb 0x407684
mov eax, dword [esp + 0x1d0]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e0], ebx
mov word [esp + 0x1d0], bx
cmp dword [esp + 0x34], edi
jb 0x4076ad
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
mov byte [esp + 0x8a0], 0x12
cmp dword [esp + 0x50], edi
jb 0x4076d5
mov edx, dword [esp + 0x3c]
push edx
call fcn.00495fd1
add esp, 4
lea eax, [esp + 0x1b0]
push eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.00473b00
mov ecx, dword [esp + 0x1b8]
add esp, 4
test al, al
je 0x40773f
cmp dword [esp + 0x1c8], edi
jae 0x40770d
lea ecx, [esp + 0x1b4]
cmp dword [esp + 0x200], edi
mov eax, dword [esp + 0x1ec]
jae 0x407724
lea eax, [esp + 0x1ec]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474f30
add esp, 0x1c
lea ecx, [esp + 0x1b0]
jmp 0x407978
cmp dword [esp + 0x1c8], edi
jae 0x40774f
lea ecx, [esp + 0x1b4]
cmp dword [esp + 0x200], edi
mov eax, dword [esp + 0x1ec]
jae 0x407766
lea eax, [esp + 0x1ec]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474d80
add esp, 0x1c
lea ecx, [esp + 0x1b0]
jmp 0x407978
cmp dword [0x4e8f68], 1
jne 0x4077c7
call fcn.004722e0
cmp eax, 3
jg 0x4077c7
push 3
push 0x4b
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.Check_failed:_false.
mov byte [esp + 0x8a4], 0x13
or dword [esp + 0x14], 4
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 6
test byte [esp + 0x10], 4
je 0x407985
and dword [esp + 0x10], 0xfffffffb
lea ecx, [esp + 0xac]
call fcn.00472c30
jmp 0x407985
lea ecx, [esp + 0x27e]
push ecx
call fcn.00499a30
add esp, 0xc
push 1
push 0x1a
lea edx, [esp + 0x27c]
push edx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x407985
push 0x4cb47c
lea ecx, [esp + 0x20]
call fcn.00405140
push str.MicrosoftInternet_ExplorerQuick_Launch
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x8a4], 0x14
call fcn.00405140
lea eax, [esp + 0x274]
push eax
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x8a4], 0x15
call fcn.00405140
lea ecx, [esp + 0x1b0]
push ecx
lea ecx, [esp + 0x78]
mov byte [esp + 0x8a4], 0x16
call fcn.00475a60
lea edx, [esp + 0x1cc]
push edx
lea ecx, [esp + 0x208]
push ecx
mov ecx, eax
mov byte [esp + 0x8a8], 0x17
call fcn.00476020
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x240]
push ecx
mov ecx, eax
mov byte [esp + 0x8a8], 0x18
call fcn.00476020
lea ecx, [esp + 0x204]
mov byte [esp + 0x8a0], 0x1a
call fcn.00475620
lea ecx, [esp + 0x74]
mov byte [esp + 0x8a0], 0x1b
call fcn.00475620
cmp dword [esp + 0x1c8], edi
jb 0x4078f3
mov edx, dword [esp + 0x1b4]
push edx
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1c4], ebx
mov word [esp + 0x1b4], bx
cmp dword [esp + 0x1e4], edi
jb 0x407922
mov eax, dword [esp + 0x1d0]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e0], ebx
mov word [esp + 0x1d0], bx
mov byte [esp + 0x8a0], 0x1e
cmp dword [esp + 0x34], edi
jb 0x407953
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00495fd1
add esp, 4
lea edx, [esp + 0x23c]
push ebx
push edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov word [esp + 0x28], bx
call fcn.00474930
add esp, 8
lea ecx, [esp + 0x23c]
mov byte [esp + 0x8a0], 6
call fcn.00475620
push 0x206
lea eax, [esp + 0x482]
push ebx
push eax
mov word [esp + 0x488], bx
call fcn.00499a30
add esp, 0xc
push 1
push 0x10
lea ecx, [esp + 0x484]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x407c17
push edi
push 0x4cb47c
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
call fcn.00405680
mov byte [esp + 0x8a0], 0x1f
lea eax, [esp + 0x47c]
mov dword [esp + 0x238], esi
mov dword [esp + 0x234], ebx
mov word [esp + 0x224], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x407a02
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x480]
push edx
lea ecx, [esp + 0x228]
call fcn.00405680
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0x240]
mov byte [esp + 0x8a4], 0x20
call fcn.00475a60
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x208]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0x21
call fcn.00476020
lea ecx, [esp + 0x23c]
mov byte [esp + 0x8a0], 0x23
call fcn.00475620
cmp dword [esp + 0x238], edi
jb 0x407a8b
mov eax, dword [esp + 0x224]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x238], esi
mov dword [esp + 0x234], ebx
mov word [esp + 0x224], bx
mov byte [esp + 0x8a0], 0x25
cmp dword [esp + 0x70], edi
jb 0x407abc
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00495fd1
add esp, 4
lea edx, [esp + 0x204]
push ebx
push edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
call fcn.00474930
add esp, 8
push edi
push 0x4cb490
lea ecx, [esp + 0x1b8]
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1cc], ebx
mov word [esp + 0x1bc], bx
call fcn.00405680
mov byte [esp + 0x8a0], 0x26
lea eax, [esp + 0x47c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x407b21
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x480]
push eax
lea ecx, [esp + 0x40]
call fcn.00405680
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x8a4], 0x27
call fcn.00475a60
lea edx, [esp + 0x1b0]
push edx
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
mov byte [esp + 0x8a8], 0x28
call fcn.00476020
push eax
lea ecx, [esp + 0x208]
mov byte [esp + 0x8a4], 0x29
call fcn.00475e00
lea ecx, [esp + 0x74]
mov byte [esp + 0x8a0], 0x28
call fcn.00475620
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x8a0], 0x27
call fcn.00475620
cmp dword [esp + 0x50], edi
jb 0x407bc4
mov edx, dword [esp + 0x3c]
push edx
call fcn.00495fd1
add esp, 4
mov byte [esp + 0x8a0], 0x25
cmp dword [esp + 0x1c8], edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
jb 0x407bf2
mov eax, dword [esp + 0x1b4]
push eax
call fcn.00495fd1
add esp, 4
lea ecx, [esp + 0x204]
push ebx
push ecx
call fcn.00474930
add esp, 8
lea ecx, [esp + 0x204]
mov byte [esp + 0x8a0], 6
call fcn.00475620
cmp byte [esp + 0x15], bl
push 0x206
mov word [esp + 0x278], bx
push ebx
je 0x407e37
lea edx, [esp + 0x27e]
push edx
call fcn.00499a30
add esp, 0xc
push 1
push 0x19
lea eax, [esp + 0x27c]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x407dc6
push 0x4cb47c
lea ecx, [esp + 0x20]
call fcn.00405140
lea ecx, [esp + 0x274]
push ecx
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x8a4], 0x2a
call fcn.00405140
lea edx, [esp + 0x1cc]
push edx
lea ecx, [esp + 0x240]
mov byte [esp + 0x8a4], 0x2b
call fcn.00475a60
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1b4]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0x2c
call fcn.00476020
lea ecx, [esp + 0x23c]
mov byte [esp + 0x8a0], 0x2e
call fcn.00475620
cmp dword [esp + 0x1e4], edi
jb 0x407ce9
mov eax, dword [esp + 0x1d0]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e0], ebx
mov word [esp + 0x1d0], bx
mov byte [esp + 0x8a0], 0x30
cmp dword [esp + 0x34], edi
jb 0x407d1a
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00495fd1
add esp, 4
lea edx, [esp + 0x1b0]
push edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
call fcn.00473b00
mov ecx, dword [esp + 0x1b8]
add esp, 4
test al, al
je 0x407d84
cmp dword [esp + 0x1c8], edi
jae 0x407d52
lea ecx, [esp + 0x1b4]
cmp dword [esp + 0x200], edi
mov eax, dword [esp + 0x1ec]
jae 0x407d69
lea eax, [esp + 0x1ec]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474f30
add esp, 0x1c
lea ecx, [esp + 0x1b0]
jmp 0x407f5c
cmp dword [esp + 0x1c8], edi
jae 0x407d94
lea ecx, [esp + 0x1b4]
cmp dword [esp + 0x200], edi
mov eax, dword [esp + 0x1ec]
jae 0x407dab
lea eax, [esp + 0x1ec]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474d80
add esp, 0x1c
lea ecx, [esp + 0x1b0]
jmp 0x407f5c
cmp dword [0x4e8f68], 1
jne 0x407e0b
call fcn.004722e0
cmp eax, 3
jg 0x407e0b
push 3
push 0x74
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.Check_failed:_false.
mov byte [esp + 0x8a4], 0x31
or dword [esp + 0x14], edi
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 6
test byte [esp + 0x10], 8
je 0x407f69
and dword [esp + 0x10], 0xfffffff7
lea ecx, [esp + 0xac]
call fcn.00472c30
jmp 0x407f69
lea eax, [esp + 0x27e]
push eax
call fcn.00499a30
add esp, 0xc
push 1
push 0x19
lea ecx, [esp + 0x27c]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x407f69
push 0x4cb47c
lea ecx, [esp + 0x1d0]
call fcn.00405140
lea edx, [esp + 0x274]
push edx
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x8a4], 0x32
call fcn.00405140
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x208]
mov byte [esp + 0x8a4], 0x33
call fcn.00475a60
lea ecx, [esp + 0x1cc]
push ecx
lea edx, [esp + 0x240]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0x34
call fcn.00476020
lea ecx, [esp + 0x204]
mov byte [esp + 0x8a0], 0x36
call fcn.00475620
cmp dword [esp + 0x1c8], edi
jb 0x407ef7
mov eax, dword [esp + 0x1b4]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1c4], ebx
mov word [esp + 0x1b4], bx
mov byte [esp + 0x8a0], 0x38
cmp dword [esp + 0x1e4], edi
jb 0x407f2e
mov ecx, dword [esp + 0x1d0]
push ecx
call fcn.00495fd1
add esp, 4
lea edx, [esp + 0x23c]
push ebx
push edx
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1e8], ebx
mov word [esp + 0x1d8], bx
call fcn.00474930
add esp, 8
lea ecx, [esp + 0x23c]
mov byte [esp + 0x8a0], 6
call fcn.00475620
push 0x206
lea eax, [esp + 0x68a]
push ebx
push eax
mov word [esp + 0x690], bx
call fcn.00499a30
add esp, 0xc
push 1
push 0x17
lea ecx, [esp + 0x68c]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x408549
push 0x14
push 0x4cb4a4
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
call fcn.00405680
mov byte [esp + 0x8a0], 0x39
lea eax, [esp + 0x684]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x407fe0
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x688]
push edx
lea ecx, [esp + 0x40]
call fcn.00405680
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x198]
mov byte [esp + 0x8a4], 0x3a
call fcn.00475a60
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x224]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0x3b
call fcn.00476020
lea ecx, [esp + 0x194]
mov byte [esp + 0x8a0], 0x3d
call fcn.00475620
cmp dword [esp + 0x50], edi
jb 0x40805d
mov eax, dword [esp + 0x3c]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
mov byte [esp + 0x8a0], 0x3f
cmp dword [esp + 0x70], edi
jb 0x408085
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00495fd1
add esp, 4
lea edx, [esp + 0x220]
push edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], bx
call fcn.00473b00
add esp, 4
test al, al
je 0x4080e8
cmp dword [esp + 0x238], edi
mov ecx, dword [esp + 0x224]
jae 0x4080bd
lea ecx, [esp + 0x224]
cmp dword [esp + 0x200], edi
mov eax, dword [esp + 0x1ec]
jae 0x4080d4
lea eax, [esp + 0x1ec]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474f30
add esp, 0x1c
jmp 0x4081e0
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x224]
call fcn.00475e20
lea ecx, [esp + 0x204]
push ecx
mov byte [esp + 0x8a4], 0x40
call fcn.00473b80
add esp, 4
test al, al
jne 0x40818f
lea edx, [esp + 0x204]
push edx
call fcn.00474c00
add esp, 4
test al, al
jne 0x40818f
call fcn.004722e0
cmp eax, 2
jg 0x40816c
push 2
push 0x8a
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.program_qq_shorcut_CreateDirectory_failed
mov byte [esp + 0x8a4], 0x41
or dword [esp + 0x14], 0x10
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 0x40
test byte [esp + 0x10], 0x10
je 0x40818f
and dword [esp + 0x10], 0xffffffef
lea ecx, [esp + 0xac]
call fcn.00472c30
cmp dword [esp + 0x238], edi
mov ecx, dword [esp + 0x224]
jae 0x4081a6
lea ecx, [esp + 0x224]
cmp dword [esp + 0x200], edi
mov eax, dword [esp + 0x1ec]
jae 0x4081bd
lea eax, [esp + 0x1ec]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474d80
add esp, 0x1c
lea ecx, [esp + 0x204]
mov byte [esp + 0x8a0], 0x3f
call fcn.00475620
push 0xc
push str.QQUninst.exe
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov word [esp + 0x28], bx
call fcn.00405680
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x17c]
mov byte [esp + 0x8a4], 0x42
call fcn.00475a60
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1b4]
push edx
mov ecx, eax
mov byte [esp + 0x8a8], 0x43
call fcn.00476020
lea ecx, [esp + 0x178]
mov byte [esp + 0x8a0], 0x45
call fcn.00475620
mov byte [esp + 0x8a0], 0x46
cmp dword [esp + 0x34], edi
jb 0x408264
mov eax, dword [esp + 0x20]
push eax
call fcn.00495fd1
add esp, 4
lea ecx, [esp + 0x1b0]
push ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
call fcn.00473b00
add esp, 4
test al, al
jne 0x4082ec
call fcn.004722e0
cmp eax, 2
jg 0x4082c5
push 2
push 0x96
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.QQUninst.exe_not_exist
mov byte [esp + 0x8a4], 0x47
or dword [esp + 0x14], 0x20
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 0x46
test byte [esp + 0x10], 0x20
je 0x40851f
lea ecx, [esp + 0xac]
call fcn.00472c30
jmp 0x40851f
push 0x4cb530
lea ecx, [esp + 0x208]
call fcn.00405140
lea eax, [esp + 0x684]
push eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x8a4], 0x48
call fcn.00405140
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x144]
mov byte [esp + 0x8a4], 0x49
call fcn.00475a60
lea edx, [esp + 0x204]
push edx
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, eax
mov byte [esp + 0x8a8], 0x4a
call fcn.00476020
lea ecx, [esp + 0x140]
mov byte [esp + 0x8a0], 0x4c
call fcn.00475620
cmp dword [esp + 0x8c], edi
jb 0x408378
mov edx, dword [esp + 0x78]
push edx
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov word [esp + 0x78], bx
mov byte [esp + 0x8a0], 0x4e
cmp dword [esp + 0x21c], edi
jb 0x4083ac
mov eax, dword [esp + 0x208]
push eax
call fcn.00495fd1
add esp, 4
lea ecx, [esp + 0x1cc]
push ecx
mov dword [esp + 0x220], esi
mov dword [esp + 0x21c], ebx
mov word [esp + 0x20c], bx
call fcn.00473b00
add esp, 4
test al, al
je 0x408418
cmp dword [esp + 0x1e4], edi
mov ecx, dword [esp + 0x1d0]
jae 0x4083ed
lea ecx, [esp + 0x1d0]
cmp dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x1b4]
jae 0x408404
lea eax, [esp + 0x1b4]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474f30
add esp, 0x1c
jmp 0x40850b
lea edx, [esp + 0x23c]
push edx
lea ecx, [esp + 0x1d0]
call fcn.00475e20
lea eax, [esp + 0x23c]
push eax
mov byte [esp + 0x8a4], 0x4f
call fcn.00473b80
add esp, 4
test al, al
jne 0x4084ba
lea ecx, [esp + 0x23c]
push ecx
call fcn.00474c00
add esp, 4
test al, al
jne 0x4084ba
call fcn.004722e0
cmp eax, 2
jg 0x40849c
push 2
push 0xa2
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.program_uninst_shorcut_CreateDirectory_failed
mov byte [esp + 0x8a4], 0x50
or dword [esp + 0x14], 0x40
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 0x4f
test byte [esp + 0x10], 0x40
je 0x4084ba
lea ecx, [esp + 0xac]
call fcn.00472c30
cmp dword [esp + 0x1e4], edi
mov ecx, dword [esp + 0x1d0]
jae 0x4084d1
lea ecx, [esp + 0x1d0]
cmp dword [esp + 0x1c8], edi
mov eax, dword [esp + 0x1b4]
jae 0x4084e8
lea eax, [esp + 0x1b4]
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
call fcn.00474d80
add esp, 0x1c
lea ecx, [esp + 0x23c]
mov byte [esp + 0x8a0], 0x4e
call fcn.00475620
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x8a0], 0x46
call fcn.00475620
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x8a0], 0x3f
call fcn.00475620
lea ecx, [esp + 0x220]
mov byte [esp + 0x8a0], 6
call fcn.00475620
jmp 0x4085b3
cmp dword [0x4e8f68], 1
jne 0x408595
call fcn.004722e0
cmp eax, 3
jg 0x408595
push 3
push 0xad
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetupinstallcreate_shortcut.cpp
lea ecx, [esp + 0xb8]
call fcn.00473160
add eax, 4
push str.Check_failed:_false.
mov byte [esp + 0x8a4], 0x51
or dword [esp + 0x14], 0x80
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x8a0], 6
test byte [esp + 0x10], 0x80
je 0x4085b3
lea ecx, [esp + 0xac]
call fcn.00472c30
lea ecx, [esp + 0x1e8]
mov byte [esp + 0x8a0], bl
call fcn.00475620
cmp dword [esp + 0x270], edi
jb 0x4085df
mov edx, dword [esp + 0x25c]
push edx
call fcn.00495fd1
add esp, 4
mov ecx, dword [esp + 0x898]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x880]
xor ecx, esp
call fcn.00495cb8
mov esp, ebp
pop ebp
ret 4