Function at 0x1400d31dc
Capabilities:
Compare security identifiers

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r14, rdx
mov r15, rcx
test rdx, rdx
je 0x1400d33c6
mov rax, qword [rdx]
cmp rax, qword [rcx + 0x10]
jne 0x1400d33c6
mov rax, qword [rdx + 8]
cmp rax, qword [rcx + 0x18]
jne 0x1400d33c6
mov rbx, qword [rcx + 0x40]
mov rax, qword [rcx + 0x48]
mov r12d, dword [rdx + 0x20]
sub rax, rbx
sar rax, 3
cmp r12, rax
jne 0x1400d33c6
mov rsi, qword [rcx + 0x58]
movabs rax, 0x6db6db6db6db6db7
mov rbp, qword [rcx + 0x60]
sub rbp, rsi
sar rbp, 4
imul rbp, rax
mov eax, dword [rdx + 0x10]
cmp rax, rbp
jne 0x1400d33c6
xor r13d, r13d
test r12, r12
je 0x1400d3314
lea rdi, [rdx + 0x28]
mov eax, dword [rdi + 8]
test eax, 0xfffffffe
jne 0x1400d33c6
mov r8, qword [rbx]
cmp eax, dword [r8 + 8]
jne 0x1400d33c6
mov rcx, qword [rdi]
movsxd rdx, dword [rcx + 4]
lea eax, [rdx - 1]
cmp eax, 0x2c
ja 0x1400d33c6
cmp edx, 0x2d
ja 0x1400d32be
movabs rax, 0x218cc6d8001a
bt rax, rdx
jb 0x1400d33c6
mov eax, dword [rcx]
dec eax
cmp eax, 5
ja 0x1400d33c6
mov rdx, qword [r8]
test rdx, rdx
je 0x1400d33c6
mov rax, qword [rcx]
cmp rax, qword [rdx]
jne 0x1400d33c6
mov eax, dword [rcx + 8]
cmp eax, dword [rdx + 8]
jne 0x1400d33c6
mov r8d, dword [rdx + 8]
call fcn.140033b70
test eax, eax
jne 0x1400d33c6
inc r13
add rbx, 8
add rdi, 0x10
cmp r13, r12
jb 0x1400d3277
xor r12d, r12d
test rbp, rbp
je 0x1400d3487
xor edi, edi
movabs rbp, 0x6db6db6db6db6db7
mov rax, qword [r14 + 0x18]
mov rbx, qword [rax + r12*8]
test rbx, rbx
je 0x1400d33c6
mov eax, dword [rbx + 0x2c]
test eax, 0xffffff80
jne 0x1400d33c6
cmp eax, dword [rdi + rsi + 0x5c]
jne 0x1400d33c6
mov rax, qword [rbx]
cmp rax, qword [rdi + rsi + 0x14]
jne 0x1400d33c6
mov rax, qword [rbx + 8]
cmp rax, qword [rdi + rsi + 0x1c]
jne 0x1400d33c6
mov eax, dword [rbx + 0x28]
test eax, 0xffffffc0
jne 0x1400d33c6
cmp eax, dword [rdi + rsi + 0x58]
jne 0x1400d33c6
mov ecx, dword [rbx + 0x10]
lea eax, [rcx - 1]
cmp eax, 3
ja 0x1400d33c6
cmp ecx, dword [rdi + rsi + 0x10]
jne 0x1400d33c6
mov eax, dword [rdi + rsi + 0x60]
cmp dword [rbx + 0x30], eax
jne 0x1400d33c6
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400d339f
call qword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
je 0x1400d33c6
mov rcx, qword [rdi + rsi + 0x48]
test rcx, rcx
je 0x1400d33b3
call qword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
je 0x1400d33c6
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rdi + rsi + 0x48]
test rcx, rcx
jne 0x1400d33e5
test rdx, rdx
je 0x1400d33f4
xor al, al
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
test rdx, rdx
je 0x1400d33c6
call qword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
je 0x1400d33c6
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rdi + rsi + 0x50]
test rcx, rcx
jne 0x1400d3409
test rdx, rdx
jne 0x1400d33c6
jmp 0x1400d3418
test rdx, rdx
je 0x1400d33c6
call qword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
je 0x1400d33c6
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rdi + rsi + 0x68]
test rdx, rdx
je 0x1400d345b
test rcx, rcx
je 0x1400d33c6
cmp dword [rdx + 0xc], 0
jbe 0x1400d3464
mov r8, qword [rcx + 0x28]
sub r8, qword [rcx + 0x20]
mov eax, dword [rdx + 0xc]
sar r8, 3
cmp rax, r8
jne 0x1400d33c6
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call fcn.1400fece0
test al, al
je 0x1400d33c6
jmp 0x1400d3464
test rcx, rcx
jne 0x1400d33c6
mov rsi, qword [r15 + 0x58]
inc r12
mov rcx, qword [r15 + 0x60]
add rdi, 0x70
sub rcx, rsi
sar rcx, 4
imul rcx, rbp
cmp r12, rcx
jb 0x1400d332c
mov al, 1
jmp 0x1400d33c8