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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
push 0x22ae
mov edi, str.MAIN_DBG:_d_r_n
mov ebp, ecx
push edi
mov esi, 0x4c0fb8
push esi
mov dword [esp + 0x28], ebp
call fcn.0040f70e
add esp, 0xc
xor ebx, ebx
test byte [0x4c4003], 0x20
je 0x42412a
push ebx
push ebx
push 0x44a
push dword [0x4bf2d8]
call fcn.00410950
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x22b4
push edi
push esi
call fcn.0040f70e
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4c0ea4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x22b6
push edi
push esi
call fcn.0040f70e
add esp, 0xc
cmp byte [0x4c4001], bl
je 0x424177
cmp byte [0x4c4002], bl
jne 0x424177
mov byte [0x4c4002], 1
call fcn.0042405f
push 0x22b8
push edi
push esi
call fcn.0040f70e
add esp, 0xc
mov eax, dword [0x4c1058]
cmp eax, ebx
je 0x424194
cmp word [eax], bx
jne 0x4241f3
push ebx
mov ecx, ebp
call fcn.00417410
push dword [0x4c1058]
push 0x22bc
push 0x4ab2d8
push esi
call fcn.0040f70e
mov eax, dword [0x4c1058]
add esp, 0x10
cmp eax, ebx
je 0x4241c3
cmp word [eax], bx
jne 0x4241ce
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00413b53
cmp byte [0x4c0e94], bl
je 0x424186
cmp byte [0x4c1778], bl
jne 0x424186
push ebx
push ebx
push 0x44b
push dword [0x4c0ea4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x424186
push 0x22c2
push edi
push esi
call fcn.0040f70e
mov ebp, dword [sym.imp.KERNEL32.DLL_SleepEx]
add esp, 0xc
push 1
push 0xa
call ebp
call fcn.00417eaf
cmp byte [0x4c4001], bl
je 0x42422f
cmp byte [0x4c4002], bl
jne 0x42422f
mov byte [0x4c4002], 1
call fcn.0042405f
push dword [0x4c1058]
lea ecx, [esp + 0x18]
call fcn.00446497
push dword [esp + 0x14]
call fcn.00424078
mov dword [esp + 0x24], eax
call fcn.00417e7e
push dword [esp + 0x24]
call fcn.0040f58d
pop ecx
pop ecx
push 1
push 0xa
mov dword [esp + 0x28], eax
call ebp
mov eax, dword [esp + 0x14]
cmp word [eax], bx
mov byte [esp + 0x13], 2
je 0x424523
push 0x22dd
push edi
push esi
call fcn.0040f70e
add esp, 0xc
call fcn.0041765a
test eax, eax
jne 0x4244f4
push 0x22df
push edi
push esi
call fcn.0040f70e
add esp, 0xc
cmp byte [0x4c0e94], bl
je 0x4242c5
cmp byte [0x4c1778], bl
jne 0x4242c5
push ebx
push ebx
push 0x44b
push dword [0x4c0ea4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp word [eax], bx
je 0x4244f4
push 0x22e2
push edi
push esi
call fcn.0040f70e
push dword [esp + 0x2c]
call fcn.0040e69a
mov ebp, eax
push 8
push ebp
push str.Explorer
call fcn.0043917b
add esp, 0x1c
test al, al
je 0x42430c
mov ax, word [ebp + 0x10]
cmp ax, 0x2e
je 0x42430e
cmp ax, bx
je 0x42430e
xor ebp, ebp
push 0x22e4
push edi
push esi
call fcn.0040f70e
add esp, 0xc
test byte [0x4c4003], 0x80
jne 0x4244f4
cmp ebp, ebx
je 0x424343
push ebx
push ebx
push ebx
push ebx
push ebp
call fcn.004160e4
add esp, 0x14
test eax, eax
jne 0x4244f4
call fcn.00410797
push 0x22e7
push edi
push esi
call fcn.0040f70e
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4c0ea4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x22e9
push edi
push esi
call fcn.0040f70e
mov eax, 0x4a69d4
push eax
push eax
call fcn.00485ae9
add esp, 0x14
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push dword [esp + 0x14]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], eax
call fcn.00446497
push dword [esp + 0x18]
call fcn.004108d0
mov dword [esp], 0x22f0
push edi
push esi
mov ebp, eax
call fcn.0040f70e
push dword [esp + 0x24]
push 0x22f1
push 0x4ab2d8
push esi
call fcn.0040f70e
add esp, 0x1c
cmp byte [esp + 0x13], 2
mov eax, 0x4ab2d4
jl 0x4243dd
mov eax, 0x4aa5a0
push eax
push str.BeforeStart
call fcn.00410885
cmp ebp, ebx
mov al, byte [esp + 0x1b]
pop ecx
pop ecx
push ebx
push ebx
mov byte [0x4c0f34], al
push ebx
je 0x42440b
mov ebp, dword [esp + 0x28]
push dword [esp + 0x24]
mov ecx, ebp
call fcn.0042d06c
jmp 0x42442c
mov ecx, dword [esp + 0x28]
push 7
lea eax, [esp + 0x34]
push eax
push ecx
push dword [esp + 0x30]
mov dword [esp + 0x40], 0x5e
call fcn.00409677
mov ebp, dword [esp + 0x1c]
push 0x4ab2d4
push str.AfterTerm
mov byte [0x4c0f34], bl
call fcn.00410885
cmp byte [esp + 0x1b], 1
pop ecx
pop ecx
jle 0x42444e
dec byte [esp + 0x13]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [esp + 0x28]
cmp eax, 0x7d0
jae 0x424487
push ebx
push ebx
push 0x1f4
jmp 0x424480
mov cx, word [eax]
cmp cx, bx
je 0x4244e6
cmp cx, 0x2a
jne 0x42449a
cmp word [eax + 2], bx
jne 0x42449a
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00413b53
mov ecx, ebp
push ebx
call fcn.00417410
mov eax, dword [0x4c1058]
cmp eax, ebx
jne 0x424468
jmp 0x4244e6
push eax
lea ecx, [esp + 0x18]
call fcn.004464ff
push dword [esp + 0x14]
push 0x22ff
push 0x4ab2d8
push esi
call fcn.0040f70e
push dword [esp + 0x24]
call fcn.00424078
mov ebp, eax
call fcn.00417e7e
push ebp
call fcn.0040f58d
push eax
push 0x2303
push 0x4ab270
push esi
mov dword [esp + 0x48], eax
call fcn.0040f70e
add esp, 0x28
lea ecx, [esp + 0x18]
call fcn.00437e1a
jmp 0x424277
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0x1f4
call fcn.00413b53
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
call fcn.00417410
push dword [0x4c1058]
lea ecx, [esp + 0x18]
call fcn.004464ff
jmp 0x424277
lea ecx, [esp + 0x14]
call fcn.00437e1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4