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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42fb93
mov eax, dword fs:[0]
push eax
sub esp, 0x56c
mov eax, dword [0x4411c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x554], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
push str.StartType:0___START_TASK_HOST_RUN.1___START_TASK_RECEIVE_DEVICE.2___START_TASK_ONLY_PCUI_CurrentValue_is__d
call fcn.0042a0d0
add esp, 8
push 0x104
push 0
lea ecx, [ebp - 0x134]
push ecx
call fcn.004097d0
add esp, 0xc
push 0x432df7
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
call fcn.004013a0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x558], edx
cmp dword [ebp - 0x558], 0
je 0x41e6a6
cmp dword [ebp - 0x558], 1
je 0x41e761
cmp dword [ebp - 0x558], 2
je 0x41e8af
jmp 0x41e8b1
mov byte [ebp - 0x13d], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0
jmp 0x41e6d2
mov eax, dword [ebp - 0x138]
add eax, 1
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 4
jge 0x41e730
push 0x1e
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
push ecx
mov ecx, dword [ebp - 0x554]
call fcn.0041ca70
test eax, eax
je 0x41e702
mov byte [ebp - 0x13d], 1
jmp 0x41e730
lea edx, [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0x554]
call fcn.00416400
test eax, eax
je 0x41e72e
push str.Find_PCUI_Port_Successful_
call fcn.0042a0d0
add esp, 4
mov byte [ebp - 0x13d], 1
jmp 0x41e730
jmp 0x41e6c3
movzx eax, byte [ebp - 0x13d]
test eax, eax
jne 0x41e75c
mov byte [ebp - 0x4c1], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x4c1]
jmp 0x41ee1b
jmp 0x41e8d2
mov byte [ebp - 0x15d], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x164], eax
lea ecx, [ebp - 0x15c]
call fcn.004012b0
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x164]
cmp eax, 0x9c40
jae 0x41e863
lea ecx, [ebp - 0x16c]
call fcn.00406750
lea ecx, [ebp - 0x4cc]
push ecx
lea ecx, [ebp + 0xc]
call fcn.00405490
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], eax
jmp 0x41e7d2
lea ecx, [ebp - 0x16c]
call fcn.00403cc0
lea ecx, [ebp - 0x4d4]
push ecx
lea ecx, [ebp + 0xc]
call fcn.004054c0
push eax
lea ecx, [ebp - 0x16c]
call fcn.004055d0
movzx edx, al
test edx, edx
je 0x41e846
lea ecx, [ebp - 0x16c]
call fcn.00405570
push eax
lea ecx, [ebp - 0x15c]
call fcn.00401380
lea ecx, [ebp - 0x15c]
call fcn.004014a0
push eax
call fcn.00425020
add esp, 4
test eax, eax
je 0x41e844
lea eax, [ebp - 0x15c]
push eax
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
call fcn.00401380
mov byte [ebp - 0x15d], 1
jmp 0x41e846
jmp 0x41e7c7
movzx ecx, byte [ebp - 0x15d]
test ecx, ecx
je 0x41e853
jmp 0x41e863
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41e783
movzx edx, byte [ebp - 0x15d]
test edx, edx
jne 0x41e89e
mov byte [ebp - 0x4d5], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.00401360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x4d5]
jmp 0x41ee1b
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.00401360
jmp 0x41e8d2
jmp 0x41e8d2
mov byte [ebp - 0x4d6], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x4d6]
jmp 0x41ee1b
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
call fcn.004014a0
push eax
push str.MS_path_is:_s
call fcn.0042a0d0
add esp, 8
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
call fcn.004014a0
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.00409b50
add esp, 8
push 0x432ea0
lea ecx, [ebp - 0x134]
push ecx
call fcn.00409b60
add esp, 8
lea edx, [ebp - 0x134]
push edx
mov eax, dword [ebp - 0x554]
add eax, 0x240
push eax
call fcn.00409b50
add esp, 8
push 0x432e8f
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
push ecx
call fcn.00405450
add esp, 8
movzx edx, al
test edx, edx
je 0x41ea1a
mov al, byte [0x432e9e]
mov byte [ebp - 0x274], al
push 0x103
push 0
lea ecx, [ebp - 0x273]
push ecx
call fcn.004097d0
add esp, 0xc
lea edx, [ebp - 0x274]
push edx
call fcn.00425ed0
add esp, 4
lea eax, [ebp - 0x274]
push eax
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
call fcn.004013a0
push 0x104
push 0
lea ecx, [ebp - 0x134]
push ecx
call fcn.004097d0
add esp, 0xc
mov ecx, dword [ebp - 0x554]
add ecx, 0xf6c
call fcn.004014a0
push eax
lea edx, [ebp - 0x134]
push edx
call fcn.00409b50
add esp, 8
push 0x432eb0
lea eax, [ebp - 0x134]
push eax
call fcn.00409b60
add esp, 8
lea ecx, [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x554]
add edx, 0x240
push edx
call fcn.00409b50
add esp, 8
jmp 0x41eaa6
push 0x104
push 0
lea eax, [ebp - 0x484]
push eax
call fcn.004097d0
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x37c]
push ecx
call fcn.004097d0
add esp, 0xc
lea edx, [ebp - 0x484]
push edx
call fcn.00425ed0
add esp, 4
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x37c]
push ecx
call fcn.00409b50
add esp, 8
push 0x432ec0
lea edx, [ebp - 0x484]
push edx
call fcn.00409b60
add esp, 8
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x37c]
push ecx
call fcn.00425960
add esp, 8
test eax, eax
jne 0x41eaa6
push str.Copy_sysconfig_from_CDROM_to_PC_failed
call fcn.0042a070
add esp, 4
mov edx, dword [ebp - 0x554]
add edx, 0xd40
push edx
mov ecx, dword [ebp - 0x554]
call fcn.00416d80
movzx eax, al
test eax, eax
jne 0x41eaf3
push str.Get_Module_path_error...
call fcn.0042a070
add esp, 4
mov byte [ebp - 0x4d7], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x4d7]
jmp 0x41ee1b
mov ecx, dword [ebp - 0x554]
add ecx, 0x240
push ecx
mov ecx, dword [ebp - 0x554]
call fcn.0041db80
test eax, eax
jne 0x41eb3d
push str.Read_ms_Sysconfig.dat_failed..
call fcn.0042a070
add esp, 4
mov byte [ebp - 0x4d8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x4d8]
jmp 0x41ee1b
lea ecx, [ebp - 0x2c]
call fcn.004012b0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x554]
call fcn.0041c420
test eax, eax
je 0x41ebaa
lea ecx, [ebp - 0x2c]
call fcn.004014a0
push eax
mov eax, dword [ebp - 0x554]
add eax, 0x38
push eax
call fcn.00409b50
add esp, 8
push 0x432f34
mov ecx, dword [ebp - 0x554]
add ecx, 0x38
push ecx
call fcn.00409b60
add esp, 8
push 0x432f38
mov edx, dword [ebp - 0x554]
add edx, 0x38
push edx
call fcn.00409b60
add esp, 8
jmp 0x41edf3
lea ecx, [ebp - 0x4bc]
call fcn.004012b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4a0]
call fcn.004012b0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x4bc]
push eax
mov ecx, dword [ebp - 0x554]
call fcn.0041c350
test eax, eax
jne 0x41ec36
push str._Get_MS_version_error..
call fcn.0042a070
add esp, 4
mov byte [ebp - 0x4d9], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4a0]
call fcn.00401360
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4bc]
call fcn.00401360
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00401360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x4d9]
jmp 0x41ee1b
mov ecx, dword [0x43be10]
push ecx
push 0x432f60
lea ecx, [ebp - 0x4bc]
call fcn.004064d0
mov dword [ebp - 0x4c0], eax
lea ecx, [ebp - 0x4bc]
call fcn.00402d20
sub eax, dword [ebp - 0x4c0]
push eax
mov edx, dword [ebp - 0x4c0]
add edx, 1
push edx
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x4bc]
call fcn.00401540
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x560], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x560]
push edx
lea ecx, [ebp - 0x4a0]
call fcn.00401380
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4f8]
call fcn.00401360
lea eax, [ebp - 0x4a0]
push eax
push str.SysConfig_C
lea ecx, [ebp - 0x514]
push ecx
call fcn.00404640
add esp, 0xc
mov dword [ebp - 0x564], eax
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x568], edx
mov byte [ebp - 4], 6
push str..dat
mov eax, dword [ebp - 0x568]
push eax
lea ecx, [ebp - 0x530]
push ecx
call fcn.00403570
add esp, 0xc
mov dword [ebp - 0x56c], eax
mov edx, dword [ebp - 0x56c]
mov dword [ebp - 0x570], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x570]
push eax
mov ecx, dword [ebp - 0x554]
add ecx, 0xb48
call fcn.00401380
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x530]
call fcn.00401360
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x514]
call fcn.00401360
push str.SysConfig_
mov ecx, dword [ebp - 0x554]
add ecx, 0xd40
push ecx
lea edx, [ebp - 0x54c]
push edx
call fcn.00403570
add esp, 0xc
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x578]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00401380
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x54c]
call fcn.00401360
mov edx, dword [ebp - 0x554]
add edx, 0xb48
push edx
lea ecx, [ebp - 0x2c]
call fcn.004013c0
lea ecx, [ebp - 0x2c]
call fcn.004014a0
push eax
mov eax, dword [ebp - 0x554]
add eax, 0x38
push eax
call fcn.00409b50
add esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4a0]
call fcn.00401360
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4bc]
call fcn.00401360
mov byte [ebp - 0x54d], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00401360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00402e10
mov al, byte [ebp - 0x54d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00407a6c
mov esp, ebp
pop ebp
ret 0x1c