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

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x6c0
mov qword [rax - 0x630], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x140329490]
xor rax, rsp
mov qword [rsp + 0x6a0], rax
mov rdi, rcx
lea rcx, [rsp + 0x530]
call fcn.140059e40
nop
lea rbx, [0x1402bcd38]
mov qword [rsp + 0x4e0], rbx
xor eax, eax
mov qword [rsp + 0x4e8], rax
mov qword [rsp + 0x4f0], rax
mov qword [rsp + 0x4f8], rax
mov qword [rsp + 0x500], rax
movups xmm0, xmmword [rsp + 0x4e0]
movups xmmword [rsp + 0x578], xmm0
movups xmm1, xmmword [rsp + 0x4f0]
movups xmmword [rsp + 0x588], xmm1
movsd xmm0, qword [rsp + 0x500]
movsd qword [rsp + 0x598], xmm0
mov r14, 0xffffffffffffffff
mov r15d, r14d
mov edx, dword [rdi + 0x4d8]
lea rcx, [rdi + 0x488]
call fcn.1400c8650
mov edx, dword [rdi + 0x4d8]
lea rcx, [rdi + 0x4a0]
call fcn.1400c8650
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
test al, al
je 0x1400c4ae2
movabs r13, 0x7fffffffffffffff
movabs r12, 0x7ffffffffffffffe
movsd xmm6, qword [0x1402d4f28]
mov esi, 1
mov eax, dword [rdi + 0x80]
cmp eax, 1
jne 0x1400c458e
lea rdx, [rsp + 0x3e0]
mov rcx, rdi
call fcn.140063580
nop
mov qword [rsp + 0x508], rbx
xor eax, eax
mov qword [rsp + 0x510], rax
mov qword [rsp + 0x518], rax
mov qword [rsp + 0x520], rax
mov qword [rsp + 0x528], rax
lea r8d, [rax + 0x20]
lea rdx, [rsp + 0x510]
lea rcx, [rsp + 0x430]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c455e
lea rcx, [rsp + 0x60]
call fcn.140034920
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + r13]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c430e
cmp rcx, r12
jne 0x1400c4310
mov al, 1
test al, al
je 0x1400c4342
lea rax, [rcx + r13]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4328
cmp rcx, r12
jne 0x1400c432a
mov al, 1
test al, al
je 0x1400c4342
cmp rcx, r12
je 0x1400c436a
lea rax, [rcx + r13]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4349
add rcx, 0x2dc6c0
mov qword [rsp + 0x70], rcx
lea rcx, [rdi + 0x2b0]
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x50], 0
test rcx, rcx
je 0x1400c4b2e
jmp 0x1400c436f
mov rcx, r12
jmp 0x1400c4349
call fcn.140062600
mov byte [rsp + 0x50], 1
movzx r9d, si
movzx r8d, si
mov edx, 0x7b2
lea rcx, [rsp + 0x58]
call fcn.140024de0
mov eax, dword [rax]
lea ecx, [rax - 1]
cmp ecx, 0xfffffffd
seta cl
test cl, cl
jne 0x1400c43b6
cmp eax, 0xfffffffe
je 0x1400c43b6
mov ecx, eax
movabs rax, 0x141dd76000
imul rcx, rax
jmp 0x1400c43f5
lea ecx, [rax - 1]
cmp ecx, 0xfffffffd
seta cl
test cl, cl
jne 0x1400c43c8
cmp eax, 0xfffffffe
jne 0x1400c43ca
mov cl, 1
test cl, cl
je 0x1400c43f2
cmp eax, 0xfffffffe
je 0x1400c43ed
cmp eax, 0xffffffff
jne 0x1400c43dd
mov rcx, r13
jmp 0x1400c43f5
test eax, eax
jne 0x1400c43f2
movabs rcx, 0x8000000000000000
jmp 0x1400c43f5
mov rcx, r12
jmp 0x1400c43f5
mov rcx, rax
lea rax, [rcx + r13]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4409
cmp rcx, r12
jne 0x1400c440b
mov al, 1
test al, al
je 0x1400c443e
lea rax, [rcx + r13]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4423
cmp rcx, r12
jne 0x1400c4425
mov al, 1
test al, al
je 0x1400c443e
cmp rcx, r12
je 0x1400c443b
lea rax, [rcx + r13]
cmp rax, 0xfffffffffffffffd
seta al
jmp 0x1400c443e
mov rcx, r12
mov qword [rsp + 0x68], rcx
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.140031160
mov rbx, qword [rax]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [rsp + 0x34]
shl rcx, 0x20
mov eax, dword [rsp + 0x30]
or rcx, rax
lea rax, [rbx + rbx*4]
add rax, rax
sub rax, rcx
imul rsi, rax, 0x64
movabs rax, 0x5e6684f4b3960000
sub rsi, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x1400c44a5
xor eax, eax
jmp 0x1400c44f9
cmp qword [rsp + 0x40], 0
jg 0x1400c44b1
xor eax, eax
jmp 0x1400c44f9
xor ebx, ebx
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1400c44d8
inc ebx
cmp ebx, 3
ja 0x1400c44a1
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400c44c2
xorps xmm1, xmm1
cvtsi2sd xmm1, qword [rsp + 0x38]
mulsd xmm1, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
cvttsd2si rax, xmm1
add rax, rsi
mov qword [rsp + 0x78], rax
lea rcx, [rdi + 0x2d0]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x48]
call fcn.1400638f0
lea rcx, [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
nop
cmp byte [rsp + 0x50], 0
je 0x1400c4538
mov rcx, qword [rsp + 0x48]
call fcn.140025e90
nop
lea rcx, [rsp + 0x4b8]
call fcn.140035780
lea rcx, [rsp + 0x3e0]
call fcn.140035780
lea rbx, [0x1402bcd38]
jmp 0x1400c427b
cmp r15d, dword [rsp + 0x4a0]
je 0x1400c45c9
mov rcx, rdi
call fcn.140063210
test al, al
jne 0x1400c45a2
lea rcx, [rsp + 0x4b8]
call fcn.140035780
lea rcx, [rsp + 0x3e0]
call fcn.140035780
call fcn.14020b8f0
mov ebx, eax
test eax, eax
jne 0x1400c4b4e
jmp 0x1400c4ae2
mov r15d, dword [rsp + 0x4a0]
lea rcx, [rsp + 0x4b8]
call fcn.140035780
lea rcx, [rsp + 0x3e0]
call fcn.140035780
jmp 0x1400c4280
mov eax, 0x55555556
imul dword [rsp + 0x4a4]
mov eax, edx
shr eax, 0x1f
add edx, eax
movsxd rbx, edx
cmp qword [rdi + 0x340], 0
jne 0x1400c4631
mov qword [rdi + 0x340], rbx
mov ecx, 8
call fcn.140221304
mov qword [rsp + 0xd0], rax
lea rcx, [0x1400c5de0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdi
lea rdx, [rsp + 0x88]
mov rcx, rax
call fcn.1400c85c0
nop
mov qword [rdi + 0x348], rax
cmp r14, rbx
je 0x1400c4751
mov rcx, qword [rdi + 0x348]
call fcn.1400b7810
cmp rbx, qword [rdi + 0x340]
je 0x1400c469f
mov qword [rdi + 0x340], rbx
mov ecx, 8
call fcn.140221304
mov qword [rsp + 0xd8], rax
lea rcx, [0x1400c5de0]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdi
lea rdx, [rsp + 0x98]
mov rcx, rax
call fcn.1400c85c0
nop
mov qword [rdi + 0x348], rax
mov rcx, rax
call fcn.1400b7810
mov r14, rbx
xor byte [rdi + 0x472], 1
lea rdx, str.e_33mcu
lea rcx, [rsp + 0x168]
call fcn.14009c790
nop
lea rdx, str.Launching_period
lea rcx, [rsp + 0x178]
call fcn.140037990
mov rdx, rbx
lea rcx, [rsp + 0x178]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, str._PhiHash_kernel
lea rcx, [rsp + 0x178]
call fcn.140037990
nop
lea rcx, [rsp + 0x168]
call fcn.140030280
lea rax, [rbx + 1]
mov qword [rdi + 0x340], rax
mov ecx, 8
call fcn.140221304
mov qword [rsp + 0x80], rax
lea rcx, [0x1400c5de0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdi
lea rdx, [rsp + 0xa8]
mov rcx, rax
call fcn.1400c85c0
nop
mov qword [rdi + 0x348], rax
lea rdx, [rsp + 0x3e0]
cmp qword [rsp + 0x3f8], 0x10
cmovae rdx, qword [rsp + 0x3e0]
mov r8, qword [rsp + 0x3f0]
lea rcx, [rsp + 0x530]
call fcn.140035b50
movaps xmm0, xmmword [rsp + 0x400]
movaps xmmword [rsp + 0x550], xmm0
movaps xmm1, xmmword [rsp + 0x410]
movaps xmmword [rsp + 0x560], xmm1
movsd xmm0, qword [rsp + 0x420]
movsd qword [rsp + 0x570], xmm0
movups xmm1, xmmword [rsp + 0x428]
movups xmmword [rsp + 0x578], xmm1
movups xmm0, xmmword [rsp + 0x438]
movups xmmword [rsp + 0x588], xmm0
movsd xmm1, qword [rsp + 0x448]
movsd qword [rsp + 0x598], xmm1
movaps xmm0, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0x5a0], xmm0
movaps xmm1, xmmword [rsp + 0x460]
movaps xmmword [rsp + 0x5b0], xmm1
movsd xmm0, qword [rsp + 0x470]
movsd qword [rsp + 0x5c0], xmm0
movups xmm1, xmmword [rsp + 0x478]
movups xmmword [rsp + 0x5c8], xmm1
movups xmm0, xmmword [rsp + 0x488]
movups xmmword [rsp + 0x5d8], xmm0
movsd xmm1, qword [rsp + 0x498]
movsd qword [rsp + 0x5e8], xmm1
mov eax, dword [rsp + 0x4a0]
mov dword [rsp + 0x5f0], eax
mov eax, dword [rsp + 0x4a4]
mov dword [rsp + 0x5f4], eax
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x5f8], rax
movzx eax, word [rsp + 0x4b0]
mov word [rsp + 0x600], ax
lea rdx, [rsp + 0x4b8]
cmp qword [rsp + 0x4d0], 0x10
cmovae rdx, qword [rsp + 0x4b8]
mov r8, qword [rsp + 0x4c8]
lea rcx, [rsp + 0x608]
call fcn.140035b50
cmp qword [rsp + 0x480], 0
jne 0x1400c48e3
cmp qword [rsp + 0x488], 0
jne 0x1400c48e3
cmp qword [rsp + 0x490], 0
jne 0x1400c48e3
cmp qword [rsp + 0x498], 0
jne 0x1400c48e3
mov al, 1
jmp 0x1400c48e5
xor al, al
test al, al
je 0x1400c490c
movaps xmm0, xmmword [rsp + 0x400]
movups xmmword [rsp + 0x388], xmm0
movaps xmm1, xmmword [rsp + 0x410]
movsd xmm0, qword [rsp + 0x420]
jmp 0x1400c497d
xor ecx, ecx
lea rax, [rsp + 0x480]
nop word [rax + rax]
movzx edx, byte [rax - 0x78]
movzx r8d, byte [rax]
cmp dl, r8b
jb 0x1400c495c
ja 0x1400c4939
inc ecx
inc rax
cmp ecx, 0x20
jb 0x1400c4920
movaps xmm0, xmmword [rsp + 0x400]
movups xmmword [rsp + 0x388], xmm0
movaps xmm1, xmmword [rsp + 0x410]
movsd xmm0, qword [rsp + 0x420]
jmp 0x1400c497d
movups xmm0, xmmword [rsp + 0x478]
movups xmmword [rsp + 0x388], xmm0
movups xmm1, xmmword [rsp + 0x488]
movsd xmm0, qword [rsp + 0x498]
movups xmmword [rsp + 0x398], xmm1
movsd qword [rsp + 0x3a8], xmm0
xor eax, eax
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x368], rax
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x378], rax
mov eax, esi
mov dword [rsp + 0x380], eax
lea rbx, [rsp + 0x390]
movups xmm1, xmmword [rsp + 0x370]
movups xmm2, xmmword [rsp + 0x360]
lea rcx, [rsp + 0x3b0]
cmp rbx, rcx
je 0x1400c4a64
movups xmmword [rsp + 0x3b0], xmm2
movups xmmword [rsp + 0x3c0], xmm1
mov dword [rsp + 0x3d0], eax
mov edx, 8
lea rcx, [rsp + 0x3b0]
call fcn.1400c1af0
movzx eax, byte [rbx]
or dword [rsp + 0x3b0], eax
movups xmm2, xmmword [rsp + 0x3b0]
movups xmm1, xmmword [rsp + 0x3c0]
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x160], eax
movups xmmword [rsp + 0x360], xmm2
movups xmmword [rsp + 0x370], xmm1
movsd xmm0, qword [rsp + 0x160]
movsd qword [rsp + 0x380], xmm0
inc rbx
mov eax, dword [rsp + 0x380]
jmp 0x1400c49d1
mov edx, 0xc0
lea rcx, [rsp + 0x360]
call fcn.1400c1290
mov r8d, dword [rsp + 0x360]
cmp dword [rsp + 0x380], 1
jbe 0x1400c4a96
mov eax, dword [rsp + 0x364]
shl rax, 0x20
or r8, rax
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x5f8]
lea rdx, [rsp + 0x580]
mov rcx, rdi
call fcn.1400c7430
nop
lea rcx, [rsp + 0x4b8]
call fcn.140035780
lea rcx, [rsp + 0x3e0]
call fcn.140035780
lea rbx, [0x1402bcd38]
jmp 0x1400c4280
lea rcx, [rsp + 0x608]
call fcn.140035780
lea rcx, [rsp + 0x530]
call fcn.140035780
mov rcx, qword [rsp + 0x6a0]
xor rcx, rsp
call fcn.140220f90
lea r11, [rsp + 0x6c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea r8, str.boost_unique_lock_has_no_mutex
mov edx, esi
lea rcx, [rsp + 0x650]
call fcn.140062490
nop
mov rcx, rax
call fcn.140063ad0
nop
mov r8d, esi
mov edx, 3
lea rcx, [rsp + 0x260]
call fcn.1400334d0
nop
lea rdx, str.CUDA_error_in_func
lea rcx, [rsp + 0x270]
call fcn.140037990
lea rdx, str.dev::eth::CUDAMiner::workLoop
mov rcx, rax
call fcn.140037990
lea rdx, str._at_line
mov rcx, rax
call fcn.140037990
mov edx, 0x109
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, str._calling_cudaDeviceReset___failed_with_error
mov rcx, rax
call fcn.140037990
mov rdi, rax
mov ecx, ebx
call fcn.14020c000
mov rdx, rax
mov rcx, rdi
call fcn.140037990
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x260]
call fcn.1400334b0
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1400c27a0
lea rdx, [0x14031f478]
lea rcx, [rsp + 0x120]
call sub.VCRUNTIME140.dll__CxxThrowException
int3