Function at 0x4158a0
Capabilities:
Check for peb beingdebugged flag
Enumerate processes
Enumerate threads

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x338
xor edx, edx
mov ecx, 4
call sym.CreateToolhelp32Snapshot
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x415acd
lea rsi, [rsp + 0xa0]
mov rcx, rax
mov dword [rsp + 0xa0], 0x1c
mov rdx, rsi
call sym.Thread32First
lea r9, str.prio
lea r8, [0x0043bf7c]
mov ebx, eax
lea rax, str.name
lea rdx, str.process
mov qword [rsp + 0x20], rax
lea rcx, str.__8.8s___8.8s__s_____s__all_IDs_are_in_hex__n
call sym.dbg_printf
test ebx, ebx
je 0x415e10
mov rax, qword [sym.imp.kernel32.dll_CloseHandle]
xor ebx, ebx
xor ebp, ebp
lea rdi, [0x0043bf6d]
mov qword [rsp + 0x48], rax
nop dword [rax + rax]
mov ecx, dword [rsp + 0xac]
mov rax, qword gs:[0x30]
cmp dword [rax + 0x40], ecx
je 0x415aaf
cmp ecx, ebp
je 0x415a54
call sym.dbg_get_process
mov rbx, rax
test rax, rax
je 0x415b20
mov r9, qword [rax + 0x30]
lea r8, [0x0043bf68]
mov edx, dword [rsp + 0xac]
lea rcx, str._08lx_s__ls_n
call sym.dbg_printf
mov r8d, dword [rsp + 0xac]
xor edx, edx
mov ecx, 0x410
call qword [sym.imp.kernel32.dll_OpenProcess]
mov r13, rax
test rax, rax
je 0x415a4d
xor edx, edx
mov r9d, 0x30
mov rcx, rax
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0xc0]
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
test eax, eax
jne 0x415a20
lea rdx, [rsp + 0x78]
mov rcx, 0xffffffffffffffff
mov rbp, qword [sym.imp.kernel32.dll_IsWow64Process]
call rbp
lea rdx, [rsp + 0x7c]
mov rcx, r13
call rbp
test eax, eax
je 0x415a20
mov edx, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x78]
cmp edx, eax
je 0x415e28
test eax, eax
jne 0x415a20
test edx, edx
jne 0x415bc0
nop word cs:[rax + rax]
xor r15d, r15d
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov r8, r15
xor edx, edx
mov rcx, qword [rax + 0x30]
call r14
mov rax, qword [rsp + 0x48]
mov rcx, r13
call rax
mov ebp, dword [rsp + 0xac]
mov rax, qword [0x004471d0]
mov edx, dword [rsp + 0xa8]
lea r9, [0x0043bf72]
lea rcx, str._t_08lx__4ld_s
mov r8d, dword [rsp + 0xb0]
cmp edx, dword [rax]
cmove r9, rdi
call sym.dbg_printf
mov ecx, dword [rsp + 0xa8]
call sym.fetch_thread_description
mov r13, rax
test rax, rax
je 0x415ae8
lea rcx, str._ls_n
mov rdx, rax
call sym.dbg_printf
mov rcx, r13
call qword [sym.imp.kernel32.dll_LocalFree]
mov rdx, rsi
mov rcx, r12
call sym.Thread32Next
test eax, eax
jne 0x415940
mov rax, qword [rsp + 0x48]
mov rcx, r12
call rax
nop
add rsp, 0x338
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rsp + 0xa8]
mov rcx, rbx
call sym.dbg_get_thread
lea rcx, [0x0043bc34]
test rax, rax
lea rdx, [rax + 0x70]
lea rax, [0x0043bb5c]
cmove rdx, rax
call sym.dbg_printf
jmp 0x415aaf
xor edx, edx
mov ecx, 2
mov ebp, dword [rsp + 0xac]
call sym.CreateToolhelp32Snapshot
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x415b68
lea r14, [rsp + 0xf0]
mov rcx, rax
mov dword [rsp + 0xf0], 0x238
mov rdx, r14
call sym.Process32FirstW
test eax, eax
jne 0x415b8f
mov rax, qword [rsp + 0x48]
mov rcx, r13
call rax
lea r9, [0x0043bf66]
lea r8, [0x0043bb5c]
jmp 0x41597d
mov rdx, r14
mov rcx, r13
call sym.Process32NextW
test eax, eax
je 0x415b5e
cmp ebp, dword [rsp + 0xf8]
jne 0x415b80
mov rax, qword [rsp + 0x48]
mov rcx, r13
call rax
lea r9, [rsp + 0x11c]
lea r8, [0x0043bb5c]
jmp 0x41597d
mov rbp, qword [sym.imp.kernel32.dll_ReadProcessMemory]
mov r9d, 4
mov rax, qword [rsp + 0xc8]
lea r15, [rsp + 0x90]
mov qword [rsp + 0x20], r15
lea r8, [rsp + 0x80]
mov rcx, r13
lea rdx, [rax + 0x10]
call rbp
test eax, eax
je 0x415a20
cmp qword [rsp + 0x90], 4
jne 0x415a20
mov edx, dword [rsp + 0x80]
mov qword [rsp + 0x20], r15
mov r9d, 8
mov rcx, r13
lea r14, [rsp + 0x88]
add rdx, 0x40
mov r8, r14
call rbp
test eax, eax
je 0x415a20
cmp qword [rsp + 0x90], 8
jne 0x415a20
mov edx, dword [rsp + 0x88]
movzx eax, word [rsp + 0x88]
mov dword [rsp + 0x90], edx
mov edx, dword [rsp + 0x8c]
mov qword [rsp + 0x98], rdx
cmp ax, 0x1000
ja 0x415a20
test al, 1
jne 0x415a20
add eax, 2
mov r11, qword gs:[0x30]
movzx r8d, ax
mov rdx, qword [r11 + 0x60]
mov rax, qword [sym.imp.kernel32.dll_HeapAlloc]
mov qword [rsp + 0x58], r11
mov rcx, qword [rdx + 0x30]
mov qword [rsp + 0x60], rax
mov edx, 8
call rax
mov r15, rax
test rax, rax
je 0x415a20
movzx r9d, word [rsp + 0x90]
mov qword [rsp + 0x20], r14
mov r8, rax
mov rcx, r13
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x50], r9
call rbp
mov r9, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
test eax, eax
je 0x415a23
cmp r9, qword [rsp + 0x88]
jne 0x415a23
mov rax, qword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov qword [rsp + 0x58], r11
xor edx, edx
xor ecx, ecx
mov r9d, 0xffffffff
mov dword [rsp + 0x28], 0
mov r8, r15
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x50], rax
call rax
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
mov r9d, eax
test eax, eax
je 0x415a2a
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
mov r8d, r9d
xor edx, edx
mov dword [rsp + 0x58], r9d
mov rax, qword [r11 + 0x60]
mov qword [rsp + 0x68], r11
mov rcx, qword [rax + 0x30]
call r10
mov rbp, rax
test rax, rax
je 0x415a2a
mov r9d, dword [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x38], 0
mov rax, qword [rsp + 0x50]
mov r8, r15
mov dword [rsp + 0x28], r9d
mov r9d, 0xffffffff
mov qword [rsp + 0x30], 0
call rax
mov r11, qword [rsp + 0x68]
test eax, eax
mov rax, qword [r11 + 0x60]
je 0x415ebd
mov qword [rsp + 0x50], r11
mov r8, r15
xor edx, edx
mov rcx, qword [rax + 0x30]
call r14
mov rcx, r13
mov rax, qword [rsp + 0x48]
call rax
mov rdx, rbp
lea rcx, str._t__s__n
call sym.dbg_printf
mov r11, qword [rsp + 0x50]
mov r8, rbp
xor edx, edx
mov rax, qword [r11 + 0x60]
mov rcx, qword [rax + 0x30]
call r14
jmp 0x415a4d
mov rax, qword [sym.imp.kernel32.dll_CloseHandle]
mov qword [rsp + 0x48], rax
jmp 0x415ac2
mov rbp, qword [sym.imp.kernel32.dll_ReadProcessMemory]
mov r9d, 8
mov rax, qword [rsp + 0xc8]
lea r15, [rsp + 0x90]
mov qword [rsp + 0x20], r15
lea r8, [rsp + 0x80]
mov rcx, r13
lea rdx, [rax + 0x20]
call rbp
test eax, eax
je 0x415a20
cmp qword [rsp + 0x90], 8
jne 0x415a20
mov rax, qword [rsp + 0x80]
mov r9d, 0x10
mov r8, r15
mov rcx, r13
lea r14, [rsp + 0x88]
mov qword [rsp + 0x20], r14
lea rdx, [rax + 0x70]
call rbp
test eax, eax
je 0x415a20
cmp qword [rsp + 0x88], 0x10
jne 0x415a20
movzx eax, word [rsp + 0x90]
jmp 0x415c6c
mov rcx, qword [rax + 0x30]
mov r8, rbp
xor edx, edx
call r14
jmp 0x415a2a