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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x1009377c], 0
push esi
mov esi, dword [0x10092a50]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x1000a3fd
push 0x2d
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a3f6
cmp byte [0x10094d18], 0
je 0x1000a3e2
cmp dword [0x10094d1c], 0
je 0x1000a3fd
call edi
cmp dword [0x10094d1c], eax
ja 0x1000a3fd
xor eax, eax
mov byte [0x10094d18], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000a3fd
mov byte [0x10094d18], 0
cmp dword [0x1009377c], 1
jne 0x1000a4a5
push 0xa0
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a49e
cmp byte [0x100950b0], 0
je 0x1000a442
cmp dword [0x100950b4], 0
je 0x1000a4a5
call edi
cmp dword [0x100950b4], eax
ja 0x1000a4a5
push 0xa4
mov byte [0x100950b0], 1
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a495
cmp byte [0x100950d0], 0
je 0x1000a481
cmp dword [0x100950d4], 0
je 0x1000a4a5
call edi
cmp dword [0x100950d4], eax
ja 0x1000a4a5
xor eax, eax
mov byte [0x100950d0], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000a4a5
mov byte [0x100950d0], 0
jmp 0x1000a4a5
mov byte [0x100950b0], 0
cmp dword [0x1009377c], 2
jne 0x1000a59e
push 0xa0
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a597
cmp byte [0x100950b0], 0
je 0x1000a4f6
cmp dword [0x100950b4], 0
je 0x1000a59e
call edi
cmp dword [0x100950b4], eax
ja 0x1000a59e
push 0xa4
mov byte [0x100950b0], 1
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a58e
cmp byte [0x100950d0], 0
je 0x1000a535
cmp dword [0x100950d4], 0
je 0x1000a59e
call edi
cmp dword [0x100950d4], eax
ja 0x1000a59e
push 0x41
mov byte [0x100950d0], 1
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a585
cmp byte [0x10094db8], 0
je 0x1000a571
cmp dword [0x10094dbc], 0
je 0x1000a59e
call edi
cmp dword [0x10094dbc], eax
ja 0x1000a59e
xor eax, eax
mov byte [0x10094db8], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000a59e
mov byte [0x10094db8], 0
jmp 0x1000a59e
mov byte [0x100950d0], 0
jmp 0x1000a59e
mov byte [0x100950b0], 0
cmp dword [esi + 4], 0
je 0x1000a79c
push 0x26
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a60c
cmp byte [0x10094ce0], 0
je 0x1000a5dd
cmp dword [0x10094ce4], 0
je 0x1000a613
call edi
cmp dword [0x10094ce4], eax
ja 0x1000a613
mov byte [0x10094ce0], 1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
nop word [eax + eax]
sub ecx, 1
mov dword [esi + 0xc], ecx
jns 0x1000a5fe
mov ecx, dword [esi]
dec ecx
mov dword [esi + 0xc], ecx
mov eax, dword [edx + ecx*4]
cmp dword [eax], 2
je 0x1000a5f0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x10094ce0], 0
push 0x28
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a672
cmp byte [0x10094cf0], 0
je 0x1000a648
cmp dword [0x10094cf4], 0
je 0x1000a679
call edi
cmp dword [0x10094cf4], eax
ja 0x1000a679
mov byte [0x10094cf0], 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 0x1000a664
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov eax, dword [edi + ecx*4]
cmp dword [eax], 2
je 0x1000a657
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x10094cf0], 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 0x1000a79b
push 0x25
mov dword [ebp - 0xc], 0
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a6fe
cmp byte [0x10094cd8], 0
je 0x1000a6d4
cmp dword [0x10094cdc], 0
je 0x1000a705
call edi
cmp dword [0x10094cdc], eax
ja 0x1000a705
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov byte [0x10094cd8], 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 0x1000a705
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x1000a705
mov byte [0x10094cd8], 0
push 0x27
mov dword [0x100929f8], 0x10004750
call fcn.10004750
cwde
shr eax, 0x10
test eax, eax
je 0x1000a75d
cmp byte [0x10094ce8], 0
je 0x1000a73a
cmp dword [0x10094cec], 0
je 0x1000a764
call edi
cmp dword [0x10094cec], eax
ja 0x1000a764
mov eax, dword [ebp - 4]
mov byte [0x10094ce8], 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 0x1000a764
mov edx, 1
jmp 0x1000a76b
mov byte [0x10094ce8], 0
mov edx, dword [ebp - 0xc]
test edx, edx
je 0x1000a79b
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 0x1000a78e
mov dword [esi], 0
mov eax, dword [ecx]
cmp dword [eax], 4
jne 0x1000a79b
mov dword [esi], 0
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret