Function at 0x428ad0
Capabilities:
Check if file exists
Delete registry value
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c052f
mov eax, dword fs:[0]
push eax
sub esp, 0xa70
mov eax, dword [0x4e44b4]
xor eax, esp
mov dword [esp + 0xa68], eax
push ebx
push esi
push edi
mov eax, dword [0x4e44b4]
xor eax, esp
push eax
lea eax, [esp + 0xa80]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov ecx, 9
mov esi, str.UserDataImportSet
lea edi, [esp + 0x2b4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4cefe0]
mov dword [esp + 0x230], ecx
mov ecx, dword [0x4cefec]
mov dword [esp + 0x23c], ecx
mov ecx, dword [0x4ceff8]
mov dword [esp + 0x270], ecx
mov ecx, dword [0x4cf004]
mov dword [esp + 0x27c], ecx
mov ecx, dword [0x4cf010]
mov dword [esp + 0x2a0], ecx
mov ecx, dword [0x4cf01c]
mov dword [esp + 0x2ac], ecx
mov ecx, 9
mov esi, str.OldVerDataPathType
lea edi, [esp + 0x36c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 7
mov esi, str.OldVerDataPath
lea edi, [esp + 0x304]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x4cefe4]
movsw word es:[edi], word [esi]
mov eax, dword [str.UserDataSet]
mov ecx, 8
mov esi, str.OldQQInstallPath
lea edi, [esp + 0x324]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [esp + 0x234], edx
mov edx, dword [0x4ceff0]
mov ecx, 0xa
mov esi, str.UserDataSavePathType
lea edi, [esp + 0x2d8]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x240], edx
mov edx, dword [0x4ceffc]
mov dword [esp + 0x22c], eax
mov eax, dword [0x4cefe8]
mov dword [esp + 0x274], edx
movzx edx, word [0x4cf008]
mov dword [esp + 0x238], eax
mov eax, dword [str.NeedImport]
movsw word es:[edi], word [esi]
mov dword [esp + 0x26c], eax
mov eax, dword [0x4cf000]
mov word [esp + 0x280], dx
mov edx, dword [0x4cf014]
mov ecx, 8
mov esi, str.UserDataSavePath
lea edi, [esp + 0x348]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4cf0e4]
mov dword [esp + 0x278], eax
mov eax, dword [str.OldVersion]
mov dword [esp + 0x2a4], edx
movzx edx, word [0x4cf020]
mov dword [esp + 0x29c], eax
mov eax, dword [0x4cf018]
mov word [esp + 0x2b0], dx
mov edx, dword [0x4cf0e8]
mov dword [esp + 0x2a8], eax
mov eax, dword [str.NewVersion]
mov dword [esp + 0x28c], edx
movzx edx, word [0x4cf0f4]
mov dword [esp + 0x284], eax
mov eax, dword [0x4cf0ec]
mov dword [esp + 0x288], ecx
mov ecx, dword [0x4cf0f0]
movsw word es:[edi], word [esi]
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], ecx
mov word [esp + 0x298], dx
mov dword [esp + 0x164], 7
mov dword [esp + 0x160], ebx
mov word [esp + 0x150], bx
sub esp, 0x1c
mov dword [esp + 0xaa4], ebx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x13
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x4c9dd4
lea esi, [esp + 0x170]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
cmp dword [0x4e8f68], 1
mov byte [esp + 0x17], al
jne 0x428d6a
call fcn.004722e0
cmp eax, 3
jg 0x428d6a
cmp byte [esp + 0x17], bl
jne 0x428d6a
push 3
push 0x51
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetup_after_installmove_user_data.cpp
lea ecx, [esp + 0x70]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0xa8c], 1
push eax
mov dword [esp + 0x20], 1
call fcn.004041d0
add esp, 8
mov dword [esp + 0xa88], ebx
test byte [esp + 0x18], 1
je 0x428d86
and dword [esp + 0x18], 0xfffffffe
lea ecx, [esp + 0x64]
call fcn.00472c30
push 0x206
lea eax, [esp + 0x462]
push ebx
push eax
mov word [esp + 0x468], bx
call fcn.00499a30
mov eax, dword [esp + 0x15c]
mov esi, 8
add esp, 0xc
cmp dword [esp + 0x164], esi
jae 0x428dc0
lea eax, [esp + 0x150]
mov ecx, dword [esp + 0x160]
push ecx
push eax
lea edx, [esp + 0x464]
push edx
call fcn.00496126
mov eax, dword [esp + 0x16c]
add eax, 0xffffffff
add esp, 0xc
cmp eax, ebx
jl 0x428e09
mov ecx, 0x5c
lea esp, [esp]
cmp word [esp + eax*2 + 0x45c], cx
je 0x428e01
sub eax, 1
jns 0x428df0
jmp 0x428e09
mov word [esp + eax*2 + 0x45c], bx
lea ecx, [esp + 0x45c]
call fcn.00405010
cmp dword [esp + 0x164], esi
mov eax, dword [esp + 0x150]
mov word [esp + 0x258], bx
mov dword [esp + 0x25a], ebx
mov dword [esp + 0x25e], ebx
mov dword [esp + 0x262], ebx
mov dword [esp + 0x266], ebx
mov word [esp + 0x26a], bx
jae 0x428e58
lea eax, [esp + 0x150]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call esi
test eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
je 0x428ea5
cmp dword [esp + 0x164], 8
mov eax, dword [esp + 0x150]
jae 0x428e83
lea eax, [esp + 0x150]
push eax
push 0xa
lea eax, [esp + 0x260]
push eax
push 0x4d0720
lea ecx, [esp + 0x2e8]
push ecx
lea edx, [esp + 0x240]
push edx
call edi
push 0xc6
lea eax, [esp + 0x39a]
push ebx
push eax
mov word [esp + 0x3a0], bx
call fcn.00499a30
mov eax, dword [esp + 0x15c]
add esp, 0xc
cmp dword [esp + 0x164], 8
jae 0x428edb
lea eax, [esp + 0x150]
push eax
call esi
test eax, eax
je 0x428f1c
cmp dword [esp + 0x164], 8
mov eax, dword [esp + 0x150]
jae 0x428efa
lea eax, [esp + 0x150]
push eax
push 0x64
lea ecx, [esp + 0x39c]
push ecx
push 0x4cadec
lea edx, [esp + 0x294]
push edx
lea eax, [esp + 0x240]
push eax
call edi
push 0x206
lea ecx, [esp + 0x66a]
push ebx
push ecx
mov word [esp + 0x670], bx
call fcn.00499a30
mov edi, 0xf
add esp, 0xc
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1ec], ebx
mov byte [esp + 0x1dc], bl
lea edx, [esp + 0x1d8]
push edx
sub esp, 0x1c
mov byte [esp + 0xaa8], 2
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x13
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x4c9e00
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401a70
mov esi, dword [esp + 0x20c]
add esp, 0x20
cmp esi, 0xa
mov eax, esi
jb 0x428f9b
lea eax, [edi - 5]
cmp dword [esp + 0x1f0], 0x10
mov ecx, dword [esp + 0x1dc]
jae 0x428fb3
lea ecx, [esp + 0x1dc]
push eax
push 0x4c9e14
push ecx
call fcn.00405db0
add esp, 0xc
cmp eax, ebx
jne 0x428fdb
cmp esi, 0xa
jb 0x428fdb
xor eax, eax
cmp esi, 0xa
setne al
cmp eax, ebx
je 0x429096
mov dword [esp + 0x1b8], 7
mov dword [esp + 0x1b4], ebx
mov word [esp + 0x1a4], bx
sub esp, 0x1c
mov byte [esp + 0xaa4], 3
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x13
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x4c9d98
lea esi, [esp + 0x1c4]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
cmp dword [esp + 0x1b4], ebx
je 0x42906b
cmp dword [esp + 0x1b8], 8
mov eax, dword [esp + 0x1a4]
jae 0x42904b
lea eax, [esp + 0x1a4]
push eax
push 0x4cc9fc
push 0x208
lea eax, [esp + 0x670]
push 0x104
push eax
call fcn.00496163
add esp, 0x14
mov byte [esp + 0xa88], 2
cmp dword [esp + 0x1b8], 8
jb 0x429119
mov ecx, dword [esp + 0x1a4]
push ecx
call fcn.00495fd1
add esp, 4
jmp 0x429119
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea edx, [esp + 0x24]
push edx
push 0x20019
push ebx
push str.SOFTWARETencent
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x30], 0x104
call esi
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x668]
push ecx
push ebx
push ebx
push str.OldQQPath
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [esp + 0x24]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call edi
lea ecx, [esp + 0x20]
push ecx
push 0xf003f
push ebx
push str.SOFTWARETencent
push reloc.OLEAUT32.dll_SysReAllocString
call esi
test eax, eax
jne 0x429119
mov edx, dword [esp + 0x20]
push str.OldQQPath
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov eax, dword [esp + 0x20]
push eax
call edi
lea ecx, [esp + 0x1f4]
call fcn.00475600
mov dword [esp + 0x19c], 7
mov dword [esp + 0x198], ebx
mov word [esp + 0x188], bx
sub esp, 0x1c
mov byte [esp + 0xaa4], 5
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x10
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x4c9dac
lea esi, [esp + 0x1a8]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
cmp dword [0x4e8f68], 1
mov byte [esp + 0x17], al
jne 0x4291c9
call fcn.004722e0
cmp eax, 3
jg 0x4291c9
cmp byte [esp + 0x17], bl
jne 0x4291c9
push 3
push 0xc7
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetup_after_installmove_user_data.cpp
lea ecx, [esp + 0x70]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0xa8c], 6
or dword [esp + 0x1c], 2
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0xa88], 5
test byte [esp + 0x18], 2
je 0x4291e9
and dword [esp + 0x18], 0xfffffffd
lea ecx, [esp + 0x64]
call fcn.00472c30
cmp byte [esp + 0x17], bl
je 0x429292
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x214]
call fcn.00475a60
push eax
lea ecx, [esp + 0x1f8]
mov byte [esp + 0xa8c], 7
call fcn.00475e00
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 5
call fcn.00475620
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x1f8]
call fcn.00475bf0
lea ecx, [esp + 0x210]
push ecx
mov ecx, eax
mov byte [esp + 0xa8c], 8
call fcn.00475ff0
push eax
lea ecx, [esp + 0x1f8]
mov byte [esp + 0xa8c], 9
call fcn.00475e00
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 8
call fcn.00475620
lea ecx, [esp + 0x28]
mov byte [esp + 0xa88], 5
call fcn.00475620
lea ecx, [esp + 0x168]
call fcn.00475600
mov dword [esp + 0x1b8], 7
mov dword [esp + 0x1b4], ebx
mov word [esp + 0x1a4], bx
sub esp, 0x1c
mov byte [esp + 0xaa4], 0xb
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x13
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x4c9dc0
lea esi, [esp + 0x1c4]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
cmp al, bl
je 0x4293ec
mov edx, esi
push edx
lea ecx, [esp + 0x214]
call fcn.00475a60
push eax
lea ecx, [esp + 0x16c]
mov byte [esp + 0xa8c], 0xc
call fcn.00475e00
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 0xb
call fcn.00475620
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x16c]
call fcn.00475bf0
lea ecx, [esp + 0x210]
push ecx
mov ecx, eax
mov byte [esp + 0xa8c], 0xd
call fcn.00475ff0
push eax
lea ecx, [esp + 0x16c]
mov byte [esp + 0xa8c], 0xe
call fcn.00475e00
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 0xd
call fcn.00475620
lea ecx, [esp + 0x28]
mov byte [esp + 0xa88], 0xb
call fcn.00475620
cmp dword [esp + 0x17c], ebx
je 0x4293ec
lea edx, [esp + 0x1f4]
push edx
lea ecx, [esp + 0x16c]
call fcn.00475ab0
test al, al
je 0x4293ec
mov eax, dword [esp + 0x150]
mov edi, 8
cmp dword [esp + 0x164], edi
mov dword [esp + 0x20], 1
jae 0x4293d4
lea eax, [esp + 0x150]
push eax
push 0x4ced8c
lea eax, [esp + 0x274]
push eax
lea ecx, [esp + 0x2c0]
push ecx
jmp 0x429422
mov eax, dword [esp + 0x150]
mov edi, 8
cmp dword [esp + 0x164], edi
mov dword [esp + 0x20], ebx
jae 0x42940c
lea eax, [esp + 0x150]
push eax
push 0x4d0724
lea edx, [esp + 0x274]
push edx
lea eax, [esp + 0x2c0]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
call esi
cmp dword [esp + 0x164], edi
mov eax, dword [esp + 0x150]
jae 0x429441
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x398]
push ecx
lea edx, [esp + 0x2a4]
push edx
lea eax, [esp + 0x2c0]
push eax
call esi
cmp dword [esp + 0x164], edi
mov eax, dword [esp + 0x150]
jae 0x429473
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x25c]
push ecx
lea edx, [esp + 0x374]
push edx
lea eax, [esp + 0x2c0]
push eax
call esi
cmp dword [esp + 0x164], edi
mov ecx, dword [esp + 0x150]
jae 0x4294a5
lea ecx, [esp + 0x150]
cmp dword [esp + 0x180], edi
mov eax, dword [esp + 0x16c]
jae 0x4294bc
lea eax, [esp + 0x16c]
push ecx
push eax
lea ecx, [esp + 0x30c]
push ecx
lea edx, [esp + 0x2c0]
push edx
call esi
cmp dword [esp + 0x164], edi
mov eax, dword [esp + 0x150]
jae 0x4294e7
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0x668]
push eax
lea ecx, [esp + 0x32c]
push ecx
lea edx, [esp + 0x2c0]
push edx
call esi
lea eax, [esp + 0x1c]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x14
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x4c9de8
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401db0
add esp, 0x20
cmp dword [0x4e8f68], 1
mov byte [esp + 0x17], al
jne 0x429581
call fcn.004722e0
cmp eax, 3
jg 0x429581
cmp byte [esp + 0x17], bl
jne 0x429581
push 3
push 0x106
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetup_after_installmove_user_data.cpp
lea ecx, [esp + 0x70]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0xa8c], 0xf
or dword [esp + 0x1c], 4
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0xa88], 0xb
test byte [esp + 0x18], 4
je 0x4295a1
and dword [esp + 0x18], 0xfffffffb
lea ecx, [esp + 0x64]
call fcn.00472c30
mov edx, dword [esp + 0x1c]
push 0xa
lea ecx, [esp + 0x248]
push ecx
push edx
call fcn.004977bc
mov eax, dword [esp + 0x15c]
add esp, 0xc
cmp dword [esp + 0x164], edi
jae 0x4295cf
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0x248]
push eax
lea ecx, [esp + 0x2e0]
push ecx
lea edx, [esp + 0x238]
push edx
call esi
cmp dword [esp + 0x164], edi
mov ecx, dword [esp + 0x150]
jae 0x429601
lea ecx, [esp + 0x150]
cmp dword [esp + 0x20c], edi
mov eax, dword [esp + 0x1f8]
jae 0x429618
lea eax, [esp + 0x1f8]
push ecx
push eax
lea eax, [esp + 0x350]
push eax
lea ecx, [esp + 0x238]
push ecx
call esi
cmp dword [esp + 0x164], edi
mov eax, dword [esp + 0x150]
jae 0x429643
lea eax, [esp + 0x150]
push eax
push str.47.89.0.4921.0
lea edx, [esp + 0x28c]
push edx
lea eax, [esp + 0x238]
push eax
call esi
cmp dword [esp + 0x1b8], edi
jb 0x429674
mov ecx, dword [esp + 0x1a4]
push ecx
call fcn.00495fd1
add esp, 4
mov esi, 7
lea ecx, [esp + 0x168]
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1b4], ebx
mov word [esp + 0x1a4], bx
mov byte [esp + 0xa88], 5
call fcn.00475620
cmp dword [esp + 0x19c], edi
jb 0x4296bc
mov edx, dword [esp + 0x188]
push edx
call fcn.00495fd1
add esp, 4
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x19c], esi
mov dword [esp + 0x198], ebx
mov word [esp + 0x188], bx
mov byte [esp + 0xa88], 2
call fcn.00475620
mov eax, 0xf
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
lea ecx, [esp + 0x1bc]
push ecx
sub esp, 0x1c
mov byte [esp + 0xaa8], 0x10
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xa
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x14], ebx
push str.NeedRunExe
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401a70
add esp, 0x20
cmp dword [0x4e8f68], 1
mov byte [esp + 0x17], al
jne 0x429785
call fcn.004722e0
cmp eax, 3
jg 0x429785
cmp byte [esp + 0x17], bl
jne 0x429785
push 3
push 0x122
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetup_after_installmove_user_data.cpp
lea ecx, [esp + 0x70]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0xa8c], 0x11
or dword [esp + 0x1c], edi
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0xa88], 0x10
test byte [esp + 0x18], 8
je 0x4297a5
and dword [esp + 0x18], 0xfffffff7
lea ecx, [esp + 0x64]
call fcn.00472c30
cmp dword [esp + 0x20], ebx
je 0x42a056
mov dword [esp + 0x1b8], 7
mov dword [esp + 0x1b4], ebx
mov word [esp + 0x1a4], bx
sub esp, 0x1c
mov byte [esp + 0xaa4], 0x12
mov dword [esp + 0x38], esp
mov ecx, esp
push 0xb
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x4c9d8c
lea esi, [esp + 0x1c4]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
push 0xf
mov esi, 7
push 0x4d0728
lea ecx, [esp + 0x1fc]
mov dword [esp + 0x214], esi
mov dword [esp + 0x210], ebx
mov word [esp + 0x200], bx
call fcn.00405680
mov byte [esp + 0xa88], 0x13
push 3
push 0x4cb300
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov word [esp + 0x34], bx
call fcn.00405680
lea edx, [esp + 0x1a0]
push edx
lea ecx, [esp + 0x118]
mov byte [esp + 0xa8c], 0x14
call fcn.00475a60
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0xfc]
push edx
mov ecx, eax
mov byte [esp + 0xa90], 0x15
call fcn.00476020
lea ecx, [esp + 0x1f4]
push ecx
lea edx, [esp + 0x214]
push edx
mov ecx, eax
mov byte [esp + 0xa90], 0x16
call fcn.00476020
lea ecx, [esp + 0xf8]
mov byte [esp + 0xa88], 0x18
call fcn.00475620
lea ecx, [esp + 0x114]
mov byte [esp + 0xa88], 0x19
call fcn.00475620
cmp dword [esp + 0x40], edi
jb 0x4298e7
mov eax, dword [esp + 0x2c]
push eax
call fcn.00495fd1
add esp, 4
mov esi, 7
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
mov byte [esp + 0xa88], 0x1b
cmp dword [esp + 0x20c], edi
jb 0x42991a
mov ecx, dword [esp + 0x1f8]
push ecx
call fcn.00495fd1
add esp, 4
lea edx, [esp + 0x210]
push edx
lea ecx, [esp + 0x48]
mov dword [esp + 0x210], esi
mov dword [esp + 0x20c], ebx
mov word [esp + 0x1fc], bx
call fcn.00471900
mov byte [esp + 0xa88], 0x1c
push esi
push str._fromQQ
lea ecx, [esp + 0x170]
mov dword [esp + 0x188], 0xf
mov dword [esp + 0x184], ebx
mov byte [esp + 0x174], bl
call fcn.00402d90
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8c], 0x1d
call fcn.00472000
mov byte [esp + 0xa88], 0x1c
cmp dword [esp + 0x180], 0x10
jb 0x4299af
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.00495fd1
add esp, 4
mov esi, dword [esp + 0x1d0]
cmp esi, 4
mov eax, esi
jb 0x4299c2
mov eax, 4
cmp dword [esp + 0x1d4], 0x10
mov ecx, dword [esp + 0x1c0]
jae 0x4299da
lea ecx, [esp + 0x1c0]
push eax
push str.true
push ecx
call fcn.00405db0
add esp, 0xc
cmp eax, ebx
jne 0x429a64
cmp esi, 4
jb 0x429a64
xor eax, eax
cmp esi, 4
setne al
cmp eax, ebx
jne 0x429a64
push edi
push str._startIM
lea ecx, [esp + 0x170]
mov dword [esp + 0x188], 0xf
mov dword [esp + 0x184], ebx
mov byte [esp + 0x174], bl
call fcn.00402d90
lea edx, [esp + 0x168]
push edx
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8c], 0x1e
call fcn.00472000
mov byte [esp + 0xa88], 0x1c
cmp dword [esp + 0x180], 0x10
jb 0x429a64
mov eax, dword [esp + 0x16c]
push eax
call fcn.00495fd1
add esp, 4
mov byte [esp + 0x244], bl
mov byte [esp + 0x245], bl
mov byte [esp + 0x246], bl
mov dword [esp + 0x248], ebx
mov byte [esp + 0x24c], bl
mov dword [esp + 0x250], ebx
mov dword [esp + 0x1c], ebx
call fcn.00404f00
test al, al
je 0x429ff7
push 0x206
lea ecx, [esp + 0x872]
push ebx
push ecx
mov word [esp + 0x878], bx
call fcn.00499a30
add esp, 0xc
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x48]
call fcn.0046e9d0
cmp dword [eax + 0x18], edi
jb 0x429ad8
mov eax, dword [eax + 4]
jmp 0x429adb
add eax, 4
push eax
lea eax, [esp + 0x870]
push 0x104
push eax
call fcn.00496aea
add esp, 0xc
lea ecx, [esp + 0x130]
call fcn.00475620
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x48]
call fcn.00471c10
mov eax, dword [esp + 0x18c]
cmp dword [esp + 0x188], eax
jbe 0x429b2a
call fcn.00496100
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x180], 7
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], bx
mov byte [esp + 0xa88], 0x20
mov esi, dword [esp + 0x188]
cmp esi, eax
jbe 0x429b63
call fcn.00496100
mov eax, dword [esp + 0x18c]
cmp dword [esp + 0x188], eax
mov edi, eax
jbe 0x429b7a
call fcn.00496100
mov eax, dword [esp + 0x18c]
cmp esi, edi
je 0x429bc6
cmp esi, eax
jb 0x429b87
call fcn.00496100
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [esp + 0x174]
call fcn.0040eb90
push 1
push 0x4d075c
lea ecx, [esp + 0x170]
call fcn.0040ea90
mov eax, dword [esp + 0x18c]
cmp esi, eax
jb 0x429bc1
call fcn.00496100
mov eax, dword [esp + 0x18c]
add esi, 0x1c
jmp 0x429b63
push 0x206
lea edx, [esp + 0x462]
push ebx
push edx
mov word [esp + 0x468], bx
call fcn.00499a30
mov eax, dword [esp + 0x178]
mov edi, 8
add esp, 0xc
cmp dword [esp + 0x180], edi
jae 0x429c00
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x460]
push 0x104
push eax
call fcn.00496aea
add esp, 0xc
push str.QQVistaHelper.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
cmp esi, ebx
jne 0x429db0
call fcn.004722e0
cmp eax, 2
jg 0x429c68
push 2
push 0x14f
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetup_after_installmove_user_data.cpp
lea ecx, [esp + 0x70]
call fcn.00473160
add eax, 4
push str.LoadLibrary__QQVistaHelper.dll___failed_
mov byte [esp + 0xa8c], 0x21
or dword [esp + 0x1c], 0x10
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0xa88], 0x20
test byte [esp + 0x18], 0x10
je 0x429c83
lea ecx, [esp + 0x64]
call fcn.00472c30
cmp dword [esp + 0x180], edi
jb 0x429c9c
mov ecx, dword [esp + 0x16c]
push ecx
call fcn.00495fd1
add esp, 4
mov eax, dword [esp + 0x188]
cmp eax, ebx
mov esi, 7
mov dword [esp + 0x180], esi
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], bx
je 0x429ced
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x190]
lea ecx, [esp + 0x188]
push ecx
push edx
push eax
call fcn.0042a1f0
mov eax, dword [esp + 0x198]
push eax
call fcn.00495fd1
add esp, 0x14
lea ecx, [esp + 0x44]
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov byte [esp + 0xa88], 0x1b
call fcn.00471770
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 0x12
call fcn.00475620
cmp dword [esp + 0x1b8], edi
jb 0x429d40
mov ecx, dword [esp + 0x1a4]
push ecx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x1d4], 0x10
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1b4], ebx
mov word [esp + 0x1a4], bx
jb 0x429d70
mov edx, dword [esp + 0x1c0]
push edx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x1f0], 0x10
mov esi, 0xf
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
jb 0x429da4
mov eax, dword [esp + 0x1dc]
push eax
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x164], edi
jmp 0x42a0d4
push str._RunAsUser__YAXPA_W0_Z
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
jne 0x429f77
call fcn.004722e0
cmp eax, 2
jg 0x429e01
push 2
push 0x155
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetup_after_installmove_user_data.cpp
lea ecx, [esp + 0x70]
call fcn.00473160
add eax, 4
push str.GetProcAddress_RunAsUser_failed_
mov byte [esp + 0xa8c], 0x22
or dword [esp + 0x1c], 0x20
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0xa88], 0x20
test byte [esp + 0x18], 0x20
je 0x429e1c
lea ecx, [esp + 0x64]
call fcn.00472c30
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0x180], edi
jb 0x429e3c
mov edx, dword [esp + 0x16c]
push edx
call fcn.00495fd1
add esp, 4
mov eax, dword [esp + 0x188]
cmp eax, ebx
mov esi, 7
mov dword [esp + 0x180], esi
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], bx
je 0x429e8d
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x190]
lea edx, [esp + 0x188]
push edx
push ecx
push eax
call fcn.0042a1f0
mov edx, dword [esp + 0x198]
push edx
call fcn.00495fd1
add esp, 0x14
lea ecx, [esp + 0x44]
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov byte [esp + 0xa88], 0x1b
call fcn.00471770
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 0x12
call fcn.00475620
cmp dword [esp + 0x1b8], edi
jb 0x429ee0
mov eax, dword [esp + 0x1a4]
push eax
call fcn.00495fd1
add esp, 4
mov dword [esp + 0x1b8], esi
mov esi, 0x10
cmp dword [esp + 0x1d4], esi
mov dword [esp + 0x1b4], ebx
mov word [esp + 0x1a4], bx
jb 0x429f14
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x1f0], esi
mov edi, 0xf
mov dword [esp + 0x1d4], edi
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
jb 0x429f47
mov edx, dword [esp + 0x1dc]
push edx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x164], 8
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1ec], ebx
mov byte [esp + 0x1dc], bl
jb 0x42a0fb
mov eax, dword [esp + 0x150]
push eax
jmp 0x42a0f3
lea ecx, [esp + 0x45c]
push ecx
lea edx, [esp + 0x870]
push edx
call eax
add esp, 8
cmp dword [esp + 0x180], edi
jb 0x429fa5
mov eax, dword [esp + 0x16c]
push eax
call fcn.00495fd1
add esp, 4
mov eax, dword [esp + 0x188]
cmp eax, ebx
mov dword [esp + 0x180], 7
mov dword [esp + 0x17c], ebx
mov word [esp + 0x16c], bx
je 0x42a016
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x190]
lea edx, [esp + 0x188]
push edx
push ecx
push eax
call fcn.0042a1f0
mov edx, dword [esp + 0x198]
push edx
call fcn.00495fd1
add esp, 0x14
jmp 0x42a016
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x248]
push ecx
lea edx, [esp + 0x4c]
push edx
call fcn.0047a9f0
add esp, 0xc
mov edi, 8
lea ecx, [esp + 0x44]
mov byte [esp + 0xa88], 0x1b
call fcn.00471770
lea ecx, [esp + 0x210]
mov byte [esp + 0xa88], 0x12
call fcn.00475620
cmp dword [esp + 0x1b8], edi
jb 0x42a07b
mov eax, dword [esp + 0x1a4]
push eax
call fcn.00495fd1
add esp, 4
jmp 0x42a07b
mov ecx, dword [esp + 0x1d0]
push 4
push str.true
push ecx
push ebx
lea ecx, [esp + 0x1cc]
call fcn.004060e0
test eax, eax
jne 0x42a07b
call fcn.00428780
mov edi, 0x10
cmp dword [esp + 0x1d4], edi
jb 0x42a099
mov edx, dword [esp + 0x1c0]
push edx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x1f0], edi
mov esi, 0xf
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x1d0], ebx
mov byte [esp + 0x1c0], bl
jb 0x42a0cc
mov eax, dword [esp + 0x1dc]
push eax
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x164], 8
mov byte [esp + 0x1dc], bl
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1f0], esi
jb 0x42a0fb
mov ecx, dword [esp + 0x150]
push ecx
call fcn.00495fd1
add esp, 4
mov ecx, dword [esp + 0xa80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa68]
xor ecx, esp
call fcn.00495cb8
mov esp, ebp
pop ebp
ret 4