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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 4], eax
mov byte [ebp - 5], 0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 9
jne 0x4db075
mov byte [ebp - 0x15], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 6
je 0x4db08d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 7
jne 0x4db091
mov byte [ebp - 0x16], 1
mov eax, dword [0x4e96e8]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4db209
cmp byte [ebp - 0x15], 0
jne 0x4db209
cmp byte [ebp - 0x16], 0
jne 0x4db209
mov eax, dword [0x4e933c]
mov byte [eax], 0
mov eax, dword [0x4e96e4]
mov byte [eax], 0
mov eax, dword [0x4e9a88]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x62]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x64]
jbe 0x4db102
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x62]
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x64]
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [0x4e9a88]
mov dword [edx], eax
mov eax, dword [0x4e933c]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x66]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x68]
jbe 0x4db136
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x66]
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x68]
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [0x4e9a88]
add dword [edx], eax
mov eax, dword [0x4e933c]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x6a]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x6c]
jbe 0x4db14e
mov eax, dword [0x4e96e4]
mov byte [eax], 1
mov eax, dword [0x4e933c]
cmp byte [eax], 0
je 0x4db178
mov eax, dword [0x4e9a88]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x228]
jle 0x4db178
mov eax, dword [ebp - 4]
inc dword [eax + 0x228]
jmp 0x4db621
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x228], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 0xb
je 0x4db1ce
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 9
je 0x4db1ce
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 0xd
je 0x4db1ce
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 0x1392
je 0x4db1ce
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 6
je 0x4db1ce
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 7
jne 0x4db209
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1e0]
dec eax
je 0x4db1ea
sub eax, 3
je 0x4db1fa
jmp 0x4db209
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1a8]
call fcn.004c4298
jmp 0x4db209
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1a8]
inc eax
call fcn.004c4298
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x214], 0
mov eax, dword [0x4e96e8]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
je 0x4db23c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x250]
cmp dword [eax + 8], 2
jl 0x4db23c
mov eax, dword [ebp - 4]
mov byte [eax + 0x214], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 0xb
je 0x4db28b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 0xd
je 0x4db28b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 0x1392
je 0x4db28b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 6
je 0x4db28b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 7
jne 0x4db487
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e0]
jl 0x4db2b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e4]
jle 0x4db2c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x1e8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e4]
jge 0x4db363
mov eax, dword [ebp - 4]
inc dword [eax + 0x1e8]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x214], 0
je 0x4db316
cmp byte [ebp - 0x16], 0
jne 0x4db316
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e4]
jge 0x4db316
mov eax, dword [ebp - 4]
inc dword [eax + 0x1e8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1e0]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1e0]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [eax + 0x10]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov eax, dword [ebp - 4]
call fcn.004d8ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e4]
jl 0x4db3df
mov eax, dword [0x4e96e8]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4db3b8
mov eax, dword [0x4e95e4]
mov eax, dword [eax]
call fcn.0048a61c
test al, al
je 0x4db3db
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x174], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x190], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x22c], eax
jmp 0x4db3db
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x174], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x190], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x22c], eax
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 6
jne 0x4db40f
mov eax, dword [0x4e96e8]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4db40f
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x4e9240]
mov dword [edx], eax
mov eax, dword [0x4e9584]
mov dword [eax], 0x12c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 7
jne 0x4db483
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e4]
sub eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e8]
jg 0x4db483
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x244]
mov edx, dword [ebp - 4]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x248]
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0xe0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0xe4], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x174], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x190], 1
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x174], 9
jne 0x4db5f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e4]
jg 0x4db4bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e0]
jge 0x4db4d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e4]
inc eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x1e8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e0]
jle 0x4db571
mov eax, dword [ebp - 4]
dec dword [eax + 0x1e8]
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x214]
or al, byte [ebp - 0x15]
je 0x4db51e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e0]
jle 0x4db51e
mov eax, dword [ebp - 4]
dec dword [eax + 0x1e8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1e8]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1e0]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x10]
call fcn.004d5ca4
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x210]
mov eax, dword [ebp - 4]
call fcn.004d8ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e0]
jg 0x4db5f5
mov eax, dword [0x4e96e8]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4db5ce
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x174], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x190], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x22c], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x4e9240]
mov dword [edx], eax
mov eax, dword [0x4e9584]
mov dword [eax], 0x3e8
jmp 0x4db5f1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x174], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x190], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x22c], eax
mov byte [ebp - 5], 1
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1e8]
je 0x4db621
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x234], eax
mov eax, dword [ebp - 4]
mov si, 0xfff3
call fcn.004043e8
mov al, byte [ebp - 5]
pop esi
mov esp, ebp
pop ebp
ret