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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x10099694], 0
push esi
mov esi, dword [0x1009894c]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x1000de9d
push 0x2d
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000de96
cmp byte [0x1009ac18], 0
je 0x1000de82
cmp dword [0x1009ac1c], 0
je 0x1000de9d
call edi
cmp dword [0x1009ac1c], eax
ja 0x1000de9d
xor eax, eax
mov byte [0x1009ac18], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000de9d
mov byte [0x1009ac18], 0
cmp dword [0x10099694], 1
jne 0x1000df45
push 0xa0
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000df3e
cmp byte [0x1009afb0], 0
je 0x1000dee2
cmp dword [0x1009afb4], 0
je 0x1000df45
call edi
cmp dword [0x1009afb4], eax
ja 0x1000df45
push 0xa4
mov byte [0x1009afb0], 1
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000df35
cmp byte [0x1009afd0], 0
je 0x1000df21
cmp dword [0x1009afd4], 0
je 0x1000df45
call edi
cmp dword [0x1009afd4], eax
ja 0x1000df45
xor eax, eax
mov byte [0x1009afd0], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000df45
mov byte [0x1009afd0], 0
jmp 0x1000df45
mov byte [0x1009afb0], 0
cmp dword [0x10099694], 2
jne 0x1000e03e
push 0xa0
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e037
cmp byte [0x1009afb0], 0
je 0x1000df96
cmp dword [0x1009afb4], 0
je 0x1000e03e
call edi
cmp dword [0x1009afb4], eax
ja 0x1000e03e
push 0xa4
mov byte [0x1009afb0], 1
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e02e
cmp byte [0x1009afd0], 0
je 0x1000dfd5
cmp dword [0x1009afd4], 0
je 0x1000e03e
call edi
cmp dword [0x1009afd4], eax
ja 0x1000e03e
push 0x41
mov byte [0x1009afd0], 1
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e025
cmp byte [0x1009acb8], 0
je 0x1000e011
cmp dword [0x1009acbc], 0
je 0x1000e03e
call edi
cmp dword [0x1009acbc], eax
ja 0x1000e03e
xor eax, eax
mov byte [0x1009acb8], 1
cmp dword [esi + 4], eax
sete al
mov dword [esi + 4], eax
jmp 0x1000e03e
mov byte [0x1009acb8], 0
jmp 0x1000e03e
mov byte [0x1009afd0], 0
jmp 0x1000e03e
mov byte [0x1009afb0], 0
cmp dword [esi + 4], 0
je 0x1000e23c
push 0x26
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e0ac
cmp byte [0x1009abe0], 0
je 0x1000e07d
cmp dword [0x1009abe4], 0
je 0x1000e0b3
call edi
cmp dword [0x1009abe4], eax
ja 0x1000e0b3
mov byte [0x1009abe0], 1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
nop word [eax + eax]
sub ecx, 1
mov dword [esi + 0xc], ecx
jns 0x1000e09e
mov ecx, dword [esi]
dec ecx
mov dword [esi + 0xc], ecx
mov eax, dword [edx + ecx*4]
cmp dword [eax], 2
je 0x1000e090
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x1009abe0], 0
push 0x28
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e112
cmp byte [0x1009abf0], 0
je 0x1000e0e8
cmp dword [0x1009abf4], 0
je 0x1000e119
call edi
cmp dword [0x1009abf4], eax
ja 0x1000e119
mov byte [0x1009abf0], 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 0x1000e104
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov eax, dword [edi + ecx*4]
cmp dword [eax], 2
je 0x1000e0f7
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x1009abf0], 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 0x1000e23b
push 0x25
mov dword [ebp - 0xc], 0
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e19e
cmp byte [0x1009abd8], 0
je 0x1000e174
cmp dword [0x1009abdc], 0
je 0x1000e1a5
call edi
cmp dword [0x1009abdc], eax
ja 0x1000e1a5
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov byte [0x1009abd8], 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 0x1000e1a5
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x1000e1a5
mov byte [0x1009abd8], 0
push 0x27
mov dword [0x100988e8], 0x10004580
call fcn.10004580
cwde
shr eax, 0x10
test eax, eax
je 0x1000e1fd
cmp byte [0x1009abe8], 0
je 0x1000e1da
cmp dword [0x1009abec], 0
je 0x1000e204
call edi
cmp dword [0x1009abec], eax
ja 0x1000e204
mov eax, dword [ebp - 4]
mov byte [0x1009abe8], 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 0x1000e204
mov edx, 1
jmp 0x1000e20b
mov byte [0x1009abe8], 0
mov edx, dword [ebp - 0xc]
test edx, edx
je 0x1000e23b
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 0x1000e22e
mov dword [esi], 0
mov eax, dword [ecx]
cmp dword [eax], 4
jne 0x1000e23b
mov dword [esi], 0
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret