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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
push 0x2267
mov edi, str.MAIN_DBG:_d_r_n
mov ebp, ecx
push edi
mov esi, 0x4bdfa0
push esi
mov dword [esp + 0x28], ebp
call fcn.0040f209
add esp, 0xc
xor ebx, ebx
test byte [0x4c1003], 0x20
je 0x423a7c
push ebx
push ebx
push 0x44a
push dword [0x4bc2d8]
call fcn.00410458
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x226d
push edi
push esi
call fcn.0040f209
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4bde88]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x226f
push edi
push esi
call fcn.0040f209
add esp, 0xc
cmp byte [0x4c1001], bl
je 0x423ac9
cmp byte [0x4c1002], bl
jne 0x423ac9
mov byte [0x4c1002], 1
call fcn.004239b1
push 0x2271
push edi
push esi
call fcn.0040f209
add esp, 0xc
mov eax, dword [0x4be040]
cmp eax, ebx
je 0x423ae6
cmp word [eax], bx
jne 0x423b45
push ebx
mov ecx, ebp
call fcn.00416f31
push dword [0x4be040]
push 0x2275
push 0x4a8468
push esi
call fcn.0040f209
mov eax, dword [0x4be040]
add esp, 0x10
cmp eax, ebx
je 0x423b15
cmp word [eax], bx
jne 0x423b20
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.004137db
cmp byte [0x4bde78], bl
je 0x423ad8
cmp byte [0x4be728], bl
jne 0x423ad8
push ebx
push ebx
push 0x44b
push dword [0x4bde88]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x423ad8
push 0x227b
push edi
push esi
call fcn.0040f209
mov ebp, dword [sym.imp.KERNEL32.dll_SleepEx]
add esp, 0xc
push 1
push 0xa
call ebp
call fcn.004179d0
cmp byte [0x4c1001], bl
je 0x423b81
cmp byte [0x4c1002], bl
jne 0x423b81
mov byte [0x4c1002], 1
call fcn.004239b1
push dword [0x4be040]
lea ecx, [esp + 0x18]
call fcn.00445746
push dword [esp + 0x14]
call fcn.004239ca
mov dword [esp + 0x24], eax
call fcn.0041799f
push dword [esp + 0x24]
call fcn.0040f088
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 0x423e75
push 0x2296
push edi
push esi
call fcn.0040f209
add esp, 0xc
call fcn.0041717b
test eax, eax
jne 0x423e46
push 0x2298
push edi
push esi
call fcn.0040f209
add esp, 0xc
cmp byte [0x4bde78], bl
je 0x423c17
cmp byte [0x4be728], bl
jne 0x423c17
push ebx
push ebx
push 0x44b
push dword [0x4bde88]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
cmp word [eax], bx
je 0x423e46
push 0x229b
push edi
push esi
call fcn.0040f209
push dword [esp + 0x2c]
call fcn.0040e1a6
mov ebp, eax
push 8
push ebp
push str.Explorer
call fcn.00438aa1
add esp, 0x1c
test al, al
je 0x423c5e
mov ax, word [ebp + 0x10]
cmp ax, 0x2e
je 0x423c60
cmp ax, bx
je 0x423c60
xor ebp, ebp
push 0x229d
push edi
push esi
call fcn.0040f209
add esp, 0xc
test byte [0x4c1003], 0x80
jne 0x423e46
cmp ebp, ebx
je 0x423c95
push ebx
push ebx
push ebx
push ebx
push ebp
call fcn.00415c08
add esp, 0x14
test eax, eax
jne 0x423e46
call fcn.004102f4
push 0x22a0
push edi
push esi
call fcn.0040f209
add esp, 0xc
push ebx
push ebx
push 0x44a
push dword [0x4bde88]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x22a2
push edi
push esi
call fcn.0040f209
mov eax, 0x4a39d4
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.00445746
push dword [esp + 0x18]
call fcn.004103d8
mov dword [esp], 0x22a9
push edi
push esi
mov ebp, eax
call fcn.0040f209
push dword [esp + 0x24]
push 0x22aa
push 0x4a8468
push esi
call fcn.0040f209
add esp, 0x1c
cmp byte [esp + 0x13], 2
mov eax, 0x4a8464
jl 0x423d2f
mov eax, 0x4a7658
push eax
push str.BeforeStart
call fcn.0041038d
cmp ebp, ebx
mov al, byte [esp + 0x1b]
pop ecx
pop ecx
push ebx
mov byte [0x4bdf18], al
push ebx
je 0x423d5d
mov ebp, dword [esp + 0x24]
push ebx
push dword [esp + 0x24]
mov ecx, ebp
call fcn.0042cae7
jmp 0x423d7e
mov ecx, dword [esp + 0x24]
push 7
lea eax, [esp + 0x30]
push eax
push ecx
push dword [esp + 0x2c]
mov dword [esp + 0x3c], 0x5e
call fcn.00409460
mov ebp, dword [esp + 0x1c]
push 0x4a8464
push str.AfterTerm
mov byte [0x4bdf18], bl
call fcn.0041038d
cmp byte [esp + 0x1b], 1
pop ecx
pop ecx
jle 0x423da0
dec byte [esp + 0x13]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x28]
cmp eax, 0x7d0
jae 0x423dd9
push ebx
push ebx
push 0x1f4
jmp 0x423dd2
mov cx, word [eax]
cmp cx, bx
je 0x423e38
cmp cx, 0x2a
jne 0x423dec
cmp word [eax + 2], bx
jne 0x423dec
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.004137db
mov ecx, ebp
push ebx
call fcn.00416f31
mov eax, dword [0x4be040]
cmp eax, ebx
jne 0x423dba
jmp 0x423e38
push eax
lea ecx, [esp + 0x18]
call fcn.004457ae
push dword [esp + 0x14]
push 0x22b8
push 0x4a8468
push esi
call fcn.0040f209
push dword [esp + 0x24]
call fcn.004239ca
mov ebp, eax
call fcn.0041799f
push ebp
call fcn.0040f088
push eax
push 0x22bc
push 0x4a8400
push esi
mov dword [esp + 0x48], eax
call fcn.0040f209
add esp, 0x28
lea ecx, [esp + 0x18]
call fcn.00437884
jmp 0x423bc9
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0x1f4
call fcn.004137db
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
call fcn.00416f31
push dword [0x4be040]
lea ecx, [esp + 0x18]
call fcn.004457ae
jmp 0x423bc9
lea ecx, [esp + 0x14]
call fcn.00437884
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4