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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x10095a8c], 0
push esi
mov esi, dword [0x10094d5c]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x1000b95d
push 0x2d
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000b956
cmp byte [0x10097008], 0
je 0x1000b942
cmp dword [0x1009700c], 0
je 0x1000b95d
call edi
cmp dword [0x1009700c], eax
ja 0x1000b95d
xor eax, eax
mov byte [0x10097008], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000b95d
mov byte [0x10097008], 0
cmp dword [0x10095a8c], 1
jne 0x1000ba05
push 0xa0
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000b9fe
cmp byte [0x100973a0], 0
je 0x1000b9a2
cmp dword [0x100973a4], 0
je 0x1000ba05
call edi
cmp dword [0x100973a4], eax
ja 0x1000ba05
push 0xa4
mov byte [0x100973a0], 1
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000b9f5
cmp byte [0x100973c0], 0
je 0x1000b9e1
cmp dword [0x100973c4], 0
je 0x1000ba05
call edi
cmp dword [0x100973c4], eax
ja 0x1000ba05
xor eax, eax
mov byte [0x100973c0], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000ba05
mov byte [0x100973c0], 0
jmp 0x1000ba05
mov byte [0x100973a0], 0
cmp dword [0x10095a8c], 2
jne 0x1000bafe
push 0xa0
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000baf7
cmp byte [0x100973a0], 0
je 0x1000ba56
cmp dword [0x100973a4], 0
je 0x1000bafe
call edi
cmp dword [0x100973a4], eax
ja 0x1000bafe
push 0xa4
mov byte [0x100973a0], 1
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000baee
cmp byte [0x100973c0], 0
je 0x1000ba95
cmp dword [0x100973c4], 0
je 0x1000bafe
call edi
cmp dword [0x100973c4], eax
ja 0x1000bafe
push 0x41
mov byte [0x100973c0], 1
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000bae5
cmp byte [0x100970a8], 0
je 0x1000bad1
cmp dword [0x100970ac], 0
je 0x1000bafe
call edi
cmp dword [0x100970ac], eax
ja 0x1000bafe
xor eax, eax
mov byte [0x100970a8], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000bafe
mov byte [0x100970a8], 0
jmp 0x1000bafe
mov byte [0x100973c0], 0
jmp 0x1000bafe
mov byte [0x100973a0], 0
cmp dword [esi + 4], 0
je 0x1000bcfc
push 0x26
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000bb6c
cmp byte [0x10096fd0], 0
je 0x1000bb3d
cmp dword [0x10096fd4], 0
je 0x1000bb73
call edi
cmp dword [0x10096fd4], eax
ja 0x1000bb73
mov byte [0x10096fd0], 1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
nop word [eax + eax]
sub ecx, 1
mov dword [esi + 0xc], ecx
jns 0x1000bb5e
mov ecx, dword [esi]
dec ecx
mov dword [esi + 0xc], ecx
mov eax, dword [edx + ecx*4]
cmp dword [eax], 2
je 0x1000bb50
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x10096fd0], 0
push 0x28
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000bbd2
cmp byte [0x10096fe0], 0
je 0x1000bba8
cmp dword [0x10096fe4], 0
je 0x1000bbd9
call edi
cmp dword [0x10096fe4], eax
ja 0x1000bbd9
mov byte [0x10096fe0], 1
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
inc ecx
mov dword [esi + 0xc], ecx
cmp ecx, edx
jne 0x1000bbc4
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov eax, dword [edi + ecx*4]
cmp dword [eax], 2
je 0x1000bbb7
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x10096fe0], 0
mov ecx, dword [esi + 0xc]
lea eax, [esi + 8]
push ebx
lea ebx, [esi + 0xc]
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0xc], 0
je 0x1000bcfb
push 0x25
mov dword [ebp - 0xc], 0
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000bc5e
cmp byte [0x10096fc8], 0
je 0x1000bc34
cmp dword [0x10096fcc], 0
je 0x1000bc65
call edi
cmp dword [0x10096fcc], eax
ja 0x1000bc65
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov byte [0x10096fc8], 1
mov dword [ebp - 4], edx
mov ecx, dword [eax]
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0
jle 0x1000bc65
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x1000bc65
mov byte [0x10096fc8], 0
push 0x27
mov dword [0x10094d00], 0x10004600
call fcn.10004600
cwde
shr eax, 0x10
test eax, eax
je 0x1000bcbd
cmp byte [0x10096fd8], 0
je 0x1000bc9a
cmp dword [0x10096fdc], 0
je 0x1000bcc4
call edi
cmp dword [0x10096fdc], eax
ja 0x1000bcc4
mov eax, dword [ebp - 4]
mov byte [0x10096fd8], 1
mov ecx, dword [ebx]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
dec ecx
cmp dword [eax], ecx
jge 0x1000bcc4
mov edx, 1
jmp 0x1000bccb
mov byte [0x10096fd8], 0
mov edx, dword [ebp - 0xc]
test edx, edx
je 0x1000bcfb
mov ecx, dword [ebx]
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0xc]
add dword [eax], edx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
cmp dword [eax], 1
jne 0x1000bcee
mov dword [esi], 0
mov eax, dword [ecx]
cmp dword [eax], 4
jne 0x1000bcfb
mov dword [esi], 0
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret