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

Disassembly:
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x5c]
push eax
push 1
push 0x10092ec
call fcn.01009311
jmp 0x1009903
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov esi, ecx
call fcn.010099b7
xor edi, edi
push edi
mov ecx, esi
call fcn.010091dd
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0xb8]
mov dword [ebp - 0xc], edi
mov dword [ebp - 4], edi
cmp eax, edi
je 0x1009858
lea ecx, [ebp - 4]
push ecx
lea ecx, [ebp - 0xc]
push ecx
push 4
push edi
push edi
push eax
mov ecx, esi
call fcn.01003701
mov ebx, dword [ebp + 8]
cmp ebx, edi
je 0x100e767
push ebx
call fcn.01005cd2
test eax, eax
je 0x100e767
push edi
call fcn.01009ade
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push 4
push edi
push edi
push ebx
mov ecx, esi
call fcn.01003701
test eax, eax
jl 0x105281d
push dword [ebp - 0x10]
mov eax, dword [esi + 0x94]
push dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
cmp dword [esi + 0xac], edi
je 0x10098b9
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
cmp dword [esi + 0xbc], edi
jne 0x1054466
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x68]
test eax, eax
je 0x1009903
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x100958a
mov ecx, dword [eax]
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x5c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
call dword [ecx + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
cmp eax, 2
jne 0x100958a
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [esi + 0xac], edi
je 0x1009986
cmp dword [ebp - 4], edi
je 0x1009986
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x1009986
mov ecx, dword [eax]
push eax
call dword [ecx + 0x68]
test eax, eax
je 0x1009986
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
je 0x1009986
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
call edi
cmp ebx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
ja 0x1063812
call dword [ecx + 0x1c]
mov ebx, eax
call edi
sub eax, ebx
push eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
push eax
push 2
push 0x10092ec
call fcn.01009311
mov ebx, dword [ebp + 8]
xor edi, edi
lea eax, [ebp - 4]
push eax
call fcn.01002bee
lea eax, [ebp - 0xc]
push eax
call fcn.01002bee
cmp ebx, edi
je 0x10099a2
mov eax, dword [esi + 0x48]
mov dword [eax + 0x38], ebx
pop edi
mov dword [esi + 0xb8], ebx
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret 4
cmp dword [esi + 0x3c], edi
jne 0x10637f8
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
push edi
push edi
push eax
call dword [ecx + 0x14]
jmp 0x1009915
push edi
push edi
push edi
push ebx
mov ecx, esi
call fcn.0100b0df
test eax, eax
jl 0x1009915
push ebx
mov ecx, esi
call fcn.0100b82a
jmp 0x1009915
mov dword [esi + 0xbc], edi
jmp 0x1009903
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10b10f0]
jne 0x100e770
mov dword [esi + 0x3c], edi
jmp 0x1009915
call dword [ecx + 0x1c]
or ebx, 0xffffffff
sub ebx, eax
call edi
add eax, ebx
jmp 0x100996a