Function at 0x140051da0
Capabilities:
Compare security identifiers

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x120], xmm6
mov r13, r8
mov qword [rsp + 0x40], rdx
mov rdi, rcx
mov rax, qword [0x140260028]
xor rax, rsp
mov qword [rsp + 0x118], rax
movaps xmm6, xmmword [0x14022cb50]
movaps xmmword [rsp + 0xf0], xmm6
xor eax, eax
mov byte [rsp + 0xf0], al
mov byte [rsp + 0xf8], al
lea rdx, [rcx + 0x18]
movabs rbp, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xd0]
mov qword [rcx + 0x10], rbp
movaps xmmword [rcx], xmm6
call fcn.140053700
cmp byte [rdi + 0x80], 1
je 0x140051f72
cmp byte [rdi + 0x63], 1
je 0x140052070
lea r14, [rsp + 0xb0]
mov qword [r14 + 0x10], rbp
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.140053700
cmp byte [rdi + 0x82], 1
je 0x140052234
cmp byte [rdi + 0x83], 1
je 0x1400523ee
cmp byte [rdi + 0x81], 1
je 0x140053101
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jne 0x140051ea2
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0xb8]
je 0x140052792
xorps xmm0, xmm0
lea rax, [rsp + 0x70]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
movzx r8d, byte [rdi + 0x61]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0xf01ff
lea r14, [rsp + 0x100]
lea r9, [rsp + 0xd0]
mov rcx, r13
mov rdx, r14
call fcn.140054070
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x140051f57
lea rbx, [rsp + 0xf0]
test al, al
jne 0x140053578
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.14003dfc0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x108], 1
jne 0x140051f2f
lea rcx, [rsp + 0x100]
call fcn.140036280
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x1400528cb
mov rbx, qword [rsp + 0x78]
mov rcx, rsi
cmp rbx, rsi
je 0x1400528c1
add rbx, 0xffffffffffffffe8
jmp 0x1400528ab
test al, al
je 0x140051f18
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.140049770
jmp 0x140051f18
lea r15, [rsp + 0x70]
mov rcx, r13
mov rdx, r15
call fcn.140134dd0
mov r14, qword [r15]
mov rsi, qword [r15 + 8]
mov r15, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
sub r15, r14
je 0x140051fe0
js 0x140053486
mov rcx, r15
call fcn.140146648
mov qword [rsp + 0x100], rax
lea r12, [rax + r15]
mov qword [rsp + 0x110], r12
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.14014ac10
mov qword [rsp + 0x108], r12
test r14, r14
jne 0x140052052
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jb 0x140053522
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x100]
mov rcx, r14
mov rdx, r15
call fcn.1400539d0
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x140051e2e
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rsp + 0x108], rcx
call fcn.140146640
jmp 0x140051e2e
dec rsi
cmp r15, rsi
ja 0x1400521ec
mov qword [rsp + 0x78], r14
mov rcx, r14
call fcn.140146640
jmp 0x140051fe5
mov rdx, qword [r13]
lea r14, [rsp + 0x70]
mov rcx, r14
mov r8d, 2
call fcn.140138960
mov rsi, qword [r14]
mov r14, qword [r14 + 8]
cmp rsi, r14
je 0x140052325
mov qword [rsp + 0x38], r13
xorps xmm7, xmm7
mov r15, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x140052169
mov r12, qword [rsi]
mov r13, qword [rsi + 8]
movaps xmmword [rsp + 0x100], xmm7
mov qword [rsp + 0x110], 0
sub r13, r12
je 0x140052103
js 0x140053486
mov rcx, r13
call fcn.140146648
mov qword [rsp + 0x100], rax
lea rbx, [rax + r13]
mov qword [rsp + 0x110], rbx
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.14014ac10
mov qword [rsp + 0x108], rbx
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jae 0x1400521ac
test rax, rax
je 0x1400521ec
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xd8], rax
add rsi, 0x20
cmp rsi, r14
je 0x14005231b
mov eax, dword [rsi + 0x18]
cmp eax, 0xbfffffff
ja 0x14005215c
and eax, 0x20
jne 0x14005215c
mov r12, qword [rdi + 0x68]
mov r13, qword [rdi + 0x70]
cmp r12, r13
je 0x1400520ab
mov rdx, qword [rsi]
mov rcx, qword [r12]
call r15
test eax, eax
jne 0x14005215c
add r12, 0x18
jmp 0x140052180
mov qword [rsp + 0x108], rcx
call fcn.140146640
jmp 0x14005215c
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x100]
call fcn.1400539d0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
test rcx, rcx
je 0x14005215c
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14005219d
ud2
dec rsi
cmp r12, rsi
ja 0x1400521ec
jmp 0x14005344a
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rsp + 0x78], rcx
call fcn.140146640
jmp 0x140052afe
dec rsi
cmp r12, rsi
ja 0x1400521ec
mov qword [rsp + 0x78], r15
mov rcx, r15
call fcn.140146640
jmp 0x1400522ad
lea r12, [rsp + 0x70]
mov rcx, r13
mov rdx, r12
call fcn.140134dd0
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
sub r12, r15
je 0x1400522a4
js 0x140053486
mov rcx, r12
call fcn.140146648
mov qword [rsp + 0x100], rax
lea rbx, [rax + r12]
mov qword [rsp + 0x110], rbx
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14014ac10
mov qword [rsp + 0x108], rbx
test r15, r15
jne 0x14005221d
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x140053591
lea r15, [rsp + 0xb0]
lea r12, [rsp + 0x100]
mov rcx, r15
mov rdx, r12
call fcn.1400539d0
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x140051e60
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rsp + 0x108], rcx
call fcn.140146640
jmp 0x140051e60
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x38]
test rsi, rsi
je 0x140051e38
mov r14, qword [rsp + 0x78]
mov rcx, rsi
cmp r14, rsi
je 0x140052361
add r14, 0xffffffffffffffe0
test r14, r14
je 0x1400521ec
mov rcx, qword [r14]
test rcx, rcx
jne 0x140052370
lea rax, [r14 - 0x20]
cmp r14, rsi
mov r14, rax
jne 0x14005233f
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.140146640
jmp 0x140051e38
mov rax, qword [r14 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [r14 + 8], rcx
call fcn.140146640
jmp 0x140052350
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x100]
call fcn.1400539d0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
test rcx, rcx
mov r13, r12
je 0x1400524d9
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rsp + 0x108], rcx
call fcn.140146640
jmp 0x1400524d9
mov rdx, qword [r13]
lea r15, [rsp + 0x70]
mov rcx, r15
mov r8d, 2
call fcn.140138960
mov rsi, qword [r15]
mov r15, qword [r15 + 8]
cmp rsi, r15
je 0x1400524eb
xorps xmm7, xmm7
test byte [rsi + 0x18], 0x20
jne 0x1400524d9
mov r12, r13
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x100], xmm7
mov qword [rsp + 0x110], 0
sub rbp, r13
je 0x14005247d
js 0x140053486
mov rcx, rbp
call fcn.140146648
mov qword [rsp + 0x100], rax
lea rbx, [rax + rbp]
mov qword [rsp + 0x110], rbx
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.14014ac10
mov qword [rsp + 0x108], rbx
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jae 0x140052391
test rax, rax
je 0x1400521ec
mov r13, r12
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xb8], rax
add rsi, 0x20
cmp rsi, r15
jne 0x140052418
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x140051e6d
mov r15, qword [rsp + 0x78]
mov rcx, rsi
cmp r15, rsi
je 0x140052527
add r15, 0xffffffffffffffe0
test r15, r15
je 0x1400521ec
mov rcx, qword [r15]
test rcx, rcx
jne 0x140052536
lea rax, [r15 - 0x20]
cmp r15, rsi
mov r15, rax
jne 0x140052505
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.140146640
jmp 0x140051e6d
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [r15 + 8], rcx
call fcn.140146640
jmp 0x140052516
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
cmp rbx, rax
jb 0x14005365b
mov rcx, qword [rsp + 0x100]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x140053498
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
cmp rax, r14
cmovae rsi, rbp
test rsi, rsi
je 0x14005363a
cmp rsi, rbp
ja 0x140053493
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.140146648
lea rbx, [rbx + rbx*4]
shl rbx, 3
mov qword [rsp + 0x38], rax
add rbx, rax
je 0x1400521ec
lea r12, [rsp + 0x70]
mov rcx, r12
mov edx, 0xa
call fcn.14004ad40
mov r15, qword [r12]
mov r13, qword [r12 + 8]
mov r12, r13
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r12, r15
je 0x140052652
js 0x1400534a5
mov r14, rbp
mov rcx, r12
call fcn.140146648
mov qword [rbx], rax
lea rbp, [rax + r12]
mov qword [rbx + 0x10], rbp
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14014ac10
mov qword [rbx + 8], rbp
mov rbp, r14
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
test r15, r15
jne 0x1400526c7
mov r15, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov rax, r15
sub rax, r13
lea r12, [rbx + rax]
jne 0x1400526dd
lea rax, [rsi + rsi*4]
mov rcx, qword [rsp + 0x38]
lea rax, [rcx + rax*8]
add rbx, 0x28
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rax
test r15, r15
jne 0x14005368b
mov qword [rsp + 0x108], rbx
jmp 0x140052afe
dec r13
cmp r12, r13
ja 0x1400521ec
mov rcx, r15
call fcn.140146640
jmp 0x14005266c
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, r12
test rdx, rdx
je 0x1400521ec
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov r8, qword [rcx]
mov qword [rdx], r8
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx + 0x10]
mov qword [rdx + 0x10], r8
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov r8d, dword [rcx + 0x20]
mov dword [rdx + 0x20], r8d
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x18], r8
add rcx, 0x28
add rdx, 0x28
cmp rcx, r13
jne 0x1400526e8
test r15, r15
je 0x1400521ec
mov rcx, qword [r15]
test rcx, rcx
jne 0x140052759
add r15, 0x28
cmp r15, r13
jne 0x140052732
mov r15, qword [rsp + 0x100]
jmp 0x140052688
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [r15 + 8], rcx
call fcn.140146640
jmp 0x140052743
test al, al
je 0x1400527e0
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x70]
call fcn.140049770
jmp 0x1400527e0
cmp byte [rdi + 0x61], 1
je 0x140051ea2
lea r14, [rsp + 0x70]
mov rcx, r13
mov rdx, r14
mov r8d, 0xf01ff
call fcn.140053f90
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x14005277a
lea rbx, [rsp + 0xf0]
test al, al
jne 0x140053698
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14003dfc0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x78], 1
jne 0x1400528cb
lea rcx, [rsp + 0x70]
call fcn.140036280
jmp 0x1400528cb
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, r12
test rdx, rdx
je 0x1400521ec
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov r8, qword [rcx]
mov qword [rdx], r8
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx + 0x10]
mov qword [rdx + 0x10], r8
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov r8d, dword [rcx + 0x20]
mov dword [rdx + 0x20], r8d
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x18], r8
add rcx, 0x28
add rdx, 0x28
cmp rcx, r13
jne 0x140052805
test r15, r15
je 0x1400521ec
mov rcx, qword [r15]
test rcx, rcx
jne 0x140052876
add r15, 0x28
cmp r15, r13
jne 0x14005284f
mov r15, qword [rsp + 0x100]
jmp 0x140052ab1
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [r15 + 8], rcx
call fcn.140146640
jmp 0x140052860
mov rcx, qword [rbx]
call fcn.140146640
lea rax, [rbx - 0x18]
cmp rbx, rsi
mov rbx, rax
je 0x1400528bc
test rbx, rbx
je 0x1400521ec
cmp byte [rbx + 0x17], 0
jns 0x14005289f
jmp 0x140052897
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rsi
call fcn.140146640
mov al, byte [rsp + 0xf8]
test al, al
je 0x1400534ca
cmp byte [rdi + 0x61], 1
jne 0x140052902
cmp byte [rdi + 0x62], 1
jne 0x140052902
lea rcx, [rsp + 0xf0]
call fcn.140053cf0
test al, al
je 0x1400534ca
mov al, byte [rsp + 0xf8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
movaps xmmword [rsp + 0xa0], xmm6
test al, 1
je 0x1400521ec
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0xa0]
mov rdx, rbx
call fcn.140138820
cmp byte [rbx + 8], 0
je 0x1400534b9
movabs rbp, 0x666666666666666
movabs r14, 0x333333333333333
cmp byte [rdi + 0x60], 1
jne 0x140052557
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
cmp byte [rsp + 0xf8], 0
je 0x1400521ec
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x70]
mov rdx, rbx
call fcn.140053b80
cmp byte [rbx + 0x18], 1
jne 0x1400535dc
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
cmp rbx, rax
jb 0x1400534f2
mov rcx, qword [rsp + 0x100]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x140053498
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
cmp rax, r14
cmovae rsi, rbp
test rsi, rsi
je 0x1400534ad
cmp rsi, rbp
ja 0x140053493
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.140146648
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x1400521ec
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r12, r15
je 0x140052a82
js 0x1400534a5
mov rcx, r12
call fcn.140146648
mov qword [rbx], rax
lea r13, [rax + r12]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14014ac10
mov qword [rbx + 8], r13
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov rax, r15
sub rax, r13
lea r12, [rbx + rax]
jne 0x1400527fa
lea rax, [rsi + rsi*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rax
test r15, r15
jne 0x1400534db
mov qword [rsp + 0x108], rbx
cmp byte [rsp + 0x88], 1
jne 0x140052afe
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x1400521fb
mov r12, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
cmp r12, rax
jne 0x140053191
cmp byte [rsp + 0xf8], 0
je 0x1400521ec
lea rcx, [rsp + 0xf0]
lea r14, [rsp + 0x70]
mov rdx, r14
call fcn.140134dd0
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 0x14005356d
js 0x1400534e8
mov rcx, r12
call fcn.140146648
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.14014ac10
mov qword [rsp + 0x58], r15
test rbx, rbx
jne 0x1400521ee
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
cmp rbx, rax
jb 0x140052eee
mov rcx, qword [rsp + 0x100]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x140053498
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rsi, rbp
test rsi, rsi
je 0x140053589
cmp rsi, rbp
ja 0x140053493
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.140146648
mov r12, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r12
je 0x1400521ec
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140052c70
js 0x1400534a5
mov rcx, r15
call fcn.140146648
mov qword [rbx], rax
lea r13, [rax + r15]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.14014ac10
mov qword [rbx + 8], r13
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov r14, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov rax, r14
sub rax, r13
lea r15, [rbx + rax]
jne 0x140052fb9
lea rax, [rsi + rsi*4]
lea rax, [r12 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rax
test r14, r14
je 0x140052cd6
mov rcx, r14
call fcn.140146640
mov qword [rsp + 0x108], rbx
mov rcx, qword [rsp + 0x50]
test rcx, rcx
mov rbx, qword [rsp + 0x40]
jne 0x140052eb2
cmp byte [rsp + 0xa8], 0
je 0x1400521ec
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x100]
call fcn.140047f80
test al, al
je 0x1400534b5
cmp byte [rsp + 0xf8], 0
je 0x1400521ec
cmp byte [rsp + 0xa8], 0
je 0x1400521ec
mov rax, qword [rsp + 0xa0]
lea r8, [rsp + 0x70]
mov qword [r8], rax
mov rcx, qword [rsp + 0xf0]
mov edx, 6
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x1400534b5
cmp byte [rdi + 0x5c], 1
jne 0x140052d95
cmp byte [rsp + 0xf8], 0
je 0x1400521ec
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0xf0]
call fcn.140053e30
test al, al
je 0x1400534b5
xor eax, eax
mov byte [rbx], al
mov byte [rbx + 8], al
cmp byte [rsp + 0xf8], 1
jne 0x140052dc3
test rbx, rbx
je 0x1400521ec
lea rdx, [rsp + 0xf0]
mov rcx, rbx
call fcn.14003dfc0
mov byte [rbx + 8], 1
cmp byte [rsp + 0xa8], 1
jne 0x140052deb
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], 0
test rcx, rcx
je 0x140052deb
call fcn.140146e74
mov rsi, qword [rsp + 0x100]
test rsi, rsi
je 0x140052e42
mov rdi, qword [rsp + 0x108]
mov rcx, rsi
cmp rdi, rsi
je 0x140052e35
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x1400521ec
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140052ed3
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x140052e0c
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x108], rsi
call fcn.140146640
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140052f53
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
jne 0x140053050
cmp byte [rsp + 0xf8], 1
jne 0x140052e7b
lea rcx, [rsp + 0xf0]
call fcn.140036280
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.140149190
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
call fcn.140146640
jmp 0x140052cf1
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
jmp 0x14005345c
test rbx, rbx
je 0x1400521ec
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x140052f35
js 0x1400534a5
mov rcx, r15
call fcn.140146648
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.14014ac10
mov qword [rbx + 8], rsi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140052cd6
mov rdi, qword [rsp + 0xb8]
mov rcx, rsi
cmp rdi, rsi
je 0x140052f8c
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x1400521ec
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140052f9e
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140052f67
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.140146640
jmp 0x140052e53
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
jmp 0x140053478
xorps xmm0, xmm0
xor eax, eax
mov rcx, r14
mov rdx, r15
test rdx, rdx
je 0x1400521ec
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov r8, qword [rcx]
mov qword [rdx], r8
mov r8, qword [rcx + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx + 0x10]
mov qword [rdx + 0x10], r8
mov qword [rcx + 0x10], rax
movups xmmword [rcx], xmm0
mov r8d, dword [rcx + 0x20]
mov dword [rdx + 0x20], r8d
mov r8, qword [rcx + 0x18]
mov qword [rdx + 0x18], r8
add rcx, 0x28
add rdx, 0x28
cmp rcx, r13
jne 0x140052fc4
test r14, r14
je 0x1400521ec
mov rcx, qword [r14]
test rcx, rcx
jne 0x140053035
add r14, 0x28
cmp r14, r13
jne 0x14005300e
mov r14, qword [rsp + 0x100]
jmp 0x140052ca5
mov rax, qword [r14 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
jmp 0x14005346a
mov rdi, qword [rsp + 0xd8]
mov rcx, rsi
cmp rdi, rsi
je 0x140053089
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x1400521ec
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14005309b
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140053064
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rsi
call fcn.140146640
jmp 0x140052e64
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rdi + 8], rcx
call fcn.140146640
jmp 0x140053075
test rax, rax
je 0x1400521ec
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 0x140053146
lea r15, [rsp + 0x70]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, r13
mov rdx, r15
call fcn.140053b80
mov al, byte [r15 + 0x18]
cmp al, 1
jne 0x140053155
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x1400530bc
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x70]
call fcn.1400539d0
mov qword [rsp + 0xb8], rax
mov al, byte [rsp + 0x88]
test al, 1
je 0x140051e7a
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140051e7a
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rsp + 0x78], rcx
call fcn.140146640
jmp 0x140051e7a
xorps xmm6, xmm6
mov qword [rsp + 0x48], rax
mov ecx, dword [r12 + 0x18]
mov dword [rsp + 0x38], ecx
mov r13d, dword [r12 + 0x1c]
mov ebp, dword [r12 + 0x20]
mov r14, qword [r12]
mov r15, qword [r12 + 8]
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
sub r15, r14
je 0x140053652
js 0x140053641
mov rcx, r15
call fcn.140146648
mov rbx, rax
mov qword [rsp + 0x70], rax
lea rsi, [rax + r15]
mov qword [rsp + 0x80], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.14014ac10
mov qword [rsp + 0x78], rsi
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], r13d
mov dword [rsp + 0x90], ebp
mov r14, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
cmp r14, rax
jb 0x1400536a9
mov rcx, qword [rsp + 0x100]
sub r14, rcx
sar r14, 3
movabs rdx, 0xcccccccccccccccd
imul r14, rdx
lea rsi, [r14 + 1]
movabs rbp, 0x666666666666666
cmp rsi, rbp
ja 0x140053498
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rsi, rbp
test rsi, rsi
je 0x14005364b
cmp rsi, rbp
ja 0x140053493
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.140146648
mov rbx, rax
lea r15, [r14 + r14*4]
shl r15, 3
add r15, rbx
je 0x1400521ec
movups xmmword [r15], xmm6
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov rax, qword [rsp + 0x70]
mov qword [r15], rax
mov rax, qword [rsp + 0x78]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x80]
mov qword [r15 + 0x10], rax
mov qword [rsp + 0x80], rcx
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x88]
mov eax, dword [rcx + 8]
mov dword [r15 + 0x20], eax
mov rax, qword [rcx]
mov qword [r15 + 0x18], rax
mov r14, qword [rsp + 0x100]
mov r13, qword [rsp + 0x108]
mov rax, r14
sub rax, r13
lea r9, [r15 + rax]
jne 0x1400533a7
lea rax, [rsi + rsi*4]
lea rax, [rbx + rax*8]
add r15, 0x28
mov qword [rsp + 0x100], r9
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x110], rax
test r14, r14
je 0x140053360
mov rcx, r14
call fcn.140146640
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x108], r15
test rcx, rcx
jne 0x140053389
add r12, 0x28
mov rax, qword [rsp + 0x48]
cmp r12, rax
je 0x140052b0f
jmp 0x140053199
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
call fcn.140146640
jmp 0x140053372
mov rax, r14
mov rcx, r9
test rcx, rcx
je 0x1400521ec
movups xmmword [rcx], xmm6
xor r8d, r8d
mov qword [rcx + 0x10], r8
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rdx, qword [rax + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [rax + 0x10]
mov qword [rcx + 0x10], rdx
mov qword [rax + 0x10], r8
movups xmmword [rax], xmm6
mov edx, dword [rax + 0x20]
mov dword [rcx + 0x20], edx
mov rdx, qword [rax + 0x18]
mov qword [rcx + 0x18], rdx
add rax, 0x28
add rcx, 0x28
cmp rax, r13
jne 0x1400533ad
test r14, r14
je 0x1400521ec
mov rcx, qword [r14]
test rcx, rcx
jne 0x14005341f
add r14, 0x28
cmp r14, r13
jne 0x1400533f8
mov r14, qword [rsp + 0x100]
jmp 0x14005332f
mov rax, qword [r14 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [r14 + 8], rcx
mov qword [rsp + 0x38], r9
call fcn.140146640
mov r9, qword [rsp + 0x38]
jmp 0x140053409
mov qword [rsp + 0x78], rbx
mov rcx, rbx
call fcn.140146640
jmp 0x140052b91
mov qword [rdi + 8], rcx
call fcn.140146640
jmp 0x140052e21
mov qword [r14 + 8], rcx
call fcn.140146640
jmp 0x14005301f
mov qword [rdi + 8], rcx
call fcn.140146640
jmp 0x140052f78
lea rcx, [rsp + 0x100]
call fcn.140187c70
call fcn.140187a10
lea rcx, [rsp + 0x100]
call fcn.140187c70
mov rcx, rbx
call fcn.140187c70
xor r14d, r14d
jmp 0x140052a29
xor eax, eax
jmp 0x1400534c0
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov byte [rbx], al
mov byte [rbx + 8], al
jmp 0x140052dc3
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov byte [rbx], al
mov byte [rbx + 8], al
jmp 0x140052e42
mov rcx, r15
call fcn.140146640
jmp 0x140052ade
lea rcx, [rsp + 0x50]
call fcn.140187c70
test rbx, rbx
je 0x1400521ec
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x70]
mov rcx, rbx
mov r8d, 3
xor r9d, r9d
call fcn.14006cc10
add rbx, 0x28
jmp 0x140052ade
test rax, rax
je 0x1400521ec
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xd8], rax
jmp 0x140051e2e
xor r14d, r14d
xor r15d, r15d
jmp 0x140052b88
mov rcx, rbx
call fcn.140036280
mov byte [rbx + 8], 0
jmp 0x140051f18
xor r12d, r12d
jmp 0x140052c21
test rax, rax
je 0x1400521ec
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
add rax, 0x18
mov qword [rsp + 0xb8], rax
jmp 0x140051e60
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x140052ae6
xor eax, eax
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
mov byte [rcx + 8], al
cmp byte [rsp + 0x88], 1
jne 0x14005360d
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x140053617
mov rbx, qword [rsp + 0x40]
jmp 0x140052dc3
mov rax, qword [rsp + 0x78]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400521ec
mov qword [rsp + 0x78], rcx
call fcn.140146640
jmp 0x14005360d
xor eax, eax
jmp 0x1400525da
lea rcx, [rsp + 0x70]
call fcn.140187c70
xor ebx, ebx
jmp 0x1400532b8
xor esi, esi
xor ebx, ebx
jmp 0x140053204
test rbx, rbx
je 0x1400521ec
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14006cca0
add rbx, 0x28
jmp 0x1400526ba
mov rcx, r15
call fcn.140146640
jmp 0x1400526ba
mov rcx, rbx
call fcn.140036280
mov byte [rbx + 8], 0
jmp 0x1400527e0
test r14, r14
je 0x1400521ec
mov qword [r14], rbx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x88]
mov eax, dword [rcx + 8]
mov dword [r14 + 0x20], eax
mov rax, qword [rcx]
mov qword [r14 + 0x18], rax
add r14, 0x28
mov qword [rsp + 0x108], r14
movabs rbp, 0x666666666666666
jmp 0x140053372