Function at 0x140049870
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm6
mov rdi, r9
mov rcx, r8
mov rsi, rdx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
xor eax, eax
mov qword [rsp + 0x1d8], rax
movabs rdx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1d0], rdx
mov dword [rsp + 0x1cc], 0xaaaaaaaa
mov qword [rsp + 0x1c0], rax
lea rbx, [rsp + 0x1b0]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx - 8], rbx
cmp byte [r8 + 0x17], 0
jns 0x1400498f1
mov rcx, qword [rcx]
lea rdx, [rsp + 0x1d8]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x1d0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov edx, 1
mov r8d, 4
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
test eax, eax
je 0x140049996
mov byte [rsi], 0
lea rcx, [rsp + 0x1a8]
mov rdx, qword [rcx + 8]
call fcn.14004a720
mov rcx, qword [rsp + 0x1c0]
test rcx, rcx
je 0x140049954
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
je 0x140049967
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.14012b460
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x1f0]
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x1d0]
lea rdx, [rsp + 0x1cc]
lea r8, [rsp + 0x1c0]
call qword [sym.imp.ADVAPI32.dll_GetExplicitEntriesFromAclW]
test eax, eax
jne 0x14004992d
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], rsi
cmp dword [rsp + 0x1cc], 0
je 0x1400499db
xorps xmm6, xmm6
xor r15d, r15d
jmp 0x140049aaa
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
sub rax, qword [rcx]
sar rax, 2
cmp qword [rsp + 0x1b8], rax
mov rsi, qword [rsp + 0x60]
mov byte [rsi], 1
sete byte [rsi + 1]
jmp 0x140049930
test r13, r13
je 0x140049a12
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov rsi, qword [rsp + 0x60]
mov word [rsi], 1
jmp 0x140049930
mov rax, qword [rdi]
mov rbx, rdi
test rax, rax
je 0x140049a45
mov rdi, rax
mov eax, dword [rax + 0x20]
cmp esi, eax
jl 0x140049a21
jle 0x140049a99
mov rax, qword [rdi + 8]
test rax, rax
jne 0x140049a2c
lea rbx, [rdi + 8]
mov ecx, 0x28
call fcn.14012a8b0
cmp rax, 0xffffffffffffffe0
je 0x140049c8c
mov dword [rax + 0x20], esi
movups xmmword [rax], xmm6
mov qword [rax + 0x10], rdi
mov qword [rbx], rax
mov rcx, qword [rsp + 0x1a8]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140049a81
mov qword [rsp + 0x1a8], rcx
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x1b0]
mov rdx, rax
call fcn.1400ce990
inc qword [rsp + 0x1b8]
inc r15d
cmp r15d, dword [rsp + 0x1cc]
jae 0x1400499db
mov rdi, qword [rsp + 0x1c0]
mov r15d, r15d
mov ecx, 2
call fcn.1400f6b70
test al, al
je 0x140049b04
lea rsi, [rsp + 0x70]
mov rcx, rsi
lea rdx, str.....operadesktopwindowscommon_access_control_access_control_utils_impl.cc
mov r8d, 0x1b9
mov r9d, 2
call fcn.14009b590
lea rax, [r15 + r15*2]
shl rax, 4
mov edx, dword [rdi + rax + 4]
lea rcx, [rsp + 0x80]
call fcn.1400252c0
mov rcx, rsi
call fcn.14009bbd0
lea r14, [r15 + r15*2]
shl r14, 4
cmp dword [rdi + r14 + 0x1c], 0
jne 0x140049a12
mov rbp, qword [rdi + r14 + 0x28]
mov qword [rsp + 0x70], 0
xor eax, eax
mov dword [rsp + 0x1e0], eax
mov word [rsp + 0x1e4], 0x500
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x1e0]
mov dl, 2
mov r8d, 0x20
mov r9d, 0x220
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov r13, qword [rsp + 0x70]
test eax, eax
je 0x140049a04
test r13, r13
je 0x140049a12
mov rcx, r13
mov rdx, rbp
call qword [sym.imp.ADVAPI32.dll_EqualSid]
xor esi, esi
mov r12d, 0
test eax, eax
je 0x140049bff
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_FreeSid]
test r12b, r12b
lea rcx, [rsp + 0x1b0]
jne 0x140049a12
cmp esi, 3
je 0x140049a12
cmp dword [rdi + r14 + 4], 1
jne 0x140049a12
mov rax, qword [rsp + 0x1b0]
mov rbx, rcx
mov rdi, rcx
jmp 0x140049a27
test rbx, rbx
je 0x140049bf5
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov r12b, 1
mov esi, 0xaaaaaaaa
jmp 0x140049ba5
mov qword [rsp + 0x70], 0
xor eax, eax
mov dword [rsp + 0x1e0], eax
mov word [rsp + 0x1e4], 0x500
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x1e0]
mov dl, 1
mov r8d, shutdown
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov rbx, qword [rsp + 0x70]
test eax, eax
je 0x140049be7
test rbx, rbx
je 0x140049bf5
mov rcx, rbx
mov rdx, rbp
call qword [sym.imp.ADVAPI32.dll_EqualSid]
xor r12d, r12d
cmp eax, 1
mov esi, 0
adc esi, 2
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_FreeSid]
jmp 0x140049ba5
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.140166ee0
int3