Function at 0x1400015f0
Capabilities:
Enumerate threads

Disassembly:
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x50
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r14, rdx
mov esi, ecx
test ecx, ecx
jne 0x14000163b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Invalid_process_ID.
call fcn.140002000
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14000185d
xor edx, edx
mov qword [rsp + 0x70], rdi
mov ecx, 4
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14000167e
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_create_a_snapshot_of_the_threads.
call fcn.140002000
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140001858
mov qword [rsp + 0x68], rbp
lea rdx, [rsp + 0x20]
mov rcx, rdi
mov dword [rsp + 0x20], 0x1c
xor bpl, bpl
call qword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x140001804
mov qword [rsp + 0x60], rbx
nop dword [rax]
cmp dword [rsp + 0x2c], esi
jne 0x1400017d9
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov ecx, 0x60
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rbx, rax
test rax, rax
jne 0x140001709
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Error_opening_thread_ID
call fcn.140002000
mov edx, dword [rsp + 0x28]
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___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x1400017d9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov rdx, qword [r14]
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], 0
jne 0x140001737
nop
cmp dword [rcx + 0x1c], eax
jge 0x14000172b
mov rcx, qword [rcx + 0x10]
jmp 0x140001731
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140001720
cmp byte [rdx + 0x19], 0
jne 0x1400017d0
cmp eax, dword [rdx + 0x1c]
jl 0x1400017d0
mov edx, 0xfffffff1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
test eax, eax
je 0x1400017a0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Changed_priority_of_thread_ID
call fcn.140002000
mov edx, dword [rsp + 0x28]
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___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, str._to_THREAD_PRIORITY_IDLE.
call fcn.140002000
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov bpl, 1
jmp 0x1400017d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_change_priority_of_thread_ID
call fcn.140002000
mov edx, dword [rsp + 0x28]
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___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Thread32Next]
test eax, eax
jne 0x1400016b0
mov rbx, qword [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test bpl, bpl
jne 0x140001853
jmp 0x140001830
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Error_while_enumerating_threads.
call fcn.140002000
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.No_threads_had_their_priority_changed_to_THREAD_PRIORITY_IDLE.
call fcn.140002000
mov rcx, rax
lea rdx, [0x1400021e0]
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___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rbp, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140002df0
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret