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

Disassembly:
sub esp, 0x74
push esi
push edi
xor edi, edi
xor esi, esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edi
call fcn.1000b6a0
call fcn.10008680
mov eax, dword [0x1003d278]
mov dword [esp + 0x44], edi
mov dword [esp + 0x1c], eax
mov eax, dword [0x1003ca44]
cmp eax, edi
jl 0x1000cbb9
push ebx
push ebp
mov ecx, dword [esp + 0x24]
push ecx
push edi
call fcn.1000b480
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esp + 0x10], ebp
je 0x1000caf6
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1000c6b9
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x14]
push ecx
push 0x10024380
mov edx, dword [eax]
push eax
call dword [edx]
test eax, eax
jl 0x1000cb0d
push edi
call fcn.1000b5e0
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x2c], ebx
jne 0x1000c6d8
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1000caf6
push edi
push ebx
call fcn.10006880
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esp + 0x50], ebp
jne 0x1000c705
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.100068b0
add esp, 4
jmp 0x1000caf6
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x1000c72d
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x28]
push edx
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x98]
test eax, eax
jl 0x1000cb57
mov edx, dword [esp + 0x28]
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x64]
rep stosd dword es:[edi], eax
mov eax, dword [edx]
lea ecx, [esp + 0x64]
push ecx
push edx
call dword [eax + 0x30]
mov eax, dword [esp + 0x64]
cmp eax, 0x16
je 0x1000c75c
cmp eax, 0x15
je 0x1000c75c
cmp eax, 0x17
jne 0x1000cb6d
push ebp
call fcn.1000b5f0
add esp, 4
test eax, eax
je 0x1000cb83
mov edi, dword [esp + 0x20]
cmp eax, 0xb
jne 0x1000c7a2
test edi, edi
je 0x1000c78c
mov edx, dword [edi]
push edi
call dword [edx + 8]
mov dword [esp + 0x20], 0
mov edi, dword [esp + 0x20]
test esi, esi
je 0x1000c7a2
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x7c]
mov eax, dword [ebp + 0x14]
cmp edx, eax
jb 0x1000cb83
mov ecx, dword [esp + 0x80]
mov eax, dword [ebp + 0x18]
cmp ecx, eax
jb 0x1000cb83
test esi, esi
jne 0x1000c83b
mov eax, dword [esp + 0x14]
lea ebx, [esp + 0x30]
push esi
push ebx
mov ebx, dword [esp + 0x6c]
push esi
push esi
push esi
push ebx
mov dword [esp + 0x48], esi
mov edi, dword [eax]
push ecx
push edx
push eax
call dword [edi + 0x70]
test eax, eax
jl 0x1000cb13
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x34]
push esi
push edx
mov edx, dword [esp + 0x6c]
push 2
push edx
mov edx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x48], esi
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x90]
test eax, eax
jl 0x1000cb2d
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov esi, ecx
mov edi, eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1000c883
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push 0
push 0
mov edx, dword [eax]
push edi
push 0
push ecx
push eax
call dword [edx + 0x88]
test eax, eax
jl 0x1000cb83
mov eax, dword [esp + 0x14]
push esi
push edi
push eax
mov edx, dword [eax]
call dword [edx + 0x80]
test eax, eax
jl 0x1000cb57
mov dword [esp + 0x38], 0
mov eax, dword [esi]
push 0x10
lea ecx, [esp + 0x60]
push 0
push ecx
push esi
call dword [eax + 0x34]
test eax, eax
jl 0x1000cb6d
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.1000b590
add esp, 8
test eax, eax
je 0x1000cad2
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x64]
lea edx, [esp + 0x64]
rep stosd dword es:[edi], eax
mov ecx, dword [esi]
push edx
push esi
call dword [ecx + 0x30]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x14]
lea edi, [ebp + 0x24]
mov dword [esp + 0x1c], ebx
shl eax, 2
mov dword [esp + 0x44], edi
mov dword [esp + 0x58], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x1000c93f
mov edx, dword [eax]
mov ecx, dword [eax + 8]
sub ecx, edx
cmp ecx, dword [ebp + 0x14]
jb 0x1000c93f
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
sub eax, ecx
cmp eax, dword [ebp + 0x18]
jb 0x1000c93f
cmp dword [esp + 0x64], 0x17
jne 0x1000c927
lea edx, [ebx + edx*2]
mov dword [esp + 0x1c], edx
jmp 0x1000c92e
lea eax, [ebx + edx*4]
mov dword [esp + 0x1c], eax
imul ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x1c], eax
mov ebx, eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0x20], 0
mov edx, dword [esp + 0x64]
cmp edx, 0x17
mov dword [esp + 0x54], eax
jne 0x1000c960
mov dword [ebp + 0x20], 1
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x1000c96f
mov dword [ebp + 0x20], 0
test ecx, ecx
jbe 0x1000caaf
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x64], 0x17
jne 0x1000ca6d
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x1000ca62
test eax, eax
jbe 0x1000ca88
mov ebp, edi
mov edi, ebx
mov dword [esp + 0x3c], eax
mov ax, word [edi]
and eax, 0xffff
mov ecx, eax
mov ebx, eax
and eax, 0x1f
shl eax, 3
shr ecx, 8
mov esi, eax
and ecx, 0xf8
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
shr ebx, 3
add ecx, eax
and ebx, 0xfc
mov eax, 0x4104105
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ebx, eax
mov eax, 0x8421085
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add esi, eax
cmp ecx, 0xff
jbe 0x1000ca11
mov ecx, 0xff
cmp ebx, 0xff
jbe 0x1000ca1e
mov ebx, 0xff
cmp esi, 0xff
jbe 0x1000ca2b
mov esi, 0xff
xor edx, edx
mov eax, dword [esp + 0x3c]
mov dh, cl
and esi, 0xff
mov dl, bl
add edi, 2
shl edx, 8
or edx, esi
mov dword [ebp], edx
add ebp, 4
dec eax
mov dword [esp + 0x3c], eax
jne 0x1000c9a2
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
jmp 0x1000ca84
lea ecx, [eax*4]
shr ecx, 1
jmp 0x1000ca74
lea ecx, [eax*4]
mov edx, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
add ebx, edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x1c], ebx
add edi, edx
dec ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ecx
jne 0x1000c97b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov dword [ebp + 0x1c], 1
call fcn.1000b5c0
mov ebx, dword [esp + 0x34]
add esp, 8
mov edx, dword [esi]
push esi
call dword [edx + 0x38]
push ebp
call fcn.100068a0
push ebx
call fcn.100068b0
mov eax, dword [esp + 0x18]
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x4c]
mov eax, dword [0x1003ca44]
inc edi
cmp edi, eax
mov dword [esp + 0x4c], edi
jle 0x1000c677
jmp 0x1000cb9d
push ebp
jmp 0x1000cb97
push ebp
call fcn.100068a0
mov ecx, dword [esp + 0x30]
push ecx
call fcn.100068b0
mov edx, dword [esp + 0x18]
add esp, 8
push edx
jmp 0x1000cb97
push ebp
call fcn.100068a0
mov eax, dword [esp + 0x30]
push eax
call fcn.100068b0
mov ecx, dword [esp + 0x18]
add esp, 8
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x30]
push eax
mov edx, dword [eax]
call dword [edx + 8]
jmp 0x1000cb9d
push ebp
call fcn.100068a0
push ebx
call fcn.100068b0
mov ecx, dword [esp + 0x18]
add esp, 8
push ecx
jmp 0x1000cb97
push ebp
call fcn.100068a0
push ebx
call fcn.100068b0
mov edx, dword [esp + 0x18]
add esp, 8
push edx
jmp 0x1000cb97
push ebp
call fcn.100068a0
push ebx
call fcn.100068b0
mov eax, dword [esp + 0x18]
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x20]
xor edi, edi
pop ebp
cmp eax, edi
pop ebx
je 0x1000cbaf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, edi
je 0x1000cbb9
mov edx, dword [esi]
push esi
call dword [edx + 8]
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x1000cbc7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
cmp eax, edi
pop edi
pop esi
je 0x1000cbd7
mov edx, dword [eax]
push eax
call dword [edx + 8]
add esp, 0x74
ret