Function at 0x1400c4a60
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 [0x1403284b0]
xor rax, rsp
mov qword [rsp + 0x6a0], rax
mov rdi, rcx
lea rcx, [rsp + 0x530]
call fcn.140059cf0
nop
lea rax, [0x1402be4c8]
mov qword [rsp + 0x4e0], rax
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.1400c8f60
mov edx, dword [rdi + 0x4d8]
lea rcx, [rdi + 0x4a0]
call fcn.1400c8f60
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
test al, al
je 0x1400c53ca
movabs r12, 0x7ffffffffffffffe
xor r13d, r13d
movsd xmm6, qword [0x1402d5c28]
mov esi, 1
movabs rbx, 0x7fffffffffffffff
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdi + 0x80]
cmp eax, 1
jne 0x1400c4e95
lea rdx, [rsp + 0x3e0]
mov rcx, rdi
call fcn.1400632e0
nop
lea rax, [0x1402be4c8]
mov qword [rsp + 0x508], rax
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 0x1400c4e65
lea rcx, [rsp + 0x60]
call fcn.140034780
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rbx]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4c15
cmp rcx, r12
jne 0x1400c4c17
mov al, 1
test al, al
je 0x1400c4c49
lea rax, [rcx + rbx]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4c2f
cmp rcx, r12
jne 0x1400c4c31
mov al, 1
test al, al
je 0x1400c4c49
cmp rcx, r12
je 0x1400c4c71
lea rax, [rcx + rbx]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4c50
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 0x1400c5416
jmp 0x1400c4c76
mov rcx, r12
jmp 0x1400c4c50
call fcn.140062360
mov byte [rsp + 0x50], 1
movzx r9d, si
movzx r8d, si
mov edx, 0x7b2
lea rcx, [rsp + 0x58]
call fcn.140024c40
mov eax, dword [rax]
lea ecx, [rax - 1]
cmp ecx, 0xfffffffd
seta cl
test cl, cl
jne 0x1400c4cbd
cmp eax, 0xfffffffe
je 0x1400c4cbd
mov ecx, eax
movabs rax, 0x141dd76000
imul rcx, rax
jmp 0x1400c4cfc
lea ecx, [rax - 1]
cmp ecx, 0xfffffffd
seta cl
test cl, cl
jne 0x1400c4ccf
cmp eax, 0xfffffffe
jne 0x1400c4cd1
mov cl, 1
test cl, cl
je 0x1400c4cf9
cmp eax, 0xfffffffe
je 0x1400c4cf4
cmp eax, 0xffffffff
jne 0x1400c4ce4
mov rcx, rbx
jmp 0x1400c4cfc
test eax, eax
jne 0x1400c4cf9
movabs rcx, 0x8000000000000000
jmp 0x1400c4cfc
mov rcx, r12
jmp 0x1400c4cfc
mov rcx, rax
lea rax, [rcx + rbx]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4d10
cmp rcx, r12
jne 0x1400c4d12
mov al, 1
test al, al
je 0x1400c4d45
lea rax, [rcx + rbx]
cmp rax, 0xfffffffffffffffd
seta al
test al, al
jne 0x1400c4d2a
cmp rcx, r12
jne 0x1400c4d2c
mov al, 1
test al, al
je 0x1400c4d45
cmp rcx, r12
je 0x1400c4d42
lea rax, [rcx + rbx]
cmp rax, 0xfffffffffffffffd
seta al
jmp 0x1400c4d45
mov rcx, r12
mov qword [rsp + 0x68], rcx
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.140030fc0
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 0x1400c4dad
mov rax, r13
jmp 0x1400c4e07
cmp qword [rsp + 0x40], 0
jg 0x1400c4dba
mov rax, r13
jmp 0x1400c4e07
mov ebx, r13d
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1400c4de6
nop dword [rax]
inc ebx
cmp ebx, 3
ja 0x1400c4da8
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400c4dd0
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.140063650
lea rcx, [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
nop
cmp byte [rsp + 0x50], 0
je 0x1400c4e46
mov rcx, qword [rsp + 0x48]
call fcn.140025cf0
nop
lea rcx, [rsp + 0x4b8]
call fcn.1400355e0
lea rcx, [rsp + 0x3e0]
call fcn.1400355e0
jmp 0x1400c4b64
cmp r15d, dword [rsp + 0x4a0]
je 0x1400c4ed0
mov rcx, rdi
call fcn.140062f70
test al, al
jne 0x1400c4ea9
lea rcx, [rsp + 0x4b8]
call fcn.1400355e0
lea rcx, [rsp + 0x3e0]
call fcn.1400355e0
call fcn.14020bf20
mov ebx, eax
test eax, eax
jne 0x1400c5436
jmp 0x1400c53ca
mov r15d, dword [rsp + 0x4a0]
lea rcx, [rsp + 0x4b8]
call fcn.1400355e0
lea rcx, [rsp + 0x3e0]
call fcn.1400355e0
jmp 0x1400c4b80
mov eax, 0x40000001
imul dword [rsp + 0x4a4]
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add edx, eax
movsxd rbx, edx
cmp qword [rdi + 0x340], 0
jne 0x1400c4f3b
mov qword [rdi + 0x340], rbx
mov ecx, 8
call fcn.140222914
mov qword [rsp + 0xd0], rax
lea rcx, [0x1400c66c0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdi
lea rdx, [rsp + 0x88]
mov rcx, rax
call fcn.1400c8ed0
nop
mov qword [rdi + 0x348], rax
cmp r14, rbx
je 0x1400c505b
mov rcx, qword [rdi + 0x348]
call fcn.1400b8290
cmp rbx, qword [rdi + 0x340]
je 0x1400c4fa9
mov qword [rdi + 0x340], rbx
mov ecx, 8
call fcn.140222914
mov qword [rsp + 0xd8], rax
lea rcx, [0x1400c66c0]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdi
lea rdx, [rsp + 0x98]
mov rcx, rax
call fcn.1400c8ed0
nop
mov qword [rdi + 0x348], rax
mov rcx, rax
call fcn.1400b8290
mov r14, rbx
xor byte [rdi + 0x472], 1
lea rdx, str.e_33mcu
lea rcx, [rsp + 0x168]
call fcn.14009cf30
nop
lea rdx, str.Launching_period
lea rcx, [rsp + 0x178]
call fcn.1400377f0
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._ProgPow_kernel
lea rcx, [rsp + 0x178]
call fcn.1400377f0
nop
lea rcx, [rsp + 0x168]
call fcn.1400300e0
lea rax, [rbx + 1]
mov qword [rdi + 0x340], rax
mov ecx, 8
call fcn.140222914
mov qword [rsp + 0x80], rax
lea rcx, [0x1400c66c0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdi
lea rdx, [rsp + 0xa8]
mov rcx, rax
call fcn.1400c8ed0
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.1400359b0
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.1400359b0
cmp qword [rsp + 0x480], 0
jne 0x1400c51ea
cmp qword [rsp + 0x488], r13
jne 0x1400c51ea
cmp qword [rsp + 0x490], r13
jne 0x1400c51ea
cmp qword [rsp + 0x498], r13
jne 0x1400c51ea
mov al, 1
jmp 0x1400c51ec
xor al, al
test al, al
je 0x1400c5213
movaps xmm0, xmmword [rsp + 0x400]
movups xmmword [rsp + 0x388], xmm0
movaps xmm1, xmmword [rsp + 0x410]
movsd xmm0, qword [rsp + 0x420]
jmp 0x1400c527d
mov ecx, r13d
lea rax, [rsp + 0x480]
nop
movzx edx, byte [rax - 0x78]
movzx r8d, byte [rax]
cmp dl, r8b
jb 0x1400c525c
ja 0x1400c5239
inc ecx
inc rax
cmp ecx, 0x20
jb 0x1400c5220
movaps xmm0, xmmword [rsp + 0x400]
movups xmmword [rsp + 0x388], xmm0
movaps xmm1, xmmword [rsp + 0x410]
movsd xmm0, qword [rsp + 0x420]
jmp 0x1400c527d
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
mov dword [rsp + 0x360], r13d
mov eax, esi
mov dword [rsp + 0x380], eax
lea rbx, [rsp + 0x390]
movups xmm1, xmmword [rsp + 0x370]
movups xmm2, xmmword [rsp + 0x360]
nop word [rax + rax]
lea rcx, [rsp + 0x3b0]
cmp rbx, rcx
je 0x1400c5353
movups xmmword [rsp + 0x3b0], xmm2
movups xmmword [rsp + 0x3c0], xmm1
mov dword [rsp + 0x3d0], eax
mov edx, 8
lea rcx, [rsp + 0x3b0]
call fcn.1400c23e0
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 0x1400c52c0
mov edx, 0xc0
lea rcx, [rsp + 0x360]
call fcn.1400c1bd0
mov r8d, dword [rsp + 0x360]
cmp dword [rsp + 0x380], 1
jbe 0x1400c5385
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.1400c7d10
nop
lea rcx, [rsp + 0x4b8]
call fcn.1400355e0
lea rcx, [rsp + 0x3e0]
call fcn.1400355e0
jmp 0x1400c4b69
lea rcx, [rsp + 0x608]
call fcn.1400355e0
lea rcx, [rsp + 0x530]
call fcn.1400355e0
mov rcx, qword [rsp + 0x6a0]
xor rcx, rsp
call fcn.1402225a0
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.1400621f0
nop
mov rcx, rax
call fcn.140063830
nop
mov r8d, esi
mov edx, 3
lea rcx, [rsp + 0x260]
call fcn.140033330
nop
lea rdx, str.CUDA_error_in_func
lea rcx, [rsp + 0x270]
call fcn.1400377f0
lea rdx, str.dev::eth::CUDAMiner::workLoop
mov rcx, rax
call fcn.1400377f0
lea rdx, str._at_line
mov rcx, rax
call fcn.1400377f0
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.1400377f0
mov rdi, rax
mov ecx, ebx
call fcn.14020c660
mov rdx, rax
mov rcx, rdi
call fcn.1400377f0
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x260]
call fcn.140033310
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1400c3090
lea rdx, [0x14031e708]
lea rcx, [rsp + 0x120]
call sub.VCRUNTIME140.dll__CxxThrowException
int3