Function at 0x140042100
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 [0x140297028]
xor rax, rsp
mov qword [rsp + 0x148], rax
movaps xmm6, xmmword [0x140268c70]
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.140041960
cmp byte [rsi + 0x88], 0
mov qword [rsp + 0x38], rsi
je 0x14004225e
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
call fcn.140031b50
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 0x140042201
js 0x1400436f3
mov rcx, r15
call fcn.1401803a4
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.140184b40
mov qword [rsp + 0xc8], rsi
test rbx, rbx
je 0x140042216
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.14018039c
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x140043810
lea rcx, [rsp + 0xa0]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140041ee0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140042259
mov qword [rsp + 0xc8], rcx
call fcn.14018039c
mov rsi, qword [rsp + 0x38]
cmp byte [rsi + 0x6f], 0
je 0x140042436
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.14004fa40
mov rdi, qword [rbx]
mov rbp, qword [rbx + 8]
cmp rdi, rbp
je 0x1400423e3
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 0x140042315
mov rdx, qword [rdi]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x140042308
add r12, 0x18
jmp 0x140042331
test rax, rax
je 0x14004372d
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 0x1400423d6
mov eax, dword [rdi + 0x18]
cmp eax, 0xbfffffff
ja 0x140042308
and eax, 0x20
jne 0x140042308
mov rax, qword [rsp + 0x38]
mov r12, qword [rax + 0x70]
mov r13, qword [rax + 0x78]
cmp r12, r13
jne 0x1400422b2
mov r12, qword [rdi]
mov r13, qword [rdi + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub r13, r12
je 0x140042392
js 0x1400436f3
mov rcx, r13
call fcn.1401803a4
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.140184b40
mov qword [rsp + 0xc8], r14
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x1400422c5
mov rcx, rbx
mov rdx, r15
call fcn.140041ee0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x140042308
mov qword [rsp + 0xc8], rcx
call fcn.14018039c
jmp 0x140042308
mov rdi, qword [rsp + 0x120]
mov r14, qword [rsp + 0x48]
test rdi, rdi
je 0x14004242c
mov rsi, qword [rsp + 0x128]
mov rcx, rdi
cmp rsi, rdi
jne 0x14004240c
jmp 0x14004241f
mov qword [rsi - 0x18], rcx
call fcn.14018039c
add rsi, 0xffffffffffffffe0
cmp rsi, rdi
je 0x140042417
mov rcx, qword [rsi - 0x20]
test rcx, rcx
je 0x140042403
jmp 0x1400423fa
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rdi
call fcn.14018039c
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.140041960
cmp byte [rsi + 0x8a], 0
je 0x14004252d
lea r12, [rsp + 0x120]
mov r15, r14
mov rcx, r14
mov rdx, r12
call fcn.140031b50
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 0x1400424d2
js 0x1400436f3
mov rcx, r12
call fcn.1401803a4
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.140184b40
mov qword [rsp + 0xc8], rsi
test rbx, rbx
je 0x1400424e7
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.14018039c
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x1400437b8
mov r14, r15
lea rcx, [rsp + 0x80]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140041ee0
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004252d
mov qword [rsp + 0xc8], rcx
call fcn.14018039c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x8b], 0
je 0x14004276e
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.14004fa40
mov rdi, qword [rbx]
mov rsi, qword [rbx + 8]
cmp rdi, rsi
je 0x14004267d
mov r15, r14
xorps xmm7, xmm7
lea rbx, [rsp + 0x80]
lea r12, [rsp + 0xc0]
jmp 0x1400425d0
test rax, rax
je 0x140043717
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 0x140042672
test byte [rdi + 0x18], 0x20
jne 0x1400425c3
mov r13, qword [rdi]
mov rbp, qword [rdi + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub rbp, r13
je 0x14004262e
js 0x1400436f3
mov rcx, rbp
call fcn.1401803a4
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.140184b40
mov qword [rsp + 0xc8], r14
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140042580
mov rcx, rbx
mov rdx, r12
call fcn.140041ee0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1400425c3
mov qword [rsp + 0xc8], rcx
call fcn.14018039c
jmp 0x1400425c3
mov rdi, qword [rsp + 0x120]
mov r14, r15
test rdi, rdi
je 0x140042764
mov rsi, qword [rsp + 0x128]
mov rcx, rdi
cmp rsi, rdi
jne 0x1400426b1
jmp 0x140042757
mov qword [rsi - 0x18], rcx
call fcn.14018039c
add rsi, 0xffffffffffffffe0
cmp rsi, rdi
je 0x14004274f
mov rcx, qword [rsi - 0x20]
test rcx, rcx
je 0x1400426a4
jmp 0x14004269b
mov rax, qword [rsp + 0x80]
cmp rax, qword [rsp + 0x88]
jne 0x140042796
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
jne 0x140042796
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
mov r8d, 0xf01ff
call fcn.140207300
cmp byte [r15], 0
je 0x14004388e
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x1400436af
lea rcx, [rsp + 0x108]
call fcn.14003e610
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x1400428a2
lea rcx, [rsp + 0x128]
call fcn.140041720
jmp 0x1400428a2
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rdi
call fcn.14018039c
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x89], 0
jne 0x1400435e3
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0xa8]
je 0x1400426bc
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.1400511f0
cmp byte [r15], 0
je 0x140043738
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x14004285a
lea rcx, [rsp + 0x108]
call fcn.14003e610
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x14004283b
lea r14, [rsp + 0x128]
mov rcx, r14
call fcn.140041720
mov byte [r14 - 8], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140042898
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
jne 0x14004287b
jmp 0x14004288b
lea rcx, [rsp + 0x108]
call fcn.14003dd30
jmp 0x14004281c
mov rcx, qword [rdi - 0x18]
call fcn.14018039c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140042883
cmp byte [rdi - 1], 0
jns 0x140042872
jmp 0x140042869
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14018039c
movabs rdi, 0xaaaaaaaaaaaaaaaa
cmp byte [rsp + 0x100], 0
je 0x14004341c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
je 0x1400428c5
cmp byte [rax + 0x6e], 0
jne 0x140043560
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.14015e6e0
cmp byte [r14], 0
je 0x1400433c1
mov r14, qword [rsp + 0x128]
mov r15, qword [r14]
test r15, r15
je 0x140043730
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_IsValidAcl]
test eax, eax
je 0x140043772
movzx r13d, word [r15 + 2]
mov rcx, r13
call fcn.140180694
mov r12, rax
mov rcx, rax
mov rdx, r15
mov r8, r13
call fcn.140184b40
mov byte [rsp + 0xe0], 1
mov qword [rsp + 0xe8], r12
mov al, 1
test r14, r14
je 0x14004298a
mov rcx, r14
call fcn.14018039c
mov al, byte [rsp + 0xe0]
test al, al
je 0x1400433c1
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6c], 0
je 0x140042bf9
mov qword [rsp + 0x140], rdi
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
cmp byte [rsp + 0x100], 0
je 0x1400435db
lea r14, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.14004f8f0
cmp byte [r14], 0
je 0x140043516
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x140042b46
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 0x140043868
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 0x14004386b
cmp rdi, rdx
ja 0x140043873
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.1401803a4
mov r12, rax
lea rbx, [rbx + rbx*4]
lea r15, [rbx*8]
add r15, r12
je 0x140043876
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 0x140042af4
mov qword [rsp + 0x48], rsi
js 0x140043879
mov rcx, rbp
call fcn.1401803a4
mov qword [r15], rax
lea rsi, [rax + rbp]
mov qword [r15 + 0x10], rsi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140184b40
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 0x1400438b6
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
jne 0x140043881
mov r14, qword [rsp + 0xc8]
jmp 0x140042bba
test r14, r14
je 0x140043865
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 0x140042b9e
js 0x140043760
mov rcx, r12
call fcn.1401803a4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140184b40
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 0x1400437af
cmp byte [rsp + 0x120], 0
je 0x140042ccc
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140042ccc
mov qword [rsp + 0x130], rcx
call fcn.14018039c
jmp 0x140042ccc
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 0x1400436c1
test r14, r14
je 0x1400437b5
lea r12, [rsp + 0x120]
mov rcx, r12
mov edx, 0xa
call fcn.14004d910
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 0x140042c8f
js 0x140043760
mov rcx, r12
call fcn.1401803a4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140184b40
mov qword [r14 + 8], rsi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
test r15, r15
je 0x140042cb2
mov rcx, r15
call fcn.14018039c
add r14, 0x28
mov qword [rsp + 0xc8], r14
cmp qword [rsp + 0xc0], r14
je 0x1400437b2
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rsi, rax
je 0x140042fac
xorps xmm6, xmm6
jmp 0x140042d9b
test rbp, rbp
je 0x140043723
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 0x140042d82
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rcx
test rbp, rbp
je 0x140042d7a
mov rcx, rbp
call fcn.14018039c
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x140042d8c
call fcn.14018039c
add rsi, 0x28
cmp rsi, qword [rsp + 0x48]
je 0x140042fac
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 0x14004370d
js 0x140043700
mov rcx, r12
call fcn.1401803a4
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.140184b40
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 0x140042cef
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 0x140043720
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 0x140043726
cmp rbx, rdx
ja 0x14004371a
lea rax, [rbx*8]
lea rcx, [rax + rax*4]
call fcn.1401803a4
lea r8, [r14 + r14*4]
lea rdx, [r8*8]
add rdx, rax
je 0x14004371d
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 0x140042d55
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 0x140042f19
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 0x140042f98
mov qword [rdi - 0x20], rcx
call fcn.14018039c
add rdi, 0xffffffffffffffd8
cmp rdi, rbp
je 0x140042d6d
mov rcx, qword [rdi - 0x28]
test rcx, rcx
je 0x140042f94
jmp 0x140042f8b
cmp byte [rsp + 0x100], 0
je 0x1400435db
lea r15, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r15
call fcn.140031b50
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 0x14004378c
js 0x140043768
mov rcx, r13
call fcn.1401803a4
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.140184b40
mov qword [rsp + 0x58], r12
test r14, r14
je 0x14004303a
mov qword [rsp + 0x128], r14
mov rcx, r14
call fcn.14018039c
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x14004322f
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 0x140043797
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 0x14004379a
cmp rdi, rdx
ja 0x1400437a1
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.1401803a4
mov rbp, rax
lea rbx, [rbx + rbx*4]
lea r13, [rbx*8]
add r13, rbp
je 0x1400437a4
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
sub r12, r15
je 0x140043137
mov qword [rsp + 0x48], rsi
js 0x1400437a7
mov rcx, r12
call fcn.1401803a4
mov qword [r13], rax
lea rsi, [rax + r12]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140184b40
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 0x140043200
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 0x14004316f
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 0x1400431f0
mov qword [rsi - 0x20], rcx
call fcn.14018039c
add rsi, 0xffffffffffffffd8
cmp rsi, r14
je 0x140043218
mov rcx, qword [rsi - 0x28]
test rcx, rcx
je 0x1400431ec
jmp 0x1400431e3
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
je 0x140043225
mov rcx, r14
call fcn.14018039c
mov r14, qword [rsp + 0xc8]
jmp 0x140043299
test r14, r14
je 0x1400435e0
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x140043277
js 0x140043760
mov rcx, r12
call fcn.1401803a4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140184b40
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 0x1400435dd
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400432b6
call fcn.14018039c
cmp byte [rsp + 0xe0], 0
je 0x1400435db
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0xc0]
call fcn.14003a1d0
test al, al
je 0x14004338f
cmp byte [rsp + 0x100], 0
je 0x1400435db
cmp byte [rsp + 0xe0], 0
je 0x1400435db
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 0x14004338f
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x14004335f
cmp byte [rsp + 0x100], 0
je 0x1400435db
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x64]
lea rcx, [rsp + 0x108]
call fcn.14003d860
test al, al
je 0x14004338f
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
cmp byte [rsp + 0x100], 0
je 0x140043397
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 8]
lea rdx, [rsp + 0x108]
call fcn.14003e610
mov byte [rsi], 1
jmp 0x140043397
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0xe0], 0
je 0x1400433c9
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
test rcx, rcx
je 0x1400433c9
call fcn.1401805c4
jmp 0x1400433c9
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140043424
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
jne 0x1400433fa
jmp 0x14004340d
mov qword [rdi - 0x20], rcx
call fcn.14018039c
add rdi, 0xffffffffffffffd8
cmp rdi, rsi
je 0x140043405
mov rcx, qword [rdi - 0x28]
test rcx, rcx
je 0x1400433f1
jmp 0x1400433e8
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14018039c
jmp 0x140043424
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x140043475
mov rdi, qword [rsp + 0x88]
mov rcx, rsi
cmp rdi, rsi
jne 0x140043455
jmp 0x140043468
mov qword [rdi - 0x10], rcx
call fcn.14018039c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140043460
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x14004344c
jmp 0x140043443
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.14018039c
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x1400434c6
mov rdi, qword [rsp + 0xa8]
mov rcx, rsi
cmp rdi, rsi
jne 0x1400434a6
jmp 0x1400434b9
mov qword [rdi - 0x10], rcx
call fcn.14018039c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x1400434b1
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x14004349d
jmp 0x140043494
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rsi
call fcn.14018039c
cmp byte [rsp + 0x100], 0
je 0x1400434dd
lea rcx, [rsp + 0x108]
call fcn.140041720
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.1401830b0
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 0x140042bc8
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0x120], 0
je 0x140043397
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140043397
mov qword [rsp + 0x130], rcx
call fcn.14018039c
jmp 0x140043397
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x120]
mov rcx, r14
call fcn.1401bf270
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.1400749a0
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x14004359d
mov rcx, qword [rsp + 0x120]
call fcn.14018039c
test bpl, bpl
je 0x14004341c
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 0x1400428ec
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.14004f8f0
cmp byte [rbx], 0
je 0x140042780
lea rdx, [rsp + 0x128]
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140043662
lea rcx, [rsp + 0x80]
call fcn.140041ee0
cmp byte [rsp + 0x120], 0
je 0x140042780
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140042780
mov qword [rsp + 0x130], rcx
call fcn.14018039c
jmp 0x140042780
test rax, rax
je 0x14004394e
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 0x140043631
lea rcx, [rsp + 0x108]
call fcn.14003dd30
jmp 0x14004272f
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.14022ecd0
mov r14, qword [r14 + 8]
jmp 0x140042cbe
lea rcx, [rsp + 0xc0]
call fcn.1401c33a0
lea rcx, [rsp + 0x120]
call fcn.1401c33a0
xor edi, edi
xor r15d, r15d
jmp 0x140042e04
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x140042eb4
int3
xor r12d, r12d
jmp 0x140042964
cmp byte [rsp + 0x100], 0
je 0x14004283b
lea rcx, [rsp + 0x108]
call fcn.140041720
mov byte [rsp + 0x100], 0
jmp 0x14004281c
mov rcx, r14
call fcn.1401c33a0
lea rcx, [rsp + 0x50]
call fcn.1401c33a0
mov ecx, 0x538
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [rsp + 0xe0], 0
xor eax, eax
jmp 0x140042976
xor r15d, r15d
xor r12d, r12d
jmp 0x140043025
int3
xor ebp, ebp
jmp 0x1400430d7
int3
int3
mov rcx, r13
call fcn.1401c33a0
int3
int3
int3
test rax, rax
je 0x140043951
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 0x14004252d
test rax, rax
je 0x140043954
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 0x140042259
int3
int3
xor r12d, r12d
jmp 0x140042a86
int3
int3
mov rcx, r15
call fcn.1401c33a0
mov rcx, r14
call fcn.14018039c
jmp 0x140042b3c
cmp byte [rsp + 0x100], 0
je 0x1400428a2
lea rcx, [rsp + 0x108]
call fcn.140041720
mov byte [rsp + 0x100], 0
jmp 0x14004272f
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 0x1400438bb
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 0x140042b33
mov rcx, qword [rsi - 0x28]
test rcx, rcx
je 0x140043948
mov qword [rsi - 0x20], rcx
call fcn.14018039c
add rsi, 0xffffffffffffffd8
jmp 0x14004392d
int3
int3
int3