Function at 0x1400a8c30
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x140191010]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov rbx, rcx
mov qword [rsp + 0x48], rcx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
xor edx, edx
mov r8d, 0x234
lea rcx, [rbp + 0x144]
call sub.VCRUNTIME140.dll_memset
mov dword [rbp + 0x140], 0x238
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400a8e7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea rax, [0x140160500]
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x40], r15
mov dword [rbp - 0x38], 4
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x4c], edx
mov ecx, dword [0x1401993f8]
mov eax, dword [0x1401993fc]
add ecx, eax
je 0x1400a8dbe
mov dword [rsp + 0x30], r15d
call fcn.1400057e0
mov qword [rsp + 0x28], rax
lock inc dword [rsp + 0x30]
mov dword [rsp + 0x20], 0xa
mov rax, qword [rsp + 0x28]
test rax, rax
jne 0x1400a8d9f
call fcn.1400057e0
mov qword [rsp + 0x28], rax
lock inc dword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
cmp qword [rax], 0
je 0x1400a8dbe
mov rax, qword [rax + 0x58]
test rax, rax
je 0x1400a8dbe
call qword [case.0x14006aed5.0]
movzx edi, al
jmp 0x1400a8dc1
xor dil, dil
mov eax, dword [rsp + 0x20]
test al, 8
je 0x1400a8dff
and eax, 0xfffffff7
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], r15
mov eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
cmp eax, 1
js 0x1400a8dfa
call fcn.140005b50
mov eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
cmp eax, 1
jns 0x1400a8de5
lock inc dword [rsp + 0x30]
mov byte [rbp - 0x30], dil
mov dword [rbp - 0x2c], 4
lea rax, [0x14012e630]
mov qword [rbp - 0x28], rax
test dil, dil
je 0x1400a8e42
lea rdx, str.CreateToolhelp32Snapshot_failed_err
lea rcx, [rsp + 0x50]
call fcn.140005f70
movzx edi, byte [rbp - 0x30]
test dil, dil
je 0x1400a8e42
mov edx, esi
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___int____ptr64]
nop
lea rcx, [rbp - 0x18]
call fcn.140004c30
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400a8e76
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14006aed5.0]
mov qword [rbx + 0x38], r15
mov eax, esi
jmp 0x1400a90c5
lea rdx, [rbp + 0x140]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x1400a8eda
mov r14d, r15d
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400a8ed3
mov rax, qword [rcx]
lea rdx, [rbp + 0x140]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
test al, al
je 0x1400a9098
lea rdx, [rbp + 0x140]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x1400a9098
jmp 0x1400a8e94
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
lea rax, [0x140160500]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0xe0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 0x20
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x48]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x48]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x48], rax
mov rax, qword [rbp + 0x48]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x44], edx
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x50], rax
mov qword [rbp + 0xb8], r15
mov dword [rbp + 0xc0], 4
mov rax, qword [rbp + 0x48]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x48], rax
mov rax, qword [rbp + 0x48]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x44], edx
mov ecx, dword [0x1401993f8]
mov eax, dword [0x1401993fc]
add ecx, eax
je 0x1400a8fef
mov dword [rsp + 0x40], r15d
call fcn.1400057e0
mov qword [rsp + 0x38], rax
lock inc dword [rsp + 0x40]
mov dword [rsp + 0x20], 0xa0
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x1400a8fd0
call fcn.1400057e0
mov qword [rsp + 0x38], rax
lock inc dword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x1400a8fef
mov rax, qword [rax + 0x58]
test rax, rax
je 0x1400a8fef
call qword [case.0x14006aed5.0]
movzx edi, al
jmp 0x1400a8ff2
xor dil, dil
mov eax, dword [rsp + 0x20]
test al, al
jns 0x1400a9031
btr eax, 7
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x38], r15
mov eax, 0xffffffff
lock xadd dword [rsp + 0x40], eax
cmp eax, 1
js 0x1400a902c
call fcn.140005b50
mov eax, 0xffffffff
lock xadd dword [rsp + 0x40], eax
cmp eax, 1
jns 0x1400a9017
lock inc dword [rsp + 0x40]
mov byte [rbp + 0xc8], dil
mov dword [rbp + 0xcc], 4
lea rax, str.EnumProcessesEx
mov qword [rbp + 0xd0], rax
test dil, dil
je 0x1400a907f
lea rdx, str.Process32First_failed_err
lea rcx, [rbp + 0x48]
call fcn.140005f70
movzx edi, byte [rbp + 0xc8]
test dil, dil
je 0x1400a907f
mov edx, r14d
lea rcx, [rbp + 0x48]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___int____ptr64]
nop
lea rcx, [rbp + 0xe0]
call fcn.140004c30
lea rcx, [rbp + 0xe0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400a90c2
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14006aed5.0]
mov qword [rbx + 0x38], r15
mov eax, r14d
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.140071e30
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret