Function at 0x140002ab0
Capabilities:
Compare security identifiers

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xd0
lea rdi, [rsp + 0x40]
mov ecx, 0x24
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x74], 1
mov rcx, qword [rsp + 0xe0]
call fcn.140003948
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 4
mov edx, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x140002b50
xor al, al
jmp 0x140002d57
lea r9, [rsp + 0x68]
mov r8, qword [rsp + 0x48]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x140002b76
xor al, al
jmp 0x140002d57
mov dword [rsp + 0x78], 0
jmp 0x140002b8a
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
movsxd rax, dword [rsp + 0x78]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xe8]
call fcn.1400048c4
mov rcx, qword [rsp + 0xc0]
cmp rcx, rax
jae 0x140002cf0
mov qword [rsp + 0x88], 0
movsxd rax, dword [rsp + 0x78]
mov rdx, rax
mov rcx, qword [rsp + 0xe8]
call fcn.14000296c
mov rcx, rax
call fcn.140003948
lea rdx, [rsp + 0x88]
mov rcx, rax
call sub.ADVAPI32.dll_ConvertStringSidToSidW
test eax, eax
jne 0x140002bf9
xor al, al
jmp 0x140002d57
mov byte [rsp + 0x94], 1
mov byte [rsp + 0x94], 0
mov dword [rsp + 0x98], 0
jmp 0x140002c26
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 4]
cmp dword [rsp + 0x98], eax
jae 0x140002ccd
lea r8, [rsp + 0xa8]
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_GetAce]
test eax, eax
je 0x140002cc8
mov rax, qword [rsp + 0xa8]
add rax, 8
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
je 0x140002cc8
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_DeleteAce]
test eax, eax
jne 0x140002cbe
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor al, al
jmp 0x140002d57
mov byte [rsp + 0x94], 1
jmp 0x140002ccd
jmp 0x140002c16
movzx eax, byte [rsp + 0x94]
test eax, eax
jne 0x140002c01
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x140002b80
mov rcx, qword [rsp + 0xe0]
call fcn.140003948
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 4
mov edx, 1
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x140002d4a
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor al, al
jmp 0x140002d57
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov al, 1
mov rdi, rax
mov rcx, rsp
lea rdx, [0x1400345c0]
call fcn.140015a64
mov rax, rdi
add rsp, 0xd0
pop rdi
ret