Function at 0x423afc
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.0040f2bd
add esp, 0xc
xor ebx, ebx
test byte [0x4c1003], 0x20
je 0x423b47
push ebx
push ebx
push 0x44a
push dword [0x4bc2d8]
call fcn.0041050c
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x226d
push edi
push esi
call fcn.0040f2bd
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.0040f2bd
add esp, 0xc
cmp byte [0x4c1001], bl
je 0x423b94
cmp byte [0x4c1002], bl
jne 0x423b94
mov byte [0x4c1002], 1
call fcn.00423a7c
push 0x2271
push edi
push esi
call fcn.0040f2bd
add esp, 0xc
mov eax, dword [0x4be040]
cmp eax, ebx
je 0x423bb1
cmp word [eax], bx
jne 0x423c10
push ebx
mov ecx, ebp
call fcn.00416fb0
push dword [0x4be040]
push 0x2275
push 0x4a84b8
push esi
call fcn.0040f2bd
mov eax, dword [0x4be040]
add esp, 0x10
cmp eax, ebx
je 0x423be0
cmp word [eax], bx
jne 0x423beb
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00413857
cmp byte [0x4bde78], bl
je 0x423ba3
cmp byte [0x4be728], bl
jne 0x423ba3
push ebx
push ebx
push 0x44b
push dword [0x4bde88]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x423ba3
push 0x227b
push edi
push esi
call fcn.0040f2bd
mov ebp, dword [sym.imp.KERNEL32.DLL_SleepEx]
add esp, 0xc
push 1
push 0xa
call ebp
call fcn.00417a4f
cmp byte [0x4c1001], bl
je 0x423c4c
cmp byte [0x4c1002], bl
jne 0x423c4c
mov byte [0x4c1002], 1
call fcn.00423a7c
push dword [0x4be040]
lea ecx, [esp + 0x18]
call fcn.004457e4
push dword [esp + 0x14]
call fcn.00423a95
mov dword [esp + 0x24], eax
call fcn.00417a1e
push dword [esp + 0x24]
call fcn.0040f13c
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 0x423f40
push 0x2296
push edi
push esi
call fcn.0040f2bd
add esp, 0xc
call fcn.004171fa
test eax, eax
jne 0x423f11
push 0x2298
push edi
push esi
call fcn.0040f2bd
add esp, 0xc
cmp byte [0x4bde78], bl
je 0x423ce2
cmp byte [0x4be728], bl
jne 0x423ce2
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 0x423f11
push 0x229b
push edi
push esi
call fcn.0040f2bd
push dword [esp + 0x2c]
call fcn.0040e25a
mov ebp, eax
push 8
push ebp
push str.Explorer
call fcn.00438b8f
add esp, 0x1c
test al, al
je 0x423d29
mov ax, word [ebp + 0x10]
cmp ax, 0x2e
je 0x423d2b
cmp ax, bx
je 0x423d2b
xor ebp, ebp
push 0x229d
push edi
push esi
call fcn.0040f2bd
add esp, 0xc
test byte [0x4c1003], 0x80
jne 0x423f11
cmp ebp, ebx
je 0x423d60
push ebx
push ebx
push ebx
push ebx
push ebp
call fcn.00415c84
add esp, 0x14
test eax, eax
jne 0x423f11
call fcn.004103a8
push 0x22a0
push edi
push esi
call fcn.0040f2bd
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.0040f2bd
mov eax, 0x4a39d4
push eax
push eax
call fcn.00482501
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.004457e4
push dword [esp + 0x18]
call fcn.0041048c
mov dword [esp], 0x22a9
push edi
push esi
mov ebp, eax
call fcn.0040f2bd
push dword [esp + 0x24]
push 0x22aa
push 0x4a84b8
push esi
call fcn.0040f2bd
add esp, 0x1c
cmp byte [esp + 0x13], 2
mov eax, 0x4a84b4
jl 0x423dfa
mov eax, 0x4a76a8
push eax
push str.BeforeStart
call fcn.00410441
cmp ebp, ebx
mov al, byte [esp + 0x1b]
pop ecx
pop ecx
push ebx
mov byte [0x4bdf18], al
push ebx
je 0x423e28
mov ebp, dword [esp + 0x24]
push ebx
push dword [esp + 0x24]
mov ecx, ebp
call fcn.0042cba1
jmp 0x423e49
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.004094d9
mov ebp, dword [esp + 0x1c]
push 0x4a84b4
push str.AfterTerm
mov byte [0x4bdf18], bl
call fcn.00410441
cmp byte [esp + 0x1b], 1
pop ecx
pop ecx
jle 0x423e6b
dec byte [esp + 0x13]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [esp + 0x28]
cmp eax, 0x7d0
jae 0x423ea4
push ebx
push ebx
push 0x1f4
jmp 0x423e9d
mov cx, word [eax]
cmp cx, bx
je 0x423f03
cmp cx, 0x2a
jne 0x423eb7
cmp word [eax + 2], bx
jne 0x423eb7
push ebx
push ebx
push 0x64
mov ecx, ebp
call fcn.00413857
mov ecx, ebp
push ebx
call fcn.00416fb0
mov eax, dword [0x4be040]
cmp eax, ebx
jne 0x423e85
jmp 0x423f03
push eax
lea ecx, [esp + 0x18]
call fcn.0044584c
push dword [esp + 0x14]
push 0x22b8
push 0x4a84b8
push esi
call fcn.0040f2bd
push dword [esp + 0x24]
call fcn.00423a95
mov ebp, eax
call fcn.00417a1e
push ebp
call fcn.0040f13c
push eax
push 0x22bc
push 0x4a8450
push esi
mov dword [esp + 0x48], eax
call fcn.0040f2bd
add esp, 0x28
lea ecx, [esp + 0x18]
call fcn.00437960
jmp 0x423c94
mov ecx, dword [esp + 0x1c]
push ebx
push ebx
push 0x1f4
call fcn.00413857
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
call fcn.00416fb0
push dword [0x4be040]
lea ecx, [esp + 0x18]
call fcn.0044584c
jmp 0x423c94
lea ecx, [esp + 0x14]
call fcn.00437960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4