Function at 0x1400fc004
Capabilities:
Get token membership

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rax, qword [0x140178010]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor edi, edi
mov r14, rdx
or qword [rbp - 0x69], 0xffffffffffffffff
mov rsi, rcx
mov rcx, qword [0x1401782b0]
lea r13, [0x1401782b0]
cmp rcx, r13
je 0x1400fc069
test byte [rcx + 0x1c], 1
je 0x1400fc069
cmp byte [rcx + 0x19], 4
jb 0x1400fc069
mov rcx, qword [rcx + 0x10]
lea edx, [rdi + 0x3a]
lea r8, [0x14015de78]
call fcn.140004c6c
and dword [rsi], edi
and dword [r14], edi
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, 8
lea r9, [rbp - 0x69]
mov rcx, rax
lea r8d, [rdx - 7]
call qword [sym.imp.ADVAPI32.dll_OpenThreadToken]
test eax, eax
jne 0x1400fc0a7
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
jmp 0x1400fc275
mov rcx, qword [0x1401782b0]
cmp rcx, r13
je 0x1400fc0d4
test byte [rcx + 0x1c], 1
je 0x1400fc0d4
cmp byte [rcx + 0x19], 5
jb 0x1400fc0d4
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015de78]
mov edx, 0x3d
call fcn.140004c6c
lea rcx, [rbp - 0x59]
call fcn.140063fa8
mov rbx, rax
cmp byte [rax + 0x4c], dil
jne 0x1400fc0fe
lea r8, str.m_bValid
mov edx, 0x1c4
lea rcx, str.sdkinc_atlmfc_atlsecurity.inl
call fcn.14008624c
mov rcx, qword [rbp - 0x69]
lea rdx, [rbx + 8]
mov r8, rsi
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
lea rcx, [rbp + 0x17]
lea rax, [0x14014efe8]
sete bl
mov qword [rbp - 0x59], rax
call fcn.140064e40
lea rcx, [rbp + 0xf]
call fcn.140064e40
lea rcx, [rbp + 7]
call fcn.140064e40
lea rcx, [rbp - 1]
call fcn.140064e40
test bl, bl
jne 0x1400fc08e
mov rcx, qword [0x1401782b0]
cmp rcx, r13
je 0x1400fc178
test byte [rcx + 0x1c], 1
je 0x1400fc178
cmp byte [rcx + 0x19], 5
jb 0x1400fc178
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015de78]
mov edx, 0x3e
call fcn.140004c6c
lea rcx, [rbp - 0x59]
call fcn.140063ca0
mov rbx, rax
cmp byte [rax + 0x4c], dil
jne 0x1400fc1a2
lea r8, str.m_bValid
mov edx, 0x1c4
lea rcx, str.sdkinc_atlmfc_atlsecurity.inl
call fcn.14008624c
mov rcx, qword [rbp - 0x69]
lea rdx, [rbx + 8]
mov r8, r14
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
lea rcx, [rbp + 0x17]
lea rax, [0x14014efe8]
sete bl
mov qword [rbp - 0x59], rax
call fcn.140064e40
lea rcx, [rbp + 0xf]
call fcn.140064e40
lea rcx, [rbp + 7]
call fcn.140064e40
lea rcx, [rbp - 1]
call fcn.140064e40
test bl, bl
jne 0x1400fc08e
mov rcx, qword [0x1401782b0]
cmp rcx, r13
je 0x1400fc2b0
test byte [rcx + 0x1c], 1
lea rax, [0x1401507e8]
lea rbx, [0x1401507f0]
je 0x1400fc245
cmp byte [rcx + 0x19], 4
jb 0x1400fc245
cmp dword [rsi], edi
lea r8, [0x14015de78]
mov rcx, qword [rcx + 0x10]
mov r9, rbx
cmovne r9, rax
mov edx, 0x3f
call fcn.140005c6c
mov rcx, qword [0x1401782b0]
lea rax, [0x1401507e8]
cmp rcx, r13
je 0x1400fc2b0
test byte [rcx + 0x1c], 1
je 0x1400fc2b0
cmp byte [rcx + 0x19], 4
jb 0x1400fc2b0
cmp dword [r14], edi
lea r8, [0x14015de78]
mov rcx, qword [rcx + 0x10]
mov edx, 0x40
cmovne rbx, rax
mov r9, rbx
call fcn.140005c6c
test edi, edi
jns 0x1400fc2a9
mov rcx, qword [0x1401782b0]
cmp rcx, r13
je 0x1400fc2b0
test byte [rcx + 0x1c], 1
je 0x1400fc2b0
cmp byte [rcx + 0x19], 2
jb 0x1400fc2b0
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015de78]
mov edx, 0x41
mov r9d, edi
call fcn.140004c90
mov rcx, qword [0x1401782b0]
cmp qword [rbp - 0x69], 0xffffffffffffffff
je 0x1400fc2c8
mov rcx, qword [rbp - 0x69]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1401782b0]
cmp rcx, r13
je 0x1400fc2ee
test byte [rcx + 0x1c], 1
je 0x1400fc2ee
cmp byte [rcx + 0x19], 4
jb 0x1400fc2ee
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015de78]
mov edx, 0x42
call fcn.140004c6c
mov eax, edi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1401474d0
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret