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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe48
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 8], ecx
mov edi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x6db2f7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x36c]
call fcn.006da56c
mov esi, eax
cmp byte [esi + 0x1565], 0
je 0x6daee4
mov edx, 0x6db310
mov eax, dword [esi + 0x490]
call fcn.006ef808
jmp 0x6db2c6
lea ecx, [ebp - 0x109]
mov eax, dword [0x70f510]
mov eax, dword [eax]
mov edx, dword [eax + 0x3196c]
mov eax, dword [esi + 0x4a4]
call fcn.004e7a7c
test al, al
je 0x6db2c6
lea ecx, [ebp - 0x1a2]
mov eax, dword [0x70f678]
mov eax, dword [eax]
mov edx, edi
call fcn.004c5bc8
test al, al
je 0x6db2c6
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x30c]
call fcn.0045bcd8
mov edx, dword [ebp - 8]
mov eax, 0x6db32c
call fcn.00405444
test eax, eax
jle 0x6daf73
lea eax, [ebp - 0x1a8]
push eax
mov eax, dword [0x70f918]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov eax, dword [eax]
mov ecx, 0x6db32c
mov edx, dword [ebp - 8]
call fcn.004b6034
mov edx, dword [ebp - 0x1a8]
lea eax, [ebp - 8]
call fcn.00404ec8
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040a34c
mov dword [ebp - 4], eax
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [esi + 0x4dc4]
cmp eax, 0x32
jb 0x6db2c6
call sub.KERNEL32.DLL_GetTickCount
mov dword [esi + 0x4dc4], eax
cmp dword [ebp - 0x111], 0
je 0x6daffb
mov eax, dword [ebp - 0x111]
cmp eax, dword [esi + 0x48c]
je 0x6daffb
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x111]
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 0x1b0], 0
lea edx, [ebp - 0x1b4]
xor ecx, ecx
mov eax, 0x6db338
call fcn.0040b918
mov edx, dword [ebp - 0x1ac]
mov eax, dword [esi + 0x490]
call fcn.006ef808
jmp 0x6db2c6
cmp byte [ebp - 0x145], 0x11
jne 0x6db023
call fcn.006b75ec
mov edx, dword [ebx + 0x36c]
call fcn.006b7614
call fcn.006b75ec
call fcn.00478974
jmp 0x6db2c6
cmp byte [ebp - 0x145], 0x12
jne 0x6db04b
call fcn.006b80d0
mov edx, dword [ebx + 0x36c]
call fcn.006b8540
call fcn.006b80d0
call fcn.00478974
jmp 0x6db2c6
cmp byte [ebp - 0x145], 6
jne 0x6db0a5
call fcn.006d91e4
mov ecx, edi
mov edx, dword [ebx + 0x36c]
call fcn.006d920c
mov eax, dword [esi + 0x4dc0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1b8]
call fcn.0040a2c0
mov eax, dword [ebp - 0x1b8]
push eax
call fcn.006d91e4
mov eax, dword [eax + 0x310]
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x150]
call fcn.006d91e4
call fcn.00478974
jmp 0x6db2c6
cmp byte [ebp - 0x145], 0x13
jne 0x6db0f0
call fcn.006dbcac
cmp byte [eax + 0x378], 0
je 0x6db0db
call fcn.006dbcac
mov edx, dword [ebx + 0x36c]
call fcn.006dc1ec
call fcn.006dbcac
call fcn.00478974
jmp 0x6db2c6
mov edx, 0x6db368
mov eax, dword [esi + 0x490]
call fcn.006ef808
jmp 0x6db2c6
cmp byte [ebp - 0x145], 0x14
jne 0x6db1a6
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [esi + 0x4dc8]
cmp eax, 0x64
jb 0x6db2c6
call sub.KERNEL32.DLL_GetTickCount
mov dword [esi + 0x4dc8], eax
cmp byte [esi + 0x1564], 0
je 0x6db13a
mov edx, 0x6db380
mov eax, dword [esi + 0x490]
call fcn.006ef808
jmp 0x6db2c6
mov eax, dword [0x70f510]
mov eax, dword [eax]
mov edx, dword [eax + 0x3196c]
mov eax, dword [esi + 0x4a4]
call fcn.004e7c3c
fcomp dword [0x6db398]
fnstsw ax
sahf
ja 0x6db172
mov edx, 0x6db3a4
mov eax, dword [esi + 0x490]
call fcn.006ef808
jmp 0x6db2c6
call fcn.00403634
fmul dword [0x6db3b8]
fmul dword [0x6db3b8]
fmul dword [0x6db3b8]
call fcn.004030ec
inc eax
mov ecx, 1
mov edx, eax
mov eax, dword [esi + 0x4a0]
call fcn.00535270
jmp 0x6db2c6
cmp byte [ebp - 0x145], 0x15
jne 0x6db1de
call sub.KERNEL32.DLL_GetTickCount
sub eax, dword [esi + 0x4dcc]
cmp eax, 0x64
jb 0x6db2c6
call sub.KERNEL32.DLL_GetTickCount
mov dword [esi + 0x4dcc], eax
mov eax, dword [esi + 0x4a0]
call fcn.00535f08
jmp 0x6db2c6
call fcn.006dbcac
cmp byte [eax + 0x57], 0
je 0x6db1fb
call fcn.006dbcac
mov edx, dword [eax]
call dword [edx + 0xc4]
jmp 0x6db2c6
mov al, byte [ebp - 0x145]
add al, 0xfd
sub al, 2
jb 0x6db225
cmp dword [esi + 0x4dc0], 0
jne 0x6db225
mov edx, 0x6db3c4
mov eax, dword [esi + 0x490]
call fcn.006ef808
jmp 0x6db2c6
mov eax, dword [ebx + 0x308]
call fcn.0056a1bc
inc eax
jne 0x6db237
xor eax, eax
jmp 0x6db254
mov eax, dword [ebx + 0x308]
call fcn.0056a1bc
push eax
mov eax, dword [ebx + 0x308]
call fcn.0056aab0
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dl, byte [ebp - 0x145]
add dl, 0xfd
sub dl, 2
jae 0x6db277
mov edx, dword [ebp - 4]
push edx
mov ecx, edi
mov edx, eax
mov eax, dword [esi + 0x4a0]
call fcn.005352cc
jmp 0x6db2aa
mov edx, dword [ebp - 4]
push edx
mov dl, byte [ebp - 0x95]
push edx
mov edx, dword [0x70f510]
mov edx, dword [edx]
mov dl, byte [edx + 0x31ab0]
push edx
push 0
push 0
push 0
push 0
push 1
mov ecx, edi
mov edx, eax
mov eax, dword [esi + 0x4a0]
call fcn.0053552c
mov eax, dword [ebx + 0x318]
cmp byte [eax + 0x280], 0
jne 0x6db2c6
xor edx, edx
mov eax, dword [ebx + 0x30c]
call fcn.0056a1e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6db2fe
lea eax, [ebp - 0x1b8]
call fcn.00404e30
lea eax, [ebp - 0x1ac]
mov edx, 2
call fcn.00404e54
lea eax, [ebp - 8]
call fcn.00404e30
ret