Function at 0x140021b80
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 [0x140135028]
xor rax, rsp
mov qword [rsp + 0x148], rax
movaps xmm6, xmmword [0x14011bbd0]
movaps xmmword [rsp + 0x100], xmm6
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], r12
mov byte [rsp + 0x100], 0
lea rdx, [rcx + 0x18]
lea rcx, [rsp + 0xa0]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
call fcn.140021210
cmp byte [rsi + 0x88], 0
mov qword [rsp + 0x38], rsi
je 0x140021d07
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
call fcn.140015760
mov rbx, qword [r15]
mov rsi, qword [r15 + 8]
mov r15, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
sub r15, rbx
je 0x140021c84
js 0x140023457
mov rcx, r15
call fcn.14009b6c4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + r15]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.14009f2a0
mov qword [rsp + 0xc8], rdi
test rbx, rbx
je 0x140021ca5
dec rsi
cmp r15, rsi
ja 0x140023503
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.14009b57c
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x140023585
lea rcx, [rsp + 0xa0]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.1400219b0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140021d02
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023506
mov qword [rsp + 0xc8], rcx
call fcn.14009b57c
mov rsi, qword [rsp + 0x38]
cmp byte [rsi + 0x6f], 0
mov qword [rsp + 0x48], r14
je 0x140021f1f
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.140029130
mov rbp, qword [rbx]
mov rsi, qword [rbx + 8]
cmp rbp, rsi
je 0x140021eb2
xorps xmm7, xmm7
lea rbx, [rsp + 0xa0]
lea r15, [rsp + 0xc0]
mov r14, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x140021dbf
mov rdx, qword [rbp]
mov rcx, qword [rdi]
call r14
test eax, eax
jne 0x140021db2
add rdi, 0x18
jmp 0x140021ddb
test rax, rax
je 0x14002349d
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 rbp, 0x20
cmp rbp, rsi
je 0x140021e9b
mov eax, dword [rbp + 0x18]
cmp eax, 0xbfffffff
ja 0x140021db2
and eax, 0x20
jne 0x140021db2
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x70]
mov r12, qword [rax + 0x78]
cmp rdi, r12
jne 0x140021d5b
mov r12, qword [rbp]
mov r13, qword [rbp + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub r13, r12
je 0x140021e3d
js 0x140023457
mov rcx, r13
call fcn.14009b6c4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + r13]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.14009f2a0
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x140021d6f
mov rcx, rbx
mov rdx, r15
call fcn.1400219b0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x140021db2
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400234a6
mov qword [rsp + 0xc8], rcx
call fcn.14009b57c
jmp 0x140021db2
mov rbp, qword [rsp + 0x120]
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r14, qword [rsp + 0x48]
test rbp, rbp
je 0x140021f1f
mov rsi, qword [rsp + 0x128]
mov rcx, rbp
cmp rsi, rbp
je 0x140021f12
add rsi, 0xffffffffffffffe0
jmp 0x140021ee2
mov qword [rsi + 8], rcx
call fcn.14009b57c
lea rax, [rsi - 0x20]
cmp rsi, rbp
mov rsi, rax
je 0x140021f0a
test rsi, rsi
je 0x140023467
mov rcx, qword [rsi]
test rcx, rcx
je 0x140021ed6
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140021ecd
jmp 0x1400234a0
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rbp
call fcn.14009b57c
lea rcx, [rsp + 0x80]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140021210
cmp byte [rsi + 0x8a], 0
je 0x140022045
mov rcx, r14
mov r14, r12
lea r12, [rsp + 0x120]
mov r15, rcx
mov rdx, r12
call fcn.140015760
mov rbx, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
sub r12, rbx
je 0x140021fc1
js 0x140023457
mov rcx, r12
call fcn.14009b6c4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + r12]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.14009f2a0
mov qword [rsp + 0xc8], rdi
test rbx, rbx
je 0x140021fe2
dec rsi
cmp r12, rsi
ja 0x1400234f2
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.14009b57c
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140023534
lea rcx, [rsp + 0x80]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.1400219b0
mov rcx, qword [rbx]
test rcx, rcx
mov r12, r14
mov r14, r15
je 0x140022045
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400234f5
mov qword [rsp + 0xc8], rcx
call fcn.14009b57c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x8b], 0
je 0x1400222c0
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.140029130
mov rsi, qword [rbx]
mov r14, qword [rbx + 8]
cmp rsi, r14
je 0x1400221af
mov r15, r12
xorps xmm7, xmm7
lea rbx, [rsp + 0x80]
lea r12, [rsp + 0xc0]
jmp 0x1400220e8
test rax, rax
je 0x140023484
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 rsi, 0x20
cmp rsi, r14
je 0x1400221a4
test byte [rsi + 0x18], 0x20
jne 0x1400220db
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub rbp, r13
je 0x140022146
js 0x140023457
mov rcx, rbp
call fcn.14009b6c4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + rbp]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.14009f2a0
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140022098
mov rcx, rbx
mov rdx, r12
call fcn.1400219b0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1400220db
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400234a9
mov qword [rsp + 0xc8], rcx
call fcn.14009b57c
jmp 0x1400220db
mov rsi, qword [rsp + 0x120]
mov r12, r15
test rsi, rsi
mov r14, qword [rsp + 0x48]
je 0x1400222c0
mov rdi, qword [rsp + 0x128]
mov rcx, rsi
cmp rdi, rsi
je 0x1400222b3
add rdi, 0xffffffffffffffe0
jmp 0x1400221f0
mov qword [rdi + 8], rcx
call fcn.14009b57c
lea rax, [rdi - 0x20]
cmp rdi, rsi
mov rdi, rax
je 0x1400222ab
test rdi, rdi
je 0x14002346a
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400221e0
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400221d7
jmp 0x1400234a3
mov rax, qword [rsp + 0x80]
cmp rax, qword [rsp + 0x88]
jne 0x1400222e8
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
jne 0x1400222e8
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
mov r8d, 0xf01ff
call fcn.1400fdee0
cmp byte [r15], 0
je 0x140023605
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x140023335
lea rcx, [rsp + 0x108]
call fcn.14001dec0
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x1400223f9
lea rcx, [rsp + 0x128]
call fcn.1400210f0
jmp 0x1400223f9
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rsi
call fcn.14009b57c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x89], 0
jne 0x140023299
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0xa8]
je 0x140022218
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.14002ede0
cmp byte [r15], 0
je 0x1400234b5
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x1400223b0
lea rcx, [rsp + 0x108]
call fcn.14001dec0
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x14002238d
lea r14, [rsp + 0x128]
mov rcx, r14
call fcn.1400210f0
mov byte [r14 - 8], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x1400223f9
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x1400223ec
add rdi, 0xffffffffffffffe8
jmp 0x1400223d3
lea rcx, [rsp + 0x108]
call fcn.14001a4e0
jmp 0x14002236e
mov rcx, qword [rdi]
call fcn.14009b57c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x1400223e4
test rdi, rdi
je 0x140023464
cmp byte [rdi + 0x17], 0
jns 0x1400223c7
jmp 0x1400223bf
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14009b57c
cmp byte [rsp + 0x100], 0
je 0x140022f6d
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
je 0x14002241c
cmp byte [rax + 0x6e], 0
jne 0x1400231b7
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], r12
movaps xmmword [rsp + 0xe0], xmm6
lea r14, [rsp + 0xe0]
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.1400387a0
cmp byte [r14], 0
je 0x140022ea8
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6c], 0
je 0x1400226ee
mov qword [rsp + 0x140], r12
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
cmp byte [rsp + 0x100], 0
je 0x140023232
lea r14, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.140028fb0
cmp byte [r14], 0
je 0x140023072
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x140022620
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 0x1400235d6
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 0x1400235d9
cmp rdi, rdx
ja 0x1400235e1
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.14009b6c4
mov r15, rax
lea rax, [rbx + rbx*4]
mov qword [rsp + 0x48], rax
lea r12, [rax*8]
add r12, r15
je 0x1400235e4
mov r13, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x130]
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
sub rbp, r13
je 0x1400225cd
js 0x1400235e7
mov rbx, rsi
mov rcx, rbp
call fcn.14009b6c4
mov qword [r12], rax
lea rsi, [rax + rbp]
mov qword [r12 + 0x10], rsi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.14009f2a0
mov qword [r12 + 8], rsi
mov rsi, rbx
lea rax, [rdi + rdi*4]
lea rax, [r15 + rax*8]
mov qword [r12 + 0x18], 3
mov dword [r12 + 0x20], 0
lea rcx, [r12 + 0x28]
cmp r14, rsi
jne 0x140023347
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
jne 0x1400235f5
mov r14, qword [rsp + 0xc8]
jmp 0x140022694
test r14, r14
je 0x1400235d3
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 0x140022678
js 0x1400234dd
mov rcx, r12
call fcn.14009b6c4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14009f2a0
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 0x14002352b
mov cl, byte [rsp + 0x120]
test cl, cl
je 0x1400227d0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400227d0
mov rax, qword [rsp + 0x130]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400235f2
mov qword [rsp + 0x130], rcx
call fcn.14009b57c
jmp 0x1400227d0
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 0x140023425
test r14, r14
je 0x140023531
lea r12, [rsp + 0x120]
mov rcx, r12
mov edx, 0xa
call fcn.14001d2c0
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x140022787
js 0x1400234dd
mov rcx, r12
call fcn.14009b6c4
mov qword [r14], rax
lea rdi, [rax + r12]
mov qword [r14 + 0x10], rdi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14009f2a0
mov qword [r14 + 8], rdi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
test r15, r15
je 0x1400227b6
dec rsi
cmp r12, rsi
ja 0x1400235ef
mov rcx, r15
call fcn.14009b57c
add r14, 0x28
mov qword [rsp + 0xc8], r14
cmp qword [rsp + 0xc0], r14
je 0x14002352e
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rsi, rax
je 0x140022b05
xorps xmm6, xmm6
jmp 0x14002288a
test rbp, rbp
je 0x140023493
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
test rcx, rcx
je 0x14002287b
mov rax, qword [rsp + 0x128]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023490
call fcn.14009b57c
add rsi, 0x28
cmp rsi, qword [rsp + 0x48]
je 0x140022b05
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 0x14002347a
js 0x14002346d
mov rcx, r12
call fcn.14009b6c4
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.14009f2a0
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 0x1400227f3
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 0x14002348d
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 0x140023496
cmp rbx, rdx
ja 0x140023487
lea rax, [rbx*8]
lea rcx, [rax + rax*4]
call fcn.14009b6c4
lea r8, [r14 + r14*4]
lea r9, [r8*8]
add r9, rax
je 0x14002348a
lea rcx, [rbx + rbx*4]
lea rcx, [rax + rcx*8]
mov qword [r9], r15
mov qword [r9 + 8], rdi
mov qword [r9 + 0x10], rdi
movaps xmmword [rsp + 0x120], xmm6
mov qword [rsp + 0x130], 0
lea r10, [rsp + 0x138]
mov edx, dword [r10 + 8]
mov dword [r9 + 0x20], edx
mov rdx, qword [r10]
mov qword [r9 + 0x18], rdx
lea rdx, [r9 + 0x28]
cmp rbp, r12
jne 0x140022a31
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
test rbp, rbp
je 0x140022a24
mov rcx, rbp
call fcn.14009b57c
mov rcx, qword [rsp + 0x120]
jmp 0x140022857
lea rax, [rax + r8*8]
add rax, 0xffffffffffffffd8
test rax, rax
je 0x1400234b2
movups xmmword [rax], xmm6
xor r9d, r9d
mov qword [rax + 0x10], r9
mov r8, qword [rbp - 0x28]
mov qword [rax], r8
mov r8, qword [rbp - 0x20]
mov qword [rax + 8], r8
mov r8, qword [rbp - 0x18]
mov qword [rax + 0x10], r8
mov qword [rbp - 0x18], r9
movups xmmword [rbp - 0x28], xmm6
mov r8d, dword [rbp - 8]
mov dword [rax + 0x20], r8d
mov r8, qword [rbp - 0x10]
lea r9, [rbp - 0x28]
mov qword [rax + 0x18], r8
add rax, 0xffffffffffffffd8
mov rbp, r9
cmp r9, r12
jne 0x140022a39
mov rbp, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rax, 0x28
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
cmp rdi, rbp
je 0x140022a17
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x1400234ac
mov rcx, qword [rdi]
test rcx, rcx
je 0x140022af4
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400234af
mov qword [rdi + 8], rcx
call fcn.14009b57c
lea rax, [rdi - 0x28]
cmp rdi, rbp
mov rdi, rax
jne 0x140022ac4
jmp 0x140022a17
cmp byte [rsp + 0x100], 0
je 0x140023232
lea r15, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r15
call fcn.140015760
mov r14, qword [r15]
mov rsi, qword [r15 + 8]
mov r13, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
sub r13, r14
je 0x1400234f8
js 0x1400234e5
mov rcx, r13
call fcn.14009b6c4
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.14009f2a0
mov qword [rsp + 0x58], r12
test r14, r14
je 0x140022ba2
dec rsi
cmp r13, rsi
ja 0x140023509
mov qword [rsp + 0x128], r14
mov rcx, r14
call fcn.14009b57c
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x140022cff
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 0x140023512
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 0x140023515
cmp rdi, rdx
ja 0x14002351d
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.14009b6c4
mov r13, rax
lea rax, [rbx + rbx*4]
mov qword [rsp + 0x48], rax
lea rbp, [rax*8]
add rbp, r13
je 0x140023520
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], 0
sub r12, r15
je 0x140022c9f
js 0x140023523
mov rbx, rsi
mov rcx, r12
call fcn.14009b6c4
mov qword [rbp], rax
lea rsi, [rax + r12]
mov qword [rbp + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14009f2a0
mov qword [rbp + 8], rsi
mov rsi, rbx
lea rax, [rdi + rdi*4]
lea rax, [rax*8]
add rax, r13
movabs rcx, 0x1000000000000000
mov qword [rbp + 0x18], rcx
mov dword [rbp + 0x20], 0
lea rcx, [rbp + 0x28]
cmp r14, rsi
jne 0x1400230d7
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
je 0x140022cf5
mov rcx, r14
call fcn.14009b57c
mov r14, qword [rsp + 0xc8]
jmp 0x140022d69
test r14, r14
je 0x14002350f
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x140022d47
js 0x1400234dd
mov rcx, r12
call fcn.14009b6c4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14009f2a0
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 0x1400234ef
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140022d9d
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002350c
call fcn.14009b57c
cmp byte [rsp + 0xe0], 0
je 0x140023232
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0xc0]
call fcn.1400176f0
test al, al
je 0x140022e76
cmp byte [rsp + 0x100], 0
je 0x140023232
cmp byte [rsp + 0xe0], 0
je 0x140023232
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 0x140022e76
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x140022e46
cmp byte [rsp + 0x100], 0
je 0x140023232
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x64]
lea rcx, [rsp + 0x108]
call fcn.14001a560
test al, al
je 0x140022e76
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
cmp byte [rsp + 0x100], 0
je 0x140022e7e
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 8]
lea rdx, [rsp + 0x108]
call fcn.14001dec0
mov byte [rsi], 1
jmp 0x140022e7e
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0xe0], 0
je 0x140022eb0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
test rcx, rcx
je 0x140022eb0
call fcn.14009b720
jmp 0x140022eb0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140022f75
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x140022f5e
add rdi, 0xffffffffffffffd8
jmp 0x140022ef0
mov qword [rdi + 8], rcx
call fcn.14009b57c
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x140022f56
test rdi, rdi
je 0x140023240
mov rcx, qword [rdi]
test rcx, rcx
je 0x140022ee4
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140022edb
jmp 0x140023243
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002323d
mov qword [rdi + 8], rcx
call fcn.14009b57c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140022f98
test rdi, rdi
je 0x140023237
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140022f18
jmp 0x140022f37
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14009b57c
jmp 0x140022f75
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x140022fad
mov rdi, qword [rsp + 0x88]
mov rcx, rsi
cmp rdi, rsi
je 0x140022fa0
add rdi, 0xffffffffffffffe8
jmp 0x140022f43
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.14009b57c
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x140023022
mov rdi, qword [rsp + 0xa8]
mov rcx, rsi
cmp rdi, rsi
je 0x140023015
add rdi, 0xffffffffffffffe8
jmp 0x140022fe5
mov qword [rdi + 8], rcx
call fcn.14009b57c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14002300d
test rdi, rdi
je 0x140023234
mov rcx, qword [rdi]
test rcx, rcx
je 0x140022fd9
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140022fd0
jmp 0x14002323a
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rsi
call fcn.14009b57c
cmp byte [rsp + 0x100], 0
je 0x140023039
lea rcx, [rsp + 0x108]
call fcn.1400210f0
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.14009d810
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]
mov cl, byte [rsp + 0x120]
cmp eax, 0x490
je 0x1400226a9
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
test cl, cl
je 0x140022e7e
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140022e7e
mov rax, qword [rsp + 0x130]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023249
mov qword [rsp + 0x130], rcx
call fcn.14009b57c
jmp 0x140022e7e
mov rdx, qword [rsp + 0x48]
lea rdx, [rdx*8 - 0x28]
add rdx, r13
xorps xmm0, xmm0
xor r8d, r8d
test rdx, rdx
je 0x140023602
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r8
mov r9, qword [r14 - 0x28]
mov qword [rdx], r9
mov r9, qword [r14 - 0x20]
mov qword [rdx + 8], r9
mov r9, qword [r14 - 0x18]
mov qword [rdx + 0x10], r9
mov qword [r14 - 0x18], r8
movups xmmword [r14 - 0x28], xmm0
mov r9d, dword [r14 - 8]
mov dword [rdx + 0x20], r9d
mov r9, qword [r14 - 0x10]
lea r10, [r14 - 0x28]
mov qword [rdx + 0x18], r9
add rdx, 0xffffffffffffffd8
mov r14, r10
cmp r10, rsi
jne 0x1400230ed
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
add rdx, 0x28
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
cmp rsi, r14
je 0x140022ce8
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x1400235d0
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400231a6
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023246
mov qword [rsi + 8], rcx
call fcn.14009b57c
lea rax, [rsi - 0x28]
cmp rsi, r14
mov rsi, rax
jne 0x140023176
jmp 0x140022ce8
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x120]
mov rcx, r14
call fcn.140012930
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.1400388a0
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x1400231f4
mov rcx, qword [rsp + 0x120]
call fcn.14009b57c
test bpl, bpl
je 0x140022f6d
cmp byte [rsp + 0x100], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], r12
movaps xmmword [rsp + 0xe0], xmm6
jne 0x140022443
ud2
int3
int3
int3
int3
int3
int3
int3
int3
test rax, rax
je 0x140023630
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 0x1400232eb
lea rbx, [rsp + 0x120]
mov qword [rbx + 0x20], r12
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, r14
mov rdx, rbx
call fcn.140028fb0
cmp byte [rbx], 0
je 0x1400222d2
lea rdx, [rsp + 0x128]
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x14002324c
lea rcx, [rsp + 0x80]
call fcn.1400219b0
cmp byte [rsp + 0x120], 0
je 0x1400222d2
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400222d2
mov rax, qword [rsp + 0x130]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023332
mov qword [rsp + 0x130], rcx
call fcn.14009b57c
jmp 0x1400222d2
int3
lea rcx, [rsp + 0x108]
call fcn.14001a4e0
jmp 0x14002228b
mov rdx, qword [rsp + 0x48]
lea rdx, [r15 + rdx*8]
add rdx, 0xffffffffffffffd8
xorps xmm0, xmm0
xor r8d, r8d
test rdx, rdx
je 0x14002362d
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r8
mov r9, qword [r14 - 0x28]
mov qword [rdx], r9
mov r9, qword [r14 - 0x20]
mov qword [rdx + 8], r9
mov r9, qword [r14 - 0x18]
mov qword [rdx + 0x10], r9
mov qword [r14 - 0x18], r8
movups xmmword [r14 - 0x28], xmm0
mov r9d, dword [r14 - 8]
mov dword [rdx + 0x20], r9d
mov r9, qword [r14 - 0x10]
lea r10, [r14 - 0x28]
mov qword [rdx + 0x18], r9
add rdx, 0xffffffffffffffd8
mov r14, r10
cmp r10, rsi
jne 0x14002335a
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
add rdx, 0x28
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
cmp rsi, r14
je 0x14002260d
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x140023639
mov rcx, qword [rsi]
test rcx, rcx
je 0x140023413
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002363c
mov qword [rsi + 8], rcx
call fcn.14009b57c
lea rax, [rsi - 0x28]
cmp rsi, r14
mov rsi, rax
je 0x14002260d
jmp 0x1400233e3
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.140105680
mov r14, qword [r14 + 8]
jmp 0x1400227c2
lea rcx, [rsp + 0xc0]
call fcn.1400cdc80
int3
int3
int3
lea rcx, [rsp + 0x120]
call fcn.1400cdc80
xor edi, edi
xor r15d, r15d
jmp 0x1400228f3
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x1400229a3
int3
int3
int3
int3
int3
int3
int3
int3
cmp byte [rsp + 0x100], 0
je 0x14002238d
lea rcx, [rsp + 0x108]
call fcn.1400210f0
mov byte [rsp + 0x100], 0
jmp 0x14002236e
mov rcx, r14
call fcn.1400cdc80
lea rcx, [rsp + 0x50]
call fcn.1400cdc80
int3
int3
int3
xor r15d, r15d
xor r12d, r12d
jmp 0x140022b81
int3
int3
int3
int3
int3
int3
xor r13d, r13d
jmp 0x140022c3f
int3
int3
mov rcx, rbp
call fcn.1400cdc80
int3
int3
int3
test rax, rax
je 0x140023633
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
mov r12, r14
mov r14, r15
jmp 0x140022045
test rax, rax
je 0x140023636
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
jmp 0x140021d02
int3
int3
int3
xor r15d, r15d
jmp 0x140022559
int3
int3
mov rcx, r12
call fcn.1400cdc80
int3
int3
mov rcx, r14
call fcn.14009b57c
jmp 0x140022616
int3
cmp byte [rsp + 0x100], 0
je 0x1400223f9
lea rcx, [rsp + 0x108]
call fcn.1400210f0
mov byte [rsp + 0x100], 0
jmp 0x14002228b
int3
int3
int3
int3
int3
int3