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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
push 0x2566
mov edi, str.MAIN_DBG:_d_r_n
mov ebp, ecx
push edi
mov esi, 0x4d80e8
push esi
mov dword [esp + 0x24], ebp
call fcn.00410a74
add esp, 0xc
xor ebx, ebx
test byte [0x4d7c0a], 0x20
je 0x42aa2e
push ebx
push ebx
push 0x44a
push dword [0x4d6304]
call fcn.00411e11
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x256c
push edi
push esi
call fcn.00410a74
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4d7fa4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x256e
push edi
push esi
call fcn.00410a74
add esp, 0xc
cmp byte [0x4d7c08], bl
je 0x42aa7b
cmp byte [0x4d7c09], bl
jne 0x42aa7b
mov byte [0x4d7c09], 1
call fcn.00421e09
push 0x2570
push edi
push esi
call fcn.00410a74
add esp, 0xc
mov eax, dword [0x4d80c0]
cmp eax, ebx
je 0x42aa98
cmp word [eax], bx
jne 0x42aafe
push ebx
mov ecx, ebp
call fcn.0041820d
push dword [0x4d80c0]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x2574
push str.MAIN_DBG:_d__u_MyShell__s__r_n
push esi
call fcn.00410a74
mov eax, dword [0x4d80c0]
add esp, 0x14
cmp eax, ebx
je 0x42aace
cmp word [eax], bx
jne 0x42aad9
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.004159e8
cmp byte [0x4d7f94], bl
je 0x42aa8a
cmp byte [0x4d88e8], bl
jne 0x42aa8a
push ebx
push ebx
push 0x44b
push dword [0x4d7fa4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x42aa8a
push 0x257a
push edi
push esi
call fcn.00410a74
mov ebp, dword [sym.imp.KERNEL32.dll_SleepEx]
add esp, 0xc
push 1
push 0xa
call ebp
call fcn.004189ed
cmp byte [0x4d7c08], bl
je 0x42ab3a
cmp byte [0x4d7c09], bl
jne 0x42ab3a
mov byte [0x4d7c09], 1
call fcn.00421e09
push dword [0x4d80c0]
lea ecx, [esp + 0x18]
call fcn.0044cd74
push dword [esp + 0x14]
call fcn.00421e22
mov dword [esp + 0x28], eax
call fcn.004189bc
push dword [esp + 0x28]
call fcn.004108f0
pop ecx
pop ecx
push 1
push 0xa
mov dword [esp + 0x2c], eax
call ebp
mov eax, dword [esp + 0x14]
cmp word [eax], bx
mov byte [esp + 0x13], 2
je 0x42ae4e
mov ebp, 0x4bca0c
push 0x2595
push edi
push esi
call fcn.00410a74
add esp, 0xc
call fcn.00418480
test eax, eax
jne 0x42ae1f
push 0x2597
push edi
push esi
call fcn.00410a74
add esp, 0xc
cmp byte [0x4d7f94], bl
je 0x42abd5
cmp byte [0x4d88e8], bl
jne 0x42abd5
push ebx
push ebx
push 0x44b
push dword [0x4d7fa4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp word [eax], bx
je 0x42ae1f
push 0x259a
push edi
push esi
call fcn.00410a74
push dword [esp + 0x30]
call fcn.0040f755
push 8
push eax
push str.Explorer
mov dword [esp + 0x3c], eax
call fcn.0043eeea
add esp, 0x1c
test al, al
je 0x42ac28
mov ecx, dword [esp + 0x20]
mov ax, word [ecx + 0x10]
cmp ax, 0x2e
je 0x42ac22
cmp ax, bx
jne 0x42ac28
mov dword [esp + 0x20], ecx
jmp 0x42ac2c
mov dword [esp + 0x20], ebx
push 0x259c
push edi
push esi
call fcn.00410a74
add esp, 0xc
test byte [0x4d7c0a], 0x80
jne 0x42ae1f
cmp dword [esp + 0x20], ebx
je 0x42ac66
push ebx
push ebx
push ebx
push ebx
push dword [esp + 0x30]
call fcn.004179bc
add esp, 0x14
test eax, eax
jne 0x42ae1f
call fcn.00411ca3
push 0x259f
push edi
push esi
call fcn.00410a74
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4d7fa4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x25a1
push edi
push esi
call fcn.00410a74
push ebp
push ebp
call sym.PECMD.exe_LoadEnvi
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push dword [esp + 0x14]
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], eax
call fcn.0044cd74
push dword [esp + 0x1c]
call fcn.00411d91
mov dword [esp], 0x25a8
push edi
push esi
mov dword [esp + 0x2c], eax
call fcn.00410a74
add esp, 0xc
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x25a9
push str.MAIN_DBG:_d__u_MyShell__s__r_n
push esi
call fcn.00410a74
add esp, 0x14
cmp byte [esp + 0x13], 2
mov eax, 0x4c1240
jl 0x42ad07
mov eax, 0x4c07a4
push eax
push str.BeforeStart
call fcn.0042a8fe
cmp dword [esp + 0x28], ebx
mov al, byte [esp + 0x1b]
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
push ebx
push ebx
mov byte [0x4d8034], al
push ebx
je 0x42ad35
push dword [esp + 0x28]
call fcn.00433455
jmp 0x42ad4e
push 7
lea eax, [esp + 0x30]
push eax
push ecx
push dword [esp + 0x34]
mov dword [esp + 0x3c], 0x5e
call fcn.0040a2d5
push 0x4c1240
push str.AfterTerm
mov byte [0x4d8034], bl
call fcn.0042a8fe
cmp byte [esp + 0x1b], 1
pop ecx
pop ecx
jle 0x42ad70
dec byte [esp + 0x13]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x28]
cmp eax, 0x7d0
jae 0x42adab
push ebx
push ebx
push 0x1f4
jmp 0x42ada2
mov cx, word [eax]
cmp cx, bx
je 0x42ae11
cmp cx, 0x2a
jne 0x42adc0
cmp word [eax + 2], bx
jne 0x42adc0
push ebx
push ebx
push 0x64
mov ecx, dword [esp + 0x24]
call fcn.004159e8
mov ecx, dword [esp + 0x18]
push ebx
call fcn.0041820d
mov eax, dword [0x4d80c0]
cmp eax, ebx
jne 0x42ad8a
jmp 0x42ae11
push eax
lea ecx, [esp + 0x18]
call fcn.0044cddc
push dword [esp + 0x14]
push 0x25b7
push str.MAIN_DBG:_d_MyShell__s__r_n
push esi
call fcn.00410a74
push dword [esp + 0x24]
call fcn.00421e22
mov dword [esp + 0x3c], eax
call fcn.004189bc
push dword [esp + 0x3c]
call fcn.004108f0
push eax
push 0x25bb
push str.MAIN_DBG:_d_ShellName__s__r_n
push esi
mov dword [esp + 0x4c], eax
call fcn.00410a74
add esp, 0x28
lea ecx, [esp + 0x1c]
call fcn.0043db4f
jmp 0x42ab87
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push 0x1f4
call fcn.004159e8
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
call fcn.0041820d
push dword [0x4d80c0]
lea ecx, [esp + 0x18]
call fcn.0044cddc
jmp 0x42ab87
lea ecx, [esp + 0x14]
call fcn.0043db4f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4