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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push esi
push edi
push ebx
cmp byte [0x100626e5], 0
jne 0x100014f1
cmp byte [0x100626e3], 0
jne 0x100014f1
cmp byte [0x100626e7], 0
jne 0x100014f1
cmp byte [0x100626d8], 0
jne 0x100014f1
cmp byte [0x100626d6], 0
jne 0x100014f8
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
mov eax, dword [0x1005d7f7]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x5a854]
mov eax, dword [eax + 8]
cmp eax, 2
jl 0x100017fe
mov dword [ebp - 4], eax
mov ebx, dword [0x1005d7bb]
mov ebx, dword [ebx]
xor eax, eax
mov dword [ebp - 8], eax
mov byte [ebp - 9], al
mov dword [ebp - 0x10], eax
mov eax, dword [0x1005d7f7]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x5a854]
mov ecx, dword [eax + 8]
cmp dword [ebp - 8], ecx
jb 0x10001545
jmp 0x1000163a
mov edx, dword [ebp - 8]
call dword [fcn.1005d229]
mov ecx, eax
mov al, byte [ecx + 0x20]
or al, al
jne 0x1000162b
mov ax, word [ecx + 0xe]
cmp al, 0x32
je 0x1000162b
cmp al, 0x18
je 0x1000162b
cmp al, 0xc
je 0x1000162b
or al, al
je 0x1000162b
cmp ax, 0x472d
je 0x1000162b
cmp ax, 0x2517
je 0x1000162b
cmp ax, 0xaa36
je 0x1000162b
cmp ax, 0xab37
je 0x1000162b
cmp ax, 0x309
je 0x1000162b
cmp ax, 0x2f2d
jne 0x100015bb
push ecx
call fcn.1003ca92
jmp 0x100015c1
push ecx
call fcn.1003ca6a
or al, al
jne 0x1000162b
mov byte [ebp - 0xa], 0
mov ax, word [ecx + 8]
mov dx, word [ecx + 0xa]
sub ax, word [ebx + 8]
jns 0x100015e8
jne 0x100015df
or byte [ebp - 0xa], 1
jmp 0x100015e3
or byte [ebp - 0xa], 2
neg ax
jmp 0x100015ec
or byte [ebp - 0xa], 4
sub dx, word [ebx + 0xa]
jns 0x10001603
jne 0x100015fa
or byte [ebp - 0xa], 0x10
jmp 0x100015fe
or byte [ebp - 0xa], 0x20
neg dx
jmp 0x10001607
or byte [ebp - 0xa], 0x40
cmp ax, 3
ja 0x1000162b
cmp dx, 3
ja 0x1000162b
push dword [ecx + 0xa]
push dword [ecx + 8]
call fcn.1001dd87
or al, al
je 0x1000162b
inc dword [ebp - 0x10]
mov al, byte [ebp - 0xa]
or byte [ebp - 9], al
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
jb 0x10001529
cmp dword [ebp - 0x10], 3
jb 0x10001688
cmp byte [0x10053674], 0
je 0x10001688
call fcn.1005103e
sub eax, dword [0x10062755]
cmp eax, dword [0x1005352f]
jb 0x100017fe
mov byte [0x10062759], 1
call fcn.1001d84e
call fcn.1005103e
mov dword [0x10062755], eax
mov dword [0x1006280c], eax
or eax, 0xffffffff
pop ebx
pop edi
pop esi
leave
ret
cmp byte [ebp - 9], 0
je 0x100017fe
cmp byte [0x10053675], 0
je 0x100017fe
xor eax, eax
test byte [ebp - 9], 2
je 0x100016ac
or eax, 1
jmp 0x100016b5
test byte [ebp - 9], 4
je 0x100016b5
or eax, 0xffffffff
xor edx, edx
test byte [ebp - 9], 0x20
je 0x100016c2
or edx, 1
jmp 0x100016cb
test byte [ebp - 9], 0x40
je 0x100016cb
or edx, 0xffffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
movzx esi, word [ebx + 8]
add esi, eax
movzx edi, word [ebx + 0xa]
add edi, edx
push edi
push esi
call fcn.100480b3
or al, al
je 0x100016f3
jmp 0x1000177a
mov eax, dword [ebp - 0x14]
or eax, eax
je 0x10001735
movzx esi, word [ebx + 8]
add esi, eax
movzx edi, word [ebx + 0xa]
push edi
push esi
call fcn.100480b3
or al, al
je 0x10001711
jmp 0x1000177a
dec edi
push edi
push esi
call fcn.100480b3
or al, al
je 0x1000171f
jmp 0x1000177a
add edi, 2
push edi
call fcn.100344f8
push eax
push esi
call fcn.100480b3
or al, al
je 0x10001735
jmp 0x1000177a
mov edx, dword [ebp - 0x18]
or edx, edx
je 0x10001771
movzx esi, word [ebx + 8]
movzx edi, word [ebx + 0xa]
add edi, edx
push edi
push esi
call fcn.100480b3
or al, al
je 0x10001753
jmp 0x1000177a
dec esi
push edi
push esi
call fcn.100480b3
or al, al
je 0x10001761
jmp 0x1000177a
add esi, 2
push edi
push esi
call fcn.100480b3
or al, al
je 0x10001771
jmp 0x1000177a
xor al, al
jmp 0x1000177a
or al, al
je 0x100017b5
mov eax, dword [0x1005d81f]
push esi
pop dword [eax]
push edi
pop dword [eax + 4]
mov eax, dword [0x1005d81b]
mov byte [eax], 1
mov dword [0x10052319], 0
call fcn.1001d84e
call fcn.1005103e
mov dword [0x1006280c], eax
or eax, 0xffffffff
pop ebx
pop edi
pop esi
leave
ret
cmp byte [0x10053674], 0
je 0x100017fe
call fcn.1005103e
sub eax, dword [0x10062755]
cmp eax, dword [0x1005352f]
jb 0x100017fe
mov byte [0x10062759], 1
mov dword [0x10052319], 0
call fcn.1001d84e
call fcn.1005103e
mov dword [0x10062755], eax
mov dword [0x1006280c], eax
or eax, 0xffffffff
pop ebx
pop edi
pop esi
leave
ret
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret