Function at 0x1400a0ea0
Capabilities:
Compare security identifiers

Disassembly:
push rbp
push r12
push r13
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x140148020]
xor rax, rsp
mov qword [rbp + 0x2f], rax
xor r13d, r13d
mov r12d, r13d
mov qword [rbp + 0xf], r13
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea r9, [rbp + 0xf]
xor r8d, r8d
mov rcx, rax
lea edx, [r13 + 8]
call qword [sym.imp.ADVAPI32.dll_OpenThreadToken]
test eax, eax
jne 0x1400a0f0f
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp + 0xf]
lea edx, [r13 + 8]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x1400a0f0f
lea rax, [0x14011205c]
jmp 0x1400a10eb
mov rax, qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
mov qword [rsp + 0xc0], rbx
mov ebx, 1
mov qword [rsp + 0xd0], rdi
mov rdi, r13
mov qword [rsp + 0x98], r14
mov r14, r13
mov dword [rbp + 0x23], r13d
mov word [rbp + 0x27], 0x500
mov qword [0x140151670], rax
cmp rax, r13
jne 0x1400a0fbb
mov rcx, qword [rbp + 0xf]
lea rax, [rbp + 7]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea edx, [rbx + 1]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
jne 0x1400a0fb4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400a0fb4
mov edx, dword [rbp + 7]
lea ecx, [rbx + 0x3f]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
je 0x1400a0fb4
mov r9d, dword [rbp + 7]
lea rax, [rbp + 7]
mov rcx, qword [rbp + 0xf]
lea edx, [rbx + 1]
mov r8, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x1400a0fb4
mov r14d, ebx
jmp 0x1400a0fc4
mov rax, qword [0x140151670]
test rax, rax
je 0x1400a10b8
mov qword [rsp + 0xc8], rsi
lea rsi, str.User
mov qword [rsp + 0x90], r15
mov r15d, 4
mov r9d, dword [rsi - 8]
lea rax, [rbp + 0x17]
mov qword [rsp + 0x50], rax
lea rcx, [rbp + 0x23]
mov dword [rsp + 0x48], r13d
mov r8d, 0x20
mov dword [rsp + 0x40], r13d
mov dl, 2
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x1400a109a
mov rax, qword [0x140151670]
mov dword [rbp + 0x1f], r13d
test rax, rax
je 0x1400a1043
mov rdx, qword [rbp + 0x17]
lea r8, [rbp + 0x1f]
xor ecx, ecx
call rax
mov ecx, dword [rbp + 0x1f]
jmp 0x1400a1089
test r14, r14
je 0x1400a1090
cmp dword [rdi], 0
mov ebx, r13d
jbe 0x1400a1090
mov r13d, 1
nop word [rax + rax]
mov rdx, qword [rbp + 0x17]
mov ecx, ebx
add rcx, rcx
mov rcx, qword [rdi + rcx*8 + 8]
call qword [sym.imp.ADVAPI32.dll_EqualSid]
mov ecx, dword [rbp + 0x1f]
test eax, eax
cmovne ecx, r13d
inc ebx
mov dword [rbp + 0x1f], ecx
cmp ebx, dword [rdi]
jb 0x1400a1060
xor r13d, r13d
test ecx, ecx
je 0x1400a1090
mov r12, qword [rsi]
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ADVAPI32.dll_FreeSid]
add rsi, 0x10
sub r15, 1
jne 0x1400a0fe1
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xc0]
test rdi, rdi
je 0x1400a10d6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rbp + 0xf]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0xd0]
mov rax, r12
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400a24f0
add rsp, 0xa0
pop r13
pop r12
pop rbp
ret