Function at 0x140197fd0
Capabilities:
Allocate or change rwx memory
Check for time delay via queryperformancecounter
Execute shellcode via indirect call

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x350
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
mov rax, qword [0x1405c5108]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov rcx, qword [0x1408614f8]
test rcx, rcx
jne 0x140198063
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x78], rax
mov rcx, rax
call fcn.140080e30
mov rcx, rax
mov qword [0x1408614f8], rax
mov rax, qword [rcx]
call qword [rax + 0x88]
xor r12d, r12d
mov edi, r12d
mov r13d, 2
cmp rax, r13
cmova edi, r13d
mov rcx, qword [0x1408614f8]
test rcx, rcx
jne 0x1401980ac
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x78], rax
mov rcx, rax
call fcn.140080e30
mov rcx, rax
mov qword [0x1408614f8], rax
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rsi, rax
mov rbx, r12
nop dword [rax + rax]
mov edx, 3
mov rcx, rsi
call fcn.1403c8b30
lea ecx, [rax + 2]
cmp ecx, 1
jbe 0x140198101
test rbx, rbx
jne 0x1401980ec
xor r8d, r8d
mov edx, eax
mov rcx, rsi
call fcn.1403c8900
mov rbx, rax
jmp 0x1401980f5
cmp dword [rbx + 0x30], eax
jne 0x140198101
mov rbx, qword [rbx + 0x38]
test rbx, rbx
je 0x140198101
cmp dword [rbx + 0x10], edi
jne 0x1401980c0
jmp 0x140198104
mov rbx, r12
mov qword [rbp - 0x80], r12
mov r9d, 1
lea r8, [rbp - 0x80]
mov rdx, rbx
mov rcx, rsi
call fcn.1403c87a0
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140198142
mov r14d, dword [rax + 0x10]
mov dword [rsp + 0x30], r14d
cmp r14d, edi
jae 0x140198149
mov eax, edi
mov edi, r14d
mov r14d, eax
mov dword [rsp + 0x30], eax
jmp 0x140198149
mov r14d, edi
mov dword [rsp + 0x30], edi
mov ecx, edi
call fcn.1400c2dd0
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov edx, 0x200000
xor ecx, ecx
call fcn.140165910
mov ecx, 0x28
call fcn.1403de180
mov r15, rax
mov qword [rsp + 0x78], rax
mov qword [rax], 0x1000000
mov dword [rax + 8], r12d
mov qword [rax + 0x10], 0x1000000
xor eax, eax
mov dword [r15 + 0x18], eax
mov qword [r15 + 0x20], r12
mov rcx, r15
call fcn.1400c2fc0
test al, al
jne 0x1401981bc
mov edx, 0x40
mov rcx, qword [r15]
call fcn.1403ed5b4
mov qword [r15 + 0x20], rax
mov rbx, qword [0x1408614f8]
test rbx, rbx
jne 0x1401981e9
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.140080e30
mov rbx, rax
mov qword [0x1408614f8], rax
mov rsi, rbx
test rbx, rbx
jne 0x140198212
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.140080e30
mov rsi, rax
mov qword [0x1408614f8], rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0xb8]
mov rbx, rax
shr rbx, 0x16
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0xa8]
cmp rbx, rax
jbe 0x140198240
mov edx, 0x800000
jmp 0x1401982c5
mov rbx, qword [0x1408614f8]
test rbx, rbx
jne 0x14019826d
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.140080e30
mov rbx, rax
mov qword [0x1408614f8], rax
mov rsi, rbx
test rbx, rbx
jne 0x140198296
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.140080e30
mov rsi, rax
mov qword [0x1408614f8], rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0xb8]
mov rbx, rax
shr rbx, 0x16
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0xa8]
mov edx, 0x200000
mov ecx, 0x400000
cmp rbx, rax
cmovae edx, ecx
mov qword [rsp + 0x38], rdx
cmp dword [0x14085c0c0], 0
jbe 0x14019830f
test byte [r15 + 0x18], 1
lea r8, [0x140581110]
lea rcx, [0x14058110c]
cmovne rcx, r8
shr rdx, 0x14
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r14d
mov r8d, edi
lea rdx, str.Running_GhostRider_benchmark_on_logical_CPUs__u_and__u__max_scratchpad_size__zu_MB__huge_pages__s_
mov ecx, 6
call fcn.1400260f0
mov rsi, qword [r15 + 0x20]
mov rdi, r12
nop word [rax + rax]
mov edx, 0x1000
mov ecx, 0x1c0
call fcn.1403ed5b4
mov rbx, rax
mov qword [rax + 0xe0], rsi
mov edx, 0x4000
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbx + 0x118], rax
mov dword [rbx + 0x120], r12d
mov qword [rbx + 0x128], 0xffffffffffffffff
mov qword [rbp + rdi*8 + 0x30], rbx
inc rdi
add rsi, 0x200000
cmp rdi, 8
jb 0x140198320
mov rcx, qword [0x1408614f8]
test rcx, rcx
jne 0x1401983ab
mov ecx, 0x110
call fcn.1403de180
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.140080e30
mov rcx, rax
mov qword [0x1408614f8], rax
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rcx, [0x1405339b8]
lea r9, [0x140533928]
test al, al
cmovne r9, rcx
mov qword [rsp + 0x58], r9
cmp dword [0x14085c0c0], 0
jbe 0x14019840a
lea r8, str.Algorithm
lea rdx, str._24s___N___Hashrate
mov ecx, 6
call fcn.1400260f0
cmp dword [0x14085c0c0], 0
jbe 0x140198405
lea rdx, str.___________________________________________
mov ecx, 6
call fcn.1400260f0
mov r9, qword [rsp + 0x58]
lea rax, [0x140533a30]
mov qword [rsp + 0x70], rax
mov rcx, rax
mov qword [rsp + 0x48], rax
mov rax, r12
mov qword [rsp + 0x40], rax
mov rsi, r12
mov qword [rsp + 0x60], 6
movsd xmm8, qword [0x1405813c0]
movsd xmm13, qword [0x1405813f0]
movsd xmm10, qword [0x1405813a0]
nop dword [rax]
mov dword [rbp + 0x10], 1
mov dword [rbp + 0x14], r13d
mov dword [rbp + 0x18], 4
lea r13, [rbp + 0x10]
mov rdx, qword [rsp + 0x38]
nop dword [rax + rax]
lea r8, [0x140000000]
movsxd r14, dword [r13]
mov r15, r14
imul r15, qword [rax + r8 + 0x533a00]
cmp r15, rdx
ja 0x140198654
mov eax, dword [rcx]
mov dword [rsp + 0x68], eax
mov r8d, 1
mov edx, dword [r9 + r14*4]
lea rcx, [rsp + 0x68]
call fcn.1400cd5f0
mov r12, rax
lea rcx, [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm7, xmm7
cvtsi2sd xmm7, qword [rbp - 0x70]
mulsd xmm7, xmm8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x68]
divsd xmm7, xmm0
movaps xmm9, xmm13
xor edi, edi
mov ebx, edi
lea rcx, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rbp - 0x60]
mulsd xmm6, xmm8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x58]
divsd xmm6, xmm0
cmp ebx, 0xa
jb 0x140198526
movaps xmm0, xmm6
subsd xmm0, xmm7
comisd xmm0, xmm10
jae 0x140198585
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x30]
lea r8, [rbp + 0xc0]
mov edx, 0x50
lea rcx, [rbp + 0x70]
call r12
lea rcx, [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm1, xmm1
cvtsi2sd xmm1, qword [rbp - 0x50]
mulsd xmm1, xmm8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x48]
divsd xmm1, xmm0
subsd xmm1, xmm6
minsd xmm1, xmm9
movaps xmm9, xmm1
inc ebx
jmp 0x1401984e4
xorps xmm6, xmm6
test r14d, r14d
js 0x140198594
cvtsi2sd xmm6, r14
jmp 0x1401985ac
mov rcx, r14
shr rcx, 1
mov rax, r14
and eax, 1
or rcx, rax
cvtsi2sd xmm6, rcx
addsd xmm6, xmm6
mulsd xmm6, xmm8
divsd xmm6, xmm9
cmp dword [0x14085c0c0], edi
lea rdi, [0x140000000]
jbe 0x1401985ec
movsd qword [rsp + 0x20], xmm6
mov r9, r14
mov r8, qword [rsp + 0x40]
mov r8, qword [r8 + rdi + 0x5339d0]
lea rdx, str._24s___llux1___.2f_h_s
mov ecx, 6
call fcn.1400260f0
comisd xmm6, xmmword [rsi + rdi + 0x5cbcf0]
jbe 0x140198613
movsd qword [rsi + rdi + 0x5cbcf0], xmm6
mov dword [rsi + rdi + 0x5cbcf8], r14d
mov dword [rsi + rdi + 0x5cbcfc], 1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
cmp r15, 0x800000
jae 0x14019865b
comisd xmm6, xmmword [rsi + rdi + 0x5cbd50]
jbe 0x14019865b
movsd qword [rsi + rdi + 0x5cbd50], xmm6
mov dword [rsi + rdi + 0x5cbd58], r14d
mov dword [rsi + rdi + 0x5cbd5c], 1
jmp 0x14019865b
lea rdi, [0x140000000]
add r13, 4
lea r8, [rbp + 0x1c]
cmp r13, r8
mov r9, qword [rsp + 0x58]
jne 0x140198470
add rax, 8
mov qword [rsp + 0x40], rax
add rcx, 4
mov qword [rsp + 0x48], rcx
add rsi, 0x10
sub qword [rsp + 0x60], 1
mov r13d, 2
jne 0x140198450
call fcn.1403ca080
mov rbx, rax
mov edx, dword [rsp + 0x30]
mov rcx, rax
call fcn.1403cb960
mov ecx, 0x290
call fcn.1403de180
mov qword [rsp + 0x50], rax
xor r9d, r9d
lea r8d, [r13 + 1]
mov rdx, rbx
mov rcx, rax
call fcn.140197b80
mov rbx, rax
xor r12d, r12d
mov r13d, r12d
mov esi, r12d
mov qword [rsp + 0x40], r12
mov qword [rbp - 0x78], 6
movsd xmm10, qword [0x1405813a8]
movsd xmm11, qword [0x1405813c8]
movsd xmm12, qword [0x140581378]
mov dword [rbp + 0x20], 1
mov dword [rbp + 0x24], 2
mov dword [rbp + 0x28], 4
lea r15, [rbp + 0x20]
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [r15]
mov qword [rsp + 0x48], rcx
mov r14, rcx
imul r14, qword [rdi + r13 + 0x533a00]
add r14, r14
cmp r14, rax
ja 0x1401989bf
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov dword [rsp + 0x30], eax
mov r8d, 1
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + rcx*4]
lea rcx, [rsp + 0x30]
call fcn.1400cd5f0
mov qword [rsp + 0x60], rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm7, xmm7
cvtsi2sd xmm7, qword [rbp - 0x40]
mulsd xmm7, xmm8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x38]
divsd xmm7, xmm0
movaps xmm9, xmm13
mov edi, r12d
lea rsi, vtable.xmrig::ghostrider::HelperThread::Task_class__lambda_cc168fb61fe0526612a76cfbc7d0c672__.0
lea rcx, [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rbp - 0x30]
mulsd xmm6, xmm8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x28]
divsd xmm6, xmm0
cmp edi, 0xa
jb 0x1401987eb
movaps xmm0, xmm6
subsd xmm0, xmm7
comisd xmm0, xmm10
jae 0x1401988f1
lea rax, [rsp + 0x60]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x70]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0xc0]
mov qword [rbp - 8], rax
lea rax, [rbp + 0x30]
mov qword [rbp], rax
lea rax, [rsp + 0x48]
mov qword [rbp + 8], rax
mov rcx, rbx
call sub.KERNEL32.dll_EnterCriticalSection
mov ecx, dword [rbx + 0x270]
shl rcx, 7
mov eax, dword [rbx + 0x270]
inc eax
mov dword [rbx + 0x270], eax
mov qword [rcx + rbx + 0x70], rsi
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rcx + rbx + 0x78], xmm0
movups xmm1, xmmword [rbp - 8]
movups xmmword [rcx + rbx + 0x88], xmm1
movsd xmm0, qword [rbp + 8]
movsd qword [rcx + rbx + 0x98], xmm0
lea rcx, [rbx + 0x28]
call sub.KERNEL32.dll_WakeConditionVariable
mov rcx, rbx
call sub.KERNEL32.dll_LeaveCriticalSection
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x30]
lea r8, [rbp + 0xc0]
mov edx, 0x50
lea rcx, [rbp + 0x70]
call qword [rsp + 0x60]
mov eax, dword [rbx + 0x270]
test eax, eax
je 0x1401988ac
nop dword [rax + rax]
pause
mov eax, dword [rbx + 0x270]
test eax, eax
jne 0x1401988a0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm1, xmm1
cvtsi2sd xmm1, qword [rbp - 0x20]
mulsd xmm1, xmm8
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x50]
divsd xmm1, xmm0
subsd xmm1, xmm6
minsd xmm1, xmm9
movaps xmm9, xmm1
inc edi
jmp 0x1401987a5
mov rdx, qword [rsp + 0x48]
xorps xmm6, xmm6
test rdx, rdx
js 0x140198905
cvtsi2sd xmm6, rdx
jmp 0x14019891d
mov rcx, rdx
shr rcx, 1
mov rax, rdx
and eax, 1
or rcx, rax
cvtsi2sd xmm6, rcx
addsd xmm6, xmm6
mulsd xmm6, xmm11
divsd xmm6, xmm9
mulsd xmm6, xmm12
cmp dword [0x14085c0c0], r12d
mov rsi, qword [rsp + 0x40]
lea rdi, [0x140000000]
jbe 0x140198968
movsd qword [rsp + 0x20], xmm6
mov r9, rdx
mov r8, qword [rdi + r13 + 0x5339d0]
lea rdx, str._24s___llux2___.2f_h_s
mov ecx, 6
call fcn.1400260f0
mov rdx, qword [rsp + 0x48]
mov eax, 2
comisd xmm6, xmmword [rsi + rdi + 0x5cbcf0]
jbe 0x14019898f
movsd qword [rsi + rdi + 0x5cbcf0], xmm6
mov dword [rsi + rdi + 0x5cbcf8], edx
mov dword [rsi + rdi + 0x5cbcfc], eax
cmp r14, 0x800000
jae 0x1401989ba
comisd xmm6, xmmword [rsi + rdi + 0x5cbd50]
jbe 0x1401989ba
movsd qword [rsi + rdi + 0x5cbd50], xmm6
mov dword [rsi + rdi + 0x5cbd58], edx
mov dword [rsi + rdi + 0x5cbd5c], eax
mov rax, qword [rsp + 0x38]
add r15, 4
lea rcx, [rbp + 0x2c]
cmp r15, rcx
jne 0x140198720
add r13, 8
add qword [rsp + 0x70], 4
add rsi, 0x10
mov qword [rsp + 0x40], rsi
sub qword [rbp - 0x78], 1
jne 0x140198702
test rbx, rbx
je 0x1401989fb
mov rcx, rbx
call fcn.140198a80
cmp qword [rbp + 0x30], r12
je 0x140198a14
mov rcx, qword [rbp + r12*8 + 0x30]
call fcn.1403ed598
inc r12
cmp r12, 8
jb 0x140198a01
mov rcx, qword [rsp + 0x78]
call fcn.14007eaa0
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1403de160
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret