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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x140061740]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0x1c8]
mov rsi, qword [rbp + 0x1d0]
mov r14, qword [rbp + 0x1a8]
mov qword [rbp - 0x78], rax
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
movsxd rdi, ecx
cmp byte [rdi + rax + 0x68310], 0
mov r12d, r9d
mov qword [rbp - 0x70], r8
mov r9, r8
mov dword [rsp + 0x64], ecx
mov qword [rsp + 0x78], rsi
je 0x1400110d4
mov rcx, qword [0x14006ce68]
imul rdi, rdi, 0x4a8
add rcx, 0x480
add rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x14006ce68]
mov rax, qword [rdi + rcx + 0x468]
mov qword [rdi + rcx + 0x470], rax
mov rcx, qword [0x14006ce68]
add rcx, 0x480
add rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [0x14006ce68]
xor esi, esi
mov qword [rdi + rax + 0x240], rsi
mov rax, qword [0x14006ce68]
lea ecx, [rsi + 0x64]
mov qword [rdi + rax + 0x238], rsi
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x14001129d
cmp byte [rdi + rax + 0x68068], 0
je 0x140011058
mov rax, qword [0x14006ce68]
mov qword [rsp + 0x288], rbx
mov rbx, rdi
imul rbx, rbx, 0x4a8
mov rcx, qword [rbx + rax + 0x280]
test rcx, rcx
je 0x140011968
mov rax, qword [0x14006ce68]
cmp byte [rbx + rax + 0x31c], 0
je 0x140011135
mov rax, qword [rbx + rax + 0x288]
test rax, rax
je 0x140011968
mov rax, qword [0x14006ce68]
cmp qword [rbx + rax + 0x2c8], 0
je 0x140011968
mov qword [rsp + 0x248], r13
lea rcx, [rbp]
mov qword [rsp + 0x240], r15
mov r15d, dword [rbx + rax + 0x200]
mov rax, r8
lea r10, [rbp]
or rax, rcx
mov rdx, r8
and eax, 0xf
jne 0x1400111f0
mov eax, 2
nop dword [rax + rax]
movaps xmm0, xmmword [rdx]
movaps xmm1, xmmword [rdx + 0x10]
lea rcx, [rcx + 0x80]
lea rdx, [rdx + 0x80]
movaps xmmword [rcx - 0x80], xmm0
movaps xmm0, xmmword [rdx - 0x60]
movaps xmmword [rcx - 0x70], xmm1
movaps xmm1, xmmword [rdx - 0x50]
movaps xmmword [rcx - 0x60], xmm0
movaps xmm0, xmmword [rdx - 0x40]
movaps xmmword [rcx - 0x50], xmm1
movaps xmm1, xmmword [rdx - 0x30]
movaps xmmword [rcx - 0x40], xmm0
movaps xmm0, xmmword [rdx - 0x20]
movaps xmmword [rcx - 0x30], xmm1
movaps xmm1, xmmword [rdx - 0x10]
movaps xmmword [rcx - 0x20], xmm0
movaps xmmword [rcx - 0x10], xmm1
dec rax
jne 0x140011180
mov rax, qword [rdx + 0x20]
movaps xmm0, xmmword [rdx]
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx], xmm0
movaps xmmword [rcx + 0x10], xmm1
mov qword [rcx + 0x20], rax
mov eax, dword [rdx + 0x28]
mov dword [rcx + 0x28], eax
jmp 0x1400111fe
mov r8d, 0x12c
mov rcx, r10
call fcn.14002e480
mov rax, qword [0x14006ce68]
mov edx, dword [rbp + 0x1b8]
lea rcx, [rbp]
movzx eax, byte [rbx + rax + 0x31c]
mov r9d, r15d
mov r8, rsi
mov byte [rsp + 0x63], al
mov eax, dword [rbp + 0x1c0]
mov dword [rbp + 0x27], r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r12d
call fcn.140002af0
xor al, al
lea r13, [rdi + rdi*4]
xor esi, esi
mov byte [rsp + 0x61], al
mov byte [rsp + 0x60], al
mov byte [rsp + 0x62], al
mov rax, qword [0x14006ce10]
mov dword [rbp - 0x68], esi
mov r12d, esi
lea rcx, [rax + r13*8]
mov qword [rbp - 0x58], r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x140067ecc]
test eax, eax
je 0x1400112bb
mov rax, qword [0x14006ce10]
lea rcx, [rax + r13*8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov r13, qword [rsp + 0x248]
mov r15, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.14002e450
add rsp, 0x250
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
movzx r13d, byte [rbp + 0x1b0]
mov rcx, qword [rbp - 0x78]
movzx edx, r13b
call fcn.14000f610
test al, al
je 0x1400112f1
mov dil, 1
jmp 0x140011630
mov rdx, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x64]
lea r9, [rsp + 0x60]
cmp byte [rsp + 0x63], sil
jne 0x14001132e
mov byte [rsp + 0x20], r13b
mov r13, qword [rbp - 0x78]
mov r8, r13
call fcn.14000f730
test eax, eax
je 0x140011382
cmp eax, 1
jne 0x1400115e4
movzx edi, byte [rsp + 0x60]
jmp 0x14001161d
mov eax, dword [rbp + 0x1b8]
mov dword [rsp + 0x50], eax
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 0x1a0]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0x1c0]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x28], r14
mov byte [rsp + 0x20], r13b
mov r13, qword [rbp - 0x78]
mov r8, r13
call fcn.14000ff30
test eax, eax
je 0x140011382
cmp eax, 1
jne 0x1400112e9
movzx edi, byte [rsp + 0x60]
jmp 0x14001161d
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x70]
imul rax, rax, 0xf4240
cqo
idiv qword [rbp - 0x80]
mov r12, rax
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
mov ecx, dword [rax + rdi*4 + 0x67e30]
test ecx, ecx
jle 0x1400113c9
lea ecx, [rcx + rcx*4]
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
mov ecx, dword [rax + rdi*4 + 0x67270]
mov r8d, 1
test ecx, ecx
jle 0x140011440
movss xmm0, dword [0x14005a8b8]
add ecx, ecx
mov eax, 8
cmp ecx, eax
cmovg ecx, eax
mov eax, 0x10624dd3
imul r12d
movd xmm1, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
cvtdq2ps xmm1, xmm1
movd xmm2, edx
divss xmm1, dword [0x14005a8d0]
cvtdq2ps xmm2, xmm2
subss xmm0, xmm1
divss xmm2, xmm0
cvttss2si eax, xmm2
sub eax, edx
cmp eax, r8d
jge 0x14001142e
mov eax, r8d
jmp 0x140011438
mov ecx, 0x3e8
cmp eax, ecx
cmovg eax, ecx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x70]
imul rax, rax, 0xf4240
cqo
idiv qword [rbp - 0x80]
mov rdx, qword [0x14006ce10]
mov r12, rax
mov qword [rbp - 0x68], rax
lea rax, [rdi + rdi*4]
lea rcx, [rdx + rax*8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [rsp + 0x62], 1
cmp byte [rsp + 0x63], sil
jne 0x1400114c3
mov eax, dword [rbp + 0x1b8]
mov r8d, dword [rbp + 0x1a0]
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x70]
mov r9, r14
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x1c0]
mov edx, r15d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], eax
call fcn.140002de0
mov rax, qword [r14 + 8]
mov r8d, 1
cmp qword [r14], rax
je 0x1400114dd
mov eax, r8d
lock xadd dword [0x1400687d8], eax
mov ecx, dword [0x140067d18]
mov edx, dword [0x140065da0]
mov eax, esi
test ecx, ecx
setne al
test edx, edx
cmovne eax, r8d
cmp byte [0x140066927], sil
jne 0x140011503
test eax, eax
je 0x140011572
test ecx, ecx
jne 0x14001150b
test edx, edx
je 0x140011529
lea ecx, [r15 + r15*2]
mov eax, 0x51eb851f
shl ecx, 5
imul ecx
mov r15d, edx
sar r15d, 5
mov eax, r15d
shr eax, 0x1f
add r15d, eax
xor ecx, ecx
call fcn.14002fff4
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x60], rax
call fcn.14002fca0
mov eax, dword [0x1400687d8]
test eax, eax
jle 0x140011572
mov ecx, dword [0x1400687d8]
mov eax, 0x30c30c31
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x15
cmp ecx, edx
jne 0x140011572
mov rax, qword [r14]
cmp rax, qword [r14 + 8]
je 0x140011572
mov qword [r14 + 8], rax
mov rcx, qword [r14 + 8]
mov rax, qword [r14]
cmp rax, rcx
je 0x1400115ad
sub rcx, rax
movabs rax, 0x8534085340853409
imul rcx
add rdx, rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, sym.NsGpuCNMiner.exe_8_e_FT___30Dcpnn_XO00j_y7o3WE34G6t9IPnCn
add dword [rax + rdi*4 + 0x65c80], edx
mov rax, qword [0x14006ce68]
mov ecx, 0xf4240
cmp byte [rbx + rax], sil
jne 0x1400115c5
sub ecx, dword [0x140066934]
test r12d, r12d
je 0x1400115e1
movsxd rax, ecx
movsxd rcx, r15d
xor edx, edx
imul rax, rcx
movsxd rcx, r12d
div rcx
mov r12, rax
jmp 0x1400115e4
mov r12, rsi
movzx edi, byte [rsp + 0x60]
test dil, dil
jne 0x140011629
cmp r12, 0x2710
jbe 0x140011629
mov r9d, dword [rsp + 0x64]
lea r8, str.GPU__d_failed_n
mov edx, 3
xor ecx, ecx
call fcn.14000f050
mov ecx, 0x1388
mov r12, rsi
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [rsp + 0x61], 1
mov byte [0x140065d01], 1
cmp byte [rsp + 0x62], sil
jne 0x140011645
mov rax, qword [0x14006ce10]
mov rcx, qword [rbp - 0x58]
lea rcx, [rax + rcx*8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx r14d, byte [rsp + 0x61]
test r14b, r14b
je 0x140011694
mov rcx, qword [0x14006ce68]
add rcx, 0x480
add rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x14006ce68]
mov rax, qword [rbx + rcx + 0x468]
mov qword [rbx + rcx + 0x470], rax
mov rcx, qword [0x14006ce68]
add rcx, 0x480
add rcx, rbx
jmp 0x14001192c
test dil, dil
jne 0x1400117d7
mov rax, qword [rsp + 0x70]
mov rcx, qword [0x14006ce68]
mov dword [rbp - 0x50], r12d
mov qword [rbp - 0x48], rax
mov rax, qword [rsp + 0x68]
add rcx, 0x480
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x68]
add rcx, rbx
mov dword [rbp - 0x34], r15d
mov byte [rbp - 0x30], 1
mov dword [rbp - 0x38], eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x14006ce68]
lea rdx, [rbp - 0x50]
add rcx, 0x468
add rcx, rbx
call fcn.140011ca0
mov r8, qword [0x14006ce68]
movabs r10, 0x6666666666666667
mov rcx, qword [rbx + r8 + 0x470]
mov rax, r10
sub rcx, qword [rbx + r8 + 0x468]
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x32
jbe 0x140011922
nop word [rax + rax]
mov rcx, qword [rbx + r8 + 0x468]
mov r9, qword [rbx + r8 + 0x470]
add rcx, 0x28
cmp rcx, r9
je 0x140011794
lea rdx, [rcx - 0x28]
nop dword [rax]
mov rax, qword [rcx]
add rcx, 0x28
lea rdx, [rdx + 0x28]
mov qword [rdx - 0x28], rax
mov rax, qword [rcx - 0x20]
mov qword [rdx - 0x20], rax
mov rax, qword [rcx - 0x18]
mov qword [rdx - 0x18], rax
mov rax, qword [rcx - 0x10]
mov qword [rdx - 0x10], rax
mov rax, qword [rcx - 8]
mov qword [rdx - 8], rax
cmp rcx, r9
jne 0x140011760
add qword [rbx + r8 + 0x470], 0xffffffffffffffd8
mov r8, qword [0x14006ce68]
mov rax, r10
mov rcx, qword [rbx + r8 + 0x470]
sub rcx, qword [rbx + r8 + 0x468]
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x32
ja 0x140011740
jmp 0x140011922
lea rcx, [rsp + 0x68]
mov dword [rbp - 0x28], esi
mov dword [rbp - 0xc], esi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x18], rax
sub rax, rcx
mov qword [rbp - 0x20], rcx
mov rcx, qword [0x14006ce68]
mov byte [rbp - 8], sil
imul rax, rax, 0xf4240
cqo
add rcx, 0x480
add rcx, rbx
idiv qword [rbp - 0x80]
mov dword [rbp - 0x10], eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x14006ce68]
add rcx, 0x468
lea rdx, [rbp - 0x28]
add rcx, rbx
call fcn.140011ca0
mov r8, qword [0x14006ce68]
movabs r10, 0x6666666666666667
mov rcx, qword [rbx + r8 + 0x470]
mov rax, r10
sub rcx, qword [rbx + r8 + 0x468]
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x32
jbe 0x140011922
nop word [rax + rax]
mov rcx, qword [rbx + r8 + 0x468]
mov r9, qword [rbx + r8 + 0x470]
add rcx, 0x28
cmp rcx, r9
je 0x1400118e4
lea rdx, [rcx - 0x28]
nop dword [rax]
mov rax, qword [rcx]
add rcx, 0x28
lea rdx, [rdx + 0x28]
mov qword [rdx - 0x28], rax
mov rax, qword [rcx - 0x20]
mov qword [rdx - 0x20], rax
mov rax, qword [rcx - 0x18]
mov qword [rdx - 0x18], rax
mov rax, qword [rcx - 0x10]
mov qword [rdx - 0x10], rax
mov rax, qword [rcx - 8]
mov qword [rdx - 8], rax
cmp rcx, r9
jne 0x1400118b0
add qword [rbx + r8 + 0x470], 0xffffffffffffffd8
mov r8, qword [0x14006ce68]
mov rax, r10
mov rcx, qword [rbx + r8 + 0x470]
sub rcx, qword [rbx + r8 + 0x468]
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x32
ja 0x140011890
lea rcx, [rbx + 0x480]
add rcx, r8
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, qword [0x14006ce68]
mov qword [rbx + rcx + 0x250], rax
mov rcx, qword [0x14006ce68]
neg r14b
mov rax, qword [rbx + rcx + 0x250]
mov qword [rbx + rcx + 0x258], rax
sbb eax, eax
jmp 0x140011285
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x140011295