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

Disassembly:
push 0x100
mov eax, 0x101798c
call fcn.01011fb1
push 0
sub esp, 0x58
mov dword [ebp - 0xc0], esp
mov esi, ecx
mov ecx, esp
push 0xff
push 7
push 0x1b6
push 0x1004494
push 0x1003598
mov ebx, 0x1003530
push ebx
mov dword [ebp - 0xc4], esi
call fcn.01012994
lea ecx, [ebp - 0x104]
call fcn.01013ba7
and dword [ebp - 4], 0
test dword [0x101b104], 0xfffffff8
je 0x100d1d4
push 0xd
mov ecx, esi
call fcn.0100888d
push eax
mov ecx, esi
call fcn.0100abaa
mov dword [ebp - 0xac], eax
jmp 0x100d1de
mov dword [ebp - 0xac], 0x1d
push 3
mov ecx, esi
call fcn.0100888d
mov esi, 0x1008320
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xbc], eax
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xc4]
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.01008edc
xor eax, eax
push eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xb8]
push eax
push 1
mov ecx, esi
call fcn.0100ae50
mov ecx, dword [esi]
mov eax, dword [ecx]
lea edx, [ebp - 0x104]
push edx
push dword [ebp - 0xb4]
lea esi, [ebp - 0x20]
push dword [ebp - 0xb8]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0xbc]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 4]
and dword [ebp - 0xa8], 0
lea eax, [ebp - 0xa8]
push eax
sub esp, 0x10
mov edi, esp
mov esi, 0x10022d8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x17
push 0x10022c0
sub esp, 0x10
movsd dword es:[edi], dword [esi]
mov edi, esp
mov esi, 0x10022b0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
movsd dword es:[edi], dword [esi]
push 0xff
push 7
movsd dword es:[edi], dword [esi]
push 0x1ce
mov edi, 0x1004494
push edi
mov esi, 0x1003598
push esi
push ebx
mov byte [ebp - 4], 1
call fcn.01012994
lea ecx, [ebp - 0x104]
call fcn.0101542b
cmp dword [ebp - 0xfc], 0
jge 0x100d309
push dword [ebp - 0xfc]
push 0x1002268
push dword [ebp - 0xfc]
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x1d5
push edi
push esi
push ebx
call fcn.01012994
lea eax, [ebp - 0x104]
push eax
call fcn.010143db
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xac]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov dword [ebp - 0xfc], eax
test eax, eax
jge 0x100d35d
push eax
push dword [ebp - 0xac]
push 0x1004440
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x1d9
push edi
push esi
push ebx
call fcn.01012994
lea eax, [ebp - 0x104]
push eax
call fcn.010143db
and dword [ebp - 0xb0], 0
cmp dword [ebp - 0xb4], 0
mov esi, 0x1008320
lea edi, [ebp - 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov byte [ebp - 4], 2
movsd dword es:[edi], dword [esi]
jl 0x100d526
jg 0x100d390
cmp dword [ebp - 0xb8], 0
jbe 0x100d526
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_srand]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
pop ecx
call edi
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
lea edx, [ebp - 0x40]
push edx
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
jge 0x100d491
cmp eax, 0x80042316
jne 0x100d4ef
call edi
push 0
push 0xea60
push dword [ebp - 0xb4]
mov esi, eax
push dword [ebp - 0xb8]
sub esi, dword [ebp - 0xac]
call fcn.01012100
xor ecx, ecx
cmp ecx, edx
jg 0x100d4ef
jl 0x100d417
cmp esi, eax
jae 0x100d4ef
cmp dword [0x101b060], 0x2710
jge 0x100d437
call dword [sym.imp.msvcrt.dll_rand]
cdq
mov ecx, 0x2ee
idiv ecx
add dword [0x101b060], edx
push dword [0x101b060]
push 0x10043d0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x1f4
push 0x1004494
push 0x1003598
push ebx
call fcn.01012994
lea eax, [ebp - 0x104]
push eax
call fcn.010138f0
add esp, 0x64
push dword [0x101b060]
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0xfc], 0
jl 0x100d3b8
mov eax, dword [ebp - 0xa8]
mov esi, 0x1008320
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
sub esp, 0x10
mov edi, esp
push dword [ebp - 0xbc]
lea esi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x14]
xor esi, esi
cmp eax, esi
mov dword [ebp - 0xfc], eax
jge 0x100d564
push eax
push 0x1004378
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x211
jmp 0x100d517
push dword [ebp - 0xfc]
push 0x1004320
push dword [ebp - 0xfc]
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x1f9
push 0x1004494
push 0x1003598
jmp 0x100d2f7
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
lea edx, [ebp - 0x40]
push edx
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
jge 0x100d491
push eax
push 0x1004320
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x206
jmp 0x100d517
push esi
lea eax, [ebp - 0xb0]
push eax
mov dword [ebp - 0xfc], esi
call dword [sym.imp.ATL.DLL_AtlComPtrAssign]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
lea edx, [ebp - 0xb0]
push edx
push esi
push eax
call dword [ecx + 0x18]
cmp eax, esi
mov dword [ebp - 0xfc], eax
jge 0x100d5b9
push eax
push 0x10042d0
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x217
jmp 0x100d517
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp eax, esi
mov dword [ebp - 0xfc], eax
jge 0x100d5f4
push eax
push 0x1004290
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x21c
jmp 0x100d517
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
push esi
lea edx, [ebp - 0xc0]
push edx
push eax
call dword [ecx + 0x14]
cmp eax, esi
mov dword [ebp - 0xfc], eax
jge 0x100d635
push eax
push 0x1004248
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x222
jmp 0x100d517
mov eax, dword [ebp - 0xc0]
cmp eax, esi
mov dword [ebp - 0xfc], eax
jge 0x100d668
push eax
push 0x10041d0
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x22b
jmp 0x100d517
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
lea edx, [ebp - 0xa0]
push edx
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x1c]
mov dword [ebp - 0xfc], eax
test eax, eax
jge 0x100d6b4
push eax
push 0x1004190
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0xff
push 7
push 0x234
jmp 0x100d517
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.01010f93
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], 0x100239c
push dword [ebp - 0x7c]
mov esi, dword [ebp - 0xc4]
push eax
push dword [ebp - 0xbc]
mov byte [ebp - 4], 3
push 0x4000274d
push esi
call fcn.0101045d
add esp, 0x14
lea eax, [ebp - 0xa0]
push eax
call sub.VSSAPI.DLL_VssFreeSnapshotPropertiesInternal
and dword [esi + 0x24], 0
lea ecx, [ebp - 0xb8]
call fcn.01008dc6
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 1
test eax, eax
je 0x100d726
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 4], 0
test eax, eax
je 0x100d73a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x104]
call fcn.01013c60
call fcn.01012043
ret