Function at 0x40f480
Capabilities:
Check for time delay via gettickcount
Check if file exists
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c160b
mov eax, dword fs:[0]
push eax
sub esp, 0xa00
mov eax, dword [0x4e2210]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x930], ecx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
call fcn.004683f0
push eax
lea ecx, [ebp - 0x30]
call fcn.004089f0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0x3c]
call fcn.004010e0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x930]
add ecx, 0x38
call fcn.004062c0
call fcn.00402450
push 0
push 5
mov ecx, 0x4e7524
call fcn.00406f40
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x1a4], 0
je 0x40f545
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x34]
push edx
push 0x4cb460
push 0
push 5
mov eax, dword [ebp - 0x930]
mov ecx, dword [eax + 0x1a4]
call ecx
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x930]
mov eax, dword [edx + 0x2c]
push eax
push 0x4cb46c
push 0x4e77f8
call fcn.00489600
add esp, 0xc
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
call fcn.004683f0
push eax
call fcn.004020d0
add esp, 4
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x40f5de
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x2c]
push edx
push str.CreateDeepDirectory__ws_
push 0x4e77f8
call fcn.00489600
add esp, 0xc
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x1a4], 0
je 0x40f5d9
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x34]
push edx
push 0x4cb49c
push 1
push 0xa
mov eax, dword [ebp - 0x930]
mov ecx, dword [eax + 0x1a4]
call ecx
add esp, 0x10
jmp 0x410559
mov ecx, dword [ebp - 0x930]
call fcn.0040ea30
push 0
push 0x2d
mov ecx, 0x4e7524
call fcn.00406f40
mov edx, dword [ebp - 0x930]
cmp dword [edx + 0x1a4], 0
je 0x40f62a
mov eax, dword [ebp - 0x930]
mov ecx, dword [eax + 0x34]
push ecx
push str.ck_W_e
push 0
push 0x2d
mov edx, dword [ebp - 0x930]
mov eax, dword [edx + 0x1a4]
call eax
add esp, 0x10
push str.ExtractProductFiles_begin...
push 0x4e77f8
call fcn.00489600
add esp, 8
push 0
call fcn.00403280
add esp, 4
mov ecx, dword [ebp - 0x930]
call fcn.0040ded0
mov dword [ebp - 0x40], eax
push 1
call fcn.00403280
add esp, 4
push str.ExtractProductFiles_end...
push 0x4e77f8
call fcn.00489600
add esp, 8
cmp dword [ebp - 0x40], 0
jne 0x40f6cd
push 0x4cb500
push 0x4e77f8
call fcn.00489600
add esp, 8
mov ecx, dword [ebp - 0x930]
cmp dword [ecx + 0x1a4], 0
je 0x40f6c8
mov edx, dword [ebp - 0x930]
mov eax, dword [edx + 0x34]
push eax
push 0x4cb514
mov ecx, dword [ebp - 0x930]
add ecx, 0x38
call fcn.00406de0
push eax
push 0x46
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x1a4]
call edx
add esp, 0x10
jmp 0x410559
push 0
push 0x46
mov ecx, 0x4e7524
call fcn.00406f40
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x1a4], 0
je 0x40f70e
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x34]
push edx
push str.ck_W
push 0
push 0x46
mov eax, dword [ebp - 0x930]
mov ecx, dword [eax + 0x1a4]
call ecx
add esp, 0x10
push 0x4cb538
lea ecx, [ebp - 0x694]
call fcn.004089f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6b0]
call fcn.0048a0e0
mov dword [ebp - 0x934], eax
mov edx, dword [ebp - 0x934]
mov dword [ebp - 0x938], edx
mov byte [ebp - 4], 3
lea eax, [ebp - 0x694]
push eax
mov ecx, dword [ebp - 0x938]
call fcn.0048a4e0
push eax
lea ecx, [ebp - 0x6cc]
push ecx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x93c], eax
mov ecx, dword [ebp - 0x93c]
call fcn.0048a4e0
call fcn.00488de0
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x675], al
lea ecx, [ebp - 0x6cc]
call fcn.0042a190
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6b0]
call fcn.0042a190
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x694]
call fcn.0042a190
movzx edx, byte [ebp - 0x675]
test edx, edx
je 0x40f7c8
mov dword [ebp - 0x10], 0
jmp 0x40f874
push 0x4cb54c
lea ecx, [ebp - 0x6e8]
call fcn.004089f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x704]
call fcn.0048a0e0
mov dword [ebp - 0x940], eax
mov eax, dword [ebp - 0x940]
mov dword [ebp - 0x944], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x6e8]
push ecx
mov ecx, dword [ebp - 0x944]
call fcn.0048a4e0
push eax
lea edx, [ebp - 0x720]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x948], eax
mov eax, dword [ebp - 0x948]
mov dword [ebp - 0x94c], eax
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x94c]
call fcn.004886c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x720]
call fcn.0042a190
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x704]
call fcn.0042a190
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e8]
call fcn.0042a190
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x930]
cmp dword [ecx + 0x18], 0
je 0x40f89a
mov edx, dword [ebp - 0x930]
cmp dword [edx + 0x14], 0
je 0x40f89a
cmp dword [0x4e738c], 2
jne 0x40f89a
jmp 0x40fa2e
push str.start_to_create_shortcut...
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x40fa1c
push 0x4cb598
mov eax, dword [ebp - 0x930]
add eax, 0x2c
push eax
lea ecx, [ebp - 0x728]
push ecx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x950], eax
mov ecx, dword [ebp - 0x950]
call fcn.004683f0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x724], eax
lea ecx, [ebp - 0x728]
call fcn.00417fc0
cmp dword [ebp - 0x724], 0
je 0x40fa1c
push 0x4cb5e0
lea ecx, [ebp - 0x748]
call fcn.004089f0
mov byte [ebp - 4], 7
push 0x4cb5c0
mov edx, dword [ebp - 0x930]
add edx, 0x2c
push edx
lea eax, [ebp - 0x72c]
push eax
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x954], eax
mov ecx, dword [ebp - 0x954]
mov dword [ebp - 0x958], ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x764]
call fcn.0048a0e0
mov dword [ebp - 0x95c], eax
mov edx, dword [ebp - 0x95c]
mov dword [ebp - 0x960], edx
mov byte [ebp - 4], 9
lea eax, [ebp - 0x748]
push eax
mov ecx, dword [ebp - 0x960]
call fcn.0048a4e0
push eax
lea ecx, [ebp - 0x780]
push ecx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x964], eax
mov edx, dword [ebp - 0x964]
mov dword [ebp - 0x968], edx
mov byte [ebp - 4], 0xa
push 0
push 0x4cb5b8
push 0x4cb5bc
lea ecx, [ebp - 0x30]
call fcn.0048a4e0
push eax
mov ecx, dword [ebp - 0x958]
call fcn.004683f0
push eax
mov ecx, dword [ebp - 0x968]
call fcn.0048a4e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401460
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x780]
call fcn.0042a190
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x764]
call fcn.0042a190
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x72c]
call fcn.00417fc0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x748]
call fcn.0042a190
push str.end_to_create_shortcut
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
push str.CreateDeepDirectory...
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
push 0x4cb654
lea ecx, [ebp - 0x79c]
call fcn.004089f0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7b8]
call fcn.0048a1b0
mov dword [ebp - 0x96c], eax
mov eax, dword [ebp - 0x96c]
mov dword [ebp - 0x970], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x79c]
push ecx
mov ecx, dword [ebp - 0x970]
call fcn.0048a4e0
push eax
lea edx, [ebp - 0x7d4]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x974], eax
mov eax, dword [ebp - 0x974]
mov dword [ebp - 0x978], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x978]
call fcn.0048a4e0
push eax
call fcn.00488770
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x7d4]
call fcn.0042a190
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7b8]
call fcn.0042a190
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x79c]
call fcn.0042a190
push str.CreateDeepDirectory
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
push 0x4cb690
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x7dc]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x97c], eax
mov ecx, dword [ebp - 0x97c]
call fcn.004683f0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x7d8], eax
lea ecx, [ebp - 0x7dc]
call fcn.00417fc0
cmp dword [ebp - 0x7d8], 0
je 0x40fcd0
push 0x4cb6d8
lea ecx, [ebp - 0x7fc]
call fcn.004089f0
mov byte [ebp - 4], 0xe
push 0x4cb6ec
lea ecx, [ebp - 0x818]
call fcn.004089f0
mov byte [ebp - 4], 0xf
push 0x4cb6b8
mov eax, dword [ebp - 0x930]
add eax, 0x2c
push eax
lea ecx, [ebp - 0x7e0]
push ecx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x980], eax
mov edx, dword [ebp - 0x980]
mov dword [ebp - 0x984], edx
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x834]
call fcn.0048a1b0
mov dword [ebp - 0x988], eax
mov eax, dword [ebp - 0x988]
mov dword [ebp - 0x98c], eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x818]
push ecx
mov ecx, dword [ebp - 0x98c]
call fcn.0048a4e0
push eax
lea edx, [ebp - 0x850]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x990], eax
mov eax, dword [ebp - 0x990]
mov dword [ebp - 0x994], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x7fc]
push ecx
mov ecx, dword [ebp - 0x994]
call fcn.0048a4e0
push eax
lea edx, [ebp - 0x86c]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x998], eax
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x99c], eax
mov byte [ebp - 4], 0x13
push 0
push 0x4cb6b0
push 0x4cb6b4
lea ecx, [ebp - 0x30]
call fcn.0048a4e0
push eax
mov ecx, dword [ebp - 0x984]
call fcn.004683f0
push eax
mov ecx, dword [ebp - 0x99c]
call fcn.0048a4e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401460
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x86c]
call fcn.0042a190
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x850]
call fcn.0042a190
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x834]
call fcn.0042a190
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x7e0]
call fcn.00417fc0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x818]
call fcn.0042a190
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7fc]
call fcn.0042a190
push 0x4cb704
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x874]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9a0], eax
mov ecx, dword [ebp - 0x9a0]
call fcn.004683f0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x870], eax
lea ecx, [ebp - 0x874]
call fcn.00417fc0
cmp dword [ebp - 0x870], 0
je 0x40fea0
push 0x4cb73c
lea ecx, [ebp - 0x894]
call fcn.004089f0
mov byte [ebp - 4], 0x14
push 0x4cb754
lea ecx, [ebp - 0x8b0]
call fcn.004089f0
mov byte [ebp - 4], 0x15
push str.Uninst.exe
mov eax, dword [ebp - 0x930]
add eax, 0x2c
push eax
lea ecx, [ebp - 0x878]
push ecx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9a4], eax
mov edx, dword [ebp - 0x9a4]
mov dword [ebp - 0x9a8], edx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x8cc]
call fcn.0048a1b0
mov dword [ebp - 0x9ac], eax
mov eax, dword [ebp - 0x9ac]
mov dword [ebp - 0x9b0], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x8b0]
push ecx
mov ecx, dword [ebp - 0x9b0]
call fcn.0048a4e0
push eax
lea edx, [ebp - 0x8e8]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x9b4], eax
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x9b8], eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x894]
push ecx
mov ecx, dword [ebp - 0x9b8]
call fcn.0048a4e0
push eax
lea edx, [ebp - 0x904]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x9bc], eax
mov eax, dword [ebp - 0x9bc]
mov dword [ebp - 0x9c0], eax
mov byte [ebp - 4], 0x19
push 0
push 0x4cb71c
push 0x4cb720
lea ecx, [ebp - 0x30]
call fcn.0048a4e0
push eax
mov ecx, dword [ebp - 0x9a8]
call fcn.004683f0
push eax
mov ecx, dword [ebp - 0x9c0]
call fcn.0048a4e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401460
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x904]
call fcn.0042a190
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x8e8]
call fcn.0042a190
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x8cc]
call fcn.0042a190
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x878]
call fcn.00417fc0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x8b0]
call fcn.0042a190
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x894]
call fcn.0042a190
push str.UnPinInstallDirShortCut...
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
call fcn.004683f0
push eax
call fcn.00407810
add esp, 4
push str.PinInstallDirShortCut...
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
call fcn.004683f0
push eax
call fcn.00407740
add esp, 4
call fcn.00488cc0
test eax, eax
jne 0x410039
push str.not_vista_or_later
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
call fcn.00488c90
test eax, eax
je 0x410039
push str.xp_start_menu
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov word [ebp - 0x674], 0
push 0x208
push 0
lea ecx, [ebp - 0x672]
push ecx
call fcn.0049d120
add esp, 0xc
mov word [ebp - 0x464], 0
push 0x208
push 0
lea edx, [ebp - 0x462]
push edx
call fcn.0049d120
add esp, 0xc
mov word [ebp - 0x254], 0
push 0x208
push 0
lea eax, [ebp - 0x252]
push eax
call fcn.0049d120
add esp, 0xc
push 0x4cb81c
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x908]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9c4]
call fcn.004683f0
push eax
push 0x105
lea eax, [ebp - 0x464]
push eax
call fcn.0049fb76
add esp, 0xc
lea ecx, [ebp - 0x908]
call fcn.00417fc0
push 0
push 0x16
lea ecx, [ebp - 0x674]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edx, [ebp - 0x674]
push edx
push 0x105
lea eax, [ebp - 0x254]
push eax
call fcn.0049fb76
add esp, 0xc
push 0x4cb83c
push 0x105
lea ecx, [ebp - 0x254]
push ecx
call fcn.004a0396
add esp, 0xc
push 0
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push str.AdddFireWall
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
push str.QMUpdateQQPCSoftMgrUpdater.exe
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x90c]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9c8], eax
mov eax, dword [ebp - 0x9c8]
mov dword [ebp - 0x9cc], eax
mov byte [ebp - 4], 0x1a
push 0x4cb87c
mov ecx, dword [ebp - 0x9cc]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x90c]
call fcn.00417fc0
push 0x4cb8e4
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x910]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9d0]
mov dword [ebp - 0x9d4], eax
mov byte [ebp - 4], 0x1b
push 0x4cb8d0
mov ecx, dword [ebp - 0x9d4]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x910]
call fcn.00417fc0
push str.qqpcfileopen.exe
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x914]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9d8], eax
mov eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x9dc], eax
mov byte [ebp - 4], 0x1c
push 0x4cb904
mov ecx, dword [ebp - 0x9dc]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x914]
call fcn.00417fc0
push 0x4cb95c
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x918]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9e0], eax
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0x9e4], eax
mov byte [ebp - 4], 0x1d
push 0x4cb940
mov ecx, dword [ebp - 0x9e4]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x918]
call fcn.00417fc0
push 0x4cb998
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x91c]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x9ec], eax
mov byte [ebp - 4], 0x1e
push 0x4cb988
mov ecx, dword [ebp - 0x9ec]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x91c]
call fcn.00417fc0
push 0x4cb9d4
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x920]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x9f4], eax
mov byte [ebp - 4], 0x1f
push 0x4cb9c0
mov ecx, dword [ebp - 0x9f4]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x920]
call fcn.00417fc0
push 0x4cba14
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x924]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0x9f8], eax
mov eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9fc], eax
mov byte [ebp - 4], 0x20
push 0x4cba00
mov ecx, dword [ebp - 0x9fc]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x924]
call fcn.00417fc0
push 0x4cba44
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x928]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov byte [ebp - 4], 0x21
push 0x4cba30
mov ecx, dword [ebp - 0xa04]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x928]
call fcn.00417fc0
push 0x4cba6c
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
push ecx
lea edx, [ebp - 0x92c]
push edx
call fcn.00403cf0
add esp, 0xc
mov dword [ebp - 0xa08], eax
mov eax, dword [ebp - 0xa08]
mov dword [ebp - 0xa0c], eax
mov byte [ebp - 4], 0x22
push 0x4cba58
mov ecx, dword [ebp - 0xa0c]
call fcn.004683f0
mov ecx, eax
call fcn.00491130
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x92c]
call fcn.00417fc0
push str.AddRegedit
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov ecx, dword [ebp - 0x930]
call fcn.0040eef0
push str.FileRegSvr32
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov ecx, dword [ebp - 0x930]
call fcn.00411440
push str.CopyFileBeforeCallDll
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov ecx, dword [ebp - 0x930]
call fcn.00410d80
push str.CopyFileForAutoUpdate
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 4
mov ecx, dword [ebp - 0x930]
call fcn.004106a0
mov ecx, dword [ebp - 0x930]
cmp dword [ecx + 0x18], 0
je 0x41042c
mov edx, dword [ebp - 0x930]
cmp dword [edx + 0x190], 0
je 0x41042a
mov ecx, dword [ebp - 0x930]
call fcn.00410e60
jmp 0x410437
mov ecx, dword [ebp - 0x930]
call fcn.00410e60
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x198], 0
jne 0x41054c
mov ecx, dword [ebp - 0x930]
cmp dword [ecx + 0x18], 0
jne 0x41047f
mov edx, dword [ebp - 0x930]
cmp dword [edx + 0x14], 0
je 0x41047a
mov ecx, dword [ebp - 0x930]
call fcn.00411240
push 1
mov ecx, dword [ebp - 0x930]
call fcn.004110c0
jmp 0x41054c
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x19c], 0
jne 0x4104bd
cmp dword [0x4e738c], 1
je 0x4104a0
cmp dword [0x4e738c], 2
jne 0x4104b8
mov ecx, dword [ebp - 0x930]
call fcn.00411240
push 1
mov ecx, dword [ebp - 0x930]
call fcn.004110c0
jmp 0x41054c
cmp dword [0x4e738c], 0
jne 0x4104ef
mov ecx, dword [ebp - 0x930]
cmp dword [ecx + 0x194], 0
je 0x4104ed
mov ecx, dword [ebp - 0x930]
call fcn.00411240
push 1
mov ecx, dword [ebp - 0x930]
call fcn.004110c0
jmp 0x41054c
cmp dword [0x4e738c], 2
jne 0x410534
mov edx, dword [ebp - 0x930]
cmp dword [edx + 0x194], 0
jne 0x410534
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x14], 0
je 0x410534
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x194]
push edx
push str.SoftMgr_Service_is__s
mov esi, 0x4e77f8
call fcn.004897f0
add esp, 8
jmp 0x41054c
mov ecx, dword [ebp - 0x930]
call fcn.00411240
push 1
mov ecx, dword [ebp - 0x930]
call fcn.004110c0
mov eax, dword [ebp - 0x930]
mov dword [eax + 0x1c], 1
mov ecx, dword [ebp - 0x930]
add ecx, 0x38
call fcn.00406100
mov ecx, dword [ebp - 0x930]
cmp dword [ecx + 0x1c], 0
je 0x410638
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x930]
mov dword [edx + 0x6c], eax
push 0
push 0x64
mov ecx, 0x4e7524
call fcn.00406f40
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x1a4], 0
je 0x4105ca
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x34]
push edx
push 0x4cbb48
push 0
push 0x64
mov eax, dword [ebp - 0x930]
mov ecx, dword [eax + 0x1a4]
call ecx
add esp, 0x10
push 0x535
mov ecx, 0x4e7524
call fcn.00406fa0
mov edx, dword [ebp - 0x930]
mov eax, dword [edx + 0x6c]
push eax
mov ecx, dword [ebp - 0x930]
mov edx, dword [ecx + 0x1c]
push edx
push str.install_end__return:_d__install_cost_time:_dms
push 0x4e77f8
call fcn.00489600
add esp, 0x10
mov eax, dword [ebp - 0x930]
cmp dword [eax + 0x14], 0
je 0x41061c
push 0
push 0
push 0
mov ecx, dword [ebp - 0x930]
call fcn.0040df40
mov ecx, dword [ebp - 0x930]
add ecx, 0x2c
call fcn.004683f0
push eax
mov ecx, dword [ebp - 0x930]
call fcn.00412270
jmp 0x410669
push 0x4cbb84
push 0x4e77f8
call fcn.00489600
add esp, 8
push 0
push 0
push 9
mov ecx, dword [ebp - 0x930]
call fcn.0040df40
push 9
push 0x64
mov ecx, 0x4e7524
call fcn.00406f40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.00401140
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.0042a190
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049d270
mov esp, ebp
pop ebp
ret