Function at 0x1400361a0
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x130], xmm6
mov rbx, r8
mov r12, rdx
mov rdi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x128], rax
movaps xmm6, xmmword [0x1401ee3a0]
movaps xmmword [rsp + 0x100], xmm6
xor esi, esi
mov byte [rsp + 0x100], sil
mov byte [rsp + 0x108], sil
lea rdx, [rcx + 0x18]
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xe0]
mov qword [rcx + 0x10], r13
movaps xmmword [rcx], xmm6
call fcn.1400359a0
cmp byte [rdi + 0x80], sil
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rdi
je 0x14003632d
lea r15, [rsp + 0x70]
mov rcx, rbx
mov rdx, r15
call fcn.1400237f0
mov r14, qword [r15]
mov rsi, qword [r15 + 8]
mov r15, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
sub r15, r14
je 0x1400362a6
js 0x1400379d5
mov rcx, r15
call fcn.14012c264
mov qword [rsp + 0x110], rax
lea rdi, [rax + r15]
mov qword [rsp + 0x120], rdi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140130690
mov qword [rsp + 0x118], rdi
test r14, r14
je 0x1400362c4
dec rsi
cmp r15, rsi
ja 0x140037a6a
mov qword [rsp + 0x78], r14
mov rcx, r14
call fcn.14012c25c
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x140037ae5
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.140035fd0
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x140036328
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a6d
mov qword [rsp + 0x118], rcx
call fcn.14012c25c
mov rdi, qword [rsp + 0x38]
cmp byte [rdi + 0x63], 0
je 0x140036543
mov rdx, qword [rbx]
lea r14, [rsp + 0x70]
mov rcx, r14
mov r8d, 2
call fcn.14002f6a0
mov rbp, qword [r14]
mov rsi, qword [r14 + 8]
cmp rbp, rsi
je 0x1400364d4
mov qword [rsp + 0x48], rbx
xorps xmm7, xmm7
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rbx, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x1400363e1
mov rdx, qword [rbp]
mov rcx, qword [rdi]
call rbx
test eax, eax
jne 0x1400363d4
add rdi, 0x18
jmp 0x1400363fd
test rax, rax
je 0x140037a02
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xe8], rax
add rbp, 0x20
cmp rbp, rsi
je 0x1400364c5
mov eax, dword [rbp + 0x18]
cmp eax, 0xbfffffff
ja 0x1400363d4
and eax, 0x20
jne 0x1400363d4
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x68]
mov r12, qword [rax + 0x70]
cmp rdi, r12
jne 0x14003637e
mov r12, qword [rbp]
mov r13, qword [rbp + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub r13, r12
je 0x14003645f
js 0x1400379d5
mov rcx, r13
call fcn.14012c264
mov qword [rsp + 0x110], rax
lea rdi, [rax + r13]
mov qword [rsp + 0x120], rdi
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140130690
mov qword [rsp + 0x118], rdi
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x140036391
mov rcx, r14
mov rdx, r15
call fcn.140035fd0
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x1400363d4
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a27
mov qword [rsp + 0x118], rcx
call fcn.14012c25c
jmp 0x1400363d4
mov rbp, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
test rbp, rbp
je 0x140036539
mov rsi, qword [rsp + 0x78]
mov rcx, rbp
cmp rsi, rbp
je 0x14003652f
add rsi, 0xffffffffffffffe0
jmp 0x140036517
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a05
mov qword [rsi + 8], rcx
call fcn.14012c25c
lea rax, [rsi - 0x20]
cmp rsi, rbp
mov rsi, rax
je 0x14003652a
test rsi, rsi
je 0x1400379e5
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400364ec
jmp 0x14003650b
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rbp
call fcn.14012c25c
movabs r13, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0xc0]
mov qword [r14 + 0x10], r13
movaps xmmword [r14], xmm6
mov rcx, r14
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.1400359a0
cmp byte [rsi + 0x82], 0
je 0x140036668
lea r12, [rsp + 0x70]
mov rcx, rbx
mov rdx, r12
call fcn.1400237f0
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
sub r12, r15
je 0x1400365e0
js 0x1400379d5
mov rcx, r12
call fcn.14012c264
mov qword [rsp + 0x110], rax
lea rdi, [rax + r12]
mov qword [rsp + 0x120], rdi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140130690
mov qword [rsp + 0x118], rdi
test r15, r15
je 0x1400365fe
dec rsi
cmp r12, rsi
ja 0x140037a56
mov qword [rsp + 0x78], r15
mov rcx, r15
call fcn.14012c25c
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140037a92
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
call fcn.140035fd0
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
mov r12, qword [rsp + 0x40]
je 0x140036668
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a59
mov qword [rsp + 0x118], rcx
call fcn.14012c25c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x83], 0
je 0x1400368d8
mov r14, rbx
mov rdx, qword [rbx]
lea r15, [rsp + 0x70]
mov rcx, r15
mov r8d, 2
call fcn.14002f6a0
mov rsi, qword [r15]
mov rbx, qword [r15 + 8]
cmp rsi, rbx
je 0x1400367d6
xorps xmm7, xmm7
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
jmp 0x140036708
test rax, rax
je 0x1400379ff
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xc8], rax
add rsi, 0x20
cmp rsi, rbx
je 0x1400367cc
test byte [rsi + 0x18], 0x20
jne 0x1400366fb
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub rbp, r13
je 0x140036766
js 0x1400379d5
mov rcx, rbp
call fcn.14012c264
mov qword [rsp + 0x110], rax
lea rdi, [rax + rbp]
mov qword [rsp + 0x120], rdi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140130690
mov qword [rsp + 0x118], rdi
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x1400366b8
mov rcx, r15
mov rdx, r12
call fcn.140035fd0
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
test rcx, rcx
je 0x1400366fb
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a2a
mov qword [rsp + 0x118], rcx
call fcn.14012c25c
jmp 0x1400366fb
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
test rsi, rsi
mov rbx, r14
lea r14, [rsp + 0xc0]
je 0x1400368d8
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x1400368ce
add rdi, 0xffffffffffffffe0
jmp 0x14003681a
mov qword [rdi + 8], rcx
call fcn.14012c25c
lea rax, [rdi - 0x20]
cmp rdi, rsi
mov rdi, rax
je 0x1400368c9
test rdi, rdi
je 0x1400379e8
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003680a
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140036801
jmp 0x140037a08
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
jne 0x140036900
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x61], 0
jne 0x140036900
lea r14, [rsp + 0x70]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.1401a7010
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x140037894
lea rbx, [rsp + 0x100]
test al, al
jne 0x140037b70
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140032350
mov byte [rbx + 8], 1
cmp byte [rsp + 0x78], 0
je 0x1400369fe
lea rcx, [rsp + 0x70]
call fcn.140035690
jmp 0x1400369fe
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.14012c25c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x81], 0
jne 0x1400377a5
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rsp + 0xe8]
je 0x140036842
xorps xmm0, xmm0
lea rax, [rsp + 0x70]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x38]
movzx r8d, byte [rcx + 0x61]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0xf01ff
lea r14, [rsp + 0x110]
lea r9, [rsp + 0xe0]
mov rcx, rbx
mov rdx, r14
call fcn.1400447b0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x1400369af
lea rbx, [rsp + 0x100]
test al, al
jne 0x140037a45
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.140032350
mov byte [rbx + 8], 1
cmp byte [rsp + 0x118], 0
je 0x140036992
lea rcx, [rsp + 0x110]
call fcn.140035690
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x1400369fe
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x1400369f4
add rdi, 0xffffffffffffffe8
jmp 0x1400369de
test al, al
je 0x140036992
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x110]
call fcn.14002be60
jmp 0x14003697b
mov rcx, qword [rdi]
call fcn.14012c25c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x1400369ef
test rdi, rdi
je 0x1400379e2
cmp byte [rdi + 0x17], 0
jns 0x1400369d2
jmp 0x1400369ca
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.14012c25c
cmp byte [rsp + 0x108], 0
je 0x1400374e7
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x61], 0
je 0x140036a21
cmp byte [rax + 0x62], 0
jne 0x1400376ce
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0xb0]
mov rdx, rbx
call fcn.14005eda0
cmp byte [rbx + 8], 0
je 0x1400373f7
movabs r13, 0x666666666666666
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x140036cb3
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
cmp byte [rsp + 0x108], 0
je 0x140037a5c
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0x70]
mov rdx, rbx
call fcn.14002f530
cmp byte [rbx + 0x18], 0
je 0x140037836
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140036bfc
mov rbp, qword [rsp + 0x110]
mov r15, rbx
sub r15, rbp
sar r15, 3
movabs rcx, 0xcccccccccccccccd
imul r15, rcx
lea rdi, [r15 + 1]
cmp rdi, r13
ja 0x140037b38
sub rax, rbp
sar rax, 3
imul rax, rcx
lea rcx, [rax + rax]
cmp rcx, rdi
cmova rdi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rdi, r13
test rdi, rdi
je 0x140037b3b
cmp rdi, r13
ja 0x140037b43
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.14012c264
mov r14, rax
lea rax, [r15 + r15*4]
mov qword [rsp + 0x48], rax
lea r15, [rax*8]
add r15, r14
je 0x140037b46
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
sub r13, r12
je 0x140036bab
js 0x140037b49
mov rcx, r13
call fcn.14012c264
mov qword [r15], rax
lea rsi, [rax + r13]
mov qword [r15 + 0x10], rsi
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140130690
mov qword [r15 + 8], rsi
lea rax, [rdi + rdi*4]
lea rax, [r14 + rax*8]
mov qword [r15 + 0x18], 3
mov dword [r15 + 0x20], 0
lea r12, [r15 + 0x28]
cmp rbx, rbp
jne 0x1400378b3
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], rax
movabs r13, 0x666666666666666
test rbx, rbx
je 0x140036c63
jmp 0x140037b60
test rbx, rbx
je 0x140037b35
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140036c4d
js 0x140037a30
mov rcx, r15
call fcn.14012c264
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140130690
mov qword [rbx + 8], rsi
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
add rbx, 0x28
mov r12, rbx
mov qword [rsp + 0x118], r12
mov cl, byte [rsp + 0x88]
test cl, cl
mov r12, qword [rsp + 0x38]
je 0x140036d8e
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140036d8e
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037b57
mov qword [rsp + 0x78], rcx
call fcn.14012c25c
jmp 0x140036d8e
xor eax, eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0xac], 0x10000000
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xa4], 0xa
mov rbx, qword [rsp + 0x118]
cmp rbx, qword [rsp + 0x120]
jae 0x140037999
test rbx, rbx
mov r12, qword [rsp + 0x38]
je 0x140037ae2
lea r15, [rsp + 0x70]
mov rcx, r15
mov edx, 0xa
call fcn.140030e40
mov r14, qword [r15]
mov rsi, qword [r15 + 8]
mov r15, rsi
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140036d54
js 0x140037a30
mov rcx, r15
call fcn.14012c264
mov qword [rbx], rax
lea rdi, [rax + r15]
mov qword [rbx + 0x10], rdi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140130690
mov qword [rbx + 8], rdi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
test r14, r14
je 0x140036d82
dec rsi
cmp r15, rsi
ja 0x140037b54
mov rcx, r14
call fcn.14012c25c
add rbx, 0x28
mov qword [rsp + 0x118], rbx
mov rax, r12
mov r12, qword [r12 + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp r12, rax
je 0x1400370a0
xorps xmm6, xmm6
jmp 0x140036e0c
test rsi, rsi
movabs r13, 0x666666666666666
je 0x140037a12
mov qword [rsi], r14
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x88]
mov eax, dword [rcx + 8]
mov dword [rsi + 0x20], eax
mov rax, qword [rcx]
mov qword [rsi + 0x18], rax
add rsi, 0x28
mov qword [rsp + 0x118], rsi
add r12, 0x28
cmp r12, qword [rsp + 0x48]
je 0x1400370a0
mov esi, dword [r12 + 0x18]
mov ebp, dword [r12 + 0x1c]
mov r13d, dword [r12 + 0x20]
mov rbx, qword [r12]
mov r15, qword [r12 + 8]
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
sub r15, rbx
je 0x1400379f5
js 0x1400379eb
mov rcx, r15
call fcn.14012c264
mov r14, rax
lea rdi, [rax + r15]
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.140130690
mov dword [rsp + 0x88], esi
mov dword [rsp + 0x8c], ebp
mov dword [rsp + 0x90], r13d
mov rsi, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rsi, rax
movabs rcx, 0xcccccccccccccccd
jb 0x140036dad
mov r15, qword [rsp + 0x110]
mov rbx, rsi
sub rbx, r15
sar rbx, 3
imul rbx, rcx
lea rbp, [rbx + 1]
movabs r13, 0x666666666666666
cmp rbp, r13
ja 0x140037a15
sub rax, r15
sar rax, 3
imul rax, rcx
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rbp, r13
test rbp, rbp
je 0x140037a0b
cmp rbp, r13
ja 0x140037a18
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.14012c264
lea rdx, [rbx + rbx*4]
lea r8, [rdx*8]
add r8, rax
je 0x140037a1b
lea rcx, [rbp*4]
add rcx, rbp
lea rcx, [rax + rcx*8]
mov qword [r8], r14
mov qword [r8 + 8], rdi
mov qword [r8 + 0x10], rdi
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
lea r10, [rsp + 0x88]
mov r9d, dword [r10 + 8]
mov dword [r8 + 0x20], r9d
mov r9, qword [r10]
mov qword [r8 + 0x18], r9
lea r14, [r8 + 0x28]
cmp rsi, r15
jne 0x140036fcd
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rcx
test rsi, rsi
je 0x140036f96
mov rcx, rsi
call fcn.14012c25c
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x118], r14
test rcx, rcx
je 0x140036dfd
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a1e
call fcn.14012c25c
jmp 0x140036dfd
lea rax, [rax + rdx*8]
add rax, 0xffffffffffffffd8
test rax, rax
je 0x140037a2d
movups xmmword [rax], xmm6
xor r8d, r8d
mov qword [rax + 0x10], r8
mov rdx, qword [rsi - 0x28]
mov qword [rax], rdx
mov rdx, qword [rsi - 0x20]
mov qword [rax + 8], rdx
mov rdx, qword [rsi - 0x18]
mov qword [rax + 0x10], rdx
mov qword [rsi - 0x18], r8
movups xmmword [rsi - 0x28], xmm6
mov edx, dword [rsi - 8]
mov dword [rax + 0x20], edx
mov rdx, qword [rsi - 0x10]
lea r8, [rsi - 0x28]
mov qword [rax + 0x18], rdx
add rax, 0xffffffffffffffd8
mov rsi, r8
cmp r8, r15
jne 0x140036fd5
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
add rax, 0x28
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rcx
cmp rdi, rsi
je 0x140036f89
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x140037a21
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003708e
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a24
mov qword [rdi + 8], rcx
call fcn.14012c25c
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x140036f89
jmp 0x14003705e
cmp byte [rsp + 0x108], 0
je 0x140037a38
lea rcx, [rsp + 0x100]
lea r14, [rsp + 0x70]
mov rdx, r14
call fcn.1400237f0
mov rbx, qword [r14]
mov rsi, qword [r14 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
sub r12, rbx
je 0x140037a5f
js 0x140037a3b
mov rcx, r12
call fcn.14012c264
mov r14, rax
mov qword [rsp + 0x50], rax
lea r15, [rax + r12]
mov qword [rsp + 0x60], r15
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.140130690
mov qword [rsp + 0x58], r15
test rbx, rbx
je 0x140037137
dec rsi
cmp r12, rsi
ja 0x140037a70
mov qword [rsp + 0x78], rbx
mov rcx, rbx
call fcn.14012c25c
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140037286
mov rbp, qword [rsp + 0x110]
mov rdx, r13
mov r13, rbx
sub r13, rbp
sar r13, 3
movabs rcx, 0xcccccccccccccccd
imul r13, rcx
lea rdi, [r13 + 1]
cmp rdi, rdx
ja 0x140037a79
sub rax, rbp
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 0x140037a7c
cmp rdi, rdx
ja 0x140037a84
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.14012c264
mov r12, rax
lea rax, [r13*4]
add rax, r13
lea r13, [rax*8]
add r13, r12
je 0x140037a87
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
sub r15, r14
je 0x14003722f
js 0x140037a8a
mov rcx, r15
call fcn.14012c264
mov qword [r13], rax
lea rsi, [rax + r15]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140130690
mov qword [r13 + 8], rsi
lea rax, [rdi + rdi*4]
lea rax, [r12 + rax*8]
movabs rcx, 0x1000000000000000
mov qword [r13 + 0x18], rcx
mov dword [r13 + 0x20], 0
lea r14, [r13 + 0x28]
cmp rbx, rbp
jne 0x1400375ed
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rax
mov r12, qword [rsp + 0x40]
test rbx, rbx
je 0x1400372ee
mov rcx, rbx
call fcn.14012c25c
jmp 0x1400372ee
test rbx, rbx
mov r12, qword [rsp + 0x40]
je 0x140037a76
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x1400372d2
js 0x140037a30
mov rcx, r15
call fcn.14012c264
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140130690
mov qword [rbx + 8], rsi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
mov r14, rbx
mov qword [rsp + 0x118], r14
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14003731c
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a73
call fcn.14012c25c
cmp byte [rsp + 0xb8], 0
je 0x140037751
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x110]
call fcn.140028820
test al, al
je 0x1400373f7
cmp byte [rsp + 0x108], 0
je 0x14003775a
cmp byte [rsp + 0xb8], 0
je 0x140037757
mov rax, qword [rsp + 0xb0]
lea r8, [rsp + 0x70]
mov qword [r8], rax
mov rcx, qword [rsp + 0x100]
mov edx, 6
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x1400373f7
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x5c], 0
je 0x1400373c2
cmp byte [rsp + 0x108], 0
je 0x14003775d
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14002bcb0
test al, al
je 0x1400373f7
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
cmp byte [rsp + 0x108], al
je 0x140037402
test r12, r12
je 0x140037b51
lea rdx, [rsp + 0x100]
mov rcx, r12
call fcn.140032350
mov byte [r12 + 8], 1
jmp 0x140037402
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
cmp byte [rsp + 0xb8], 0
je 0x14003742a
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test rcx, rcx
je 0x14003742a
call fcn.14012c4a0
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x1400374f2
mov rdi, qword [rsp + 0x118]
mov rcx, rsi
cmp rdi, rsi
je 0x1400374d8
add rdi, 0xffffffffffffffd8
jmp 0x14003746a
mov qword [rdi + 8], rcx
call fcn.14012c25c
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x1400374d0
test rdi, rdi
je 0x140037745
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003745e
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140037455
jmp 0x14003774b
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037748
mov qword [rdi + 8], rcx
call fcn.14012c25c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140037515
test rdi, rdi
je 0x14003773f
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140037492
jmp 0x1400374b1
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rsi
call fcn.14012c25c
jmp 0x1400374f2
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x14003752a
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x14003751d
add rdi, 0xffffffffffffffe8
jmp 0x1400374bd
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14012c25c
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x14003759f
mov rdi, qword [rsp + 0xe8]
mov rcx, rsi
cmp rdi, rsi
je 0x140037592
add rdi, 0xffffffffffffffe8
jmp 0x140037562
mov qword [rdi + 8], rcx
call fcn.14012c25c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14003758a
test rdi, rdi
je 0x14003773c
mov rcx, qword [rdi]
test rcx, rcx
je 0x140037556
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14003754d
jmp 0x140037742
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rsi
call fcn.14012c25c
cmp byte [rsp + 0x108], 0
je 0x1400375b6
lea rcx, [rsp + 0x100]
call fcn.140035690
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.14012ec00
mov rax, r12
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x48]
lea rcx, [r12 + rcx*8]
add rcx, 0xffffffffffffffd8
xorps xmm0, xmm0
xor edx, edx
test rcx, rcx
je 0x140037b5a
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rdx
mov r8, qword [rbx - 0x28]
mov qword [rcx], r8
mov r8, qword [rbx - 0x20]
mov qword [rcx + 8], r8
mov r8, qword [rbx - 0x18]
mov qword [rcx + 0x10], r8
mov qword [rbx - 0x18], rdx
movups xmmword [rbx - 0x28], xmm0
mov r8d, dword [rbx - 8]
mov dword [rcx + 0x20], r8d
mov r8, qword [rbx - 0x10]
lea r9, [rbx - 0x28]
mov qword [rcx + 0x18], r8
add rcx, 0xffffffffffffffd8
mov rbx, r9
cmp r9, rbp
jne 0x1400375ff
mov rbx, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
add rcx, 0x28
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rax
cmp rsi, rbx
je 0x140037272
add rsi, 0xffffffffffffffd8
mov r12, qword [rsp + 0x40]
test rsi, rsi
je 0x140037b5d
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400376bc
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003774e
mov qword [rsi + 8], rcx
call fcn.14012c25c
lea rax, [rsi - 0x28]
cmp rsi, rbx
mov rsi, rax
je 0x140037277
jmp 0x14003768c
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x70]
mov rcx, r14
call fcn.140167e60
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.14005ee90
mov ebx, eax
cmp byte [r14 + 0x17], 0
jns 0x140037705
mov rcx, qword [rsp + 0x70]
call fcn.14012c25c
test bl, bl
je 0x1400374e7
cmp byte [rsp + 0x108], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
jne 0x140036a40
jmp 0x140037754
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test rax, rax
je 0x140037b81
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0x70]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x10], rdx
mov qword [rsp + 0x80], rcx
movaps xmmword [rsp + 0x70], xmm0
add rax, 0x18
jmp 0x1400377ed
lea r15, [rsp + 0x70]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.14002f530
cmp byte [r15 + 0x18], 0
je 0x1400368ea
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140037760
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x70]
call fcn.140035fd0
mov qword [rsp + 0xc8], rax
cmp byte [rsp + 0x88], 0
je 0x1400368ea
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400368ea
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037833
mov qword [rsp + 0x78], rcx
call fcn.14012c25c
jmp 0x1400368ea
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov cl, byte [rsp + 0x88]
cmp eax, 0x490
je 0x140036c72
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
test cl, cl
je 0x140037402
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140037402
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037891
mov qword [rsp + 0x78], rcx
call fcn.14012c25c
jmp 0x140037402
int3
test al, al
je 0x1400369fe
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x70]
call fcn.14002be60
jmp 0x1400368af
mov rcx, qword [rsp + 0x48]
lea rcx, [r14 + rcx*8]
add rcx, 0xffffffffffffffd8
xorps xmm0, xmm0
xor edx, edx
test rcx, rcx
je 0x140037b6d
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rdx
mov r8, qword [rbx - 0x28]
mov qword [rcx], r8
mov r8, qword [rbx - 0x20]
mov qword [rcx + 8], r8
mov r8, qword [rbx - 0x18]
mov qword [rcx + 0x10], r8
mov qword [rbx - 0x18], rdx
movups xmmword [rbx - 0x28], xmm0
mov r8d, dword [rbx - 8]
mov dword [rcx + 0x20], r8d
mov r8, qword [rbx - 0x10]
lea r9, [rbx - 0x28]
mov qword [rcx + 0x18], r8
add rcx, 0xffffffffffffffd8
mov rbx, r9
cmp r9, rbp
jne 0x1400378c5
mov rbx, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
add rcx, 0x28
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], rax
cmp rsi, rbx
movabs r13, 0x666666666666666
je 0x140036bf2
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x140037b8a
mov rcx, qword [rsi]
test rcx, rcx
je 0x140037987
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037b8d
mov qword [rsi + 8], rcx
call fcn.14012c25c
lea rax, [rsi - 0x28]
cmp rsi, rbx
mov rsi, rax
je 0x140036be8
jmp 0x140037957
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0xa4]
lea r8, [rsp + 0xa8]
lea r9, [rsp + 0xac]
call fcn.1401cdfb0
mov rbx, rax
mov r12, qword [rsp + 0x38]
jmp 0x140036d86
lea rcx, [rsp + 0x110]
call fcn.140167880
int3
int3
int3
lea rcx, [rsp + 0x70]
call fcn.140167880
xor edi, edi
xor r14d, r14d
jmp 0x140036e61
int3
int3
int3
int3
xor eax, eax
jmp 0x140036f11
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140167880
int3
lea rcx, [rsp + 0x50]
call fcn.140167880
mov rcx, rbx
call fcn.140035690
mov byte [rbx + 8], 0
jmp 0x14003697b
int3
int3
int3
xor r14d, r14d
xor r15d, r15d
jmp 0x140037119
int3
int3
int3
int3
int3
int3
xor r12d, r12d
jmp 0x1400371cd
int3
int3
mov rcx, r13
call fcn.140167880
test rax, rax
je 0x140037b84
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xc8], rax
mov r12, qword [rsp + 0x40]
jmp 0x140036668
int3
test rax, rax
je 0x140037b87
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x110]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xe8], rax
mov r12, qword [rsp + 0x40]
jmp 0x140036328
int3
int3
xor r14d, r14d
jmp 0x140036b48
int3
int3
mov rcx, r15
call fcn.140167880
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.14012c25c
jmp 0x140036c63
int3
mov rcx, rbx
call fcn.140035690
mov byte [rbx + 8], 0
jmp 0x1400368af
int3
int3
int3
int3
int3