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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
push 0x223f
mov edi, str.MAIN_DBG:_d_r_n
mov ebp, ecx
push edi
mov esi, 0x4c9048
push esi
mov dword [esp + 0x28], ebp
call fcn.0041009a
add esp, 0xc
xor ebx, ebx
test byte [0x4cc003], 0x20
je 0x4231aa
push ebx
push ebx
push 0x44a
push dword [0x4c72cc]
call fcn.00411253
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x2245
push edi
push esi
call fcn.0041009a
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4c8f08]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x2247
push edi
push esi
call fcn.0041009a
add esp, 0xc
cmp byte [0x4cc001], bl
je 0x4231f7
cmp byte [0x4cc002], bl
jne 0x4231f7
mov byte [0x4cc002], 1
call fcn.004230df
push 0x2249
push edi
push esi
call fcn.0041009a
add esp, 0xc
mov eax, dword [0x4c9020]
cmp eax, ebx
je 0x423214
cmp word [eax], bx
jne 0x423273
push ebx
mov ecx, ebp
call fcn.0041856f
push dword [0x4c9020]
push 0x224d
push 0x4b3470
push esi
call fcn.0041009a
mov eax, dword [0x4c9020]
add esp, 0x10
cmp eax, ebx
je 0x423243
cmp word [eax], bx
jne 0x42324e
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00414c28
cmp byte [0x4c8ef8], bl
je 0x423206
cmp byte [0x4c97f8], bl
jne 0x423206
push ebx
push ebx
push 0x44b
push dword [0x4c8f08]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x423206
push 0x2253
push edi
push esi
call fcn.0041009a
mov ebp, dword [sym.imp.KERNEL32.dll_SleepEx]
add esp, 0xc
push 1
push 0xa
call ebp
call fcn.0041900e
cmp byte [0x4cc001], bl
je 0x4232af
cmp byte [0x4cc002], bl
jne 0x4232af
mov byte [0x4cc002], 1
call fcn.004230df
push dword [0x4c9020]
lea ecx, [esp + 0x18]
call fcn.00448399
push dword [esp + 0x14]
call fcn.004230f8
mov dword [esp + 0x24], eax
call fcn.00418fdd
push dword [esp + 0x24]
call fcn.0040ff16
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 0x4235a3
push 0x226e
push edi
push esi
call fcn.0041009a
add esp, 0xc
call fcn.004187b9
test eax, eax
jne 0x423574
push 0x2270
push edi
push esi
call fcn.0041009a
add esp, 0xc
cmp byte [0x4c8ef8], bl
je 0x423345
cmp byte [0x4c97f8], bl
jne 0x423345
push ebx
push ebx
push 0x44b
push dword [0x4c8f08]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp word [eax], bx
je 0x423574
push 0x2273
push edi
push esi
call fcn.0041009a
push dword [esp + 0x2c]
call fcn.0040ee1b
mov ebp, eax
push 8
push ebp
push str.Explorer
call fcn.0043af58
add esp, 0x1c
test al, al
je 0x42338c
mov ax, word [ebp + 0x10]
cmp ax, 0x2e
je 0x42338e
cmp ax, bx
je 0x42338e
xor ebp, ebp
push 0x2275
push edi
push esi
call fcn.0041009a
add esp, 0xc
test byte [0x4cc003], 0x80
jne 0x423574
cmp ebp, ebx
je 0x4233c3
push ebx
push ebx
push ebx
push ebx
push ebp
call fcn.004171b9
add esp, 0x14
test eax, eax
jne 0x423574
call fcn.0041109a
push 0x2278
push edi
push esi
call fcn.0041009a
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4c8f08]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x227a
push edi
push esi
call fcn.0041009a
mov eax, 0x4ae9fc
push eax
push eax
call sym.PECMD.exe_LoadEnvi
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.00448399
push dword [esp + 0x18]
call fcn.004111d3
mov dword [esp], 0x2281
push edi
push esi
mov ebp, eax
call fcn.0041009a
push dword [esp + 0x24]
push 0x2282
push 0x4b3470
push esi
call fcn.0041009a
add esp, 0x1c
cmp byte [esp + 0x13], 2
mov eax, 0x4b346c
jl 0x42345d
mov eax, 0x4b2878
push eax
push str.BeforeStart
call fcn.00411188
cmp ebp, ebx
mov al, byte [esp + 0x1b]
pop ecx
pop ecx
push ebx
push ebx
mov byte [0x4c8f94], al
push ebx
je 0x42348b
mov ebp, dword [esp + 0x28]
push dword [esp + 0x24]
mov ecx, ebp
call fcn.0042e6e7
jmp 0x4234ac
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.00409c61
mov ebp, dword [esp + 0x1c]
push 0x4b346c
push str.AfterTerm
mov byte [0x4c8f94], bl
call fcn.00411188
cmp byte [esp + 0x1b], 1
pop ecx
pop ecx
jle 0x4234ce
dec byte [esp + 0x13]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x28]
cmp eax, 0x7d0
jae 0x423507
push ebx
push ebx
push 0x1f4
jmp 0x423500
mov cx, word [eax]
cmp cx, bx
je 0x423566
cmp cx, 0x2a
jne 0x42351a
cmp word [eax + 2], bx
jne 0x42351a
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00414c28
mov ecx, ebp
push ebx
call fcn.0041856f
mov eax, dword [0x4c9020]
cmp eax, ebx
jne 0x4234e8
jmp 0x423566
push eax
lea ecx, [esp + 0x18]
call fcn.00448401
push dword [esp + 0x14]
push 0x2290
push 0x4b3470
push esi
call fcn.0041009a
push dword [esp + 0x24]
call fcn.004230f8
mov ebp, eax
call fcn.00418fdd
push ebp
call fcn.0040ff16
push eax
push 0x2294
push 0x4b3408
push esi
mov dword [esp + 0x48], eax
call fcn.0041009a
add esp, 0x28
lea ecx, [esp + 0x18]
call fcn.00439cfd
jmp 0x4232f7
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0x1f4
call fcn.00414c28
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
call fcn.0041856f
push dword [0x4c9020]
lea ecx, [esp + 0x18]
call fcn.00448401
jmp 0x4232f7
lea ecx, [esp + 0x14]
call fcn.00439cfd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4