Function at 0x140045360
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 [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x148], rax
movaps xmm6, xmmword [0x14026dc70]
movaps xmmword [rsp + 0x100], xmm6
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], r12
mov byte [rsp + 0x100], 0
lea rdx, [rcx + 0x18]
lea rcx, [rsp + 0xa0]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
call fcn.1400449f0
cmp byte [rsi + 0x88], 0
mov qword [rsp + 0x38], rsi
je 0x1400454e7
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
call fcn.1400317e0
mov rbx, qword [r15]
mov rsi, qword [r15 + 8]
mov r15, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
sub r15, rbx
je 0x140045464
js 0x140046c37
mov rcx, r15
call fcn.140184dc4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + r15]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.140189480
mov qword [rsp + 0xc8], rdi
test rbx, rbx
je 0x140045485
dec rsi
cmp r15, rsi
ja 0x140046ce3
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.140184dbc
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x140046d65
lea rcx, [rsp + 0xa0]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140045190
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400454e2
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046ce6
mov qword [rsp + 0xc8], rcx
call fcn.140184dbc
mov rsi, qword [rsp + 0x38]
cmp byte [rsi + 0x6f], 0
mov qword [rsp + 0x48], r14
je 0x1400456ff
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.14004da50
mov rbp, qword [rbx]
mov rsi, qword [rbx + 8]
cmp rbp, rsi
je 0x140045692
xorps xmm7, xmm7
lea rbx, [rsp + 0xa0]
lea r15, [rsp + 0xc0]
mov r14, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x14004559f
mov rdx, qword [rbp]
mov rcx, qword [rdi]
call r14
test eax, eax
jne 0x140045592
add rdi, 0x18
jmp 0x1400455bb
test rax, rax
je 0x140046c7d
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 rbp, 0x20
cmp rbp, rsi
je 0x14004567b
mov eax, dword [rbp + 0x18]
cmp eax, 0xbfffffff
ja 0x140045592
and eax, 0x20
jne 0x140045592
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x70]
mov r12, qword [rax + 0x78]
cmp rdi, r12
jne 0x14004553b
mov r12, qword [rbp]
mov r13, qword [rbp + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub r13, r12
je 0x14004561d
js 0x140046c37
mov rcx, r13
call fcn.140184dc4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + r13]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140189480
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0xb0]
jb 0x14004554f
mov rcx, rbx
mov rdx, r15
call fcn.140045190
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x140045592
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046c86
mov qword [rsp + 0xc8], rcx
call fcn.140184dbc
jmp 0x140045592
mov rbp, qword [rsp + 0x120]
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r14, qword [rsp + 0x48]
test rbp, rbp
je 0x1400456ff
mov rsi, qword [rsp + 0x128]
mov rcx, rbp
cmp rsi, rbp
je 0x1400456f2
add rsi, 0xffffffffffffffe0
jmp 0x1400456c2
mov qword [rsi + 8], rcx
call fcn.140184dbc
lea rax, [rsi - 0x20]
cmp rsi, rbp
mov rsi, rax
je 0x1400456ea
test rsi, rsi
je 0x140046c47
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400456b6
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400456ad
jmp 0x140046c80
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rbp
call fcn.140184dbc
lea rcx, [rsp + 0x80]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.1400449f0
cmp byte [rsi + 0x8a], 0
je 0x140045825
mov rcx, r14
mov r14, r12
lea r12, [rsp + 0x120]
mov r15, rcx
mov rdx, r12
call fcn.1400317e0
mov rbx, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
sub r12, rbx
je 0x1400457a1
js 0x140046c37
mov rcx, r12
call fcn.140184dc4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + r12]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.140189480
mov qword [rsp + 0xc8], rdi
test rbx, rbx
je 0x1400457c2
dec rsi
cmp r12, rsi
ja 0x140046cd2
mov qword [rsp + 0x128], rbx
mov rcx, rbx
call fcn.140184dbc
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140046d14
lea rcx, [rsp + 0x80]
lea rbx, [rsp + 0xc0]
mov rdx, rbx
call fcn.140045190
mov rcx, qword [rbx]
test rcx, rcx
mov r12, r14
mov r14, r15
je 0x140045825
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046cd5
mov qword [rsp + 0xc8], rcx
call fcn.140184dbc
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x8b], 0
je 0x140045aa0
mov rdx, qword [r14]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8d, 2
call fcn.14004da50
mov rsi, qword [rbx]
mov r14, qword [rbx + 8]
cmp rsi, r14
je 0x14004598f
mov r15, r12
xorps xmm7, xmm7
lea rbx, [rsp + 0x80]
lea r12, [rsp + 0xc0]
jmp 0x1400458c8
test rax, rax
je 0x140046c64
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 rsi, 0x20
cmp rsi, r14
je 0x140045984
test byte [rsi + 0x18], 0x20
jne 0x1400458bb
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0xd0], 0
sub rbp, r13
je 0x140045926
js 0x140046c37
mov rcx, rbp
call fcn.140184dc4
mov qword [rsp + 0xc0], rax
lea rdi, [rax + rbp]
mov qword [rsp + 0xd0], rdi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140189480
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140045878
mov rcx, rbx
mov rdx, r12
call fcn.140045190
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1400458bb
mov rax, qword [rsp + 0xc8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046c89
mov qword [rsp + 0xc8], rcx
call fcn.140184dbc
jmp 0x1400458bb
mov rsi, qword [rsp + 0x120]
mov r12, r15
test rsi, rsi
mov r14, qword [rsp + 0x48]
je 0x140045aa0
mov rdi, qword [rsp + 0x128]
mov rcx, rsi
cmp rdi, rsi
je 0x140045a93
add rdi, 0xffffffffffffffe0
jmp 0x1400459d0
mov qword [rdi + 8], rcx
call fcn.140184dbc
lea rax, [rdi - 0x20]
cmp rdi, rsi
mov rdi, rax
je 0x140045a8b
test rdi, rdi
je 0x140046c4a
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400459c0
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400459b7
jmp 0x140046c83
mov rax, qword [rsp + 0x80]
cmp rax, qword [rsp + 0x88]
jne 0x140045ac8
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
jne 0x140045ac8
lea r15, [rsp + 0x120]
mov rcx, r14
mov rdx, r15
mov r8d, 0xf01ff
call fcn.14020e0d0
cmp byte [r15], 0
je 0x140046de5
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x140046b15
lea rcx, [rsp + 0x108]
call fcn.140041bb0
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x140045bd9
lea rcx, [rsp + 0x128]
call fcn.1400448d0
jmp 0x140045bd9
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rsi
call fcn.140184dbc
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x89], 0
jne 0x140046a79
mov rax, qword [rsp + 0xa0]
cmp rax, qword [rsp + 0xa8]
je 0x1400459f8
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.140058600
cmp byte [r15], 0
je 0x140046c95
lea rdx, [rsp + 0x128]
cmp byte [rsp + 0x100], 0
jne 0x140045b90
lea rcx, [rsp + 0x108]
call fcn.140041bb0
mov byte [rsp + 0x100], 1
cmp byte [rsp + 0x120], 0
je 0x140045b6d
lea r14, [rsp + 0x128]
mov rcx, r14
call fcn.1400448d0
mov byte [r14 - 8], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140045bd9
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x140045bcc
add rdi, 0xffffffffffffffe8
jmp 0x140045bb3
lea rcx, [rsp + 0x108]
call fcn.14003c1c0
jmp 0x140045b4e
mov rcx, qword [rdi]
call fcn.140184dbc
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140045bc4
test rdi, rdi
je 0x140046c44
cmp byte [rdi + 0x17], 0
jns 0x140045ba7
jmp 0x140045b9f
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.140184dbc
cmp byte [rsp + 0x100], 0
je 0x14004674d
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6d], 0
je 0x140045bfc
cmp byte [rax + 0x6e], 0
jne 0x140046997
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], r12
movaps xmmword [rsp + 0xe0], xmm6
lea r14, [rsp + 0xe0]
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.1400769f0
cmp byte [r14], 0
je 0x140046688
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x6c], 0
je 0x140045ece
mov qword [rsp + 0x140], r12
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
cmp byte [rsp + 0x100], 0
je 0x140046a12
lea r14, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.14004d8d0
cmp byte [r14], 0
je 0x140046852
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x140045e00
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 0x140046db6
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 0x140046db9
cmp rdi, rdx
ja 0x140046dc1
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.140184dc4
mov r15, rax
lea rax, [rbx + rbx*4]
mov qword [rsp + 0x48], rax
lea r12, [rax*8]
add r12, r15
je 0x140046dc4
mov r13, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x130]
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
sub rbp, r13
je 0x140045dad
js 0x140046dc7
mov rbx, rsi
mov rcx, rbp
call fcn.140184dc4
mov qword [r12], rax
lea rsi, [rax + rbp]
mov qword [r12 + 0x10], rsi
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.140189480
mov qword [r12 + 8], rsi
mov rsi, rbx
lea rax, [rdi + rdi*4]
lea rax, [r15 + rax*8]
mov qword [r12 + 0x18], 3
mov dword [r12 + 0x20], 0
lea rcx, [r12 + 0x28]
cmp r14, rsi
jne 0x140046b27
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
jne 0x140046dd5
mov r14, qword [rsp + 0xc8]
jmp 0x140045e74
test r14, r14
je 0x140046db3
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 0x140045e58
js 0x140046cbd
mov rcx, r12
call fcn.140184dc4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140189480
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 0x140046d0b
mov cl, byte [rsp + 0x120]
test cl, cl
je 0x140045fb0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140045fb0
mov rax, qword [rsp + 0x130]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046dd2
mov qword [rsp + 0x130], rcx
call fcn.140184dbc
jmp 0x140045fb0
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 0x140046c05
test r14, r14
je 0x140046d11
lea r12, [rsp + 0x120]
mov rcx, r12
mov edx, 0xa
call fcn.140040470
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
mov r12, rsi
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x140045f67
js 0x140046cbd
mov rcx, r12
call fcn.140184dc4
mov qword [r14], rax
lea rdi, [rax + r12]
mov qword [r14 + 0x10], rdi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140189480
mov qword [r14 + 8], rdi
movabs rax, 0x1000000000000000
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
test r15, r15
je 0x140045f96
dec rsi
cmp r12, rsi
ja 0x140046dcf
mov rcx, r15
call fcn.140184dbc
add r14, 0x28
mov qword [rsp + 0xc8], r14
cmp qword [rsp + 0xc0], r14
je 0x140046d0e
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x48], rax
cmp rsi, rax
je 0x1400462e5
xorps xmm6, xmm6
jmp 0x14004606a
test rbp, rbp
je 0x140046c73
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
test rcx, rcx
je 0x14004605b
mov rax, qword [rsp + 0x128]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046c70
call fcn.140184dbc
add rsi, 0x28
cmp rsi, qword [rsp + 0x48]
je 0x1400462e5
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 0x140046c5a
js 0x140046c4d
mov rcx, r12
call fcn.140184dc4
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.140189480
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 0x140045fd3
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 0x140046c6d
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 0x140046c76
cmp rbx, rdx
ja 0x140046c67
lea rax, [rbx*8]
lea rcx, [rax + rax*4]
call fcn.140184dc4
lea r8, [r14 + r14*4]
lea r9, [r8*8]
add r9, rax
je 0x140046c6a
lea rcx, [rbx + rbx*4]
lea rcx, [rax + rcx*8]
mov qword [r9], r15
mov qword [r9 + 8], rdi
mov qword [r9 + 0x10], rdi
movaps xmmword [rsp + 0x120], xmm6
mov qword [rsp + 0x130], 0
lea r10, [rsp + 0x138]
mov edx, dword [r10 + 8]
mov dword [r9 + 0x20], edx
mov rdx, qword [r10]
mov qword [r9 + 0x18], rdx
lea rdx, [r9 + 0x28]
cmp rbp, r12
jne 0x140046211
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
test rbp, rbp
je 0x140046204
mov rcx, rbp
call fcn.140184dbc
mov rcx, qword [rsp + 0x120]
jmp 0x140046037
lea rax, [rax + r8*8]
add rax, 0xffffffffffffffd8
test rax, rax
je 0x140046c92
movups xmmword [rax], xmm6
xor r9d, r9d
mov qword [rax + 0x10], r9
mov r8, qword [rbp - 0x28]
mov qword [rax], r8
mov r8, qword [rbp - 0x20]
mov qword [rax + 8], r8
mov r8, qword [rbp - 0x18]
mov qword [rax + 0x10], r8
mov qword [rbp - 0x18], r9
movups xmmword [rbp - 0x28], xmm6
mov r8d, dword [rbp - 8]
mov dword [rax + 0x20], r8d
mov r8, qword [rbp - 0x10]
lea r9, [rbp - 0x28]
mov qword [rax + 0x18], r8
add rax, 0xffffffffffffffd8
mov rbp, r9
cmp r9, r12
jne 0x140046219
mov rbp, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rax, 0x28
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
cmp rdi, rbp
je 0x1400461f7
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x140046c8c
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400462d4
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046c8f
mov qword [rdi + 8], rcx
call fcn.140184dbc
lea rax, [rdi - 0x28]
cmp rdi, rbp
mov rdi, rax
jne 0x1400462a4
jmp 0x1400461f7
cmp byte [rsp + 0x100], 0
je 0x140046a12
lea r15, [rsp + 0x120]
lea rcx, [rsp + 0x108]
mov rdx, r15
call fcn.1400317e0
mov r14, qword [r15]
mov rsi, qword [r15 + 8]
mov r13, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
sub r13, r14
je 0x140046cd8
js 0x140046cc5
mov rcx, r13
call fcn.140184dc4
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.140189480
mov qword [rsp + 0x58], r12
test r14, r14
je 0x140046382
dec rsi
cmp r13, rsi
ja 0x140046ce9
mov qword [rsp + 0x128], r14
mov rcx, r14
call fcn.140184dbc
mov r14, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
cmp r14, rax
jb 0x1400464df
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 0x140046cf2
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 0x140046cf5
cmp rdi, rdx
ja 0x140046cfd
lea rax, [rdi*8]
lea rcx, [rax + rax*4]
call fcn.140184dc4
mov r13, rax
lea rax, [rbx + rbx*4]
mov qword [rsp + 0x48], rax
lea rbp, [rax*8]
add rbp, r13
je 0x140046d00
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], 0
sub r12, r15
je 0x14004647f
js 0x140046d03
mov rbx, rsi
mov rcx, r12
call fcn.140184dc4
mov qword [rbp], rax
lea rsi, [rax + r12]
mov qword [rbp + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140189480
mov qword [rbp + 8], rsi
mov rsi, rbx
lea rax, [rdi + rdi*4]
lea rax, [rax*8]
add rax, r13
movabs rcx, 0x1000000000000000
mov qword [rbp + 0x18], rcx
mov dword [rbp + 0x20], 0
lea rcx, [rbp + 0x28]
cmp r14, rsi
jne 0x1400468b7
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test r14, r14
je 0x1400464d5
mov rcx, r14
call fcn.140184dbc
mov r14, qword [rsp + 0xc8]
jmp 0x140046549
test r14, r14
je 0x140046cef
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub r12, r15
je 0x140046527
js 0x140046cbd
mov rcx, r12
call fcn.140184dc4
mov qword [r14], rax
lea rsi, [rax + r12]
mov qword [r14 + 0x10], rsi
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140189480
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 0x140046ccf
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14004657d
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046cec
call fcn.140184dbc
cmp byte [rsp + 0xe0], 0
je 0x140046a12
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0xc0]
call fcn.140038a70
test al, al
je 0x140046656
cmp byte [rsp + 0x100], 0
je 0x140046a12
cmp byte [rsp + 0xe0], 0
je 0x140046a12
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 0x140046656
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x60], 0
je 0x140046626
cmp byte [rsp + 0x100], 0
je 0x140046a12
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x64]
lea rcx, [rsp + 0x108]
call fcn.14003d030
test al, al
je 0x140046656
xorps xmm0, xmm0
mov rax, qword [rsp + 0x40]
movups xmmword [rax], xmm0
cmp byte [rsp + 0x100], 0
je 0x14004665e
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 8]
lea rdx, [rsp + 0x108]
call fcn.140041bb0
mov byte [rsi], 1
jmp 0x14004665e
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
cmp byte [rsp + 0xe0], 0
je 0x140046690
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
test rcx, rcx
je 0x140046690
call fcn.140185020
jmp 0x140046690
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140046755
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x14004673e
add rdi, 0xffffffffffffffd8
jmp 0x1400466d0
mov qword [rdi + 8], rcx
call fcn.140184dbc
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
je 0x140046736
test rdi, rdi
je 0x140046a20
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400466c4
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400466bb
jmp 0x140046a23
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046a1d
mov qword [rdi + 8], rcx
call fcn.140184dbc
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x140046778
test rdi, rdi
je 0x140046a17
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400466f8
jmp 0x140046717
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.140184dbc
jmp 0x140046755
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x14004678d
mov rdi, qword [rsp + 0x88]
mov rcx, rsi
cmp rdi, rsi
je 0x140046780
add rdi, 0xffffffffffffffe8
jmp 0x140046723
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.140184dbc
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x140046802
mov rdi, qword [rsp + 0xa8]
mov rcx, rsi
cmp rdi, rsi
je 0x1400467f5
add rdi, 0xffffffffffffffe8
jmp 0x1400467c5
mov qword [rdi + 8], rcx
call fcn.140184dbc
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x1400467ed
test rdi, rdi
je 0x140046a14
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400467b9
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400467b0
jmp 0x140046a1a
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rsi
call fcn.140184dbc
cmp byte [rsp + 0x100], 0
je 0x140046819
lea rcx, [rsp + 0x108]
call fcn.1400448d0
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.1401879f0
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]
mov cl, byte [rsp + 0x120]
cmp eax, 0x490
je 0x140045e89
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
test cl, cl
je 0x14004665e
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14004665e
mov rax, qword [rsp + 0x130]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046a29
mov qword [rsp + 0x130], rcx
call fcn.140184dbc
jmp 0x14004665e
mov rdx, qword [rsp + 0x48]
lea rdx, [rdx*8 - 0x28]
add rdx, r13
xorps xmm0, xmm0
xor r8d, r8d
test rdx, rdx
je 0x140046de2
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r8
mov r9, qword [r14 - 0x28]
mov qword [rdx], r9
mov r9, qword [r14 - 0x20]
mov qword [rdx + 8], r9
mov r9, qword [r14 - 0x18]
mov qword [rdx + 0x10], r9
mov qword [r14 - 0x18], r8
movups xmmword [r14 - 0x28], xmm0
mov r9d, dword [r14 - 8]
mov dword [rdx + 0x20], r9d
mov r9, qword [r14 - 0x10]
lea r10, [r14 - 0x28]
mov qword [rdx + 0x18], r9
add rdx, 0xffffffffffffffd8
mov r14, r10
cmp r10, rsi
jne 0x1400468cd
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
add rdx, 0x28
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
cmp rsi, r14
je 0x1400464c8
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x140046db0
mov rcx, qword [rsi]
test rcx, rcx
je 0x140046986
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046a26
mov qword [rsi + 8], rcx
call fcn.140184dbc
lea rax, [rsi - 0x28]
cmp rsi, r14
mov rsi, rax
jne 0x140046956
jmp 0x1400464c8
lea rdx, str.SeChangeNotifyPrivilege
lea r14, [rsp + 0x120]
mov rcx, r14
call fcn.1401c4a50
lea rcx, [rsp + 0x108]
mov rdx, r14
call fcn.140076af0
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x1400469d4
mov rcx, qword [rsp + 0x120]
call fcn.140184dbc
test bpl, bpl
je 0x14004674d
cmp byte [rsp + 0x100], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xf0], r12
movaps xmmword [rsp + 0xe0], xmm6
jne 0x140045c23
ud2
int3
int3
int3
int3
int3
int3
int3
int3
test rax, rax
je 0x140046e10
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 0x140046acb
lea rbx, [rsp + 0x120]
mov qword [rbx + 0x20], r12
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, r14
mov rdx, rbx
call fcn.14004d8d0
cmp byte [rbx], 0
je 0x140045ab2
lea rdx, [rsp + 0x128]
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
jb 0x140046a2c
lea rcx, [rsp + 0x80]
call fcn.140045190
cmp byte [rsp + 0x120], 0
je 0x140045ab2
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140045ab2
mov rax, qword [rsp + 0x130]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046b12
mov qword [rsp + 0x130], rcx
call fcn.140184dbc
jmp 0x140045ab2
int3
lea rcx, [rsp + 0x108]
call fcn.14003c1c0
jmp 0x140045a6b
mov rdx, qword [rsp + 0x48]
lea rdx, [r15 + rdx*8]
add rdx, 0xffffffffffffffd8
xorps xmm0, xmm0
xor r8d, r8d
test rdx, rdx
je 0x140046e0d
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r8
mov r9, qword [r14 - 0x28]
mov qword [rdx], r9
mov r9, qword [r14 - 0x20]
mov qword [rdx + 8], r9
mov r9, qword [r14 - 0x18]
mov qword [rdx + 0x10], r9
mov qword [r14 - 0x18], r8
movups xmmword [r14 - 0x28], xmm0
mov r9d, dword [r14 - 8]
mov dword [rdx + 0x20], r9d
mov r9, qword [r14 - 0x10]
lea r10, [r14 - 0x28]
mov qword [rdx + 0x18], r9
add rdx, 0xffffffffffffffd8
mov r14, r10
cmp r10, rsi
jne 0x140046b3a
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
add rdx, 0x28
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
cmp rsi, r14
je 0x140045ded
add rsi, 0xffffffffffffffd8
test rsi, rsi
je 0x140046e19
mov rcx, qword [rsi]
test rcx, rcx
je 0x140046bf3
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140046e1c
mov qword [rsi + 8], rcx
call fcn.140184dbc
lea rax, [rsi - 0x28]
cmp rsi, r14
mov rsi, rax
je 0x140045ded
jmp 0x140046bc3
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.1402339c0
mov r14, qword [r14 + 8]
jmp 0x140045fa2
lea rcx, [rsp + 0xc0]
call fcn.1401c2f20
int3
int3
int3
lea rcx, [rsp + 0x120]
call fcn.1401c2f20
xor edi, edi
xor r15d, r15d
jmp 0x1400460d3
int3
int3
int3
int3
int3
int3
xor eax, eax
jmp 0x140046183
int3
int3
int3
int3
int3
int3
int3
int3
cmp byte [rsp + 0x100], 0
je 0x140045b6d
lea rcx, [rsp + 0x108]
call fcn.1400448d0
mov byte [rsp + 0x100], 0
jmp 0x140045b4e
mov rcx, r14
call fcn.1401c2f20
lea rcx, [rsp + 0x50]
call fcn.1401c2f20
int3
int3
int3
xor r15d, r15d
xor r12d, r12d
jmp 0x140046361
int3
int3
int3
int3
int3
int3
xor r13d, r13d
jmp 0x14004641f
int3
int3
mov rcx, rbp
call fcn.1401c2f20
int3
int3
int3
test rax, rax
je 0x140046e13
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
mov r12, r14
mov r14, r15
jmp 0x140045825
test rax, rax
je 0x140046e16
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
jmp 0x1400454e2
int3
int3
int3
xor r15d, r15d
jmp 0x140045d39
int3
int3
mov rcx, r12
call fcn.1401c2f20
int3
int3
mov rcx, r14
call fcn.140184dbc
jmp 0x140045df6
int3
cmp byte [rsp + 0x100], 0
je 0x140045bd9
lea rcx, [rsp + 0x108]
call fcn.1400448d0
mov byte [rsp + 0x100], 0
jmp 0x140045a6b
int3
int3
int3
int3
int3
int3