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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5136dd
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x54b144]
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.0047d0b0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0
call fcn.004ccba0
push str.StartInstall...
push 0x54bba8
mov byte [ebp - 4], 1
call fcn.0048d0e0
mov eax, dword [edi + 0x100]
add esp, 8
test eax, eax
je 0x4d4e61
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [edi + 0x3c], 0
jne 0x4d4e71
cmp dword [edi + 0x44], 0
jne 0x4d552b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x531c00
call fcn.0044bfa0
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [ebp - 4], 2
call ebx
sub eax, dword [edi + 0x1b4]
push eax
push 0x3a9c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.costLoadImageToMem
call fcn.0044bfa0
mov byte [ebp - 4], 3
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
call ebx
push 0
push 0x1b59
mov ecx, edi
mov dword [edi + 0x1b4], eax
call fcn.004d3e80
call fcn.004c92d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
push 0x2ee5
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterLoadPackageConfig
call fcn.0044bfa0
mov byte [ebp - 4], 5
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a5a0
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
call fcn.004cfce0
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [edi + 0x1ac]
call fcn.004d8ed0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
mov byte [ebp - 4], 6
call ebx
sub eax, dword [edi + 0x1b4]
push eax
push 0x3a9d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costLoadPackageConfig
call fcn.0044bfa0
mov byte [ebp - 4], 7
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
call ebx
mov dword [edi + 0x1b4], eax
push 0x51f24c
push 5
mov ecx, edi
call fcn.004d3e40
mov ecx, edi
call fcn.004d17e0
test eax, eax
jne 0x4d4fc7
mov esi, dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x6a
mov ecx, edi
call dword [esi + 0x20]
push 0x51f258
push 0xa
push 3
mov ecx, edi
call fcn.004d3e00
jmp 0x4d5546
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
mov byte [ebp - 4], 8
call ebx
sub eax, dword [edi + 0x1b4]
push eax
push 0x3a9e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costPrepareInstall
call fcn.0044bfa0
mov byte [ebp - 4], 9
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
call ebx
push 0
push 0x1b5a
mov ecx, edi
mov dword [edi + 0x1b4], eax
call fcn.004d3e80
cmp dword [edi + 0x3c], 0
jne 0x4d5037
cmp dword [edi + 0x44], 0
jne 0x4d552b
push str.ck_W_e
push 0x19
mov ecx, edi
call fcn.004d3e40
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
push 0x2ee6
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterExtractProductFiles
call fcn.0044bfa0
mov byte [ebp - 4], 0xb
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a5a0
push str.ExtractProductFiles_begin...
push 0x54bba8
call fcn.0048d0e0
add esp, 8
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.004cf9c0
test eax, eax
jne 0x4d50c4
push 0x51f2a0
push 0x23
push dword [ebp - 0x14]
mov ecx, edi
call fcn.004d3e00
mov ecx, edi
call fcn.004d1e30
jmp 0x4d5546
push str.ExtractProductFiles_end...
push 0x54bba8
call fcn.0048d0e0
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
mov byte [ebp - 4], 0xc
call ebx
sub eax, dword [edi + 0x1b4]
push eax
push 0x3aa3
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costExtractProductFiles
call fcn.0044bfa0
mov byte [ebp - 4], 0xd
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
cmp dword [edi + 0x3c], 0
jne 0x4d512d
cmp dword [edi + 0x44], 0
jne 0x4d552b
push 0
push 0x1b5b
mov ecx, edi
call fcn.004d3e80
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.004d0210
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.0048cea0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0044c000
cmp dword [edi + 0xc], 0
je 0x4d51ba
lea ecx, [ebp - 0x10]
call fcn.0044f620
test eax, eax
jle 0x4d51ba
lea ecx, [edi + 0x48]
call fcn.0048cf10
test al, al
je 0x4d5181
xor eax, eax
jmp 0x4d5189
lea ecx, [edi + 0x48]
call fcn.0044c020
push eax
lea ecx, [ebp - 0x10]
call fcn.0044c020
push eax
lea ecx, [edi + 0x58]
call fcn.0044c020
push eax
lea ecx, [edi + 0x5c]
call fcn.0044c020
push eax
call fcn.004b5080
add esp, 0x10
mov ecx, edi
push eax
push 0x213e
call fcn.004d3e80
push str.ck_W_h
push 0x28
mov ecx, edi
call fcn.004d3e40
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
push 0x2ee8
sub esp, 0x18
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterCrcValidate
call fcn.0044bfa0
mov byte [ebp - 4], 0x10
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a5a0
call ebx
push str.CRC_setup_files_begin...
push 0x54bba8
mov dword [edi + 0x1b4], eax
call fcn.0048d0e0
add esp, 8
mov ecx, edi
call fcn.004d57b0
test eax, eax
jne 0x4d5328
push 0x51f300
push 0x2d
mov ecx, edi
call fcn.004d3e40
push str.Fix_files_begin...
push 0x54bba8
call fcn.0048d0e0
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
push 0x2ee9
sub esp, 0x18
mov byte [ebp - 4], 0x11
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterFixFile
call fcn.0044bfa0
mov byte [ebp - 4], 0x12
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a5a0
call ebx
mov ecx, edi
mov esi, eax
call fcn.004cfad0
sub esp, 0x18
mov dword [ebp - 0x14], eax
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
push ecx
call fcn.004691e0
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.0044bfa0
mov byte [ebp - 4], 0x14
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
push str.Fix_files_end...
push 0x54bba8
call fcn.0048d0e0
add esp, 8
cmp dword [edi + 0x3c], 0
jne 0x4d5306
cmp dword [edi + 0x44], 0
jne 0x4d552b
cmp dword [ebp - 0x14], 0
jne 0x4d5328
push 0x51f348
push 0x32
push 0xd
mov ecx, edi
call fcn.004d3e00
mov ecx, edi
call fcn.004d1e30
jmp 0x4d5546
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x1c], esp
push dword [edi + 0x3c]
push eax
call fcn.004691e0
add esp, 8
mov byte [ebp - 4], 0x15
call ebx
sub eax, dword [edi + 0x1b4]
push eax
push 0x3aa4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.costCrcValidateFiles
call fcn.0044bfa0
mov byte [ebp - 4], 0x16
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
push 0
push 0x1b5c
mov ecx, edi
call fcn.004d3e80
push str.CRC_setup_files_end...
push 0x54bba8
call fcn.0048d0e0
add esp, 8
cmp dword [edi + 0x3c], 0
jne 0x4d53a4
cmp dword [edi + 0x44], 0
jne 0x4d552b
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.004d1bd0
mov ecx, edi
test eax, eax
jne 0x4d53c8
push 0x51f2a0
push 0x37
push 0x11
call fcn.004d3e00
jmp 0x4d5546
push 0
push 0x1b5d
call fcn.004d3e80
cmp dword [edi + 0x3c], 0
jne 0x4d53e4
cmp dword [edi + 0x44], 0
jne 0x4d552b
push 0x51f388
push 0x3c
mov ecx, edi
call fcn.004d3e40
cmp dword [edi + 0x14], 0
je 0x4d5418
mov ecx, edi
call fcn.004d19d0
test eax, eax
jne 0x4d5418
push 0x51f39c
push 0x41
push 0xa
mov ecx, edi
call fcn.004d3e00
jmp 0x4d5546
call ebx
push 0x51f3ac
push 0x54bba8
mov esi, eax
call fcn.0048d420
mov ecx, dword [edi + 4]
add esp, 8
test ecx, ecx
je 0x4d5458
push 0x7530
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x4d5458
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
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.0044bfa0
mov byte [ebp - 4], 0x18
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a9a0
call ebx
sub eax, esi
push eax
push 0x51f3cc
push 0x54bba8
call fcn.0048d420
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x531c00
call fcn.0044bfa0
push 0x2eeb
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.actionEnterInstallAfter
call fcn.0044bfa0
mov byte [ebp - 4], 0x1a
call fcn.00479dc0
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0047a5a0
mov ecx, edi
call fcn.004d5a20
mov ecx, edi
call fcn.004d5bb0
lea ecx, [edi + 0x1ac]
call fcn.004d8eb0
cmp dword [edi + 0x3c], 0
jne 0x4d5518
cmp dword [edi + 0x44], 0
jne 0x4d552b
mov ecx, edi
call fcn.004d1740
cmp dword [edi + 0x3c], 0
jne 0x4d553d
cmp dword [edi + 0x44], 0
je 0x4d553d
mov eax, dword [edi]
mov ecx, edi
push 0x10
call dword [eax + 0x1c]
mov ecx, edi
call fcn.004cf6c0
jmp 0x4d5546
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1c]
mov ecx, edi
call fcn.004d1b10
lea ecx, [ebp - 0x48]
call fcn.004cce60
lea ecx, [ebp - 0x10]
call fcn.0044c000
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret