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

Disassembly:
push 0x54
mov eax, 0x1017c417
call fcn.1014d21b
mov esi, ecx
xor ebx, ebx
lea edi, [esi + 0x68]
lea eax, [ebp - 0x60]
push eax
mov ecx, edi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], edi
call fcn.100416f0
cmp dword [eax + 0x18], 0x10
jb 0x10106e90
mov eax, dword [eax + 4]
jmp 0x10106e93
add eax, 4
push ebx
push 1
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x3c], eax
call fcn.10001800
mov ecx, dword [esi + 0x39c]
lea edx, [ebp - 0x44]
push edx
mov dword [ebp - 0x40], 3
mov eax, dword [ecx]
push edi
call dword [eax + 0x34]
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0x18], eax
lea eax, [esi + 0x38]
mov dword [ebp - 0x10], eax
mov al, byte [eax]
test al, al
mov byte [esi + 0x3e0], bl
je 0x1010712c
mov edi, dword [ebp + 8]
cmp byte [esi + 0x3e0], bl
jne 0x1010712c
lea eax, [esi + 0x410]
push eax
lea ecx, [ebp - 0x30]
call fcn.100010c0
lea ecx, [ebp - 0x30]
mov dword [esi + 0x3d8], ebx
call fcn.100010e0
mov eax, dword [edi + 0x28]
or eax, dword [edi + 0x2c]
je 0x10107114
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
jmp 0x101070c0
push ebx
call fcn.101005a3
pop ecx
mov ecx, eax
call fcn.1010022a
push 1
mov dword [ebp + 8], eax
call fcn.101005a3
pop ecx
mov ecx, eax
call fcn.1010022a
mov ecx, dword [ebp + 8]
cmp ecx, ebx
je 0x10106f4e
cmp eax, ebx
je 0x10106f4e
cmp ecx, eax
jae 0x10106f54
jmp 0x10106f52
cmp ecx, eax
jbe 0x10106f54
mov eax, ecx
push eax
mov ecx, esi
call fcn.10104674
lea eax, [ebp - 0x24]
push eax
push ebx
push ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call fcn.101005a3
pop ecx
mov ecx, eax
call fcn.10100251
test al, al
jne 0x101070b8
lea eax, [ebp - 0x28]
push eax
push ebx
push 1
call fcn.101005a3
pop ecx
mov ecx, eax
call fcn.10100251
test al, al
jne 0x101070b8
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
push 2
call dword [eax + 0xc]
test al, al
je 0x10107079
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0x20], eax
lea eax, [esi + 0x4a4]
push eax
lea ecx, [ebp - 0x38]
call fcn.100010c0
push dword [ebp - 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
lea edx, [edi + 0x18]
push edx
lea edx, [esi + 0x18]
push edx
mov dword [ebp - 4], ebx
call dword [eax]
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], eax
cdq
lea ecx, [ebp - 0x38]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
call fcn.100010e0
mov eax, dword [ebp + 8]
cmp eax, ebx
jle 0x1010702b
mov ecx, dword [ebp - 0x10]
mov cl, byte [ecx]
test cl, cl
je 0x1010702b
add dword [ebp - 0x14], eax
push eax
push ebx
call fcn.101005a3
pop ecx
mov ecx, eax
call fcn.101002c7
push dword [ebp + 8]
push 1
call fcn.101005a3
pop ecx
mov ecx, eax
call fcn.101002c7
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
je 0x101070c0
cmp eax, ebx
je 0x101070cf
cmp eax, 0xfffffffe
je 0x101070f4
push edi
push eax
mov ecx, esi
call fcn.10105be3
test al, al
je 0x101070e7
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x18]
cmp eax, 0x3e8
jb 0x101070c0
push eax
push dword [ebp - 0x14]
mov ecx, esi
call fcn.10104afe
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], eax
jmp 0x101070c0
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax + 0x18]
test al, al
jne 0x101070ee
cmp byte [esi + 0x3e0], bl
jne 0x101070fb
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp + 8], eax
sub eax, dword [ebp - 0x18]
cmp eax, 0x3e8
jb 0x101070b4
push eax
push dword [ebp - 0x14]
mov ecx, esi
call fcn.10104afe
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], eax
push 1
jmp 0x101070ba
push 2
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, dword [ebp - 0x10]
mov al, byte [eax]
test al, al
jne 0x10106f1d
jmp 0x10107105
push 1
push dword [edi + 0x18]
push dword [edi + 4]
push dword [edi]
mov ecx, dword [esi + 0x39c]
push dword [ebp - 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov eax, dword [ebp - 0x10]
mov byte [eax], bl
jmp 0x10107105
inc dword [esi + 0x3ec]
push ebx
push 1
push ebx
push ebx
jmp 0x101070d9
mov ecx, esi
call fcn.10104bda
mov byte [edi + 0x34], bl
mov eax, dword [ebp - 0x10]
mov al, byte [eax]
test al, al
jne 0x10106edd
jmp 0x1010712c
mov ecx, dword [esi + 0x39c]
mov eax, dword [ecx]
push 1
push ebx
push ebx
push ebx
push dword [ebp - 0x1c]
call dword [eax + 0x2c]
mov eax, dword [ebp - 0x10]
mov byte [eax], bl
call fcn.1014d2f3
ret 4