Function at 0x1015db7
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x101dc68]
mov ecx, dword [0x101d1dc]
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [0x101d1d8]
xor ebx, ebx
xor esi, esi
inc esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x44], esi
mov byte [ebp - 0x38], 1
mov dword [ebp - 0x18], ebx
call fcn.0100bc76
test eax, eax
je 0x1015e2f
push dword [ebp + 8]
push dword [0x1028834]
push dword [0x1028830]
push 0x101d488
call dword [sym.imp.ntdll.dll_RtlNumberGenericTableElementsAvl]
push eax
push 0x10046b0
push 2
push 0x112b
push 0x4e
call fcn.0100bd8d
add esp, 0x20
cmp dword [0x101d834], 3
jne 0x1015e4f
push ebx
push ebx
push 0x10
push dword [0x10287dc]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, esi
jmp 0x10161ee
mov eax, dword [0x1028834]
push 2
pop esi
mov dword [0x1028824], esi
mov dword [ebp - 0x34], eax
call fcn.01013475
call fcn.010133b1
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x30]
push eax
call fcn.0100a486
cmp eax, ebx
jne 0x1015ea5
call fcn.01013419
call fcn.0100bc76
test eax, eax
je 0x1015e9e
push 0x1004670
push esi
push 0x1153
push 0x4e
call fcn.0100bd8d
add esp, 0x10
xor eax, eax
jmp 0x10161ee
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1015edd
cmp dword [ebp - 0x28], ebx
jne 0x1015ecf
cmp dword [ebp - 0x24], ebx
je 0x1015edd
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1015efe
call fcn.0100bc76
test eax, eax
je 0x1015efb
push 0x1004178
push esi
push 0x1160
push 0x4e
call fcn.0100bd8d
add esp, 0x10
mov dword [ebp - 0x44], ebx
push edi
jmp 0x1015f0c
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x101d834], 2
je 0x1015f01
cmp dword [0x101d834], 3
je 0x10161a8
add dword [ebp - 0xc], 1
adc dword [ebp - 8], ebx
cmp dword [ebp - 0x44], ebx
je 0x1016002
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1016002
cmp dword [ebp - 8], ebx
ja 0x1015f53
cmp dword [ebp - 0xc], 1
jbe 0x1016065
mov edi, dword [ebp - 0x14]
sub edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
sbb esi, dword [ebp - 0x3c]
push ebx
push 4
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.0101b380
cmp esi, edx
jl 0x1016065
jg 0x1015f7f
cmp edi, eax
jbe 0x1016065
mov esi, dword [0x101d1d8]
mov edi, dword [0x101d1dc]
mov eax, esi
sub eax, dword [ebp - 0x20]
push ebx
push dword [ebp + 8]
mov ecx, edi
sbb ecx, dword [ebp - 0x1c]
push ecx
push eax
call fcn.0101b380
push edi
push esi
push edx
push eax
call fcn.0101b3e0
add eax, dword [ebp - 0x34]
mov ecx, dword [0x1028830]
add ecx, eax
mov dword [0x1028834], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov dword [0x1028828], ecx
mov dword [ebp - 0x3c], eax
call fcn.01013475
mov edi, dword [ebp - 0x14]
sub edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x10]
sbb esi, dword [ebp - 0x48]
push ebx
push 0x40
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.0101b380
cmp esi, edx
jl 0x1016065
jg 0x1015ff4
cmp edi, eax
jbe 0x1016065
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
jmp 0x101605b
mov eax, dword [ebp - 0xc]
and eax, 0x1f
or eax, ebx
je 0x1016065
mov esi, dword [0x101d1d8]
mov edi, dword [0x101d1dc]
mov eax, esi
sub eax, dword [ebp - 0x20]
push ebx
push dword [ebp + 8]
mov ecx, edi
sbb ecx, dword [ebp - 0x1c]
push ecx
push eax
call fcn.0101b380
push edi
push esi
push edx
push eax
call fcn.0101b3e0
add eax, dword [ebp - 0x34]
mov ecx, dword [0x1028830]
add ecx, eax
mov dword [0x1028834], eax
mov dword [0x1028828], ecx
call fcn.01013475
mov eax, dword [ebp - 0xc]
and eax, 0x7f
or eax, ebx
je 0x1016065
push 0x101d9b6
call fcn.01006923
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push 0x101d488
call fcn.0100df64
cmp eax, ebx
mov edx, dword [0x101d238]
mov ecx, dword [0x101d23c]
mov esi, dword [0x101d248]
mov edi, dword [0x101d24c]
mov byte [ebp - 0x38], bl
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
je 0x10161b8
mov eax, dword [0x101d408]
test byte [eax + 0x1c], 0x10
je 0x10160d9
cmp ecx, dword [0x101d3ec]
jl 0x10160d9
jg 0x10160bf
cmp edx, dword [0x101d3e8]
jbe 0x10160d9
cmp ecx, dword [0x101d3f4]
jl 0x1015f0c
jg 0x10160d9
cmp edx, dword [0x101d3f0]
jb 0x1015f0c
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], ebx
call fcn.0100c263
push ebx
push ebx
call fcn.0100f43f
test eax, eax
je 0x1016144
cmp dword [ebp - 0x18], ebx
mov eax, dword [0x101d248]
mov ecx, dword [0x101d24c]
je 0x1016110
mov edx, dword [0x101d260]
add eax, edx
mov edx, dword [0x101d264]
adc ecx, edx
push dword [0x101d23c]
push dword [0x101d238]
push ecx
push eax
call fcn.01008d20
test eax, eax
je 0x1016133
push dword [ebp - 0x18]
push 1
call fcn.010153e7
jmp 0x1016144
cmp edi, ebx
jl 0x1016144
jg 0x101613e
cmp esi, 1
jb 0x1016144
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edi
mov eax, dword [0x101d99c]
cmp eax, 0xffffffff
je 0x101615c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x101d99c], 0xffffffff
cmp dword [0x101d9a0], ebx
je 0x101619e
push dword [0x101d9a0]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test eax, eax
jne 0x1016164
push dword [0x101d9a0]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x1016198
push 0x11e5
push 0x1003838
push 0x10037d8
call fcn.01007cb4
mov dword [0x101d9a0], ebx
call fcn.0100842d
jmp 0x1015f0c
push ebx
push ebx
push 0x10
push dword [0x10287dc]
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.01013419
call fcn.0100bc76
test eax, eax
pop edi
je 0x10161eb
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
add eax, 0xffffffff
adc ecx, 0xffffffff
push ecx
push eax
push 0x100463c
push 2
push 0x11f0
push 0x4e
call fcn.0100bd8d
add esp, 0x18
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.0101b02f
leave
ret 4