Function at 0x14001a1c0
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 qword [rsp + 0x48], rdx
mov rdi, rcx
mov rax, qword [0x140140040]
xor rax, rsp
mov qword [rsp + 0x128], rax
movaps xmm6, xmmword [0x14011ea30]
movaps xmmword [rsp + 0x100], xmm6
xor esi, esi
mov byte [rsp + 0x100], sil
mov byte [rsp + 0x108], sil
lea rdx, [rcx + 0x18]
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xe0]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
call fcn.14001bdf0
cmp byte [rdi + 0x80], sil
mov qword [rsp + 0x40], rbx
jne 0x14001b0f1
cmp byte [rdi + 0x63], 0
je 0x14001a465
mov rdx, qword [rbx]
lea r14, [rsp + 0x80]
mov rcx, r14
mov r8d, 2
call fcn.14001c390
mov rsi, qword [r14]
mov rbp, qword [r14 + 8]
cmp rsi, rbp
je 0x14001a3f3
xorps xmm7, xmm7
lea r15, [rsp + 0x110]
mov rbx, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x14001a3ae
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.14001bc30
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x14001a3a5
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b8f9
mov qword [rsp + 0x118], rcx
call fcn.1400a2cfc
jmp 0x14001a3a5
mov r12, qword [rsi]
mov r13, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub r13, r12
je 0x14001a34c
js 0x14001b8c3
mov rcx, r13
call fcn.1400a2d04
mov qword [rsp + 0x110], rax
lea r14, [rax + r13]
mov qword [rsp + 0x120], r14
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.1400d60b0
mov qword [rsp + 0x118], r14
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jae 0x14001a29f
test rax, rax
je 0x14001b8eb
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 rsi, 0x20
cmp rsi, rbp
je 0x14001a3e1
mov eax, dword [rsi + 0x18]
cmp eax, 0xbfffffff
ja 0x14001a3a5
and eax, 0x20
jne 0x14001a3a5
mov r12, qword [rdi + 0x68]
mov r13, qword [rdi + 0x70]
cmp r12, r13
je 0x14001a2f4
mov rdx, qword [rsi]
mov rcx, qword [r12]
call rbx
test eax, eax
jne 0x14001a3a5
add r12, 0x18
jmp 0x14001a3c5
mov rsi, qword [rsp + 0x80]
movabs r12, 0xaaaaaaaaaaaaaaaa
test rsi, rsi
je 0x14001a460
mov rbx, qword [rsp + 0x88]
mov rcx, rsi
cmp rbx, rsi
je 0x14001a453
add rbx, 0xffffffffffffffe0
jmp 0x14001a423
mov qword [rbx + 8], rcx
call fcn.1400a2cfc
lea rax, [rbx - 0x20]
cmp rbx, rsi
mov rbx, rax
je 0x14001a44b
test rbx, rbx
je 0x14001b8d3
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001a417
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14001a40e
jmp 0x14001b8e2
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.1400a2cfc
mov rbx, qword [rsp + 0x40]
lea r14, [rsp + 0xc0]
mov qword [r14 + 0x10], r12
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.14001bdf0
cmp byte [rdi + 0x82], 0
je 0x14001a58b
lea r12, [rsp + 0x80]
mov rcx, rbx
mov rdx, r12
call fcn.140025700
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 0x14001a505
js 0x14001b8c3
mov rcx, r12
call fcn.1400a2d04
mov qword [rsp + 0x110], rax
lea rbx, [rax + r12]
mov qword [rsp + 0x120], rbx
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.1400d60b0
mov qword [rsp + 0x118], rbx
mov rbx, qword [rsp + 0x40]
test r15, r15
je 0x14001a526
dec rsi
cmp r12, rsi
ja 0x14001ba21
mov qword [rsp + 0x88], r15
mov rcx, r15
call fcn.1400a2cfc
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14001bac1
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
call fcn.14001bc30
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x14001a58b
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001ba24
mov qword [rsp + 0x118], rcx
call fcn.1400a2cfc
cmp byte [rdi + 0x83], 0
je 0x14001a76c
mov rdx, qword [rbx]
lea r15, [rsp + 0x80]
mov rcx, r15
mov r8d, 2
call fcn.14001c390
mov rsi, qword [r15]
mov rbx, qword [r15 + 8]
cmp rsi, rbx
je 0x14001a6fa
xorps xmm7, xmm7
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
jmp 0x14001a626
test rax, rax
je 0x14001b8df
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 0x14001a6ea
test byte [rsi + 0x18], 0x20
jne 0x14001a619
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub rbp, r13
je 0x14001a684
js 0x14001b8c3
mov rcx, rbp
call fcn.1400a2d04
mov qword [rsp + 0x110], rax
lea r14, [rax + rbp]
mov qword [rsp + 0x120], r14
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.1400d60b0
mov qword [rsp + 0x118], r14
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14001a5d6
mov rcx, r15
mov rdx, r12
call fcn.14001bc30
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
test rcx, rcx
je 0x14001a619
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b8fc
mov qword [rsp + 0x118], rcx
call fcn.1400a2cfc
jmp 0x14001a619
mov rsi, qword [rsp + 0x80]
lea r14, [rsp + 0xc0]
test rsi, rsi
je 0x14001a767
mov rbx, qword [rsp + 0x88]
mov rcx, rsi
cmp rbx, rsi
je 0x14001a75a
add rbx, 0xffffffffffffffe0
jmp 0x14001a72a
mov qword [rbx + 8], rcx
call fcn.1400a2cfc
lea rax, [rbx - 0x20]
cmp rbx, rsi
mov rbx, rax
je 0x14001a752
test rbx, rbx
je 0x14001b8d6
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001a71e
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14001a715
jmp 0x14001b8e5
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.1400a2cfc
mov rbx, qword [rsp + 0x40]
cmp byte [rdi + 0x81], 0
jne 0x14001b81e
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rsp + 0xe8]
jne 0x14001a7a1
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
je 0x14001b525
xorps xmm0, xmm0
lea rax, [rsp + 0x80]
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 + 0x110]
lea r9, [rsp + 0xe0]
mov rcx, rbx
mov rdx, r14
call fcn.14001c760
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x14001b080
lea rbx, [rsp + 0x100]
test al, al
jne 0x14001ba27
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.1400161a0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x118], 0
je 0x14001a835
lea rcx, [rsp + 0x110]
call fcn.140019740
mov rdx, qword [rsp + 0x80]
test rdx, rdx
jne 0x14001b9f2
cmp byte [rsp + 0x108], 0
je 0x14001b96d
cmp byte [rdi + 0x61], 0
jne 0x14001b0a2
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.14001c130
cmp byte [rbx + 8], 0
je 0x14001b981
movabs rbp, 0x666666666666666
movabs r14, 0x333333333333333
cmp byte [rdi + 0x60], 0
movabs r15, 0xcccccccccccccccd
je 0x14001b5b8
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
cmp byte [rsp + 0x108], 0
je 0x14001b927
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.14001c220
cmp byte [rbx + 0x18], 0
je 0x14001ba47
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x14001b992
mov rcx, qword [rsp + 0x110]
sub rbx, rcx
sar rbx, 3
imul rbx, r15
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x14001b92a
sub rax, rcx
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
cmp rax, r14
cmovae rsi, rbp
test rsi, rsi
je 0x14001b92d
cmp rsi, rbp
ja 0x14001b935
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1400a2d04
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x14001b938
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r12, r15
je 0x14001a9e2
js 0x14001b8ee
mov rcx, r12
call fcn.1400a2d04
mov qword [rbx], rax
lea r13, [rax + r12]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.1400d60b0
mov qword [rbx + 8], r13
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
mov r13, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov rax, r13
sub rax, r15
lea r12, [rbx + rax]
je 0x14001aaa8
xorps xmm0, xmm0
xor eax, eax
mov rcx, r13
mov rdx, r12
test rdx, rdx
je 0x14001ba0f
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, r15
jne 0x14001aa1c
test r13, r13
je 0x14001ba12
mov rcx, qword [r13]
test rcx, rcx
je 0x14001aa97
mov rax, qword [r13 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001ba15
mov qword [r13 + 8], rcx
call fcn.1400a2cfc
add r13, 0x28
cmp r13, r15
jne 0x14001aa66
mov r15, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
test r15, r15
jne 0x14001b960
mov qword [rsp + 0x118], rbx
cmp byte [rsp + 0x98], 0
je 0x14001ab1b
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14001ab1b
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b97e
mov qword [rsp + 0x88], rcx
call fcn.1400a2cfc
mov r12, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
cmp r12, rax
jne 0x14001b1f5
cmp byte [rsp + 0x108], 0
je 0x14001b90e
lea rcx, [rsp + 0x100]
lea r14, [rsp + 0x80]
mov rdx, r14
call fcn.140025700
mov rbx, qword [r14]
mov rsi, qword [r14 + 8]
mov r12, rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
sub r12, rbx
je 0x14001b94f
js 0x14001b911
mov rcx, r12
call fcn.1400a2d04
mov r14, rax
mov qword [rsp + 0x60], rax
lea r15, [rax + r12]
mov qword [rsp + 0x70], r15
mov rcx, rax
mov rdx, rbx
mov r8, r12
call fcn.1400d60b0
mov qword [rsp + 0x68], r15
test rbx, rbx
je 0x14001abc9
dec rsi
cmp r12, rsi
ja 0x14001b95a
mov qword [rsp + 0x88], rbx
mov rcx, rbx
call fcn.1400a2cfc
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x14001b4c0
mov rcx, qword [rsp + 0x110]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x14001b93b
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 0x14001b93e
cmp rsi, rbp
ja 0x14001b946
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1400a2d04
mov r12, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r12
je 0x14001b949
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x14001aca8
js 0x14001b8ee
mov rcx, r15
call fcn.1400a2d04
mov qword [rbx], rax
lea r13, [rax + r15]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.1400d60b0
mov qword [rbx + 8], r13
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov r13, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov rax, r13
sub rax, r14
lea r15, [rbx + rax]
je 0x14001ad74
xorps xmm0, xmm0
xor eax, eax
mov rcx, r13
mov rdx, r15
test rdx, rdx
je 0x14001ba18
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, r14
jne 0x14001ace8
test r13, r13
je 0x14001ba1b
mov rcx, qword [r13]
test rcx, rcx
je 0x14001ad63
mov rax, qword [r13 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001ba1e
mov qword [r13 + 8], rcx
call fcn.1400a2cfc
add r13, 0x28
cmp r13, r14
jne 0x14001ad32
mov r14, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
lea rax, [r12 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
test r14, r14
je 0x14001ada5
mov rcx, r14
call fcn.1400a2cfc
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x118], rbx
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14001add8
mov rax, qword [rsp + 0x68]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b95d
call fcn.1400a2cfc
cmp byte [rsp + 0xb8], 0
je 0x14001b91b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x110]
call fcn.140029190
test al, al
je 0x14001b8ff
cmp byte [rsp + 0x108], 0
je 0x14001b91e
cmp byte [rsp + 0xb8], 0
je 0x14001b921
mov rax, qword [rsp + 0xb0]
lea r8, [rsp + 0x80]
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 0x14001b8ff
cmp byte [rdi + 0x5c], 0
je 0x14001ae7f
cmp byte [rsp + 0x108], 0
je 0x14001b94c
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14001bfd0
test al, al
je 0x14001b8ff
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 8], al
cmp byte [rsp + 0x108], al
je 0x14001aeac
test rsi, rsi
je 0x14001b924
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.1400161a0
mov byte [rsi + 8], 1
cmp byte [rsp + 0xb8], 0
je 0x14001aed4
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test rcx, rcx
je 0x14001aed4
call fcn.1400a2ea8
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x14001af46
mov rdi, qword [rsp + 0x118]
mov rcx, rsi
cmp rdi, rsi
je 0x14001af39
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x14001b8f6
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001af25
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b90b
mov qword [rdi + 8], rcx
call fcn.1400a2cfc
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x14001aef5
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rsi
call fcn.1400a2cfc
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x14001afbb
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x14001afae
add rdi, 0xffffffffffffffe8
jmp 0x14001af7e
mov qword [rdi + 8], rcx
call fcn.1400a2cfc
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14001afa6
test rdi, rdi
je 0x14001b8d0
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001af72
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14001af69
jmp 0x14001b8dc
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.1400a2cfc
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x14001b030
mov rdi, qword [rsp + 0xe8]
mov rcx, rsi
cmp rdi, rsi
je 0x14001b023
add rdi, 0xffffffffffffffe8
jmp 0x14001aff3
mov qword [rdi + 8], rcx
call fcn.1400a2cfc
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14001b01b
test rdi, rdi
je 0x14001b8d9
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001afe7
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14001afde
jmp 0x14001b8e8
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rsi
call fcn.1400a2cfc
cmp byte [rsp + 0x108], 0
je 0x14001b047
lea rcx, [rsp + 0x100]
call fcn.140019740
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.1400a4d90
mov rax, qword [rsp + 0x48]
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
test al, al
je 0x14001a835
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x110]
call fcn.14002a3d0
jmp 0x14001a81e
cmp byte [rdi + 0x62], 0
je 0x14001a85e
lea rcx, [rsp + 0x100]
call fcn.14001c590
test al, al
je 0x14001b96d
cmp byte [rsp + 0x108], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
jne 0x14001a87d
int3
lea r15, [rsp + 0x80]
mov rcx, rbx
mov rdx, r15
call fcn.140025700
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 0x14001b167
js 0x14001b8c3
mov rcx, r15
call fcn.1400a2d04
mov qword [rsp + 0x110], rax
lea rbx, [rax + r15]
mov qword [rsp + 0x120], rbx
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.1400d60b0
mov qword [rsp + 0x118], rbx
mov rbx, qword [rsp + 0x40]
test r14, r14
je 0x14001b188
dec rsi
cmp r15, rsi
ja 0x14001ba41
mov qword [rsp + 0x88], r14
mov rcx, r14
call fcn.1400a2cfc
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x14001bb1e
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.14001bc30
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x14001a255
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001ba44
mov qword [rsp + 0x118], rcx
call fcn.1400a2cfc
jmp 0x14001a255
xorps xmm6, xmm6
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov ebp, dword [r12 + 0x18]
mov edi, dword [r12 + 0x1c]
mov r13d, dword [r12 + 0x20]
mov r14, qword [r12]
mov r15, qword [r12 + 8]
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x90], 0
sub r15, r14
je 0x14001ba38
js 0x14001b9c5
mov rcx, r15
call fcn.1400a2d04
mov rbx, rax
mov qword [rsp + 0x80], rax
lea rsi, [rax + r15]
mov qword [rsp + 0x90], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.1400d60b0
mov qword [rsp + 0x88], rsi
mov dword [rsp + 0x98], ebp
mov dword [rsp + 0x9c], edi
mov dword [rsp + 0xa0], r13d
mov r14, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp r14, rax
jb 0x14001bb71
mov rcx, qword [rsp + 0x110]
sub r14, rcx
sar r14, 3
movabs rdx, 0xcccccccccccccccd
imul r14, rdx
lea rsi, [r14 + 1]
movabs rbp, 0x666666666666666
cmp rsi, rbp
mov rdi, qword [rsp + 0x50]
ja 0x14001b9d2
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 0x14001b9d5
cmp rsi, rbp
ja 0x14001b9dd
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1400a2d04
mov r9, rax
lea r15, [r14 + r14*4]
shl r15, 3
add r15, r9
je 0x14001b9e0
movups xmmword [r15], xmm6
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov rax, qword [rsp + 0x80]
mov qword [r15], rax
mov rax, qword [rsp + 0x88]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x90]
mov qword [r15 + 0x10], rax
mov qword [rsp + 0x90], rcx
movaps xmmword [rsp + 0x80], xmm6
lea rcx, [rsp + 0x98]
mov eax, dword [rcx + 8]
mov dword [r15 + 0x20], eax
mov rax, qword [rcx]
mov qword [r15 + 0x18], rax
mov rbx, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov rax, rbx
sub rax, r14
lea r13, [r15 + rax]
je 0x14001b447
mov rax, rbx
mov rcx, r13
test rcx, rcx
je 0x14001b9e6
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, r14
jne 0x14001b3b1
test rbx, rbx
je 0x14001b9e9
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001b436
mov qword [rsp + 0x58], r9
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b9ec
mov qword [rbx + 8], rcx
call fcn.1400a2cfc
mov r9, qword [rsp + 0x58]
add rbx, 0x28
cmp rbx, r14
jne 0x14001b3fc
mov r14, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
lea rax, [r9 + rax*8]
add r15, 0x28
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x120], rax
test r14, r14
je 0x14001b478
mov rcx, r14
call fcn.1400a2cfc
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x118], r15
test rcx, rcx
je 0x14001b4ac
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001b9e3
call fcn.1400a2cfc
add r12, 0x28
cmp r12, qword [rsp + 0x40]
je 0x14001ab2c
jmp 0x14001b202
test rbx, rbx
je 0x14001babe
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x14001b507
js 0x14001b8ee
mov rcx, r15
call fcn.1400a2d04
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.1400d60b0
mov qword [rbx + 8], rsi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x14001ada5
cmp byte [rdi + 0x61], 0
jne 0x14001a7a1
lea r14, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.14001c680
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x14001b599
lea rbx, [rsp + 0x100]
test al, al
jne 0x14001bc0a
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.1400161a0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x88], 0
je 0x14001a846
lea rcx, [rsp + 0x80]
call fcn.140019740
jmp 0x14001a846
test al, al
je 0x14001a846
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x80]
call fcn.14002a3d0
jmp 0x14001b579
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x14001bbd2
mov rcx, qword [rsp + 0x110]
sub rbx, rcx
sar rbx, 3
imul rbx, r15
lea rsi, [rbx + 1]
cmp rsi, rbp
ja 0x14001baae
sub rax, rcx
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rsi
cmova rsi, rcx
cmp rax, r14
cmovae rsi, rbp
test rsi, rsi
je 0x14001bab1
cmp rsi, rbp
ja 0x14001bab8
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1400a2d04
lea rbx, [rbx + rbx*4]
shl rbx, 3
mov qword [rsp + 0x40], rax
add rbx, rax
je 0x14001babb
lea r12, [rsp + 0x80]
mov rcx, r12
mov edx, 0xa
call fcn.14001f460
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 0x14001b6ac
js 0x14001b8ee
mov r14, rbp
mov rcx, r12
call fcn.1400a2d04
mov qword [rbx], rax
lea rbp, [rax + r12]
mov qword [rbx + 0x10], rbp
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.1400d60b0
mov qword [rbx + 8], rbp
mov rbp, r14
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
test r15, r15
je 0x14001b6da
dec r13
cmp r12, r13
ja 0x14001bb6e
mov rcx, r15
call fcn.1400a2cfc
mov r13, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov rax, r13
sub rax, r15
lea r12, [rbx + rax]
je 0x14001b791
xorps xmm0, xmm0
xor eax, eax
mov rcx, r13
mov rdx, r12
test rdx, rdx
je 0x14001bc01
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, r15
jne 0x14001b705
test r13, r13
je 0x14001bc04
mov rcx, qword [r13]
test rcx, rcx
je 0x14001b780
mov rax, qword [r13 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001bc07
mov qword [r13 + 8], rcx
call fcn.1400a2cfc
add r13, 0x28
cmp r13, r15
jne 0x14001b74f
mov r15, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax*8]
add rbx, 0x28
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
test r15, r15
jne 0x14001bb11
mov qword [rsp + 0x118], rbx
jmp 0x14001ab1b
test rax, rax
je 0x14001bc1b
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0x80]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rax + 0x10], rdx
mov qword [rsp + 0x90], rcx
movaps xmmword [rsp + 0x80], xmm0
add rax, 0x18
jmp 0x14001b870
lea r15, [rsp + 0x80]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.14001c220
cmp byte [r15 + 0x18], 0
je 0x14001a779
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14001b7d0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
call fcn.14001bc30
mov qword [rsp + 0xc8], rax
cmp byte [rsp + 0x98], 0
je 0x14001a779
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14001a779
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001bbfe
mov qword [rsp + 0x88], rcx
call fcn.1400a2cfc
jmp 0x14001a779
lea rcx, [rsp + 0x110]
call fcn.1400d6ae0
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.1400d6ae0
int3
int3
int3
xor eax, eax
mov byte [rsi], al
mov byte [rsi + 8], al
jmp 0x14001aeac
int3
int3
lea rcx, [rsp + 0x60]
call fcn.1400d6ae0
int3
int3
int3
int3
int3
int3
xor r14d, r14d
jmp 0x14001a983
int3
int3
int3
xor r12d, r12d
jmp 0x14001ac59
int3
int3
int3
xor r14d, r14d
xor r15d, r15d
jmp 0x14001aba8
int3
int3
mov rcx, r15
call fcn.1400a2cfc
jmp 0x14001aad5
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
mov byte [rcx + 8], al
jmp 0x14001af46
int3
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
mov byte [rcx + 8], al
jmp 0x14001aeac
test rbx, rbx
je 0x14001bc21
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x80]
mov rcx, rbx
mov r8d, 3
xor r9d, r9d
call fcn.14003d7e0
add rbx, 0x28
jmp 0x14001aad5
lea rcx, [rsp + 0x80]
call fcn.1400d6ae0
int3
xor r9d, r9d
jmp 0x14001b327
int3
int3
int3
int3
int3
int3
int3
lea rbx, [rsp + 0x80]
mov rcx, rbx
call fcn.14003bb50
mov rcx, qword [rbx]
call fcn.1400a2cfc
jmp 0x14001a846
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140019740
mov byte [rbx + 8], 0
jmp 0x14001a81e
xor esi, esi
xor ebx, ebx
jmp 0x14001b272
int3
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x14001aadd
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
mov byte [rcx + 8], al
cmp byte [rsp + 0x98], al
je 0x14001aeac
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14001aeac
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14001bc1e
mov qword [rsp + 0x88], rcx
call fcn.1400a2cfc
jmp 0x14001aeac
int3
xor eax, eax
jmp 0x14001b631
int3
int3
int3
test rax, rax
je 0x14001bc24
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 rbx, qword [rsp + 0x40]
jmp 0x14001a58b
mov rcx, r15
call fcn.1400a2cfc
jmp 0x14001b7c3
test rax, rax
je 0x14001bc27
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 rbx, qword [rsp + 0x40]
jmp 0x14001a255
int3
test r14, r14
je 0x14001b9ef
mov qword [r14], rbx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x98]
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 + 0x118], r14
movabs rbp, 0x666666666666666
mov rdi, qword [rsp + 0x50]
jmp 0x14001b4ac
test rbx, rbx
je 0x14001bc2a
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14003d870
add rbx, 0x28
jmp 0x14001b7c3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140019740
mov byte [rbx + 8], 0
jmp 0x14001b579
int3
int3
int3
int3
int3
int3