Function at 0x4d6c50
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x516bfd
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x550144]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x14], 0
call fcn.0047d240
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0
call fcn.004cddc0
push str.StartInstall...
push 0x550bb8
mov byte [ebp - 4], 1
call fcn.0048d5c0
mov eax, dword [edi + 0x104]
add esp, 8
test eax, eax
je 0x4d6cc1
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [edi + 0x40], 0
jne 0x4d6cd1
cmp dword [edi + 0x48], 0
jne 0x4d738b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x535ba0
call fcn.0044c020
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [ebp - 4], 2
call ebx
sub eax, dword [edi + 0x1b8]
push eax
push 0x3a9c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.costLoadImageToMem
call fcn.0044c020
mov byte [ebp - 4], 3
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
call ebx
push 0
push 0x1b59
mov ecx, edi
mov dword [edi + 0x1b8], eax
call fcn.004d5b70
call fcn.004ca100
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
push 0x2ee5
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterLoadPackageConfig
call fcn.0044c020
mov byte [ebp - 4], 5
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a730
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
call fcn.004d1620
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [edi + 0x1b0]
call fcn.004db5e0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
mov byte [ebp - 4], 6
call ebx
sub eax, dword [edi + 0x1b8]
push eax
push 0x3a9d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costLoadPackageConfig
call fcn.0044c020
mov byte [ebp - 4], 7
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
call ebx
mov dword [edi + 0x1b8], eax
push 0x522a84
push 5
mov ecx, edi
call fcn.004d5b30
mov ecx, edi
call fcn.004d3110
test eax, eax
jne 0x4d6e27
mov esi, dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x6a
mov ecx, edi
call dword [esi + 0x20]
push 0x522a90
push 0xa
push 3
mov ecx, edi
call fcn.004d5af0
jmp 0x4d73a6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
mov byte [ebp - 4], 8
call ebx
sub eax, dword [edi + 0x1b8]
push eax
push 0x3a9e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costPrepareInstall
call fcn.0044c020
mov byte [ebp - 4], 9
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
call ebx
push 0
push 0x1b5a
mov ecx, edi
mov dword [edi + 0x1b8], eax
call fcn.004d5b70
cmp dword [edi + 0x40], 0
jne 0x4d6e97
cmp dword [edi + 0x48], 0
jne 0x4d738b
push str.ck_W_e
push 0x19
mov ecx, edi
call fcn.004d5b30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
push 0x2ee6
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterExtractProductFiles
call fcn.0044c020
mov byte [ebp - 4], 0xb
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a730
push str.ExtractProductFiles_begin...
push 0x550bb8
call fcn.0048d5c0
add esp, 8
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.004d1300
test eax, eax
jne 0x4d6f24
push 0x522ad8
push 0x23
push dword [ebp - 0x14]
mov ecx, edi
call fcn.004d5af0
mov ecx, edi
call fcn.004d3760
jmp 0x4d73a6
push str.ExtractProductFiles_end...
push 0x550bb8
call fcn.0048d5c0
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
mov byte [ebp - 4], 0xc
call ebx
sub eax, dword [edi + 0x1b8]
push eax
push 0x3aa3
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costExtractProductFiles
call fcn.0044c020
mov byte [ebp - 4], 0xd
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
cmp dword [edi + 0x40], 0
jne 0x4d6f8d
cmp dword [edi + 0x48], 0
jne 0x4d738b
push 0
push 0x1b5b
mov ecx, edi
call fcn.004d5b70
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.004d1b50
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.0048d380
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0044c080
cmp dword [edi + 0x10], 0
je 0x4d701a
lea ecx, [ebp - 0x10]
call fcn.0044f760
test eax, eax
jle 0x4d701a
lea ecx, [edi + 0x4c]
call fcn.0048d3f0
test al, al
je 0x4d6fe1
xor eax, eax
jmp 0x4d6fe9
lea ecx, [edi + 0x4c]
call fcn.0044c0a0
push eax
lea ecx, [ebp - 0x10]
call fcn.0044c0a0
push eax
lea ecx, [edi + 0x5c]
call fcn.0044c0a0
push eax
lea ecx, [edi + 0x60]
call fcn.0044c0a0
push eax
call fcn.004b5560
add esp, 0x10
mov ecx, edi
push eax
push 0x213e
call fcn.004d5b70
push str.ck_W_h
push 0x28
mov ecx, edi
call fcn.004d5b30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
push 0x2ee8
sub esp, 0x18
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterCrcValidate
call fcn.0044c020
mov byte [ebp - 4], 0x10
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a730
call ebx
push str.CRC_setup_files_begin...
push 0x550bb8
mov dword [edi + 0x1b8], eax
call fcn.0048d5c0
add esp, 8
mov ecx, edi
call fcn.004d7960
test eax, eax
jne 0x4d7188
push 0x522b38
push 0x2d
mov ecx, edi
call fcn.004d5b30
push str.Fix_files_begin...
push 0x550bb8
call fcn.0048d5c0
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
push 0x2ee9
sub esp, 0x18
mov byte [ebp - 4], 0x11
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterFixFile
call fcn.0044c020
mov byte [ebp - 4], 0x12
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a730
call ebx
mov ecx, edi
mov esi, eax
call fcn.004d1410
sub esp, 0x18
mov dword [ebp - 0x14], eax
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
push ecx
call fcn.00469370
add esp, 8
mov byte [ebp - 4], 0x13
call ebx
sub eax, esi
push eax
push 0x3aa5
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costFixFiles
call fcn.0044c020
mov byte [ebp - 4], 0x14
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
push str.Fix_files_end...
push 0x550bb8
call fcn.0048d5c0
add esp, 8
cmp dword [edi + 0x40], 0
jne 0x4d7166
cmp dword [edi + 0x48], 0
jne 0x4d738b
cmp dword [ebp - 0x14], 0
jne 0x4d7188
push 0x522b80
push 0x32
push 0xd
mov ecx, edi
call fcn.004d5af0
mov ecx, edi
call fcn.004d3760
jmp 0x4d73a6
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x1c], esp
push dword [edi + 0x40]
push eax
call fcn.00469370
add esp, 8
mov byte [ebp - 4], 0x15
call ebx
sub eax, dword [edi + 0x1b8]
push eax
push 0x3aa4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costCrcValidateFiles
call fcn.0044c020
mov byte [ebp - 4], 0x16
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
push 0
push 0x1b5c
mov ecx, edi
call fcn.004d5b70
push str.CRC_setup_files_end...
push 0x550bb8
call fcn.0048d5c0
add esp, 8
cmp dword [edi + 0x40], 0
jne 0x4d7204
cmp dword [edi + 0x48], 0
jne 0x4d738b
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.004d3500
mov ecx, edi
test eax, eax
jne 0x4d7228
push 0x522ad8
push 0x37
push 0x11
call fcn.004d5af0
jmp 0x4d73a6
push 0
push 0x1b5d
call fcn.004d5b70
cmp dword [edi + 0x40], 0
jne 0x4d7244
cmp dword [edi + 0x48], 0
jne 0x4d738b
push 0x522bc0
push 0x3c
mov ecx, edi
call fcn.004d5b30
cmp dword [edi + 0x18], 0
je 0x4d7278
mov ecx, edi
call fcn.004d3300
test eax, eax
jne 0x4d7278
push 0x522bd4
push 0x41
push 0xa
mov ecx, edi
call fcn.004d5af0
jmp 0x4d73a6
call ebx
push 0x522be4
push 0x550bb8
mov esi, eax
call fcn.0048d900
mov ecx, dword [edi + 8]
add esp, 8
test ecx, ecx
je 0x4d72b8
push 0x7530
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x4d72b8
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 8], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
mov byte [ebp - 4], 0x17
call ebx
sub eax, esi
push eax
push 0x3aa2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costWaitUninstRun
call fcn.0044c020
mov byte [ebp - 4], 0x18
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047ab30
call ebx
sub eax, esi
push eax
push 0x522c04
push 0x550bb8
call fcn.0048d900
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535ba0
call fcn.0044c020
push 0x2eeb
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterInstallAfter
call fcn.0044c020
mov byte [ebp - 4], 0x1a
call fcn.00479f50
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a730
mov ecx, edi
call fcn.004d7c80
mov ecx, edi
call fcn.004d7e10
lea ecx, [edi + 0x1b0]
call fcn.004db5c0
cmp dword [edi + 0x40], 0
jne 0x4d7378
cmp dword [edi + 0x48], 0
jne 0x4d738b
mov ecx, edi
call fcn.004d3070
cmp dword [edi + 0x40], 0
jne 0x4d739d
cmp dword [edi + 0x48], 0
je 0x4d739d
mov eax, dword [edi]
mov ecx, edi
push 0x10
call dword [eax + 0x1c]
mov ecx, edi
call fcn.004d0f20
jmp 0x4d73a6
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1c]
mov ecx, edi
call fcn.004d3440
lea ecx, [ebp - 0x48]
call fcn.004ce0f0
lea ecx, [ebp - 0x10]
call fcn.0044c080
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret