Function at 0x14001e9d0
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm6
mov r14, r8
mov qword [rsp + 0x40], rdx
mov rsi, rcx
mov rax, qword [0x14012e028]
xor rax, rsp
mov qword [rsp + 0x148], rax
movaps xmm6, xmmword [0x1401148f0]
movaps xmmword [rsp + 0x100], xmm6
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x100], 0
lea rdx, [rcx + 0x18]
lea rcx, [rsp + 0xa0]
mov qword [rcx + 0x10], rdi
movaps xmmword [rcx], xmm6
call fcn.14001e230
cmp byte [rsi + 0x88], 0
mov qword [rsp + 0x38], rsi
je 0x14001eb2e
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
call fcn.1400167b0
mov rbx, qword [r15]
mov r15, qword [r15 + 8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
sub r15, rbx
je 0x14001ead1
js 0x14001ffc3
mov rcx, r15
call fcn.1400961cc
mov qword [rsp + 0xc0], rax
lea rsi, [rax + r15]
mov qword [rsp + 0xd0], rsi
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.140099f10
mov qword [rsp + 0xc8], rsi
test rbx, rbx
je 0x14001eae6
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.14009614c
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x1400200e0
lea rcx, [rsp + 0xa0]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.14001e7b0
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001eb29
mov qword [rsp + 0xc8], rcx
call fcn.14009614c
mov rsi, qword [rsp + 0x38]
cmp byte [rsi + 0x6f], 0
je 0x14001ed06
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.140029a00
mov rdi, qword [rbx]
mov rbp, qword [rbx + 8]
cmp rdi, rbp
je 0x14001ecb3
mov qword [rsp + 0x48], r14
xorps xmm7, xmm7
lea rbx, [rsp + 0xa0]
lea r15, [rsp + 0xc0]
mov rsi, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x14001ebe5
mov rdx, qword [rdi]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x14001ebd8
add r12, 0x18
jmp 0x14001ec01
test rax, rax
je 0x14001fffd
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xa8], rax
add rdi, 0x20
cmp rdi, rbp
je 0x14001eca6
mov eax, dword [rdi + 0x18]
cmp eax, 0xbfffffff
ja 0x14001ebd8
and eax, 0x20
jne 0x14001ebd8
mov rax, qword [rsp + 0x38]
mov r12, qword [rax + 0x70]
mov r13, qword [rax + 0x78]
cmp r12, r13
jne 0x14001eb82
mov r12, qword [rdi]
mov r13, qword [rdi + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub r13, r12
je 0x14001ec62
js 0x14001ffc3
mov rcx, r13
call fcn.1400961cc
mov qword [rsp + 0xc0], rax
lea r14, [rax + r13]
mov qword [rsp + 0xd0], r14
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140099f10
mov qword [rsp + 0xc8], r14
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x14001eb95
mov rcx, rbx
mov rdx, r15
call fcn.14001e7b0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14001ebd8
mov qword [rsp + 0xc8], rcx
call fcn.14009614c
jmp 0x14001ebd8
mov rdi, qword [rsp + 0x120]
mov r14, qword [rsp + 0x48]
test rdi, rdi
je 0x14001ecfc
mov rsi, qword [rsp + 0x128]
mov rcx, rdi
cmp rsi, rdi
jne 0x14001ecdc
jmp 0x14001ecef
mov qword [rsi - 0x18], rcx
call fcn.14009614c
add rsi, 0xffffffffffffffe0
cmp rsi, rdi
je 0x14001ece7
mov rcx, qword [rsi - 0x20]
test rcx, rcx
je 0x14001ecd3
jmp 0x14001ecca
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rdi
call fcn.14009614c
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x80]
mov qword [rcx + 0x10], rdi
movaps xmmword [rcx], xmm6
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.14001e230
cmp byte [rsi + 0x8a], 0
je 0x14001edfd
lea r12, [rsp + 0x120]
mov r15, r14
mov rcx, r14
mov rdx, r12
call fcn.1400167b0
mov rbx, qword [r12]
mov r12, qword [r12 + 8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
sub r12, rbx
je 0x14001eda2
js 0x14001ffc3
mov rcx, r12
call fcn.1400961cc
mov qword [rsp + 0xc0], rax
lea rsi, [rax + r12]
mov qword [rsp + 0xd0], rsi
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.140099f10
mov qword [rsp + 0xc8], rsi
test rbx, rbx
je 0x14001edb7
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.14009614c
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140020088
mov r14, r15
lea rcx, [rsp + 0x80]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.14001e7b0
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001edfd
mov qword [rsp + 0xc8], rcx
call fcn.14009614c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x8b], 0
je 0x14001f03e
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.140029a00
mov rdi, qword [rbx]
mov rsi, qword [rbx + 8]
cmp rdi, rsi
je 0x14001ef4d
mov r15, r14
xorps xmm7, xmm7
lea rbx, [rsp + 0x80]
lea r12, [rsp + 0xc0]
jmp 0x14001eea0
test rax, rax
je 0x14001ffe7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0x88], rax
add rdi, 0x20
cmp rdi, rsi
je 0x14001ef42
test byte [rdi + 0x18], 0x20
jne 0x14001ee93
mov r13, qword [rdi]
mov rbp, qword [rdi + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub rbp, r13
je 0x14001eefe
js 0x14001ffc3
mov rcx, rbp
call fcn.1400961cc
mov qword [rsp + 0xc0], rax
lea r14, [rax + rbp]
mov qword [rsp + 0xd0], r14
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140099f10
mov qword [rsp + 0xc8], r14
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x14001ee50
mov rcx, rbx
mov rdx, r12
call fcn.14001e7b0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14001ee93
mov qword [rsp + 0xc8], rcx
call fcn.14009614c
jmp 0x14001ee93
mov rdi, qword [rsp + 0x120]
mov r14, r15
test rdi, rdi
je 0x14001f034
mov rsi, qword [rsp + 0x128]
mov rcx, rdi
cmp rsi, rdi
jne 0x14001ef81
jmp 0x14001f027
mov qword [rsi - 0x18], rcx
call fcn.14009614c
add rsi, 0xffffffffffffffe0
cmp rsi, rdi
je 0x14001f01f
mov rcx, qword [rsi - 0x20]
test rcx, rcx
je 0x14001ef74
jmp 0x14001ef6b
mov rax, qword [rsp + 0x80]
cmp rax, qword [rsp + 0x88]
jne 0x14001f066
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
jne 0x14001f066
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
mov r8d, 0xf01ff
call fcn.1400f4e00
cmp byte [r15], 0
je 0x14002015e
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x14001ff7f
lea rcx, [rsp + 0x108]
call fcn.14001ad90
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x14001f172
lea rcx, [rsp + 0x128]
call fcn.14001dff0
jmp 0x14001f172
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rdi
call fcn.14009614c
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x89], 0
jne 0x14001feb3
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0xa8]
je 0x14001ef8c
xorps xmm0, xmm0
lea rax, [rsp + 0xc0]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x38]
movzx r8d, byte [rcx + 0x6d]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0xf01ff
lea r15, [rsp + 0x120]
lea r9, [rsp + 0xa0]
mov rcx, r14
mov rdx, r15
call fcn.14002a810
cmp byte [r15], 0
je 0x140020008
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x14001f12a
lea rcx, [rsp + 0x108]
call fcn.14001ad90
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x14001f10b
lea r14, [rsp + 0x128]
mov rcx, r14
call fcn.14001dff0
mov byte [r14 - 8], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x14001f168
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
jne 0x14001f14b
jmp 0x14001f15b
lea rcx, [rsp + 0x108]
call fcn.140025510
jmp 0x14001f0ec
mov rcx, qword [rdi - 0x18]
call fcn.14009614c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x14001f153
cmp byte [rdi - 1], 0
jns 0x14001f142
jmp 0x14001f139
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14009614c
movabs rdi, 0xaaaaaaaaaaaaaaaa
cmp byte [rsp + 0x100], 0
je 0x14001fcec
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
je 0x14001f195
cmp byte [rax + 0x6e], 0
jne 0x14001fe30
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], rdi
movaps xmmword [rsp + 0xe0], xmm6
lea r14, [rsp + 0x120]
mov qword [r14 + 0x20], rdi
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rdx, qword [rsp + 0x108]
mov rcx, r14
mov r8d, 6
call fcn.14008c410
cmp byte [r14], 0
je 0x14001fc91
mov r14, qword [rsp + 0x128]
mov r15, qword [r14]
test r15, r15
je 0x140020000
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_IsValidAcl]
test eax, eax
je 0x140020042
movzx r13d, word [r15 + 2]
mov rcx, r13
call fcn.140096568
mov r12, rax
mov rcx, rax
mov rdx, r15
mov r8, r13
call fcn.140099f10
mov byte [rsp + 0xe0], 1
mov qword [rsp + 0xe8], r12
mov al, 1
test r14, r14
je 0x14001f25a
mov rcx, r14
call fcn.14009614c
mov al, byte [rsp + 0xe0]
test al, al
je 0x14001fc91
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6c], 0
je 0x14001f4c9
mov qword [rsp + 0x140], rdi
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
cmp byte [rsp + 0x100], 0
je 0x14001feab
lea r14, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.1400298b0
cmp byte [r14], 0
je 0x14001fde6
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x14001f416
mov rsi, qword [rsp + 0xc0]
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 0x140020138
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 0x14002013b
cmp rdi, rdx
ja 0x140020143
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.1400961cc
mov r12, rax
lea rbx, [rbx + rbx*4]
lea r15, [rbx*8]
add r15, r12
je 0x140020146
mov r13, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x130]
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
sub rbp, r13
je 0x14001f3c4
mov qword [rsp + 0x48], rsi
js 0x140020149
mov rcx, rbp
call fcn.1400961cc
mov qword [r15], rax
lea rsi, [rax + rbp]
mov qword [r15 + 0x10], rsi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140099f10
mov qword [r15 + 8], rsi
mov rsi, qword [rsp + 0x48]
lea rax, [rdi + rdi*4]
lea rax, [r12 + rax*8]
mov qword [r12 + rbx*8 + 0x18], 3
mov dword [r12 + rbx*8 + 0x20], 0
lea rcx, [r15 + 0x28]
cmp r14, rsi
jne 0x140020186
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
jne 0x140020151
mov r14, qword [rsp + 0xc8]
jmp 0x14001f48a
test r14, r14
je 0x140020135
mov r15, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x14001f46e
js 0x140020030
mov rcx, r12
call fcn.1400961cc
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140099f10
mov qword [r14 + 8], rsi
mov qword [r14 + 0x18], 3
mov dword [r14 + 0x20], 0
add r14, 0x28
mov qword [rsp + 0xc8], r14
cmp qword [rsp + 0xc0], r14
je 0x14002007f
cmp byte [rsp + 0x120], 0
je 0x14001f59c
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14001f59c
mov qword [rsp + 0x130], rcx
call fcn.14009614c
jmp 0x14001f59c
xor eax, eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x7c], 0x10000000
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x74], 0xa
mov r14, qword [rsp + 0xc8]
cmp r14, qword [rsp + 0xd0]
jae 0x14001ff91
test r14, r14
je 0x140020085
lea r12, [rsp + 0x120]
mov rcx, r12
mov edx, 0xa
call fcn.140028b50
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 0x14001f55f
js 0x140020030
mov rcx, r12
call fcn.1400961cc
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140099f10
mov qword [r14 + 8], rsi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
test r15, r15
je 0x14001f582
mov rcx, r15
call fcn.14009614c
add r14, 0x28
mov qword [rsp + 0xc8], r14
cmp qword [rsp + 0xc0], r14
je 0x140020082
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rsi, rax
je 0x14001f87c
xorps xmm6, xmm6
jmp 0x14001f66b
test rbp, rbp
je 0x14001fff3
mov rax, qword [rsp + 0x120]
mov qword [rbp], rax
mov rax, qword [rsp + 0x128]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x130]
mov qword [rbp + 0x10], rax
movaps xmmword [rsp + 0x120], xmm6
mov qword [rsp + 0x130], 0
lea rcx, [rsp + 0x138]
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 + 0xc8], rbp
xor ecx, ecx
jmp 0x14001f652
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rcx
test rbp, rbp
je 0x14001f64a
mov rcx, rbp
call fcn.14009614c
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x14001f65c
call fcn.14009614c
add rsi, 0x28
cmp rsi, qword [rsp + 0x48]
je 0x14001f87c
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 + 0x120], xmm6
mov qword [rsp + 0x130], 0
sub r12, r14
je 0x14001ffdd
js 0x14001ffd0
mov rcx, r12
call fcn.1400961cc
mov r15, rax
mov qword [rsp + 0x120], rax
lea rdi, [rax + r12]
mov qword [rsp + 0x130], rdi
mov rcx, rax
mov rdx, r14
mov r8, r12
call fcn.140099f10
mov qword [rsp + 0x128], rdi
mov dword [rsp + 0x138], ebx
mov dword [rsp + 0x13c], ebp
mov dword [rsp + 0x140], r13d
mov rbp, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp rbp, rax
jb 0x14001f5bf
mov r12, qword [rsp + 0xc0]
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 0x14001fff0
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 0x14001fff6
cmp rbx, rdx
ja 0x14001ffea
lea rax, [rbx*8]
lea rcx, [rax + rax*4]
call fcn.1400961cc
lea r8, [r14 + r14*4]
lea rdx, [r8*8]
add rdx, rax
je 0x14001ffed
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 + 0x120], xmm6
mov qword [rsp + 0x130], 0
lea r10, [rsp + 0x138]
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 0x14001f625
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 0x14001f7e9
mov rbp, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rcx
jmp 0x14001f868
mov qword [rdi - 0x20], rcx
call fcn.14009614c
add rdi, 0xffffffffffffffd8
cmp rdi, rbp
je 0x14001f63d
mov rcx, qword [rdi - 0x28]
test rcx, rcx
je 0x14001f864
jmp 0x14001f85b
cmp byte [rsp + 0x100], 0
je 0x14001feab
lea r15, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r15
call fcn.1400167b0
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 0x14002005c
js 0x140020038
mov rcx, r13
call fcn.1400961cc
mov r15, rax
mov qword [rsp + 0x50], rax
lea r12, [rax + r13]
mov qword [rsp + 0x60], r12
mov rcx, rax
mov rdx, r14
mov r8, r13
call fcn.140099f10
mov qword [rsp + 0x58], r12
test r14, r14
je 0x14001f90a
mov qword [rsp + 0x128], r14
mov rcx, r14
call fcn.14009614c
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x14001faff
mov rsi, qword [rsp + 0xc0]
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 0x140020067
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 0x14002006a
cmp rdi, rdx
ja 0x140020071
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.1400961cc
mov rbp, rax
lea rbx, [rbx + rbx*4]
lea r13, [rbx*8]
add r13, rbp
je 0x140020074
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
sub r12, r15
je 0x14001fa07
mov qword [rsp + 0x48], rsi
js 0x140020077
mov rcx, r12
call fcn.1400961cc
mov qword [r13], rax
lea rsi, [rax + r12]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140099f10
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 0x14001fad0
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 0x14001fa3f
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
jmp 0x14001fac0
mov qword [rsi - 0x20], rcx
call fcn.14009614c
add rsi, 0xffffffffffffffd8
cmp rsi, r14
je 0x14001fae8
mov rcx, qword [rsi - 0x28]
test rcx, rcx
je 0x14001fabc
jmp 0x14001fab3
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
je 0x14001faf5
mov rcx, r14
call fcn.14009614c
mov r14, qword [rsp + 0xc8]
jmp 0x14001fb69
test r14, r14
je 0x14001feb0
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x14001fb47
js 0x140020030
mov rcx, r12
call fcn.1400961cc
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140099f10
mov qword [r14 + 8], rsi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
add r14, 0x28
mov qword [rsp + 0xc8], r14
cmp qword [rsp + 0xc0], r14
je 0x14001fead
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14001fb86
call fcn.14009614c
cmp byte [rsp + 0xe0], 0
je 0x14001feab
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0xc0]
call fcn.140019820
test al, al
je 0x14001fc5f
cmp byte [rsp + 0x100], 0
je 0x14001feab
cmp byte [rsp + 0xe0], 0
je 0x14001feab
mov rax, qword [rsp + 0xe8]
lea r8, [rsp + 0x120]
mov qword [r8], rax
mov rcx, qword [rsp + 0x108]
mov edx, 6
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x14001fc5f
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x14001fc2f
cmp byte [rsp + 0x100], 0
je 0x14001feab
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x64]
lea rcx, [rsp + 0x108]
call fcn.140025380
test al, al
je 0x14001fc5f
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
cmp byte [rsp + 0x100], 0
je 0x14001fc67
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 8]
lea rdx, [rsp + 0x108]
call fcn.14001ad90
mov byte [rsi], 1
jmp 0x14001fc67
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0xe0], 0
je 0x14001fc99
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
test rcx, rcx
je 0x14001fc99
call fcn.140096290
jmp 0x14001fc99
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x14001fcf4
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
jne 0x14001fcca
jmp 0x14001fcdd
mov qword [rdi - 0x20], rcx
call fcn.14009614c
add rdi, 0xffffffffffffffd8
cmp rdi, rsi
je 0x14001fcd5
mov rcx, qword [rdi - 0x28]
test rcx, rcx
je 0x14001fcc1
jmp 0x14001fcb8
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14009614c
jmp 0x14001fcf4
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x14001fd45
mov rdi, qword [rsp + 0x88]
mov rcx, rsi
cmp rdi, rsi
jne 0x14001fd25
jmp 0x14001fd38
mov qword [rdi - 0x10], rcx
call fcn.14009614c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x14001fd30
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x14001fd1c
jmp 0x14001fd13
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.14009614c
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x14001fd96
mov rdi, qword [rsp + 0xa8]
mov rcx, rsi
cmp rdi, rsi
jne 0x14001fd76
jmp 0x14001fd89
mov qword [rdi - 0x10], rcx
call fcn.14009614c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x14001fd81
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x14001fd6d
jmp 0x14001fd64
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rsi
call fcn.14009614c
cmp byte [rsp + 0x100], 0
je 0x14001fdad
lea rcx, [rsp + 0x108]
call fcn.14001dff0
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.140098480
mov rax, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
add rsp, 0x178
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 0x14001f498
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0x120], 0
je 0x14001fc67
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14001fc67
mov qword [rsp + 0x130], rcx
call fcn.14009614c
jmp 0x14001fc67
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x120]
mov rcx, r14
call fcn.140013ae0
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.140037e30
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x14001fe6d
mov rcx, qword [rsp + 0x120]
call fcn.14009614c
test bpl, bpl
je 0x14001fcec
cmp byte [rsp + 0x100], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], rdi
movaps xmmword [rsp + 0xe0], xmm6
jne 0x14001f1bc
ud2
int3
int3
lea rbx, [rsp + 0x120]
mov qword [rbx + 0x20], rdi
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, r14
mov rdx, rbx
call fcn.1400298b0
cmp byte [rbx], 0
je 0x14001f050
lea rdx, [rsp + 0x128]
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x14001ff32
lea rcx, [rsp + 0x80]
call fcn.14001e7b0
cmp byte [rsp + 0x120], 0
je 0x14001f050
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14001f050
mov qword [rsp + 0x130], rcx
call fcn.14009614c
jmp 0x14001f050
test rax, rax
je 0x14002021e
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov r8, qword [rsp + 0x128]
mov qword [rax], r8
mov r8, qword [rsp + 0x130]
mov qword [rax + 8], r8
mov r8, qword [rsp + 0x138]
mov qword [rax + 0x10], r8
mov qword [rdx + 0x10], rcx
movups xmmword [rdx], xmm0
add rax, 0x18
mov qword [rsp + 0x88], rax
jmp 0x14001ff01
lea rcx, [rsp + 0x108]
call fcn.140025510
jmp 0x14001efff
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0xc0]
lea rdx, [rsp + 0x74]
lea r8, [rsp + 0x78]
lea r9, [rsp + 0x7c]
mov rcx, r14
call fcn.1400fea50
mov r14, qword [r14 + 8]
jmp 0x14001f58e
lea rcx, [rsp + 0xc0]
call fcn.1400cb360
lea rcx, [rsp + 0x120]
call fcn.1400cb360
xor edi, edi
xor r15d, r15d
jmp 0x14001f6d4
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x14001f784
int3
xor r12d, r12d
jmp 0x14001f234
cmp byte [rsp + 0x100], 0
je 0x14001f10b
lea rcx, [rsp + 0x108]
call fcn.14001dff0
mov byte [rsp + 0x100], 0
jmp 0x14001f0ec
mov rcx, r14
call fcn.1400cb360
lea rcx, [rsp + 0x50]
call fcn.1400cb360
mov ecx, 0x538
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [rsp + 0xe0], 0
xor eax, eax
jmp 0x14001f246
xor r15d, r15d
xor r12d, r12d
jmp 0x14001f8f5
int3
xor ebp, ebp
jmp 0x14001f9a7
int3
int3
mov rcx, r13
call fcn.1400cb360
int3
int3
int3
test rax, rax
je 0x140020221
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0x88], rax
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov r14, r15
jmp 0x14001edfd
test rax, rax
je 0x140020224
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xa8], rax
movabs rdi, 0xaaaaaaaaaaaaaaaa
jmp 0x14001eb29
int3
int3
xor r12d, r12d
jmp 0x14001f356
int3
int3
mov rcx, r15
call fcn.1400cb360
mov rcx, r14
call fcn.14009614c
jmp 0x14001f40c
cmp byte [rsp + 0x100], 0
je 0x14001f172
lea rcx, [rsp + 0x108]
call fcn.14001dff0
mov byte [rsp + 0x100], 0
jmp 0x14001efff
xorps xmm0, xmm0
xor edx, edx
movups xmmword [r15 - 0x28], xmm0
mov qword [r15 - 0x18], rdx
mov r8, qword [r14 - 0x28]
mov qword [r15 - 0x28], r8
mov r8, qword [r14 - 0x20]
mov qword [r15 - 0x20], r8
mov r8, qword [r14 - 0x18]
mov qword [r15 - 0x18], r8
mov qword [r14 - 0x18], rdx
movups xmmword [r14 - 0x28], xmm0
mov r8d, dword [r14 - 8]
mov dword [r15 - 8], r8d
mov r8, qword [r14 - 0x10]
mov qword [r15 - 0x10], r8
add r15, 0xffffffffffffffd8
lea r8, [r14 - 0x28]
mov r14, r8
cmp r8, rsi
jne 0x14002018b
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
cmp rsi, r14
je 0x14001f403
mov rcx, qword [rsi - 0x28]
test rcx, rcx
je 0x140020218
mov qword [rsi - 0x20], rcx
call fcn.14009614c
add rsi, 0xffffffffffffffd8
jmp 0x1400201fd
int3
int3
int3