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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov ecx, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
call fcn.10005de0
mov esi, dword [ebp + 0x10]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add esi, 0x38
je 0x100066d4
mov edx, dword [ebx + 0x14]
mov ecx, esi
call fcn.10012c10
test edi, edi
js 0x100066e2
mov edx, dword [ebx + 0x14]
mov ecx, edi
call fcn.10012ba0
mov eax, dword [ebx + 0x51c]
sub eax, dword [ebx + 0x518]
xor edx, edx
sar eax, 4
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edx
cmp eax, edx
jbe 0x1000672b
mov ecx, dword [ebx + 0x518]
add ecx, 8
mov esi, dword [ecx]
add dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x18]
adc esi, dword [ecx + 4]
mov dword [ebp - 0x18], esi
cmp esi, dword [ebp + 0x18]
ja 0x10006748
jb 0x10006723
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp + 0x14]
jae 0x10006748
inc edx
add ecx, 0x10
cmp edx, eax
jb 0x10006706
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp + 0x18]
ja 0x10006748
jb 0x1000673d
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp + 0x14]
jae 0x10006748
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov edi, dword [ebp + 0x10]
mov esi, dword [ebx + 0x228]
push 1
add edi, 0x28
push edi
call fcn.10003340
mov edx, dword [edi + 4]
sub edx, dword [edi]
xor ecx, ecx
sar edx, 4
mov dword [ebp - 0xc], ecx
test edx, edx
je 0x10006a15
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1000677a
xor ecx, ecx
add eax, dword [edi]
mov dword [ebp - 0x1c], ecx
mov esi, dword [eax + 4]
mov edi, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
cmp esi, ecx
jb 0x100069ec
ja 0x100067b0
cmp edi, ecx
jbe 0x100069ec
jmp 0x100067b0
cmp dword [0x10032004], 0
jne 0x100069ec
cmp dword [section.sdcoredl], 0
je 0x100067d7
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [section.sdcoredl], 0
jne 0x100067c6
sub edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x54]
sbb esi, dword [ebp - 0x18]
lea ecx, [ebx + 0x250]
push esi
push edi
mov dword [ebp - 0x38], esi
call fcn.10004b50
test eax, eax
je 0x100069ec
mov ecx, dword [ebp - 0x48]
cmp ecx, esi
ja 0x1000680f
mov eax, dword [ebp - 0x4c]
jb 0x10006808
cmp eax, edi
jae 0x1000680f
mov edi, eax
mov dword [ebp - 0x38], ecx
mov esi, ecx
mov edx, dword [ebp - 0x54]
xor eax, eax
mov ecx, edx
or ecx, dword [ebp - 0x50]
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
jne 0x10006838
mov dword [ebp - 8], eax
jmp 0x100068b0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100069e1
cmp ecx, 0xffffffff
je 0x100069e1
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x100069e1
cmp eax, 0xffffffff
je 0x100069e1
push 0
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp + 0x18]
push ecx
push 0
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x20]
push 0
push 0x20
mov dword [ebp - 0x68], edx
lea edx, [ebp - 0x74]
push edx
push 0x90074
push eax
mov dword [ebp - 0x5c], edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x1000689f
xor eax, eax
jmp 0x100068a5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
test eax, eax
jne 0x100069ec
add dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
adc dword [ebp - 0x20], esi
add dword [ebp - 0x1c], edi
push eax
push ecx
adc dword [ebp - 0x18], esi
mov esi, dword [ebx + 0x228]
mov edx, edi
call fcn.10003880
mov esi, dword [ebx + 0x228]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
test eax, eax
jne 0x100068eb
cmp ecx, 1
ja 0x100068eb
mov ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [esi + 0x14], eax
mov eax, ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
mov eax, dword [ebp - 0x54]
push edx
push eax
call fcn.1001bf00
or ecx, ebx
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x18], eax
je 0x10006913
inc eax
mov dword [ebp + 0x18], eax
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jb 0x1000691e
dec ecx
mov dword [ebp + 0x18], ecx
mov eax, dword [esi + 0x14]
push eax
mov eax, dword [esi + 0x10]
push eax
xor eax, eax
push eax
push edi
call fcn.1001bf00
or ecx, ebx
mov dword [ebp - 0x40], edx
mov edx, eax
je 0x10006939
inc edx
cmp edx, 1
ja 0x10006943
mov edx, 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [esi + 0xc]
lea ebx, [edx + eax]
cmp ebx, ecx
jbe 0x10006954
sub ecx, eax
mov edx, ecx
test edx, edx
je 0x1000697d
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
nop
mov ecx, dword [esi + 8]
inc dword [eax + ecx + 4]
lea ecx, [eax + ecx + 4]
mov ecx, dword [esi + 8]
inc word [eax + ecx + 2]
lea ecx, [eax + ecx + 2]
add eax, 0xc
dec edx
jne 0x10006960
add dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
adc dword [ebp - 0x28], eax
add dword [esi + 0x530], edi
mov ecx, esi
adc dword [esi + 0x534], eax
call fcn.10005de0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
sub edx, dword [esi + 0xc]
cmp edx, 0x1f4
jb 0x100069c2
mov dword [esi + 0xc], eax
test edi, edi
js 0x100069c2
mov edx, dword [esi + 0x14]
mov ecx, edi
call fcn.10012ba0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x18], eax
ja 0x100069ea
jb 0x100069d4
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], ecx
jae 0x100069ea
mov edi, dword [ebp - 0x34]
mov ebx, esi
mov esi, dword [ebp - 0x30]
jmp 0x100067b0
mov dword [ebp - 8], 0xffffffff
jmp 0x100069ec
mov ebx, esi
mov edi, dword [ebp + 0x10]
mov edx, dword [edi + 0x2c]
sub edx, dword [edi + 0x28]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
add edi, 0x28
inc ecx
add eax, 0x10
sar edx, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, edx
jb 0x10006778
xor ecx, ecx
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
push ecx
mov dword [edx + 4], eax
mov esi, dword [ebx + 0x228]
push edi
call fcn.10003340
mov eax, dword [ebx + 0x228]
mov ecx, dword [ebp + 0x10]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.100131d0
add esp, 8
xor eax, eax
cmp dword [ebp - 8], eax
pop edi
pop esi
sete al
pop ebx
mov esp, ebp
pop ebp
ret 0x14