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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push esi
mov esi, ecx
lea eax, [esi + 0x2c]
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp eax, 1
jne 0x10006f9f
cmp byte [esi + 0x28], 0
jne 0x10006f9f
mov eax, dword [esi + 0x30]
test eax, eax
seta byte [ebp - 2]
mov ecx, 0x989680
mul ecx
cmp byte [esi + 0x34], 0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov byte [ebp - 1], 0
jne 0x10006e0e
push dword [esi + 0x84]
lea ecx, [esi + 0xa4]
call dword [sym.imp.Proxy.dll_public:_long_int___thiscall_CProxy::SynchronizeTime_unsigned_short_int__]
test eax, eax
jl 0x10006e0e
mov byte [ebp - 1], 1
and dword [ebp - 0x14], 0
push ebx
push edi
xor eax, eax
lea edi, [ebp - 0x10]
stosd dword es:[edi], eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ebx, dword [ebp - 0x14]
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov edx, 0x2710
mul edx
cmp byte [ebp - 2], 0
mov dword [ebp - 8], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
je 0x10006ef3
cmp byte [ebp - 1], 0
jne 0x10006ef3
cmp ecx, dword [esi + 0x40]
jae 0x10006ef3
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0
adc edx, 1
add eax, ecx
mov ecx, dword [ebp - 0x28]
adc ecx, edx
cmp edi, ecx
jb 0x10006e92
ja 0x10006e88
cmp ebx, eax
jbe 0x10006e92
mov edx, ebx
sub edx, eax
mov eax, edi
sbb eax, ecx
jmp 0x10006e9a
sub eax, ebx
sbb ecx, edi
mov edx, eax
mov eax, ecx
cmp eax, dword [ebp - 0x20]
ja 0x10006eac
jb 0x10006ea6
cmp edx, dword [ebp - 0x24]
ja 0x10006eac
mov byte [ebp - 1], 1
jmp 0x10006ef3
mov ecx, esi
call fcn.100067ff
push dword [esi + 0x84]
lea ecx, [esi + 0xa4]
call dword [sym.imp.Proxy.dll_public:_long_int___thiscall_CProxy::SynchronizeTime_unsigned_short_int__]
test eax, eax
jl 0x10006ef3
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 1], 1
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x2710
mov dword [ebp - 8], eax
mul ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov eax, dword [esi + 0x38]
or eax, dword [esi + 0x3c]
jne 0x10006efe
mov byte [ebp - 2], al
cmp byte [ebp - 1], 0
je 0x10006f22
mov ecx, dword [ebp - 0x10]
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov byte [esi + 0x34], 1
sbb ecx, dword [ebp - 0x18]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
jmp 0x10006f97
cmp byte [ebp - 2], 0
je 0x10006f9d
mov ecx, dword [esi + 0x38]
add ecx, dword [ebp - 0x1c]
mov edx, dword [esi + 0x3c]
adc edx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
cmp edi, edx
jb 0x10006f4b
ja 0x10006f41
cmp ebx, ecx
jbe 0x10006f4b
sub ebx, ecx
sbb edi, edx
mov ecx, ebx
mov eax, edi
jmp 0x10006f51
sub ecx, ebx
mov eax, edx
sbb eax, edi
cmp eax, dword [ebp - 0x20]
jb 0x10006f97
ja 0x10006f5d
cmp ecx, dword [ebp - 0x24]
jbe 0x10006f97
and word [ebp - 0x34], 0
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
xor eax, eax
lea edi, [ebp - 0x32]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x20], edx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x10006f97
lea eax, [ebp - 0x34]
push eax
call fcn.10006671
pop ecx
mov eax, dword [ebp - 8]
mov dword [esi + 0x40], eax
pop edi
pop ebx
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
pop esi
leave
ret