Function at 0x140022990
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 [0x14012f028]
xor rax, rsp
mov qword [rsp + 0x128], rax
movaps xmm6, xmmword [0x140114ca0]
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.140022190
cmp byte [rdi + 0x80], sil
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rdi
je 0x140022b1d
lea r15, [rsp + 0x70]
mov rcx, rbx
mov rdx, r15
call fcn.140013350
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 0x140022a96
js 0x1400241c5
mov rcx, r15
call fcn.140093d8c
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.140097a10
mov qword [rsp + 0x118], rdi
test r14, r14
je 0x140022ab4
dec rsi
cmp r15, rsi
ja 0x14002425a
mov qword [rsp + 0x78], r14
mov rcx, r14
call fcn.140093dd0
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x1400242d5
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.1400227c0
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x140022b18
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002425d
mov qword [rsp + 0x118], rcx
call fcn.140093dd0
mov rdi, qword [rsp + 0x38]
cmp byte [rdi + 0x63], 0
je 0x140022d33
mov rdx, qword [rbx]
lea r14, [rsp + 0x70]
mov rcx, r14
mov r8d, 2
call fcn.14001cbf0
mov rbp, qword [r14]
mov rsi, qword [r14 + 8]
cmp rbp, rsi
je 0x140022cc4
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 0x140022bd1
mov rdx, qword [rbp]
mov rcx, qword [rdi]
call rbx
test eax, eax
jne 0x140022bc4
add rdi, 0x18
jmp 0x140022bed
test rax, rax
je 0x1400241f2
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 0x140022cb5
mov eax, dword [rbp + 0x18]
cmp eax, 0xbfffffff
ja 0x140022bc4
and eax, 0x20
jne 0x140022bc4
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x68]
mov r12, qword [rax + 0x70]
cmp rdi, r12
jne 0x140022b6e
mov r12, qword [rbp]
mov r13, qword [rbp + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub r13, r12
je 0x140022c4f
js 0x1400241c5
mov rcx, r13
call fcn.140093d8c
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.140097a10
mov qword [rsp + 0x118], rdi
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x140022b81
mov rcx, r14
mov rdx, r15
call fcn.1400227c0
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x140022bc4
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024217
mov qword [rsp + 0x118], rcx
call fcn.140093dd0
jmp 0x140022bc4
mov rbp, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
test rbp, rbp
je 0x140022d29
mov rsi, qword [rsp + 0x78]
mov rcx, rbp
cmp rsi, rbp
je 0x140022d1f
add rsi, 0xffffffffffffffe0
jmp 0x140022d07
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400241f5
mov qword [rsi + 8], rcx
call fcn.140093dd0
lea rax, [rsi - 0x20]
cmp rsi, rbp
mov rsi, rax
je 0x140022d1a
test rsi, rsi
je 0x1400241d5
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140022cdc
jmp 0x140022cfb
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rbp
call fcn.140093dd0
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.140022190
cmp byte [rsi + 0x82], 0
je 0x140022e58
lea r12, [rsp + 0x70]
mov rcx, rbx
mov rdx, r12
call fcn.140013350
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 0x140022dd0
js 0x1400241c5
mov rcx, r12
call fcn.140093d8c
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.140097a10
mov qword [rsp + 0x118], rdi
test r15, r15
je 0x140022dee
dec rsi
cmp r12, rsi
ja 0x140024246
mov qword [rsp + 0x78], r15
mov rcx, r15
call fcn.140093dd0
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140024282
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
call fcn.1400227c0
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
mov r12, qword [rsp + 0x40]
je 0x140022e58
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024249
mov qword [rsp + 0x118], rcx
call fcn.140093dd0
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x83], 0
je 0x1400230c8
mov r14, rbx
mov rdx, qword [rbx]
lea r15, [rsp + 0x70]
mov rcx, r15
mov r8d, 2
call fcn.14001cbf0
mov rsi, qword [r15]
mov rbx, qword [r15 + 8]
cmp rsi, rbx
je 0x140022fc6
xorps xmm7, xmm7
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
jmp 0x140022ef8
test rax, rax
je 0x1400241ef
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 0x140022fbc
test byte [rsi + 0x18], 0x20
jne 0x140022eeb
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub rbp, r13
je 0x140022f56
js 0x1400241c5
mov rcx, rbp
call fcn.140093d8c
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.140097a10
mov qword [rsp + 0x118], rdi
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140022ea8
mov rcx, r15
mov rdx, r12
call fcn.1400227c0
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
test rcx, rcx
je 0x140022eeb
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002421a
mov qword [rsp + 0x118], rcx
call fcn.140093dd0
jmp 0x140022eeb
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
test rsi, rsi
mov rbx, r14
lea r14, [rsp + 0xc0]
je 0x1400230c8
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x1400230be
add rdi, 0xffffffffffffffe0
jmp 0x14002300a
mov qword [rdi + 8], rcx
call fcn.140093dd0
lea rax, [rdi - 0x20]
cmp rdi, rsi
mov rdi, rax
je 0x1400230b9
test rdi, rdi
je 0x1400241d8
mov rcx, qword [rdi]
test rcx, rcx
je 0x140022ffa
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140022ff1
jmp 0x1400241f8
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
jne 0x1400230f0
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x61], 0
jne 0x1400230f0
lea r14, [rsp + 0x70]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.1400f89e0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x140024084
lea rbx, [rsp + 0x100]
test al, al
jne 0x140024360
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14001e660
mov byte [rbx + 8], 1
cmp byte [rsp + 0x78], 0
je 0x1400231ee
lea rcx, [rsp + 0x70]
call fcn.140021e80
jmp 0x1400231ee
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.140093dd0
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x81], 0
jne 0x140023f95
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rsp + 0xe8]
je 0x140023032
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.14002d3a0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x14002319f
lea rbx, [rsp + 0x100]
test al, al
jne 0x140024235
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.14001e660
mov byte [rbx + 8], 1
cmp byte [rsp + 0x118], 0
je 0x140023182
lea rcx, [rsp + 0x110]
call fcn.140021e80
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x1400231ee
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x1400231e4
add rdi, 0xffffffffffffffe8
jmp 0x1400231ce
test al, al
je 0x140023182
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x110]
call fcn.140019980
jmp 0x14002316b
mov rcx, qword [rdi]
call fcn.140093dd0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x1400231df
test rdi, rdi
je 0x1400241d2
cmp byte [rdi + 0x17], 0
jns 0x1400231c2
jmp 0x1400231ba
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.140093dd0
cmp byte [rsp + 0x108], 0
je 0x140023cd7
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x61], 0
je 0x140023211
cmp byte [rax + 0x62], 0
jne 0x140023ebe
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.140036b90
cmp byte [rbx + 8], 0
je 0x140023be7
movabs r13, 0x666666666666666
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x1400234a3
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
cmp byte [rsp + 0x108], 0
je 0x14002424c
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0x70]
mov rdx, rbx
call fcn.14001ca80
cmp byte [rbx + 0x18], 0
je 0x140024026
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x1400233ec
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 0x140024328
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 0x14002432b
cmp rdi, r13
ja 0x140024333
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.140093d8c
mov r14, rax
lea rax, [r15 + r15*4]
mov qword [rsp + 0x48], rax
lea r15, [rax*8]
add r15, r14
je 0x140024336
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 0x14002339b
js 0x140024339
mov rcx, r13
call fcn.140093d8c
mov qword [r15], rax
lea rsi, [rax + r13]
mov qword [r15 + 0x10], rsi
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140097a10
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 0x1400240a3
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], rax
movabs r13, 0x666666666666666
test rbx, rbx
je 0x140023453
jmp 0x140024350
test rbx, rbx
je 0x140024325
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 0x14002343d
js 0x140024220
mov rcx, r15
call fcn.140093d8c
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140097a10
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 0x14002357e
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14002357e
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024347
mov qword [rsp + 0x78], rcx
call fcn.140093dd0
jmp 0x14002357e
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 0x140024189
test rbx, rbx
mov r12, qword [rsp + 0x38]
je 0x1400242d2
lea r15, [rsp + 0x70]
mov rcx, r15
mov edx, 0xa
call fcn.14001d7d0
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 0x140023544
js 0x140024220
mov rcx, r15
call fcn.140093d8c
mov qword [rbx], rax
lea rdi, [rax + r15]
mov qword [rbx + 0x10], rdi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140097a10
mov qword [rbx + 8], rdi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
test r14, r14
je 0x140023572
dec rsi
cmp r15, rsi
ja 0x140024344
mov rcx, r14
call fcn.140093dd0
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 0x140023890
xorps xmm6, xmm6
jmp 0x1400235fc
test rsi, rsi
movabs r13, 0x666666666666666
je 0x140024202
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 0x140023890
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 0x1400241e5
js 0x1400241db
mov rcx, r15
call fcn.140093d8c
mov r14, rax
lea rdi, [rax + r15]
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.140097a10
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 0x14002359d
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 0x140024205
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 0x1400241fb
cmp rbp, r13
ja 0x140024208
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.140093d8c
lea rdx, [rbx + rbx*4]
lea r8, [rdx*8]
add r8, rax
je 0x14002420b
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 0x1400237bd
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rcx
test rsi, rsi
je 0x140023786
mov rcx, rsi
call fcn.140093dd0
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x118], r14
test rcx, rcx
je 0x1400235ed
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002420e
call fcn.140093dd0
jmp 0x1400235ed
lea rax, [rax + rdx*8]
add rax, 0xffffffffffffffd8
test rax, rax
je 0x14002421d
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 0x1400237c5
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 0x140023779
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x140024211
mov rcx, qword [rdi]
test rcx, rcx
je 0x14002387e
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024214
mov qword [rdi + 8], rcx
call fcn.140093dd0
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x140023779
jmp 0x14002384e
cmp byte [rsp + 0x108], 0
je 0x140024228
lea rcx, [rsp + 0x100]
lea r14, [rsp + 0x70]
mov rdx, r14
call fcn.140013350
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 0x14002424f
js 0x14002422b
mov rcx, r12
call fcn.140093d8c
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.140097a10
mov qword [rsp + 0x58], r15
test rbx, rbx
je 0x140023927
dec rsi
cmp r12, rsi
ja 0x140024260
mov qword [rsp + 0x78], rbx
mov rcx, rbx
call fcn.140093dd0
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140023a76
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 0x140024269
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 0x14002426c
cmp rdi, rdx
ja 0x140024274
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.140093d8c
mov r12, rax
lea rax, [r13*4]
add rax, r13
lea r13, [rax*8]
add r13, r12
je 0x140024277
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
sub r15, r14
je 0x140023a1f
js 0x14002427a
mov rcx, r15
call fcn.140093d8c
mov qword [r13], rax
lea rsi, [rax + r15]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140097a10
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 0x140023ddd
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rax
mov r12, qword [rsp + 0x40]
test rbx, rbx
je 0x140023ade
mov rcx, rbx
call fcn.140093dd0
jmp 0x140023ade
test rbx, rbx
mov r12, qword [rsp + 0x40]
je 0x140024266
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140023ac2
js 0x140024220
mov rcx, r15
call fcn.140093d8c
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140097a10
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 0x140023b0c
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024263
call fcn.140093dd0
cmp byte [rsp + 0xb8], 0
je 0x140023f41
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x110]
call fcn.1400163b0
test al, al
je 0x140023be7
cmp byte [rsp + 0x108], 0
je 0x140023f4a
cmp byte [rsp + 0xb8], 0
je 0x140023f47
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 0x140023be7
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x5c], 0
je 0x140023bb2
cmp byte [rsp + 0x108], 0
je 0x140023f4d
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x58]
lea rcx, [rsp + 0x100]
call fcn.1400197d0
test al, al
je 0x140023be7
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
cmp byte [rsp + 0x108], al
je 0x140023bf2
test r12, r12
je 0x140024341
lea rdx, [rsp + 0x100]
mov rcx, r12
call fcn.14001e660
mov byte [r12 + 8], 1
jmp 0x140023bf2
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
cmp byte [rsp + 0xb8], 0
je 0x140023c1a
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test rcx, rcx
je 0x140023c1a
call fcn.140093e70
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x140023ce2
mov rdi, qword [rsp + 0x118]
mov rcx, rsi
cmp rdi, rsi
je 0x140023cc8
add rdi, 0xffffffffffffffd8
jmp 0x140023c5a
mov qword [rdi + 8], rcx
call fcn.140093dd0
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x140023cc0
test rdi, rdi
je 0x140023f35
mov rcx, qword [rdi]
test rcx, rcx
je 0x140023c4e
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140023c45
jmp 0x140023f3b
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023f38
mov qword [rdi + 8], rcx
call fcn.140093dd0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140023d05
test rdi, rdi
je 0x140023f2f
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140023c82
jmp 0x140023ca1
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rsi
call fcn.140093dd0
jmp 0x140023ce2
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140023d1a
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x140023d0d
add rdi, 0xffffffffffffffe8
jmp 0x140023cad
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.140093dd0
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x140023d8f
mov rdi, qword [rsp + 0xe8]
mov rcx, rsi
cmp rdi, rsi
je 0x140023d82
add rdi, 0xffffffffffffffe8
jmp 0x140023d52
mov qword [rdi + 8], rcx
call fcn.140093dd0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140023d7a
test rdi, rdi
je 0x140023f2c
mov rcx, qword [rdi]
test rcx, rcx
je 0x140023d46
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140023d3d
jmp 0x140023f32
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rsi
call fcn.140093dd0
cmp byte [rsp + 0x108], 0
je 0x140023da6
lea rcx, [rsp + 0x100]
call fcn.140021e80
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.140095f80
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 0x14002434a
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 0x140023def
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 0x140023a62
add rsi, 0xffffffffffffffd8
mov r12, qword [rsp + 0x40]
test rsi, rsi
je 0x14002434d
mov rcx, qword [rsi]
test rcx, rcx
je 0x140023eac
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140023f3e
mov qword [rsi + 8], rcx
call fcn.140093dd0
lea rax, [rsi - 0x28]
cmp rsi, rbx
mov rsi, rax
je 0x140023a67
jmp 0x140023e7c
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x70]
mov rcx, r14
call fcn.1400c7b70
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.140036c80
mov ebx, eax
cmp byte [r14 + 0x17], 0
jns 0x140023ef5
mov rcx, qword [rsp + 0x70]
call fcn.140093dd0
test bl, bl
je 0x140023cd7
cmp byte [rsp + 0x108], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
jne 0x140023230
jmp 0x140023f44
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test rax, rax
je 0x140024371
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 0x140023fdd
lea r15, [rsp + 0x70]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.14001ca80
cmp byte [r15 + 0x18], 0
je 0x1400230da
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140023f50
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x70]
call fcn.1400227c0
mov qword [rsp + 0xc8], rax
cmp byte [rsp + 0x88], 0
je 0x1400230da
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400230da
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024023
mov qword [rsp + 0x78], rcx
call fcn.140093dd0
jmp 0x1400230da
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov cl, byte [rsp + 0x88]
cmp eax, 0x490
je 0x140023462
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
test cl, cl
je 0x140023bf2
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140023bf2
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140024081
mov qword [rsp + 0x78], rcx
call fcn.140093dd0
jmp 0x140023bf2
int3
test al, al
je 0x1400231ee
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x70]
call fcn.140019980
jmp 0x14002309f
mov rcx, qword [rsp + 0x48]
lea rcx, [r14 + rcx*8]
add rcx, 0xffffffffffffffd8
xorps xmm0, xmm0
xor edx, edx
test rcx, rcx
je 0x14002435d
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 0x1400240b5
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 0x1400233e2
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x14002437a
mov rcx, qword [rsi]
test rcx, rcx
je 0x140024177
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14002437d
mov qword [rsi + 8], rcx
call fcn.140093dd0
lea rax, [rsi - 0x28]
cmp rsi, rbx
mov rsi, rax
je 0x1400233d8
jmp 0x140024147
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.1401012c0
mov rbx, rax
mov r12, qword [rsp + 0x38]
jmp 0x140023576
lea rcx, [rsp + 0x110]
call fcn.1400c7b30
int3
int3
int3
lea rcx, [rsp + 0x70]
call fcn.1400c7b30
xor edi, edi
xor r14d, r14d
jmp 0x140023651
int3
int3
int3
int3
xor eax, eax
jmp 0x140023701
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.1400c7b30
int3
lea rcx, [rsp + 0x50]
call fcn.1400c7b30
mov rcx, rbx
call fcn.140021e80
mov byte [rbx + 8], 0
jmp 0x14002316b
int3
int3
int3
xor r14d, r14d
xor r15d, r15d
jmp 0x140023909
int3
int3
int3
int3
int3
int3
xor r12d, r12d
jmp 0x1400239bd
int3
int3
mov rcx, r13
call fcn.1400c7b30
test rax, rax
je 0x140024374
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 0x140022e58
int3
test rax, rax
je 0x140024377
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 0x140022b18
int3
int3
xor r14d, r14d
jmp 0x140023338
int3
int3
mov rcx, r15
call fcn.1400c7b30
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140093dd0
jmp 0x140023453
int3
mov rcx, rbx
call fcn.140021e80
mov byte [rbx + 8], 0
jmp 0x14002309f
int3
int3
int3
int3
int3