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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov edi, eax
mov ebx, 0x478c01
mov byte [ebp - 9], 0
xor eax, eax
push ebp
push 0x472aff
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
xor eax, eax
mov al, byte [ebp - 1]
push eax
push 0x378
mov eax, dword [0x477364]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4726d6
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [0x478c00]
and al, 2
sub byte [0x478c00], al
push 1
xor eax, eax
mov al, byte [0x478c00]
push eax
push 0x37a
mov eax, dword [0x477364]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x47272b
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov byte [ebp - 0xa], 0
call sub.kernel32.dll_GetTickCount
mov esi, eax
add esi, 0xfa0
jmp 0x4727e3
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x472785
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
test byte [ebx], 0x80
jne 0x4727e3
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4727d3
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
test byte [ebx], 0x80
jne 0x4727e3
mov byte [ebp - 0xa], 1
jmp 0x4727f0
call sub.kernel32.dll_GetTickCount
cmp esi, eax
ja 0x472741
cmp byte [ebp - 0xa], 0
jne 0x472851
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x47283a
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
test byte [ebx], 0x80
je 0x472851
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
or byte [0x478c00], 2
push 1
xor eax, eax
mov al, byte [0x478c00]
push eax
push 0x37a
mov eax, dword [0x477364]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4728a0
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
cmp byte [ebp + 8], 0
je 0x4728eb
push 1
push 0xff
push 0x378
mov eax, dword [0x477364]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4728eb
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
call sub.kernel32.dll_GetTickCount
mov esi, eax
add esi, dword [ebp - 8]
mov byte [ebp - 0xa], 0
jmp 0x4729ef
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x472942
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
mov al, byte [ebx]
and al, 0x80
cmp al, 0x80
jne 0x4729ef
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x472997
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
mov al, byte [ebx]
and al, 0x80
cmp al, 0x80
jne 0x4729ef
push 1
push 0xff
push 0x378
mov eax, dword [0x477364]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4729e9
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov byte [ebp - 0xa], 1
jmp 0x4729fc
call sub.kernel32.dll_GetTickCount
cmp esi, eax
ja 0x4728fe
cmp byte [ebp - 0xa], 0
jne 0x472aef
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x472a4a
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
mov al, byte [ebx]
and al, 0x80
cmp al, 0x80
jne 0x472aef
push 1
lea eax, [ebp - 0x10]
push eax
push 0x379
mov eax, dword [0x477110]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x472a9c
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 0x10]
mov byte [ebx], al
mov al, byte [ebx]
and al, 0x80
cmp al, 0x80
jne 0x472aef
push 1
push 0xff
push 0x378
mov eax, dword [0x477364]
mov eax, dword [eax]
call eax
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x472aeb
push 0x30
push 0x472b18
push 0x472b24
mov eax, edi
call fcn.00454934
push eax
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov byte [ebp - 0xa], 1
mov al, byte [ebp - 0xa]
mov byte [ebp - 9], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x472b09
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4