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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51706d
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.0047d1f0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0
call fcn.004ce0b0
push str.StartInstall...
push 0x550bb8
mov byte [ebp - 4], 1
call fcn.0048d540
mov eax, dword [edi + 0x104]
add esp, 8
test eax, eax
je 0x4d7031
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [edi + 0x40], 0
jne 0x4d7041
cmp dword [edi + 0x48], 0
jne 0x4d76fb
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
call ebx
push 0
push 0x1b59
mov ecx, edi
mov dword [edi + 0x1b8], eax
call fcn.004d5e50
call fcn.004ca3f0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a6e0
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
call fcn.004d1910
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [edi + 0x1b0]
call fcn.004db950
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
call ebx
mov dword [edi + 0x1b8], eax
push 0x522bd4
push 5
mov ecx, edi
call fcn.004d5e10
mov ecx, edi
call fcn.004d3400
test eax, eax
jne 0x4d7197
mov esi, dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x6a
mov ecx, edi
call dword [esi + 0x20]
push 0x522be0
push 0xa
push 3
mov ecx, edi
call fcn.004d5dd0
jmp 0x4d7716
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
call ebx
push 0
push 0x1b5a
mov ecx, edi
mov dword [edi + 0x1b8], eax
call fcn.004d5e50
cmp dword [edi + 0x40], 0
jne 0x4d7207
cmp dword [edi + 0x48], 0
jne 0x4d76fb
push str.ck_W_e
push 0x19
mov ecx, edi
call fcn.004d5e10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a6e0
push str.ExtractProductFiles_begin...
push 0x550bb8
call fcn.0048d540
add esp, 8
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.004d15f0
test eax, eax
jne 0x4d7294
push 0x522c28
push 0x23
push dword [ebp - 0x14]
mov ecx, edi
call fcn.004d5dd0
mov ecx, edi
call fcn.004d3a50
jmp 0x4d7716
push str.ExtractProductFiles_end...
push 0x550bb8
call fcn.0048d540
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
cmp dword [edi + 0x40], 0
jne 0x4d72fd
cmp dword [edi + 0x48], 0
jne 0x4d76fb
push 0
push 0x1b5b
mov ecx, edi
call fcn.004d5e50
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.004d1e40
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.0048d300
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0044c080
cmp dword [edi + 0x10], 0
je 0x4d738a
lea ecx, [ebp - 0x10]
call fcn.0044f760
test eax, eax
jle 0x4d738a
lea ecx, [edi + 0x4c]
call fcn.0048d370
test al, al
je 0x4d7351
xor eax, eax
jmp 0x4d7359
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.004b5650
add esp, 0x10
mov ecx, edi
push eax
push 0x213e
call fcn.004d5e50
push str.ck_W_h
push 0x28
mov ecx, edi
call fcn.004d5e10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a6e0
call ebx
push str.CRC_setup_files_begin...
push 0x550bb8
mov dword [edi + 0x1b8], eax
call fcn.0048d540
add esp, 8
mov ecx, edi
call fcn.004d7cd0
test eax, eax
jne 0x4d74f8
push 0x522c88
push 0x2d
mov ecx, edi
call fcn.004d5e10
push str.Fix_files_begin...
push 0x550bb8
call fcn.0048d540
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a6e0
call ebx
mov ecx, edi
mov esi, eax
call fcn.004d1700
sub esp, 0x18
mov dword [ebp - 0x14], eax
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
push ecx
call fcn.00469300
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
push str.Fix_files_end...
push 0x550bb8
call fcn.0048d540
add esp, 8
cmp dword [edi + 0x40], 0
jne 0x4d74d6
cmp dword [edi + 0x48], 0
jne 0x4d76fb
cmp dword [ebp - 0x14], 0
jne 0x4d74f8
push 0x522cd0
push 0x32
push 0xd
mov ecx, edi
call fcn.004d5dd0
mov ecx, edi
call fcn.004d3a50
jmp 0x4d7716
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x1c], esp
push dword [edi + 0x40]
push eax
call fcn.00469300
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
push 0
push 0x1b5c
mov ecx, edi
call fcn.004d5e50
push str.CRC_setup_files_end...
push 0x550bb8
call fcn.0048d540
add esp, 8
cmp dword [edi + 0x40], 0
jne 0x4d7574
cmp dword [edi + 0x48], 0
jne 0x4d76fb
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.004d37f0
mov ecx, edi
test eax, eax
jne 0x4d7598
push 0x522c28
push 0x37
push 0x11
call fcn.004d5dd0
jmp 0x4d7716
push 0
push 0x1b5d
call fcn.004d5e50
cmp dword [edi + 0x40], 0
jne 0x4d75b4
cmp dword [edi + 0x48], 0
jne 0x4d76fb
push 0x522d10
push 0x3c
mov ecx, edi
call fcn.004d5e10
cmp dword [edi + 0x18], 0
je 0x4d75e8
mov ecx, edi
call fcn.004d35f0
test eax, eax
jne 0x4d75e8
push 0x522d24
push 0x41
push 0xa
mov ecx, edi
call fcn.004d5dd0
jmp 0x4d7716
call ebx
push 0x522d34
push 0x550bb8
mov esi, eax
call fcn.0048d880
mov ecx, dword [edi + 8]
add esp, 8
test ecx, ecx
je 0x4d7628
push 0x7530
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x4d7628
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 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047aae0
call ebx
sub eax, esi
push eax
push 0x522d54
push 0x550bb8
call fcn.0048d880
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x535d00
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.00479f00
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a6e0
mov ecx, edi
call fcn.004d7ff0
mov ecx, edi
call fcn.004d8180
lea ecx, [edi + 0x1b0]
call fcn.004db930
cmp dword [edi + 0x40], 0
jne 0x4d76e8
cmp dword [edi + 0x48], 0
jne 0x4d76fb
mov ecx, edi
call fcn.004d3360
cmp dword [edi + 0x40], 0
jne 0x4d770d
cmp dword [edi + 0x48], 0
je 0x4d770d
mov eax, dword [edi]
mov ecx, edi
push 0x10
call dword [eax + 0x1c]
mov ecx, edi
call fcn.004d1210
jmp 0x4d7716
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1c]
mov ecx, edi
call fcn.004d3730
lea ecx, [ebp - 0x48]
call fcn.004ce3e0
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