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

Disassembly:
push 0x54
push 0x1004278
call fcn.0101b320
xor ebx, ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x1c], al
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x24], ebx
call fcn.0100bc76
test eax, eax
je 0x1014dec
push 0x101d450
call dword [sym.imp.ntdll.dll_RtlNumberGenericTableElementsAvl]
push eax
push 0x1004234
push 2
push 0xd71
push 0x4e
call fcn.0100bd8d
add esp, 0x14
mov esi, dword [ebp + 0xc]
mov dword [esi], ebx
mov dword [esi + 4], ebx
cmp dword [0x101d834], 3
je 0x1014f29
mov edi, 0x101d450
push edi
call dword [sym.imp.ntdll.dll_RtlNumberGenericTableElementsAvl]
test eax, eax
jne 0x1014e3b
call fcn.0100bc76
test eax, eax
je 0x1014e30
push 0x1004204
push 2
push 0xd7e
push 0x4e
call fcn.0100bd8d
add esp, 0x10
xor eax, eax
inc eax
call fcn.0101b35b
ret 8
mov dword [0x1028824], 1
call fcn.01013475
push ebx
push ebx
push ebx
push dword [ebp - 0x1c]
push edi
call fcn.0100df64
mov byte [ebp - 0x1c], bl
cmp eax, ebx
je 0x1014e65
cmp dword [0x101dc20], ebx
je 0x1014e4a
mov byte [ebp - 0x1c], 1
push ebx
push ebx
push ebx
push 1
push dword [0x101d24c]
push dword [0x101d248]
push 0x101d4f8
call fcn.01009fed
cmp eax, ebx
jne 0x1014eb0
call fcn.010133e6
call fcn.0100bc76
test eax, eax
je 0x1014eac
push 0x10041c8
push 2
push 0xd9b
push 0x4e
call fcn.0100bd8d
add esp, 0x10
xor eax, eax
jmp 0x1014e33
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1014ee8
cmp dword [ebp - 0x4c], ebx
jne 0x1014eda
cmp dword [ebp - 0x48], ebx
je 0x1014ee8
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1014f0a
mov dword [ebp - 0x28], ebx
call fcn.0100bc76
test eax, eax
je 0x1014f0a
push 0x1004178
push 2
push 0xdac
push 0x4e
call fcn.0100bd8d
add esp, 0x10
mov dword [ebp - 4], ebx
mov eax, dword [0x101d834]
cmp eax, 2
jne 0x1014f24
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1014f0d
cmp eax, 3
jne 0x1014f40
push ebx
push ebx
push 0x10
push dword [0x10287dc]
call dword [sym.imp.USER32.dll_PostMessageW]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitThread]
add dword [ebp - 0x44], 1
adc dword [ebp - 0x40], ebx
cmp dword [ebp - 0x28], ebx
je 0x101506a
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x101506a
mov edi, dword [ebp - 0x3c]
sub edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
sbb esi, dword [ebp - 0x50]
push ebx
push 4
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.0101b380
cmp esi, edx
jl 0x1015014
jg 0x1014f8e
cmp edi, eax
jbe 0x1015014
push dword [0x101d3e4]
push dword [0x101d3e0]
push ebx
push dword [ebp + 8]
call fcn.0101b380
push dword [0x101d3d4]
push dword [0x101d3d0]
push edx
push eax
call fcn.0101b3e0
mov dword [0x1028830], eax
mov ecx, dword [0x1028834]
add ecx, eax
mov dword [0x1028828], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
call fcn.01013475
mov edi, dword [ebp - 0x3c]
sub edi, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x38]
sbb esi, dword [ebp - 0x58]
push ebx
push 0x40
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.0101b380
cmp esi, edx
jl 0x1015014
jg 0x1014ffe
cmp edi, eax
jbe 0x1015014
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x58], eax
push 0x101d9b6
call fcn.01006923
mov esi, dword [ebp + 0xc]
mov edi, 0x101d450
push ebx
push ebx
push ebx
push dword [ebp - 0x1c]
push edi
call fcn.0100df64
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x1c], bl
cmp eax, ebx
je 0x1015042
cmp dword [0x101dc20], ebx
je 0x101501c
cmp eax, ebx
jne 0x10150d1
call fcn.0100bc76
test eax, eax
je 0x101530e
push 0x1004144
push 2
push 0xdfb
push 0x4e
call fcn.0100bd8d
add esp, 0x10
jmp 0x101530e
mov eax, dword [ebp - 0x44]
and eax, 0x1f
or eax, ebx
je 0x1015017
push dword [0x101d3e4]
push dword [0x101d3e0]
push ebx
push dword [ebp + 8]
call fcn.0101b380
push dword [0x101d3d4]
push dword [0x101d3d0]
push edx
push eax
call fcn.0101b3e0
mov dword [0x1028830], eax
mov ecx, dword [0x1028834]
add ecx, eax
mov dword [0x1028828], ecx
call fcn.01013475
mov eax, dword [ebp - 0x44]
and eax, 0x7f
or eax, ebx
je 0x1015017
push 0x101d9b6
call fcn.01006923
jmp 0x1015017
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x24]
push eax
call fcn.0100c263
push ebx
push ebx
call fcn.0100f43f
test eax, eax
je 0x1015358
push dword [ebp - 0x24]
push dword [0x101d1dc]
push dword [0x101d1d8]
push 1
push 0x101d4f8
call fcn.010090f4
test eax, eax
je 0x10152c3
push dword [0x101d1c4]
push dword [0x101d1c0]
push ebx
push 0x40000
call fcn.0101b3e0
push ebx
push 0x400
push edx
push eax
call fcn.0101b380
mov ecx, dword [0x101d24c]
cmp ecx, edx
jl 0x1015153
jg 0x1015149
mov ecx, dword [0x101d248]
cmp ecx, eax
jbe 0x1015153
call fcn.0100fc1e
call fcn.01013475
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x24]
call fcn.0101383f
test eax, eax
je 0x10151f1
mov eax, dword [0x101d268]
add dword [0x101d3e0], eax
mov eax, dword [0x101d26c]
adc dword [0x101d3e4], eax
mov eax, dword [0x101d40c]
mov ecx, dword [eax]
add ecx, dword [0x101d258]
mov eax, dword [eax + 4]
adc eax, dword [0x101d25c]
push eax
push ecx
push 0x101d488
push edi
call fcn.0100e132
mov ecx, dword [0x101d258]
add ecx, dword [0x101d248]
mov edx, dword [0x101d25c]
adc edx, dword [0x101d24c]
mov eax, dword [0x101d40c]
add dword [eax], ecx
mov eax, dword [0x101d40c]
adc dword [eax + 4], edx
mov eax, dword [0x101d40c]
add eax, 8
mov ecx, dword [0x101d258]
add ecx, dword [0x101d248]
mov edx, dword [0x101d25c]
adc edx, dword [0x101d24c]
sub dword [eax], ecx
sbb dword [eax + 4], edx
jmp 0x101536a
call fcn.0100bc76
test eax, eax
je 0x1015226
push dword [0x101d83c]
mov eax, dword [0x101d408]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 4]
push dword [eax]
push 0x1004100
push 1
push 0xe2e
push 0x4e
call fcn.0100bd8d
add esp, 0x24
call fcn.0100bc76
test eax, eax
je 0x101524d
mov eax, dword [0x101d7e8]
mov dword [ebp - 0x30], eax
push eax
push 0x10040e8
push ebx
push 0xe34
push 0x4e
call fcn.0100bd8d
add esp, 0x14
call fcn.0100bc76
test eax, eax
je 0x1015271
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push 0x10040b8
push ebx
push 0xe35
push 0x4e
call fcn.0100bd8d
add esp, 0x18
call fcn.0100bc76
test eax, eax
je 0x101529f
mov eax, dword [0x101d408]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 4]
push dword [eax]
push 0x1004098
push ebx
push 0xe36
push 0x4e
call fcn.0100bd8d
add esp, 0x20
cmp dword [0x101d83c], 0x4d5
jne 0x10152bb
mov eax, dword [0x101d40c]
mov dword [eax + 8], ebx
mov eax, dword [0x101d40c]
mov dword [eax + 0xc], ebx
mov dword [ebp - 0x20], ebx
jmp 0x101536a
call fcn.0100fc1e
call fcn.0100bc76
test eax, eax
je 0x10152fc
mov eax, dword [0x101d7e8]
mov dword [ebp - 0x34], eax
push eax
push dword [0x101d24c]
push dword [0x101d248]
push 0x1004038
push 2
push 0xe4b
push 0x4e
call fcn.0100bd8d
add esp, 0x1c
mov eax, dword [0x101d248]
mov dword [esi], eax
mov eax, dword [0x101d24c]
mov dword [esi + 4], eax
mov dword [ebp - 0x20], ebx
lea eax, [ebp - 0x10]
push 0xffffffffffffffff
push eax
call sub.msvcrt.dll__local_unwind2
pop ecx
pop ecx
call fcn.010133e6
call fcn.0100bc76
test eax, eax
je 0x1015350
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x44]
add ecx, 0xffffffff
mov eax, dword [ebp - 0x40]
adc eax, 0xffffffff
push eax
push ecx
push 0x1003ff0
push 2
push 0xe6e
push 0x4e
call fcn.0100bd8d
add esp, 0x1c
mov eax, dword [ebp - 0x20]
jmp 0x1014e33
mov dword [ebp - 0x20], ebx
mov eax, dword [0x101d248]
mov dword [esi], eax
mov eax, dword [0x101d24c]
mov dword [esi + 4], eax
or dword [ebp - 4], 0xffffffff
call fcn.0101537d
jmp 0x1014f0a