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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
push 0x263e
mov edi, str.MAIN_DBG:_d_r_n
mov ebp, ecx
push edi
mov esi, 0x4dc0f8
push esi
mov dword [esp + 0x24], ebp
call fcn.00411099
add esp, 0xc
xor ebx, ebx
test byte [0x4dbc16], 0x20
je 0x42b0a4
push ebx
push ebx
push 0x44a
push dword [0x4da304]
call fcn.00412436
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x2644
push edi
push esi
call fcn.00411099
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4dbfb4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x2646
push edi
push esi
call fcn.00411099
add esp, 0xc
cmp byte [0x4dbc14], bl
je 0x42b0f1
cmp byte [0x4dbc15], bl
jne 0x42b0f1
mov byte [0x4dbc15], 1
call fcn.004211b3
push 0x2648
push edi
push esi
call fcn.00411099
add esp, 0xc
mov eax, dword [0x4dc0d0]
cmp eax, ebx
je 0x42b10e
cmp word [eax], bx
jne 0x42b174
push ebx
mov ecx, ebp
call fcn.00418858
push dword [0x4dc0d0]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x264c
push str.MAIN_DBG:_d__u_MyShell__s__r_n
push esi
call fcn.00411099
mov eax, dword [0x4dc0d0]
add esp, 0x14
cmp eax, ebx
je 0x42b144
cmp word [eax], bx
jne 0x42b14f
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00415ff0
cmp byte [0x4dbfa4], bl
je 0x42b100
cmp byte [0x4dc918], bl
jne 0x42b100
push ebx
push ebx
push 0x44b
push dword [0x4dbfb4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x42b100
push 0x2652
push edi
push esi
call fcn.00411099
mov ebp, dword [sym.imp.KERNEL32.dll_SleepEx]
add esp, 0xc
push 1
push 0xa
call ebp
call fcn.00419038
cmp byte [0x4dbc14], bl
je 0x42b1b0
cmp byte [0x4dbc15], bl
jne 0x42b1b0
mov byte [0x4dbc15], 1
call fcn.004211b3
push dword [0x4dc0d0]
lea ecx, [esp + 0x18]
call fcn.0044e66d
push dword [esp + 0x14]
call fcn.004211cc
mov dword [esp + 0x28], eax
call fcn.00419007
push dword [esp + 0x28]
call fcn.00410f15
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 0x42b4c4
mov ebp, 0x4c0a1c
push 0x266d
push edi
push esi
call fcn.00411099
add esp, 0xc
call fcn.00418acb
test eax, eax
jne 0x42b495
push 0x266f
push edi
push esi
call fcn.00411099
add esp, 0xc
cmp byte [0x4dbfa4], bl
je 0x42b24b
cmp byte [0x4dc918], bl
jne 0x42b24b
push ebx
push ebx
push 0x44b
push dword [0x4dbfb4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp word [eax], bx
je 0x42b495
push 0x2672
push edi
push esi
call fcn.00411099
push dword [esp + 0x30]
call fcn.0040fcda
push 8
push eax
push str.Explorer
mov dword [esp + 0x3c], eax
call fcn.0043fac4
add esp, 0x1c
test al, al
je 0x42b29e
mov ecx, dword [esp + 0x20]
mov ax, word [ecx + 0x10]
cmp ax, 0x2e
je 0x42b298
cmp ax, bx
jne 0x42b29e
mov dword [esp + 0x20], ecx
jmp 0x42b2a2
mov dword [esp + 0x20], ebx
push 0x2674
push edi
push esi
call fcn.00411099
add esp, 0xc
test byte [0x4dbc16], 0x80
jne 0x42b495
cmp dword [esp + 0x20], ebx
je 0x42b2dc
push ebx
push ebx
push ebx
push ebx
push dword [esp + 0x30]
call fcn.00418007
add esp, 0x14
test eax, eax
jne 0x42b495
call fcn.004122c8
push 0x2677
push edi
push esi
call fcn.00411099
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4dbfb4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x2679
push edi
push esi
call fcn.00411099
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.0044e66d
push dword [esp + 0x1c]
call fcn.004123b6
mov dword [esp], 0x2680
push edi
push esi
mov dword [esp + 0x2c], eax
call fcn.00411099
add esp, 0xc
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x2681
push str.MAIN_DBG:_d__u_MyShell__s__r_n
push esi
call fcn.00411099
add esp, 0x14
cmp byte [esp + 0x13], 2
mov eax, 0x4c52e8
jl 0x42b37d
mov eax, 0x4c4840
push eax
push str.BeforeStart
call fcn.0042af74
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 [0x4dc044], al
push ebx
je 0x42b3ab
push dword [esp + 0x28]
call fcn.00433f41
jmp 0x42b3c4
push 7
lea eax, [esp + 0x30]
push eax
push ecx
push dword [esp + 0x34]
mov dword [esp + 0x3c], 0x5e
call fcn.0040a810
push 0x4c52e8
push str.AfterTerm
mov byte [0x4dc044], bl
call fcn.0042af74
cmp byte [esp + 0x1b], 1
pop ecx
pop ecx
jle 0x42b3e6
dec byte [esp + 0x13]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x28]
cmp eax, 0x7d0
jae 0x42b421
push ebx
push ebx
push 0x1f4
jmp 0x42b418
mov cx, word [eax]
cmp cx, bx
je 0x42b487
cmp cx, 0x2a
jne 0x42b436
cmp word [eax + 2], bx
jne 0x42b436
push ebx
push ebx
push 0x64
mov ecx, dword [esp + 0x24]
call fcn.00415ff0
mov ecx, dword [esp + 0x18]
push ebx
call fcn.00418858
mov eax, dword [0x4dc0d0]
cmp eax, ebx
jne 0x42b400
jmp 0x42b487
push eax
lea ecx, [esp + 0x18]
call fcn.0044e6d5
push dword [esp + 0x14]
push 0x268f
push str.MAIN_DBG:_d_MyShell__s__r_n
push esi
call fcn.00411099
push dword [esp + 0x24]
call fcn.004211cc
mov dword [esp + 0x3c], eax
call fcn.00419007
push dword [esp + 0x3c]
call fcn.00410f15
push eax
push 0x2693
push str.MAIN_DBG:_d_ShellName__s__r_n
push esi
mov dword [esp + 0x4c], eax
call fcn.00411099
add esp, 0x28
lea ecx, [esp + 0x1c]
call fcn.0043e679
jmp 0x42b1fd
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push 0x1f4
call fcn.00415ff0
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
call fcn.00418858
push dword [0x4dc0d0]
lea ecx, [esp + 0x18]
call fcn.0044e6d5
jmp 0x42b1fd
lea ecx, [esp + 0x14]
call fcn.0043e679
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4