Function at 0x140036030
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.140035830
cmp byte [rdi + 0x80], sil
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], rdi
je 0x1400361bd
lea r15, [rsp + 0x70]
mov rcx, rbx
mov rdx, r15
call fcn.140023300
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 0x140036136
js 0x140037898
mov rcx, r15
call fcn.14012cd5c
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.140131180
mov qword [rsp + 0x118], rdi
test r14, r14
je 0x140036154
dec rsi
cmp r15, rsi
ja 0x140037918
mov qword [rsp + 0x78], r14
mov rcx, r14
call fcn.14012cd4c
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x140037993
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.140035e60
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x1400361b8
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003791b
mov qword [rsp + 0x118], rcx
call fcn.14012cd4c
mov rdi, qword [rsp + 0x38]
cmp byte [rdi + 0x63], 0
je 0x1400363d3
mov rdx, qword [rbx]
lea r14, [rsp + 0x70]
mov rcx, r14
mov r8d, 2
call fcn.14002fe80
mov rbp, qword [r14]
mov rsi, qword [r14 + 8]
cmp rbp, rsi
je 0x140036364
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 0x140036271
mov rdx, qword [rbp]
mov rcx, qword [rdi]
call rbx
test eax, eax
jne 0x140036264
add rdi, 0x18
jmp 0x14003628d
test rax, rax
je 0x1400378bb
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 0x140036355
mov eax, dword [rbp + 0x18]
cmp eax, 0xbfffffff
ja 0x140036264
and eax, 0x20
jne 0x140036264
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x68]
mov r12, qword [rax + 0x70]
cmp rdi, r12
jne 0x14003620e
mov r12, qword [rbp]
mov r13, qword [rbp + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub r13, r12
je 0x1400362ef
js 0x140037898
mov rcx, r13
call fcn.14012cd5c
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.140131180
mov qword [rsp + 0x118], rdi
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x140036221
mov rcx, r14
mov rdx, r15
call fcn.140035e60
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x140036264
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400378e0
mov qword [rsp + 0x118], rcx
call fcn.14012cd4c
jmp 0x140036264
mov rbp, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
test rbp, rbp
je 0x1400363c9
mov rsi, qword [rsp + 0x78]
mov rcx, rbp
cmp rsi, rbp
je 0x1400363bf
add rsi, 0xffffffffffffffe0
jmp 0x1400363a7
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400378be
mov qword [rsi + 8], rcx
call fcn.14012cd4c
lea rax, [rsi - 0x20]
cmp rsi, rbp
mov rsi, rax
je 0x1400363ba
test rsi, rsi
je 0x1400378a8
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003639b
jmp 0x14003637c
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rbp
call fcn.14012cd4c
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.140035830
cmp byte [rsi + 0x82], 0
je 0x1400364f8
lea r12, [rsp + 0x70]
mov rcx, rbx
mov rdx, r12
call fcn.140023300
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 0x140036470
js 0x140037898
mov rcx, r12
call fcn.14012cd5c
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.140131180
mov qword [rsp + 0x118], rdi
test r15, r15
je 0x14003648e
dec rsi
cmp r12, rsi
ja 0x14003790f
mov qword [rsp + 0x78], r15
mov rcx, r15
call fcn.14012cd4c
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140037940
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
call fcn.140035e60
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
mov r12, qword [rsp + 0x40]
je 0x1400364f8
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037912
mov qword [rsp + 0x118], rcx
call fcn.14012cd4c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x83], 0
je 0x140036768
mov r14, rbx
mov rdx, qword [rbx]
lea r15, [rsp + 0x70]
mov rcx, r15
mov r8d, 2
call fcn.14002fe80
mov rsi, qword [r15]
mov rbx, qword [r15 + 8]
cmp rsi, rbx
je 0x140036666
xorps xmm7, xmm7
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
jmp 0x140036598
test rax, rax
je 0x1400378b8
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 0x14003665c
test byte [rsi + 0x18], 0x20
jne 0x14003658b
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub rbp, r13
je 0x1400365f6
js 0x140037898
mov rcx, rbp
call fcn.14012cd5c
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.140131180
mov qword [rsp + 0x118], rdi
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x140036548
mov rcx, r15
mov rdx, r12
call fcn.140035e60
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
test rcx, rcx
je 0x14003658b
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400378e3
mov qword [rsp + 0x118], rcx
call fcn.14012cd4c
jmp 0x14003658b
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
test rsi, rsi
mov rbx, r14
lea r14, [rsp + 0xc0]
je 0x140036768
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x14003675e
add rdi, 0xffffffffffffffe0
jmp 0x1400366aa
mov qword [rdi + 8], rcx
call fcn.14012cd4c
lea rax, [rdi - 0x20]
cmp rdi, rsi
mov rdi, rax
je 0x140036759
test rdi, rdi
je 0x1400378ab
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003669a
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140036691
jmp 0x1400378c1
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
jne 0x140036790
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x61], 0
jne 0x140036790
lea r14, [rsp + 0x70]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.1401a6ef0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x140037742
lea rbx, [rsp + 0x100]
test al, al
jne 0x140037a1e
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.1400321e0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x78], 0
je 0x14003688e
lea rcx, [rsp + 0x70]
call fcn.140035520
jmp 0x14003688e
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.14012cd4c
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x81], 0
jne 0x140037653
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rsp + 0xe8]
je 0x1400366d2
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.140044460
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x14003683f
lea rbx, [rsp + 0x100]
test al, al
jne 0x1400378fe
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.1400321e0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x118], 0
je 0x140036822
lea rcx, [rsp + 0x110]
call fcn.140035520
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x14003688e
mov rdi, qword [rsp + 0x78]
mov rcx, rsi
cmp rdi, rsi
je 0x140036884
add rdi, 0xffffffffffffffe8
jmp 0x14003686e
test al, al
je 0x140036822
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x110]
call fcn.140029ae0
jmp 0x14003680b
mov rcx, qword [rdi]
call fcn.14012cd4c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14003687f
test rdi, rdi
je 0x1400378a5
cmp byte [rdi + 0x17], 0
jns 0x140036862
jmp 0x14003685a
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.14012cd4c
cmp byte [rsp + 0x108], 0
je 0x140037395
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x61], 0
je 0x1400368b1
cmp byte [rax + 0x62], 0
jne 0x14003757c
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.14005ed70
cmp byte [rbx + 8], 0
je 0x1400372a5
movabs r13, 0x666666666666666
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x140036b43
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
cmp byte [rsp + 0x108], 0
je 0x140037915
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0x70]
mov rdx, rbx
call fcn.14002fd10
cmp byte [rbx + 0x18], 0
je 0x1400376e4
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140036a8c
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 0x1400379e6
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 0x1400379e9
cmp rdi, r13
ja 0x1400379f1
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.14012cd5c
mov r14, rax
lea rax, [r15 + r15*4]
mov qword [rsp + 0x48], rax
lea r15, [rax*8]
add r15, r14
je 0x1400379f4
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 0x140036a3b
js 0x1400379f7
mov rcx, r13
call fcn.14012cd5c
mov qword [r15], rax
lea rsi, [rax + r13]
mov qword [r15 + 0x10], rsi
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140131180
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 0x140037761
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], rax
movabs r13, 0x666666666666666
test rbx, rbx
je 0x140036af3
jmp 0x140037a0e
test rbx, rbx
je 0x1400379e3
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 0x140036add
js 0x1400378e9
mov rcx, r15
call fcn.14012cd5c
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140131180
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 0x140036c1e
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140036c1e
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a05
mov qword [rsp + 0x78], rcx
call fcn.14012cd4c
jmp 0x140036c1e
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 0x140037847
test rbx, rbx
mov r12, qword [rsp + 0x38]
je 0x140037990
lea r15, [rsp + 0x70]
mov rcx, r15
mov edx, 0xa
call fcn.140030cd0
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 0x140036be4
js 0x1400378e9
mov rcx, r15
call fcn.14012cd5c
mov qword [rbx], rax
lea rdi, [rax + r15]
mov qword [rbx + 0x10], rdi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140131180
mov qword [rbx + 8], rdi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
test r14, r14
je 0x140036c12
dec rsi
cmp r15, rsi
ja 0x140037a02
mov rcx, r14
call fcn.14012cd4c
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 0x140036f4e
xorps xmm6, xmm6
movabs rdx, 0xcccccccccccccccd
jmp 0x140036ca6
test rsi, rsi
movabs r13, 0x666666666666666
je 0x1400378cb
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 0x140036f4e
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 0x140037883
js 0x1400378ae
mov rcx, r15
call fcn.14012cd5c
mov r14, rax
lea rdi, [rax + r15]
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.140131180
movabs rdx, 0xcccccccccccccccd
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
jb 0x140036c47
mov r15, qword [rsp + 0x110]
mov rbx, rsi
sub rbx, r15
sar rbx, 3
imul rbx, rdx
lea rbp, [rbx + 1]
movabs r13, 0x666666666666666
cmp rbp, r13
ja 0x1400378ce
sub rax, r15
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rbp, r13
test rbp, rbp
je 0x1400378c4
cmp rbp, r13
ja 0x1400378d1
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.14012cd5c
lea rdx, [rbx + rbx*4]
lea r8, [rdx*8]
add r8, rax
je 0x1400378d4
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 0x140036e7b
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rcx
test rsi, rsi
je 0x140036e30
mov rcx, rsi
call fcn.14012cd4c
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x118], r14
test rcx, rcx
movabs rdx, 0xcccccccccccccccd
je 0x140036c97
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400378d7
call fcn.14012cd4c
movabs rdx, 0xcccccccccccccccd
jmp 0x140036c97
lea rax, [rax + rdx*8]
add rax, 0xffffffffffffffd8
test rax, rax
je 0x1400378e6
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 0x140036e83
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 0x140036e23
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x1400378da
mov rcx, qword [rdi]
test rcx, rcx
je 0x140036f3c
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400378dd
mov qword [rdi + 8], rcx
call fcn.14012cd4c
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x140036e23
jmp 0x140036f0c
cmp byte [rsp + 0x108], 0
je 0x1400378f1
lea rcx, [rsp + 0x100]
lea r14, [rsp + 0x70]
mov rdx, r14
call fcn.140023300
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 0x14003788d
js 0x1400378f4
mov rcx, r12
call fcn.14012cd5c
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.140131180
mov qword [rsp + 0x58], r15
test rbx, rbx
je 0x140036fe5
dec rsi
cmp r12, rsi
ja 0x14003793a
mov qword [rsp + 0x78], rbx
mov rcx, rbx
call fcn.14012cd4c
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x140037134
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 0x140037921
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 0x140037924
cmp rdi, rdx
ja 0x14003792c
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.14012cd5c
mov r12, rax
lea rax, [r13*4]
add rax, r13
lea r13, [rax*8]
add r13, r12
je 0x14003792f
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
sub r15, r14
je 0x1400370dd
js 0x140037932
mov rcx, r15
call fcn.14012cd5c
mov qword [r13], rax
lea rsi, [rax + r15]
mov qword [r13 + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140131180
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 0x14003749b
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rax
mov r12, qword [rsp + 0x40]
test rbx, rbx
je 0x14003719c
mov rcx, rbx
call fcn.14012cd4c
jmp 0x14003719c
test rbx, rbx
mov r12, qword [rsp + 0x40]
je 0x14003791e
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140037180
js 0x1400378e9
mov rcx, r15
call fcn.14012cd5c
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.140131180
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 0x1400371ca
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003793d
call fcn.14012cd4c
cmp byte [rsp + 0xb8], 0
je 0x1400375ff
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x110]
call fcn.140027d90
test al, al
je 0x1400372a5
cmp byte [rsp + 0x108], 0
je 0x140037608
cmp byte [rsp + 0xb8], 0
je 0x140037605
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 0x1400372a5
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x5c], 0
je 0x140037270
cmp byte [rsp + 0x108], 0
je 0x14003760b
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x58]
lea rcx, [rsp + 0x100]
call fcn.140029930
test al, al
je 0x1400372a5
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
cmp byte [rsp + 0x108], al
je 0x1400372b0
test r12, r12
je 0x1400379ff
lea rdx, [rsp + 0x100]
mov rcx, r12
call fcn.1400321e0
mov byte [r12 + 8], 1
jmp 0x1400372b0
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
cmp byte [rsp + 0xb8], 0
je 0x1400372d8
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test rcx, rcx
je 0x1400372d8
call fcn.14012cf90
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x1400373a0
mov rdi, qword [rsp + 0x118]
mov rcx, rsi
cmp rdi, rsi
je 0x140037386
add rdi, 0xffffffffffffffd8
jmp 0x140037318
mov qword [rdi + 8], rcx
call fcn.14012cd4c
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x14003737e
test rdi, rdi
je 0x1400375f3
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003730c
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x140037303
jmp 0x1400375f9
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400375f6
mov qword [rdi + 8], rcx
call fcn.14012cd4c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x1400373c3
test rdi, rdi
je 0x1400375ed
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003735f
jmp 0x140037340
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rsi
call fcn.14012cd4c
jmp 0x1400373a0
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x1400373d8
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x1400373cb
add rdi, 0xffffffffffffffe8
jmp 0x14003736b
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.14012cd4c
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x14003744d
mov rdi, qword [rsp + 0xe8]
mov rcx, rsi
cmp rdi, rsi
je 0x140037440
add rdi, 0xffffffffffffffe8
jmp 0x140037410
mov qword [rdi + 8], rcx
call fcn.14012cd4c
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140037438
test rdi, rdi
je 0x1400375ea
mov rcx, qword [rdi]
test rcx, rcx
je 0x140037404
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400373fb
jmp 0x1400375f0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rsi
call fcn.14012cd4c
cmp byte [rsp + 0x108], 0
je 0x140037464
lea rcx, [rsp + 0x100]
call fcn.140035520
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.14012f6f0
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 0x140037a08
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 0x1400374ad
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 0x140037120
add rsi, 0xffffffffffffffd8
mov r12, qword [rsp + 0x40]
test rsi, rsi
je 0x140037a0b
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003756a
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400375fc
mov qword [rsi + 8], rcx
call fcn.14012cd4c
lea rax, [rsi - 0x28]
cmp rsi, rbx
mov rsi, rax
je 0x140037125
jmp 0x14003753a
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x70]
mov rcx, r14
call fcn.140168480
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.14005ee60
mov ebx, eax
cmp byte [r14 + 0x17], 0
jns 0x1400375b3
mov rcx, qword [rsp + 0x70]
call fcn.14012cd4c
test bl, bl
je 0x140037395
cmp byte [rsp + 0x108], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
jne 0x1400368d0
jmp 0x140037602
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test rax, rax
je 0x140037a2f
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 0x14003769b
lea r15, [rsp + 0x70]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.14002fd10
cmp byte [r15 + 0x18], 0
je 0x14003677a
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14003760e
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x70]
call fcn.140035e60
mov qword [rsp + 0xc8], rax
cmp byte [rsp + 0x88], 0
je 0x14003677a
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14003677a
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400376e1
mov qword [rsp + 0x78], rcx
call fcn.14012cd4c
jmp 0x14003677a
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov cl, byte [rsp + 0x88]
cmp eax, 0x490
je 0x140036b02
xor eax, eax
mov byte [r12], al
mov byte [r12 + 8], al
test cl, cl
je 0x1400372b0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400372b0
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003773f
mov qword [rsp + 0x78], rcx
call fcn.14012cd4c
jmp 0x1400372b0
int3
test al, al
je 0x14003688e
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x70]
call fcn.140029ae0
jmp 0x14003673f
mov rcx, qword [rsp + 0x48]
lea rcx, [r14 + rcx*8]
add rcx, 0xffffffffffffffd8
xorps xmm0, xmm0
xor edx, edx
test rcx, rcx
je 0x140037a1b
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 0x140037773
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 0x140036a82
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x140037a38
mov rcx, qword [rsi]
test rcx, rcx
je 0x140037835
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140037a3b
mov qword [rsi + 8], rcx
call fcn.14012cd4c
lea rax, [rsi - 0x28]
cmp rsi, rbx
mov rsi, rax
je 0x140036a78
jmp 0x140037805
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.1401cde90
mov rbx, rax
mov r12, qword [rsp + 0x38]
jmp 0x140036c16
xor edi, edi
xor r14d, r14d
jmp 0x140036d05
xor r14d, r14d
xor r15d, r15d
jmp 0x140036fc7
lea rcx, [rsp + 0x110]
call fcn.140167fb0
int3
int3
int3
lea rcx, [rsp + 0x70]
call fcn.140167fb0
int3
int3
int3
int3
xor eax, eax
jmp 0x140036dab
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140167fb0
int3
lea rcx, [rsp + 0x50]
call fcn.140167fb0
mov rcx, rbx
call fcn.140035520
mov byte [rbx + 8], 0
jmp 0x14003680b
int3
int3
int3
int3
int3
int3
int3
xor r12d, r12d
jmp 0x14003707b
int3
int3
mov rcx, r13
call fcn.140167fb0
int3
int3
test rax, rax
je 0x140037a32
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 0x1400364f8
int3
test rax, rax
je 0x140037a35
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 0x1400361b8
int3
int3
xor r14d, r14d
jmp 0x1400369d8
int3
int3
mov rcx, r15
call fcn.140167fb0
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.14012cd4c
jmp 0x140036af3
int3
mov rcx, rbx
call fcn.140035520
mov byte [rbx + 8], 0
jmp 0x14003673f
int3
int3
int3
int3
int3