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

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x10052fba], 0
je 0x10004b9c
movzx eax, word [ebp + 8]
cmp eax, dword [0x10052fba]
ja 0x10004b96
cmp ax, word [0x10052428]
jae 0x10004b89
or ax, ax
je 0x10004b89
push 3
push 0x1001d628
call fcn.1002f9a8
cmp eax, 0xffffffff
jne 0x10004b52
push 3
push 0x1001d60a
call fcn.1002f9a8
cmp eax, 0xffffffff
je 0x10004b74
push eax
call fcn.1002f8cf
or eax, eax
jne 0x10004b9c
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
mov ax, word [eax + 0x3e]
mov word [0x10052428], ax
jmp 0x10004b9c
jmp 0x10004b7d
push 0x10004b76
call fcn.100473a5
jmp 0x10004b9c
or ax, ax
je 0x10004b94
mov word [0x10052428], ax
jmp 0x10004b9c
mov word [0x10052428], ax
cmp dword [0x10052f3c], 0
je 0x10004d0f
call fcn.1005103e
sub eax, dword [0x1006b460]
cmp eax, dword [0x10052f50]
jb 0x10004d0f
mov eax, dword [ebp + 8]
cmp dword [0x10052f3c], eax
jb 0x10004d0f
push 0
push 0x1006b824
call fcn.1002f9a8
cmp eax, 0xffffffff
jne 0x10004cf8
push 0x1f
push 0x1006b834
call fcn.1002f7b7
cmp eax, 0xffffffff
jne 0x10004c9b
cmp byte [0x10052f9d], 0
je 0x10004c78
push 1
push 0
push 4
push 0x1006b844
call fcn.100308a8
cmp eax, 0xffffffff
je 0x10004c1c
cmp eax, 0xfffffffe
jne 0x10004c4f
cmp eax, 0xffffffff
jne 0x10004c2b
push 0x10052f41
call fcn.100473a5
cmp byte [0x100626c1], 0
je 0x10004cf6
cmp byte [0x1005366e], 0
je 0x10004cf6
call fcn.1003dc4c
jmp 0x10004cf6
or eax, eax
je 0x10004c6c
mov byte [0x100522de], 1
movzx ecx, byte [eax]
add ecx, 2
push ecx
push eax
push 0x100522df
call fcn.10051110
call fcn.1005103e
mov dword [0x1006b460], eax
jmp 0x10004cf6
push 0x10052f41
call fcn.100473a5
cmp byte [0x100626c1], 0
je 0x10004c99
cmp byte [0x1005366e], 0
je 0x10004c99
call fcn.1003dc4c
jmp 0x10004cf6
push eax
call fcn.10030442
cmp eax, 0xffffffff
jne 0x10004ce5
cmp byte [0x100626c1], 0
je 0x10004cbf
cmp byte [0x1005366e], 0
je 0x10004cbf
mov eax, 1
jmp 0x10004cc1
xor eax, eax
push eax
push 0x10052f41
push 0
push 4
push 0x1006b844
call fcn.1003080c
or eax, eax
jne 0x10004cf6
call fcn.1005103e
mov dword [0x1006b460], eax
jmp 0x10004cf6
mov byte [0x100522ac], 1
call fcn.1005103e
mov dword [0x1006b460], eax
jmp 0x10004d0f
push eax
call fcn.1002f8cf
call fcn.1005103e
mov dword [0x1006b460], eax
jmp 0x10004d0f
cmp dword [0x10052f54], 0
je 0x10004e8f
call fcn.1005103e
sub eax, dword [0x1006b464]
cmp eax, dword [0x10052f68]
jb 0x10004e8f
mov eax, dword [ebp + 8]
cmp dword [0x10052f54], eax
jb 0x10004e8f
push 0
push 0x1006b8c4
call fcn.1002f9a8
cmp eax, 0xffffffff
jne 0x10004e78
push 0x1f
push 0x1006b8d4
call fcn.1002f7b7
cmp eax, 0xffffffff
jne 0x10004e11
cmp byte [0x10052f9d], 0
je 0x10004dee
push 1
push 0
push 4
push 0x1006b8e4
call fcn.100308a8
cmp eax, 0xffffffff
je 0x10004d8f
cmp eax, 0xfffffffe
jne 0x10004dc2
cmp eax, 0xffffffff
jne 0x10004d9e
push 0x10052f59
call fcn.100473a5
cmp byte [0x100626c1], 0
je 0x10004e76
cmp byte [0x1005366e], 0
je 0x10004e76
call fcn.1003dc4c
jmp 0x10004e76
or eax, eax
je 0x10004ddf
mov byte [0x100522ef], 1
movzx ecx, byte [eax]
add ecx, 2
push ecx
push eax
push 0x100522f0
call fcn.10051110
call fcn.1005103e
mov dword [0x1006b464], eax
jmp 0x10004e76
push 0x10052f59
call fcn.100473a5
cmp byte [0x100626c1], 0
je 0x10004e0f
cmp byte [0x1005366e], 0
je 0x10004e0f
call fcn.1003dc4c
jmp 0x10004e76
push eax
call fcn.10030442
cmp eax, 0xffffffff
jne 0x10004e5b
cmp byte [0x100626c1], 0
je 0x10004e35
cmp byte [0x1005366e], 0
je 0x10004e35
mov eax, 1
jmp 0x10004e37
xor eax, eax
push eax
push 0x10052f59
push 0
push 4
push 0x1006b8e4
call fcn.1003080c
or eax, eax
jne 0x10004e6c
call fcn.1005103e
mov dword [0x1006b464], eax
jmp 0x10004e6c
mov byte [0x100522ad], 1
call fcn.1005103e
mov dword [0x1006b464], eax
call fcn.1005103e
mov dword [0x1006b464], eax
jmp 0x10004e8f
push eax
call fcn.1002f8cf
call fcn.1005103e
mov dword [0x1006b464], eax
jmp 0x10004e8f
leave
ret 4