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

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
cmp dword [ebp + 0x158], ebx
push esi
push edi
je 0x1011293d
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [ebp + 0x158]
dec ecx
je 0x10112882
dec ecx
je 0x101126df
dec ecx
jne 0x1011293d
mov edx, dword [ebp + 0x168]
lea ecx, [ebp + 0x16c]
add edx, dword [ecx]
cmp eax, edx
jle 0x1011293d
mov dword [ecx], ebx
mov ecx, ebp
mov dword [ebp + 0x15c], ebx
mov byte [ebp + 0x160], bl
mov dword [ebp + 0x170], ebx
call fcn.1010fc72
jmp 0x10112937
mov ecx, dword [ebp + 0x168]
lea edi, [ebp + 0x16c]
add ecx, dword [edi]
cmp eax, ecx
jle 0x1011293d
mov ecx, dword [0x10a0c488]
xor eax, eax
mov al, byte [ebp + 0x160]
push ebx
push eax
push dword [ebp + 0x15c]
push 2
call fcn.100ee83f
mov ecx, ebp
call fcn.1010fc72
fldz
push ebx
push dword [ebp + 0x15c]
mov dword [ebp + 0x23cc], 0x17
push ecx
fstp dword [esp]
push 1
push 1
mov ecx, ebp
call fcn.10111225
movzx eax, byte [ebp + 0x160]
mov ecx, dword [0x10a0066c]
push eax
push ebx
push dword [ebp + 0x2430]
lea eax, [esp + 0x20]
push 2
push dword [ebp + 0x15c]
push eax
call fcn.1001ee88
mov eax, dword [ebp + 0x170]
cmp eax, 0x1b
je 0x10112772
cmp eax, 0x1c
jne 0x10112796
push dword [ebp + 0x2428]
mov ecx, dword [0x10a0c358]
push dword [ebp + 0x2430]
push ebx
push dword [ebp + 0x15c]
push dword [ebp + 0x180]
call fcn.1011e7f9
mov ecx, dword [0x10a0c360]
xor eax, eax
mov al, byte [ebp + 0x160]
push edi
push eax
push dword [ebp + 0x15c]
call fcn.10004c70
test al, al
jne 0x101127b7
mov dword [edi], ebx
call esi
mov dword [ebp + 0x168], eax
mov eax, dword [ebp + 0x15c]
cmp eax, 0xbd4
je 0x1011280c
cmp eax, 0xbd5
je 0x1011280c
cmp eax, 0xbe3
je 0x1011280c
cmp eax, 0xbf5
je 0x1011280c
cmp eax, 0xd21
je 0x1011280c
cmp eax, 0xbc9
je 0x1011280c
cmp eax, 0xcbf
je 0x1011280c
cmp dword [ebp + 0x170], 0x1b
je 0x1011280c
mov ecx, ebp
mov byte [esp + 0x13], bl
call fcn.1011068c
jmp 0x10112818
mov ecx, ebp
mov byte [esp + 0x13], 1
call fcn.1011071a
mov eax, dword [ebp + 0x170]
cmp eax, 0x18
je 0x10112873
cmp eax, 0x16
je 0x1011284a
cmp eax, 0x19
je 0x1011284a
cmp eax, 0x1a
je 0x1011284a
cmp eax, 0x1b
je 0x1011284a
cmp byte [esp + 0x13], 1
je 0x1011284a
movzx eax, byte [ebp + 0x160]
push eax
push 1
jmp 0x10112853
movzx eax, byte [ebp + 0x160]
push eax
push ebx
push dword [ebp + 0x2430]
mov ecx, dword [0x10a0066c]
push 5
push dword [ebp + 0x15c]
lea eax, [ebp + 0x164]
push eax
call fcn.1001ee88
mov dword [ebp + 0x158], 3
jmp 0x1011293d
push ebx
fldz
push dword [ebp + 0x15c]
mov dword [ebp + 0x23cc], 0x15
push ecx
fstp dword [esp]
push 1
push 1
mov ecx, ebp
call fcn.10111225
mov ecx, ebp
call fcn.1010fc72
movzx eax, byte [ebp + 0x160]
mov ecx, dword [0x10a0066c]
push eax
push 1
push dword [ebp + 0x2430]
lea eax, [ebp + 0x164]
push ebx
push dword [ebp + 0x15c]
push eax
call fcn.1001ee88
call esi
mov dword [ebp + 0x168], eax
mov ecx, dword [0x10a0c360]
xor eax, eax
mov al, byte [ebp + 0x160]
lea esi, [ebp + 0x16c]
push esi
push eax
push dword [ebp + 0x15c]
call fcn.10004cbe
test al, al
jne 0x10112903
mov dword [esi], ebx
mov ecx, dword [ebp + 0x2420]
add dword [esi], 0x64
lea eax, [esp + 0x18]
push eax
call fcn.1011741c
push 2
pop ebx
push ebx
sub esp, 0xc
mov edi, esp
push dword [ebp + 0x2428]
mov esi, eax
push dword [ebp + 0x15c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, ebp
movsd dword es:[edi], dword [esi]
call fcn.1011055d
mov dword [ebp + 0x158], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret