Function at 0x14005d8bc
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x220
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1403f04b0]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov rsi, rcx
call fcn.140048a14
mov rcx, qword [rax + 8]
xor r12d, r12d
lea ebx, [r12 + 3]
lea r13d, [r12 + 4]
cmp dword [rcx], r13d
jbe 0x14005d955
lea rax, str.Starting_Registry_SACL_listener
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], Compress
lea rax, [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140346582]
call fcn.140001078
lea r14, [rsi + 0x60]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
mov qword [rsp + 0x58], r14
cmp byte [rsi + 0x58], r12b
je 0x14005d9bf
call fcn.140048a14
mov rcx, qword [rax + 8]
cmp dword [rcx], r13d
jbe 0x14005dcb2
lea rax, str.Registry_SACL_listener_is_already_started
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], 0x2a
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140346582]
call fcn.140001078
jmp 0x14005dcb2
lea rdi, [0x1403f15f8]
mov rcx, rdi
cmp qword [0x1403f1610], 8
cmovae rcx, qword [0x1403f15f8]
lea rdx, [rbp - 0x60]
call qword [sym.imp.ole32.dll_CLSIDFromString]
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x14005da8e
call fcn.140048a14
mov rcx, qword [rax + 8]
cmp dword [rcx], ebx
jbe 0x14005dcb2
lea rax, str.Failed_to_convert_registry_auditing_category_GUID
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x32
cmp qword [0x1403f1610], 8
cmovae rdi, qword [0x1403f15f8]
lea rax, [0x1402cb810]
mov rbx, r12
test rdi, rdi
je 0x14005da43
mov rax, rdi
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdi + rbx*2], r12w
jne 0x14005da39
mov qword [rbp - 0x20], rax
lea eax, [rbx*2 + 2]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x14], r12d
lea rax, [rsp + 0x30]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 4
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1403464c0]
call fcn.140001078
jmp 0x14005dcb2
lea rcx, [rbp - 0x60]
call fcn.1401d35f8
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x14005daf9
call fcn.140048a14
mov rcx, qword [rax + 8]
cmp dword [rcx], ebx
jbe 0x14005dcb2
lea rax, str.Failed_to_enable_registry_auditing
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], reloc.Cabinet.dll_CloseCompressor
lea rax, [rsp + 0x30]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 4
lea rax, [rbp]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140346512]
call fcn.140001078
jmp 0x14005dcb2
call fcn.14004e8c8
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.140060de8
mov rdx, rax
lea rcx, [rsi + 0x68]
call fcn.14005b50c
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x14005db5a
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
add eax, ebx
jne 0x14005db5a
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [str.__v__]
mov eax, ebx
lock xadd dword [rdi + 0xc], eax
add eax, ebx
jne 0x14005db5a
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [str.__v__]
mov rcx, qword [rsi + 0x68]
lea rax, vtable.std::_Func_impl_class__lambda_82ff8ba29427572d55ceabed8a2fac8f___class_std::allocator_int___bool___.0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x60]
mov qword [rbp - 0x68], rax
mov rax, qword [rcx]
lea r8, [rsp + 0x60]
lea rdx, [0x1403f15d8]
mov rax, qword [rax + 0x28]
call qword [str.__v__]
lea rcx, [rsi + 0x50]
mov edx, 1
call fcn.140060944
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov r9, rsi
lea r8, [0x14005df50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov r15, rax
mov rdi, qword [rsi + 0x48]
lea rdx, [rdi - 1]
cmp rdx, 0xfffffffffffffffd
ja 0x14005dbec
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov qword [rsi + 0x48], r15
lea rax, [r15 + 1]
test rax, 0xfffffffffffffffe
jne 0x14005dc61
call fcn.140048a14
mov rbx, qword [rax + 8]
cmp dword [rbx], 3
jbe 0x14005dcb2
lea rax, str.Failed_to_create_a_working_thread_to_process_SACL_events
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], 0x39
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x34]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], 4
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140346544]
mov rcx, rbx
call fcn.140001078
jmp 0x14005dcb2
call fcn.140048a14
mov rcx, qword [rax + 8]
cmp dword [rcx], r13d
jbe 0x14005dcae
lea rax, str.Registry_SACL_listener_started_successfully
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], 0x2c
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140346582]
call fcn.140001078
mov byte [rsi + 0x58], 1
test r14, r14
je 0x14005dcc0
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14027a710
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret