Function at 0x14001f9e0
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov r14, r8
mov qword [rsp + 0x40], rdx
mov rsi, rcx
mov rax, qword [0x140174028]
xor rax, rsp
mov qword [rsp + 0x138], rax
movaps xmm6, xmmword [0x14015bb90]
movaps xmmword [rsp + 0xf0], xmm6
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rdi
mov byte [rsp + 0xf0], 0
lea rdx, [rcx + 0x18]
lea rcx, [rsp + 0x90]
mov qword [rcx + 0x10], rdi
movaps xmmword [rcx], xmm6
call fcn.14001f230
cmp byte [rsi + 0x88], 0
mov qword [rsp + 0x38], rsi
je 0x14001fb3e
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.1400171b0
mov rbx, qword [r15]
mov r15, qword [r15 + 8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
sub r15, rbx
je 0x14001fae1
js 0x140020fab
mov rcx, r15
call fcn.1400babfc
mov qword [rsp + 0xb0], rax
lea rsi, [rax + r15]
mov qword [rsp + 0xc0], rsi
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.1400be8b0
mov qword [rsp + 0xb8], rsi
test rbx, rbx
je 0x14001faf6
mov qword [rsp + 0x118], rbx
mov rcx, rbx
call fcn.1400bab7c
mov rax, qword [rsp + 0x98]
cmp rax, qword [rsp + 0xa0]
jb 0x1400210c5
lea rcx, [rsp + 0x90]
lea rbx, [rsp + 0xb0]
mov rdx, rbx
call fcn.14001f7c0
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001fb39
mov qword [rsp + 0xb8], rcx
call fcn.1400bab7c
mov rsi, qword [rsp + 0x38]
cmp byte [rsi + 0x6f], 0
je 0x14001fd19
mov rdx, qword [r14]
lea rbx, [rsp + 0x110]
mov rcx, rbx
mov r8d, 2
call fcn.1400297b0
mov rdi, qword [rbx]
mov rbp, qword [rbx + 8]
cmp rdi, rbp
je 0x14001fcc3
mov qword [rsp + 0x48], r14
xorps xmm7, xmm7
lea rbx, [rsp + 0x90]
lea r15, [rsp + 0xb0]
mov rsi, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x14001fbf5
mov rdx, qword [rdi]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x14001fbe8
add r12, 0x18
jmp 0x14001fc11
test rax, rax
je 0x140020fe5
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0x98], rax
add rdi, 0x20
cmp rdi, rbp
je 0x14001fcb6
mov eax, dword [rdi + 0x18]
cmp eax, 0xbfffffff
ja 0x14001fbe8
and eax, 0x20
jne 0x14001fbe8
mov rax, qword [rsp + 0x38]
mov r12, qword [rax + 0x70]
mov r13, qword [rax + 0x78]
cmp r12, r13
jne 0x14001fb92
mov r12, qword [rdi]
mov r13, qword [rdi + 8]
movaps xmmword [rsp + 0xb0], xmm7
mov qword [rsp + 0xc0], 0
sub r13, r12
je 0x14001fc72
js 0x140020fab
mov rcx, r13
call fcn.1400babfc
mov qword [rsp + 0xb0], rax
lea r14, [rax + r13]
mov qword [rsp + 0xc0], r14
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.1400be8b0
mov qword [rsp + 0xb8], r14
mov rax, qword [rsp + 0x98]
cmp rax, qword [rsp + 0xa0]
jb 0x14001fba5
mov rcx, rbx
mov rdx, r15
call fcn.14001f7c0
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14001fbe8
mov qword [rsp + 0xb8], rcx
call fcn.1400bab7c
jmp 0x14001fbe8
mov rdi, qword [rsp + 0x110]
mov r14, qword [rsp + 0x48]
test rdi, rdi
je 0x14001fd0f
mov rax, qword [rsp + 0x118]
mov rcx, rdi
cmp rax, rdi
jne 0x14001fceb
jmp 0x14001fd02
mov qword [rax - 0x18], rcx
call fcn.1400bab7c
mov rax, rsi
cmp rsi, rdi
je 0x14001fcfa
lea rsi, [rax - 0x20]
mov rcx, qword [rax - 0x20]
test rcx, rcx
je 0x14001fce3
jmp 0x14001fcda
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rdi
call fcn.1400bab7c
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rdi
movaps xmmword [rcx], xmm6
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.14001f230
cmp byte [rsi + 0x8a], 0
je 0x14001fe07
lea r12, [rsp + 0x110]
mov r15, r14
mov rcx, r14
mov rdx, r12
call fcn.1400171b0
mov rbx, qword [r12]
mov r12, qword [r12 + 8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
sub r12, rbx
je 0x14001fdb2
js 0x140020fab
mov rcx, r12
call fcn.1400babfc
mov qword [rsp + 0xb0], rax
lea rsi, [rax + r12]
mov qword [rsp + 0xc0], rsi
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.1400be8b0
mov qword [rsp + 0xb8], rsi
test rbx, rbx
je 0x14001fdc7
mov qword [rsp + 0x118], rbx
mov rcx, rbx
call fcn.1400bab7c
mov rax, qword [rsp + 0x78]
cmp rax, qword [rsp + 0x80]
jb 0x140021070
mov r14, r15
lea rcx, [rsp + 0x70]
lea rbx, [rsp + 0xb0]
mov rdx, rbx
call fcn.14001f7c0
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001fe07
mov qword [rsp + 0xb8], rcx
call fcn.1400bab7c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x8b], 0
je 0x14002003c
mov rdx, qword [r14]
lea rbx, [rsp + 0x110]
mov rcx, rbx
mov r8d, 2
call fcn.1400297b0
mov rdi, qword [rbx]
mov rsi, qword [rbx + 8]
cmp rdi, rsi
je 0x14001ff4e
mov r15, r14
xorps xmm7, xmm7
lea rbx, [rsp + 0x70]
lea r12, [rsp + 0xb0]
jmp 0x14001fea4
test rax, rax
je 0x140020fcf
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0x78], rax
add rdi, 0x20
cmp rdi, rsi
je 0x14001ff43
test byte [rdi + 0x18], 0x20
jne 0x14001fe97
mov r13, qword [rdi]
mov rbp, qword [rdi + 8]
movaps xmmword [rsp + 0xb0], xmm7
mov qword [rsp + 0xc0], 0
sub rbp, r13
je 0x14001ff02
js 0x140020fab
mov rcx, rbp
call fcn.1400babfc
mov qword [rsp + 0xb0], rax
lea r14, [rax + rbp]
mov qword [rsp + 0xc0], r14
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.1400be8b0
mov qword [rsp + 0xb8], r14
mov rax, qword [rsp + 0x78]
cmp rax, qword [rsp + 0x80]
jb 0x14001fe57
mov rcx, rbx
mov rdx, r12
call fcn.14001f7c0
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14001fe97
mov qword [rsp + 0xb8], rcx
call fcn.1400bab7c
jmp 0x14001fe97
mov rdi, qword [rsp + 0x110]
mov r14, r15
test rdi, rdi
je 0x140020032
mov rax, qword [rsp + 0x118]
mov rcx, rdi
cmp rax, rdi
jne 0x14001ff81
jmp 0x140020025
mov qword [rax - 0x18], rcx
call fcn.1400bab7c
mov rax, rsi
cmp rsi, rdi
je 0x14002001d
lea rsi, [rax - 0x20]
mov rcx, qword [rax - 0x20]
test rcx, rcx
je 0x14001ff75
jmp 0x14001ff6c
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x78]
jne 0x140020064
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
jne 0x140020064
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
mov r8d, 0xf01ff
call fcn.140121340
cmp byte [r15], 0
je 0x14002113a
lea rdx, [rsp + 0x118]
cmp byte [rsp + 0xf0], 0
jne 0x140020f6a
lea rcx, [rsp + 0xf8]
call fcn.14001bd80
mov byte [rsp + 0xf0], 1
cmp byte [rsp + 0x110], 0
je 0x140020170
lea rcx, [rsp + 0x118]
call fcn.14001efe0
jmp 0x140020170
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rdi
call fcn.1400bab7c
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x89], 0
jne 0x140020ea7
mov rax, qword [rsp + 0x90]
cmp rax, qword [rsp + 0x98]
je 0x14001ff90
xorps xmm0, xmm0
lea rax, [rsp + 0xb0]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x38]
movzx r8d, byte [rcx + 0x6d]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0xf01ff
lea r15, [rsp + 0x110]
lea r9, [rsp + 0x90]
mov rcx, r14
mov rdx, r15
call fcn.14002b4f0
cmp byte [r15], 0
je 0x140020ff0
lea rdx, [rsp + 0x118]
cmp byte [rsp + 0xf0], 0
jne 0x140020125
lea rcx, [rsp + 0xf8]
call fcn.14001bd80
mov byte [rsp + 0xf0], 1
cmp byte [rsp + 0x110], 0
je 0x140020106
lea r14, [rsp + 0x118]
mov rcx, r14
call fcn.14001efe0
mov byte [r14 - 8], 0
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
je 0x140020170
mov rax, qword [rsp + 0xb8]
mov rcx, rsi
cmp rax, rsi
jne 0x140020145
jmp 0x140020163
lea rcx, [rsp + 0xf8]
call fcn.140027b10
jmp 0x1400200e7
mov rcx, qword [rax - 0x18]
call fcn.1400bab7c
mov rax, rdi
cmp rdi, rsi
je 0x140020151
lea rdi, [rax - 0x18]
cmp byte [rax - 1], 0
jns 0x14002013d
jmp 0x140020134
mov rcx, qword [rsp + 0xb0]
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb8], rsi
call fcn.1400bab7c
cmp byte [rsp + 0xf0], 0
je 0x140020ce6
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
je 0x140020193
cmp byte [rax + 0x6e], 0
jne 0x140020e24
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xe0], rdi
movaps xmmword [rsp + 0xd0], xmm6
lea r14, [rsp + 0x110]
mov qword [r14 + 0x20], rdi
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rdx, qword [rsp + 0xf8]
mov rcx, r14
mov r8d, 6
call fcn.1400b0950
cmp byte [r14], 0
je 0x140020c88
mov r14, qword [rsp + 0x118]
mov r15, qword [r14]
test r15, r15
je 0x140020fe8
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_IsValidAcl]
test eax, eax
je 0x14002102a
movzx r13d, word [r15 + 2]
mov rcx, r13
call fcn.1400baf98
mov r12, rax
mov rcx, rax
mov rdx, r15
mov r8, r13
call fcn.1400be8b0
mov byte [rsp + 0xd0], 1
mov qword [rsp + 0xd8], r12
mov al, 1
test r14, r14
je 0x140020258
mov rcx, r14
call fcn.1400bab7c
mov al, byte [rsp + 0xd0]
test al, al
je 0x140020c88
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6c], 0
je 0x1400204d2
mov qword [rsp + 0x130], rdi
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
cmp byte [rsp + 0xf0], 0
je 0x140020e9f
lea r14, [rsp + 0x110]
lea rcx, [rsp + 0xf8]
mov rdx, r14
call fcn.140029660
cmp byte [r14], 0
je 0x140020dda
mov r14, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
cmp r14, rax
jb 0x14002041f
mov rsi, qword [rsp + 0xb0]
mov rbx, r14
sub rbx, rsi
sar rbx, 3
movabs rcx, 0xcccccccccccccccd
imul rbx, rcx
lea rdi, [rbx + 1]
movabs rdx, 0x666666666666666
cmp rdi, rdx
ja 0x14002111d
mov r15, qword [rsp + 0x118]
mov r12, qword [rsp + 0x120]
sub rax, rsi
sar rax, 3
imul rax, rcx
lea rcx, [rax + rax]
cmp rcx, rdi
cmova rdi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rdi, rdx
test rdi, rdi
je 0x140021120
cmp rdi, rdx
ja 0x140021127
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.1400babfc
mov rbp, rax
lea rbx, [rbx + rbx*4]
lea r13, [rbx*8]
add r13, rbp
je 0x14002112a
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
mov rax, r15
sub r12, r15
je 0x1400203c7
mov qword [rsp + 0x48], rsi
js 0x140021044
mov rcx, r12
call fcn.1400babfc
mov qword [r13], rax
lea rsi, [rax + r12]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.1400be8b0
mov qword [r13 + 8], rsi
mov rsi, qword [rsp + 0x48]
lea rax, [rdi + rdi*4]
lea rax, [rax*8]
add rax, rbp
mov qword [rbp + rbx*8 + 0x18], 3
mov dword [rbp + rbx*8 + 0x20], 0
lea rcx, [r13 + 0x28]
cmp r14, rsi
jne 0x140021165
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
test r14, r14
jne 0x14002112d
mov r14, qword [rsp + 0xb8]
jmp 0x140020493
test r14, r14
je 0x14002111a
mov r15, qword [rsp + 0x118]
mov r12, qword [rsp + 0x120]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x140020477
js 0x140021018
mov rcx, r12
call fcn.1400babfc
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.1400be8b0
mov qword [r14 + 8], rsi
mov qword [r14 + 0x18], 3
mov dword [r14 + 0x20], 0
add r14, 0x28
mov qword [rsp + 0xb8], r14
cmp qword [rsp + 0xb0], r14
je 0x140021067
cmp byte [rsp + 0x110], 0
je 0x14002058b
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x14002058b
mov qword [rsp + 0x120], rcx
call fcn.1400bab7c
jmp 0x14002058b
mov r14, qword [rsp + 0xb8]
cmp r14, qword [rsp + 0xc0]
jae 0x140020f7c
test r14, r14
je 0x14002106d
lea r12, [rsp + 0x110]
mov rcx, r12
mov edx, 0xa
call fcn.140028850
mov r15, qword [r12]
mov r12, qword [r12 + 8]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x14002054e
js 0x140021018
mov rcx, r12
call fcn.1400babfc
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.1400be8b0
mov qword [r14 + 8], rsi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
test r15, r15
je 0x140020571
mov rcx, r15
call fcn.1400bab7c
add r14, 0x28
mov qword [rsp + 0xb8], r14
cmp qword [rsp + 0xb0], r14
je 0x14002106a
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rsi, rax
je 0x14002086d
xorps xmm6, xmm6
jmp 0x140020628
test rbp, rbp
je 0x140020fdb
mov rax, qword [rsp + 0x110]
mov qword [rbp], rax
mov rax, qword [rsp + 0x118]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x120]
mov qword [rbp + 0x10], rax
movaps xmmword [rsp + 0x110], xmm6
mov qword [rsp + 0x120], 0
lea rcx, [rsp + 0x128]
mov eax, dword [rcx + 8]
mov dword [rbp + 0x20], eax
mov rax, qword [rcx]
mov qword [rbp + 0x18], rax
add rbp, 0x28
mov qword [rsp + 0xb8], rbp
xor ecx, ecx
test rcx, rcx
je 0x140020619
call fcn.1400bab7c
add rsi, 0x28
cmp rsi, qword [rsp + 0x48]
je 0x14002086d
mov ebx, dword [rsi + 0x18]
mov ebp, dword [rsi + 0x1c]
mov r13d, dword [rsi + 0x20]
mov r14, qword [rsi]
mov r12, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm6
mov qword [rsp + 0x120], 0
sub r12, r14
je 0x140020fc5
js 0x140020fb8
mov rcx, r12
call fcn.1400babfc
mov r15, rax
mov qword [rsp + 0x110], rax
lea rdi, [rax + r12]
mov qword [rsp + 0x120], rdi
mov rcx, rax
mov rdx, r14
mov r8, r12
call fcn.1400be8b0
mov qword [rsp + 0x118], rdi
mov dword [rsp + 0x128], ebx
mov dword [rsp + 0x12c], ebp
mov dword [rsp + 0x130], r13d
mov rbp, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
cmp rbp, rax
jb 0x1400205ab
mov r12, qword [rsp + 0xb0]
mov r14, rbp
sub r14, r12
sar r14, 3
movabs rcx, 0xcccccccccccccccd
imul r14, rcx
lea rbx, [r14 + 1]
movabs rdx, 0x666666666666666
cmp rbx, rdx
ja 0x140020fd8
sub rax, r12
sar rax, 3
imul rax, rcx
lea rcx, [rax + rax]
cmp rcx, rbx
cmova rbx, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rbx, rdx
test rbx, rbx
je 0x140020fde
cmp rbx, rdx
ja 0x140020fd2
lea rax, [rbx*8]
lea rcx, [rax + rax*4]
call fcn.1400babfc
lea r8, [r14 + r14*4]
lea rdx, [r8*8]
add rdx, rax
je 0x140020fd5
lea rcx, [rbx + rbx*4]
lea rcx, [rax + rcx*8]
mov qword [rdx], r15
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], rdi
movaps xmmword [rsp + 0x110], xmm6
mov qword [rsp + 0x120], 0
lea r10, [rsp + 0x128]
mov r9d, dword [r10 + 8]
mov dword [rax + r8*8 + 0x20], r9d
mov r9, qword [r10]
mov qword [rax + r8*8 + 0x18], r9
lea rax, [rdx + 0x28]
cmp rbp, r12
je 0x140020853
xor r9d, r9d
movups xmmword [rdx - 0x28], xmm6
mov qword [rdx - 0x18], r9
mov r8, qword [rbp - 0x28]
mov qword [rdx - 0x28], r8
mov r8, qword [rbp - 0x20]
mov qword [rdx - 0x20], r8
mov r8, qword [rbp - 0x18]
mov qword [rdx - 0x18], r8
mov qword [rbp - 0x18], r9
movups xmmword [rbp - 0x28], xmm6
mov r8d, dword [rbp - 8]
mov dword [rdx - 8], r8d
mov r8, qword [rbp - 0x10]
mov qword [rdx - 0x10], r8
add rdx, 0xffffffffffffffd8
lea r8, [rbp - 0x28]
mov rbp, r8
cmp r8, r12
jne 0x1400207a6
mov rbp, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
cmp r8, rbp
je 0x140020839
lea rdi, [r8 - 0x28]
mov rcx, qword [r8 - 0x28]
test rcx, rcx
je 0x140020831
mov qword [r8 - 0x20], rcx
call fcn.1400bab7c
mov r8, rdi
cmp rdi, rbp
jne 0x14002081b
test rbp, rbp
je 0x140020846
mov rcx, rbp
call fcn.1400bab7c
mov rcx, qword [rsp + 0x110]
jmp 0x14002060f
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
jmp 0x140020839
cmp byte [rsp + 0xf0], 0
je 0x140020e9f
lea r15, [rsp + 0x110]
lea rcx, [rsp + 0xf8]
mov rdx, r15
call fcn.1400171b0
mov r14, qword [r15]
mov r13, qword [r15 + 8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
sub r13, r14
je 0x14002104c
js 0x140021020
mov rcx, r13
call fcn.1400babfc
mov r12, rax
mov qword [rsp + 0x50], rax
lea r15, [rax + r13]
mov qword [rsp + 0x60], r15
mov rcx, rax
mov rdx, r14
mov r8, r13
call fcn.1400be8b0
mov qword [rsp + 0x58], r15
test r14, r14
je 0x1400208fb
mov qword [rsp + 0x118], r14
mov rcx, r14
call fcn.1400bab7c
mov r14, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
cmp r14, rax
jb 0x140020af6
mov rsi, qword [rsp + 0xb0]
mov rbx, r14
sub rbx, rsi
sar rbx, 3
movabs rcx, 0xcccccccccccccccd
imul rbx, rcx
lea rdi, [rbx + 1]
movabs rdx, 0x666666666666666
cmp rdi, rdx
ja 0x140021057
sub rax, rsi
sar rax, 3
imul rax, rcx
lea rcx, [rax + rax]
cmp rcx, rdi
cmova rdi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rdi, rdx
test rdi, rdi
je 0x14002105a
cmp rdi, rdx
ja 0x140021061
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.1400babfc
mov rbp, rax
lea rbx, [rbx + rbx*4]
lea r13, [rbx*8]
add r13, rbp
je 0x140021064
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
sub r15, r12
je 0x1400209f8
mov qword [rsp + 0x48], rsi
js 0x140021044
mov rcx, r15
call fcn.1400babfc
mov qword [r13], rax
lea rsi, [rax + r15]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.1400be8b0
mov qword [r13 + 8], rsi
mov rsi, qword [rsp + 0x48]
lea rax, [rdi + rdi*4]
lea rax, [rax*8]
add rax, rbp
movabs rcx, 0x1000000000000000
mov qword [rbp + rbx*8 + 0x18], rcx
mov dword [rbp + rbx*8 + 0x20], 0
lea rcx, [r13 + 0x28]
cmp r14, rsi
je 0x140020ac7
xorps xmm0, xmm0
xor edx, edx
movups xmmword [r13 - 0x28], xmm0
mov qword [r13 - 0x18], rdx
mov r8, qword [r14 - 0x28]
mov qword [r13 - 0x28], r8
mov r8, qword [r14 - 0x20]
mov qword [r13 - 0x20], r8
mov r8, qword [r14 - 0x18]
mov qword [r13 - 0x18], r8
mov qword [r14 - 0x18], rdx
movups xmmword [r14 - 0x28], xmm0
mov r8d, dword [r14 - 8]
mov dword [r13 - 8], r8d
mov r8, qword [r14 - 0x10]
mov qword [r13 - 0x10], r8
add r13, 0xffffffffffffffd8
lea r8, [r14 - 0x28]
mov r14, r8
cmp r8, rsi
jne 0x140020a30
mov r14, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
cmp rdx, r14
je 0x140020adf
lea rsi, [rdx - 0x28]
mov rcx, qword [rdx - 0x28]
test rcx, rcx
je 0x140020abd
mov qword [rdx - 0x20], rcx
call fcn.1400bab7c
mov rdx, rsi
cmp rsi, r14
jne 0x140020aa7
jmp 0x140020adf
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
test r14, r14
je 0x140020aec
mov rcx, r14
call fcn.1400bab7c
mov r14, qword [rsp + 0xb8]
jmp 0x140020b60
test r14, r14
je 0x140020ea4
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r15, r12
je 0x140020b3e
js 0x140021018
mov rcx, r15
call fcn.1400babfc
mov qword [r14], rax
lea rsi, [rax + r15]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.1400be8b0
mov qword [r14 + 8], rsi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
add r14, 0x28
mov qword [rsp + 0xb8], r14
cmp qword [rsp + 0xb0], r14
je 0x140020ea1
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140020b7d
call fcn.1400bab7c
cmp byte [rsp + 0xd0], 0
je 0x140020e9f
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xb0]
call fcn.14001a230
test al, al
je 0x140020c56
cmp byte [rsp + 0xf0], 0
je 0x140020e9f
cmp byte [rsp + 0xd0], 0
je 0x140020e9f
mov rax, qword [rsp + 0xd8]
lea r8, [rsp + 0x110]
mov qword [r8], rax
mov rcx, qword [rsp + 0xf8]
mov edx, 6
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x140020c56
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x140020c26
cmp byte [rsp + 0xf0], 0
je 0x140020e9f
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x64]
lea rcx, [rsp + 0xf8]
call fcn.140025d60
test al, al
je 0x140020c56
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
cmp byte [rsp + 0xf0], 0
je 0x140020c5e
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 8]
lea rdx, [rsp + 0xf8]
call fcn.14001bd80
mov byte [rsi], 1
jmp 0x140020c5e
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0xd0], 0
je 0x140020c90
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], 0
test rcx, rcx
je 0x140020c90
call fcn.1400bacc0
jmp 0x140020c90
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
je 0x140020cee
mov rax, qword [rsp + 0xb8]
mov rcx, rsi
cmp rax, rsi
jne 0x140020cc0
jmp 0x140020cd7
mov qword [rax - 0x20], rcx
call fcn.1400bab7c
mov rax, rdi
cmp rdi, rsi
je 0x140020ccf
lea rdi, [rax - 0x28]
mov rcx, qword [rax - 0x28]
test rcx, rcx
je 0x140020cb8
jmp 0x140020caf
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.1400bab7c
jmp 0x140020cee
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x140020d36
mov rax, qword [rsp + 0x78]
mov rcx, rsi
cmp rax, rsi
jne 0x140020d18
jmp 0x140020d2c
mov qword [rax - 0x10], rcx
call fcn.1400bab7c
mov rax, rdi
cmp rdi, rsi
je 0x140020d27
lea rdi, [rax - 0x18]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140020d10
jmp 0x140020d07
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.1400bab7c
mov rsi, qword [rsp + 0x90]
test rsi, rsi
je 0x140020d8a
mov rax, qword [rsp + 0x98]
mov rcx, rsi
cmp rax, rsi
jne 0x140020d66
jmp 0x140020d7d
mov qword [rax - 0x10], rcx
call fcn.1400bab7c
mov rax, rdi
cmp rdi, rsi
je 0x140020d75
lea rdi, [rax - 0x18]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140020d5e
jmp 0x140020d55
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rsi
call fcn.1400bab7c
cmp byte [rsp + 0xf0], 0
je 0x140020da1
lea rcx, [rsp + 0xf8]
call fcn.14001efe0
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.1400bce30
mov rax, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x1400204a1
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0x110], 0
je 0x140020c5e
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x140020c5e
mov qword [rsp + 0x120], rcx
call fcn.1400bab7c
jmp 0x140020c5e
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x110]
mov rcx, r14
call fcn.140012010
lea rcx, [rsp + 0xf8]
mov rdx, r14
call fcn.1400386c0
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x140020e61
mov rcx, qword [rsp + 0x110]
call fcn.1400bab7c
test bpl, bpl
je 0x140020ce6
cmp byte [rsp + 0xf0], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xe0], rdi
movaps xmmword [rsp + 0xd0], xmm6
jne 0x1400201ba
ud2
int3
int3
lea rbx, [rsp + 0x110]
mov qword [rbx + 0x20], rdi
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, r14
mov rdx, rbx
call fcn.140029660
cmp byte [rbx], 0
je 0x14002004e
lea rdx, [rsp + 0x118]
mov rax, qword [rsp + 0x78]
cmp rax, qword [rsp + 0x80]
jb 0x140020f20
lea rcx, [rsp + 0x70]
call fcn.14001f7c0
cmp byte [rsp + 0x110], 0
je 0x14002004e
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x14002004e
mov qword [rsp + 0x120], rcx
call fcn.1400bab7c
jmp 0x14002004e
test rax, rax
je 0x140021162
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov r8, qword [rsp + 0x118]
mov qword [rax], r8
mov r8, qword [rsp + 0x120]
mov qword [rax + 8], r8
mov r8, qword [rsp + 0x128]
mov qword [rax + 0x10], r8
mov qword [rdx + 0x10], rcx
movups xmmword [rdx], xmm0
add rax, 0x18
mov qword [rsp + 0x78], rax
jmp 0x140020eef
lea rcx, [rsp + 0xf8]
call fcn.140027b10
jmp 0x14001fffd
mov dword [rsp + 0x20], 0
lea r14, [rsp + 0xb0]
mov rcx, r14
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.1401299d0
mov r14, qword [r14 + 8]
jmp 0x14002057d
lea rcx, [rsp + 0xb0]
call fcn.1400f63c0
lea rcx, [rsp + 0x110]
call fcn.1400f63c0
xor edi, edi
xor r15d, r15d
jmp 0x140020691
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x140020741
int3
xor r12d, r12d
jmp 0x140020232
cmp byte [rsp + 0xf0], 0
je 0x140020106
lea rcx, [rsp + 0xf8]
call fcn.14001efe0
mov byte [rsp + 0xf0], 0
jmp 0x1400200e7
mov rcx, r14
call fcn.1400f63c0
lea rcx, [rsp + 0x50]
call fcn.1400f63c0
mov ecx, 0x538
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [rsp + 0xd0], 0
xor eax, eax
jmp 0x140020244
mov rcx, r13
call fcn.1400f63c0
xor r15d, r15d
xor r12d, r12d
jmp 0x1400208e6
int3
xor ebp, ebp
jmp 0x140020998
int3
int3
int3
int3
int3
test rax, rax
je 0x140021209
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0x78], rax
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r14, r15
jmp 0x14001fe07
test rax, rax
je 0x14002120c
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0x98], rax
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x14001fb39
int3
int3
xor ebp, ebp
jmp 0x140020364
int3
int3
mov rcx, r14
call fcn.1400bab7c
jmp 0x140020415
cmp byte [rsp + 0xf0], 0
je 0x140020170
lea rcx, [rsp + 0xf8]
call fcn.14001efe0
mov byte [rsp + 0xf0], 0
jmp 0x14001fffd
int3
xorps xmm0, xmm0
xor edx, edx
movups xmmword [r13 - 0x28], xmm0
mov qword [r13 - 0x18], rdx
mov r8, qword [r14 - 0x28]
mov qword [r13 - 0x28], r8
mov r8, qword [r14 - 0x20]
mov qword [r13 - 0x20], r8
mov r8, qword [r14 - 0x18]
mov qword [r13 - 0x18], r8
mov qword [r14 - 0x18], rdx
movups xmmword [r14 - 0x28], xmm0
mov r8d, dword [r14 - 8]
mov dword [r13 - 8], r8d
mov r8, qword [r14 - 0x10]
mov qword [r13 - 0x10], r8
add r13, 0xffffffffffffffd8
lea r8, [r14 - 0x28]
mov r14, r8
cmp r8, rsi
jne 0x14002116a
mov r14, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
cmp rdx, r14
je 0x14002040c
lea rsi, [rdx - 0x28]
mov rcx, qword [rdx - 0x28]
test rcx, rcx
je 0x1400211fb
mov qword [rdx - 0x20], rcx
call fcn.1400bab7c
mov rdx, rsi
cmp rsi, r14
je 0x14002040c
jmp 0x1400211e5
int3
int3