Function at 0x14003db20
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 rsi, r8
mov r15, rdx
mov rdi, rcx
mov rax, qword [0x140231028]
xor rax, rsp
mov qword [rsp + 0x128], rax
movaps xmm6, xmmword [0x1401fd0c0]
movaps xmmword [rsp + 0x100], xmm6
xor eax, eax
mov byte [rsp + 0x100], al
mov byte [rsp + 0x108], al
lea rdx, [rcx + 0x18]
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xe0]
mov qword [rcx + 0x10], r12
movaps xmmword [rcx], xmm6
call fcn.14003f740
cmp byte [rdi + 0x80], 1
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rsi
je 0x14003ea39
cmp byte [rdi + 0x63], 1
jne 0x14003ddcb
mov rdx, qword [rsi]
lea r14, [rsp + 0x80]
mov rcx, r14
mov r8d, 2
call fcn.14003fce0
mov rsi, qword [r14]
mov rbp, qword [r14 + 8]
cmp rsi, rbp
je 0x14003dd59
xorps xmm7, xmm7
lea r15, [rsp + 0x110]
mov rbx, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x14003dd0f
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.14003f580
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
test rcx, rcx
je 0x14003dd06
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f25c
mov qword [rsp + 0x118], rcx
call fcn.1401298a0
jmp 0x14003dd06
mov r12, qword [rsi]
mov r13, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub r13, r12
je 0x14003dcad
js 0x14003f218
mov rcx, r13
call fcn.1401298a8
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.14012dd60
mov qword [rsp + 0x118], r14
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jae 0x14003dc00
test rax, rax
je 0x14003f23d
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 0x14003dd42
mov eax, dword [rsi + 0x18]
cmp eax, 0xbfffffff
ja 0x14003dd06
and eax, 0x20
jne 0x14003dd06
mov r12, qword [rdi + 0x68]
mov r13, qword [rdi + 0x70]
cmp r12, r13
je 0x14003dc55
mov rdx, qword [rsi]
mov rcx, qword [r12]
call rbx
test eax, eax
jne 0x14003dd06
add r12, 0x18
jmp 0x14003dd26
mov rsi, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
movabs r12, 0xaaaaaaaaaaaaaaaa
test rsi, rsi
je 0x14003ddc6
mov rbx, qword [rsp + 0x88]
mov rcx, rsi
cmp rbx, rsi
je 0x14003ddb9
add rbx, 0xffffffffffffffe0
jmp 0x14003dd89
mov qword [rbx + 8], rcx
call fcn.1401298a0
lea rax, [rbx - 0x20]
cmp rbx, rsi
mov rbx, rax
je 0x14003ddb1
test rbx, rbx
je 0x14003f228
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003dd7d
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14003dd74
jmp 0x14003f237
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.1401298a0
mov rsi, qword [rsp + 0x48]
lea r14, [rsp + 0xc0]
mov qword [r14 + 0x10], r12
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.14003f740
cmp byte [rdi + 0x82], 1
jne 0x14003def6
lea r12, [rsp + 0x80]
mov rcx, rsi
mov rdx, r12
call fcn.140031590
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 0x14003de66
js 0x14003f218
mov rcx, r12
call fcn.1401298a8
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.14012dd60
mov qword [rsp + 0x118], rbx
test r15, r15
je 0x14003de87
dec rsi
cmp r12, rsi
ja 0x14003f378
mov qword [rsp + 0x88], r15
mov rcx, r15
call fcn.1401298a0
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14003f405
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
call fcn.14003f580
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
je 0x14003def6
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f37b
mov qword [rsp + 0x118], rcx
call fcn.1401298a0
cmp byte [rdi + 0x83], 1
jne 0x14003e0dc
mov rdx, qword [rsi]
lea r15, [rsp + 0x80]
mov rcx, r15
mov r8d, 2
call fcn.14003fce0
mov rsi, qword [r15]
mov rbx, qword [r15 + 8]
cmp rsi, rbx
je 0x14003e065
xorps xmm7, xmm7
lea r15, [rsp + 0xc0]
lea r12, [rsp + 0x110]
jmp 0x14003df91
test rax, rax
je 0x14003f231
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 0x14003e055
test byte [rsi + 0x18], 0x20
jne 0x14003df84
mov r13, qword [rsi]
mov rbp, qword [rsi + 8]
movaps xmmword [rsp + 0x110], xmm7
mov qword [rsp + 0x120], 0
sub rbp, r13
je 0x14003dfef
js 0x14003f218
mov rcx, rbp
call fcn.1401298a8
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.14012dd60
mov qword [rsp + 0x118], r14
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14003df41
mov rcx, r15
mov rdx, r12
call fcn.14003f580
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
test rcx, rcx
je 0x14003df84
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f25f
mov qword [rsp + 0x118], rcx
call fcn.1401298a0
jmp 0x14003df84
mov rsi, qword [rsp + 0x80]
lea r14, [rsp + 0xc0]
test rsi, rsi
mov r15, qword [rsp + 0x40]
je 0x14003e0d7
mov rbx, qword [rsp + 0x88]
mov rcx, rsi
cmp rbx, rsi
je 0x14003e0ca
add rbx, 0xffffffffffffffe0
jmp 0x14003e09a
mov qword [rbx + 8], rcx
call fcn.1401298a0
lea rax, [rbx - 0x20]
cmp rbx, rsi
mov rbx, rax
je 0x14003e0c2
test rbx, rbx
je 0x14003f22b
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e08e
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14003e085
jmp 0x14003f23a
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rsi
call fcn.1401298a0
mov rsi, qword [rsp + 0x48]
cmp byte [rdi + 0x81], 1
je 0x14003f170
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rsp + 0xe8]
jne 0x14003e111
mov rax, qword [rsp + 0xc0]
cmp rax, qword [rsp + 0xc8]
je 0x14003ee72
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, rsi
mov rdx, r14
call fcn.1400400b0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x14003ea17
lea rbx, [rsp + 0x100]
test al, al
jne 0x14003f367
lea rdx, [rsp + 0x110]
mov rcx, rbx
call fcn.14003a190
mov byte [rbx + 8], 1
cmp byte [rsp + 0x118], 1
jne 0x14003e1a5
lea rcx, [rsp + 0x110]
call fcn.1400317e0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
jne 0x14003f30b
mov al, byte [rsp + 0x108]
test al, al
je 0x14003f2b4
cmp byte [rdi + 0x61], 1
jne 0x14003e1ed
cmp byte [rdi + 0x62], 1
jne 0x14003e1ed
lea rcx, [rsp + 0x100]
call fcn.14003fee0
test al, al
je 0x14003f2b4
mov al, byte [rsp + 0x108]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 0
movaps xmmword [rsp + 0xb0], xmm6
test al, 1
je 0x14003f265
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0xb0]
mov rdx, rbx
call fcn.14003fa80
cmp byte [rbx + 8], 0
je 0x14003f24e
movabs rbp, 0x666666666666666
movabs r14, 0x333333333333333
cmp byte [rdi + 0x60], 1
jne 0x14003ef01
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
cmp byte [rsp + 0x108], 0
je 0x14003f281
lea rcx, [rsp + 0x100]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.14003fb70
cmp byte [rbx + 0x18], 1
jne 0x14003f37e
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x14003f2d8
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 0x14003f284
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 0x14003f287
cmp rsi, rbp
ja 0x14003f28f
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1401298a8
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x14003f292
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 0x14003e379
js 0x14003f243
mov rcx, r12
call fcn.1401298a8
mov qword [rbx], rax
lea r13, [rax + r12]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14012dd60
mov qword [rbx + 8], r13
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x110]
mov r13, qword [rsp + 0x118]
mov rax, r15
sub rax, r13
lea r12, [rbx + rax]
je 0x14003e43e
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, r12
test rdx, rdx
je 0x14003f328
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 0x14003e3b3
test r15, r15
je 0x14003f32b
mov rcx, qword [r15]
test rcx, rcx
je 0x14003e42d
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f32e
mov qword [r15 + 8], rcx
call fcn.1401298a0
add r15, 0x28
cmp r15, r13
jne 0x14003e3fd
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 0x14003f2c2
mov qword [rsp + 0x118], rbx
cmp byte [rsp + 0x98], 1
jne 0x14003e4b1
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14003e4b1
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f2d5
mov qword [rsp + 0x88], rcx
call fcn.1401298a0
mov r12, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
cmp r12, rax
jne 0x14003eb42
cmp byte [rsp + 0x108], 0
je 0x14003f268
lea rcx, [rsp + 0x100]
lea r14, [rsp + 0x80]
mov rdx, r14
call fcn.140031590
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 0x14003f2a9
js 0x14003f26b
mov rcx, r12
call fcn.1401298a8
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.14012dd60
mov qword [rsp + 0x68], r15
test rbx, rbx
je 0x14003e55f
dec rsi
cmp r12, rsi
ja 0x14003f2cf
mov qword [rsp + 0x88], rbx
mov rcx, rbx
call fcn.1401298a0
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x14003ee0d
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 0x14003f295
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 0x14003f298
cmp rsi, rbp
ja 0x14003f2a0
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1401298a8
mov r12, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r12
je 0x14003f2a3
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x14003e63e
js 0x14003f243
mov rcx, r15
call fcn.1401298a8
mov qword [rbx], rax
lea r13, [rax + r15]
mov qword [rbx + 0x10], r13
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.14012dd60
mov qword [rbx + 8], r13
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov r14, qword [rsp + 0x110]
mov r13, qword [rsp + 0x118]
mov rax, r14
sub rax, r13
lea r15, [rbx + rax]
je 0x14003e709
xorps xmm0, xmm0
xor eax, eax
mov rcx, r14
mov rdx, r15
test rdx, rdx
je 0x14003f331
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 0x14003e67e
test r14, r14
je 0x14003f334
mov rcx, qword [r14]
test rcx, rcx
je 0x14003e6f8
mov rax, qword [r14 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f337
mov qword [r14 + 8], rcx
call fcn.1401298a0
add r14, 0x28
cmp r14, r13
jne 0x14003e6c8
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 0x14003e73a
mov rcx, r14
call fcn.1401298a0
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x118], rbx
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14003e76d
mov rax, qword [rsp + 0x68]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f2d2
call fcn.1401298a0
cmp byte [rsp + 0xb8], 0
je 0x14003f275
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x110]
call fcn.140045e30
test al, al
je 0x14003f24e
cmp byte [rsp + 0x108], 0
je 0x14003f278
cmp byte [rsp + 0xb8], 0
je 0x14003f27b
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 0x14003f24e
cmp byte [rdi + 0x5c], 1
jne 0x14003e814
cmp byte [rsp + 0x108], 0
je 0x14003f2a6
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14003f920
test al, al
je 0x14003f24e
xor eax, eax
mov byte [r15], al
mov byte [r15 + 8], al
cmp byte [rsp + 0x108], 1
jne 0x14003e845
test r15, r15
je 0x14003f27e
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.14003a190
mov byte [r15 + 8], 1
cmp byte [rsp + 0xb8], 1
jne 0x14003e86d
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], 0
test rcx, rcx
je 0x14003e86d
call fcn.1401298e4
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x14003e8df
mov rdi, qword [rsp + 0x118]
mov rcx, rsi
cmp rdi, rsi
je 0x14003e8d2
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x14003f24b
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003e8be
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f262
mov qword [rdi + 8], rcx
call fcn.1401298a0
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x14003e88e
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x118], rsi
call fcn.1401298a0
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x14003e954
mov rdi, qword [rsp + 0xc8]
mov rcx, rsi
cmp rdi, rsi
je 0x14003e947
add rdi, 0xffffffffffffffe8
jmp 0x14003e917
mov qword [rdi + 8], rcx
call fcn.1401298a0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14003e93f
test rdi, rdi
je 0x14003f225
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003e90b
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14003e902
jmp 0x14003f234
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rsi
call fcn.1401298a0
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x14003e9c9
mov rdi, qword [rsp + 0xe8]
mov rcx, rsi
cmp rdi, rsi
je 0x14003e9bc
add rdi, 0xffffffffffffffe8
jmp 0x14003e98c
mov qword [rdi + 8], rcx
call fcn.1401298a0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
je 0x14003e9b4
test rdi, rdi
je 0x14003f22e
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003e980
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14003e977
jmp 0x14003f240
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rsi
call fcn.1401298a0
cmp byte [rsp + 0x108], 1
jne 0x14003e9e0
lea rcx, [rsp + 0x100]
call fcn.1400317e0
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.14012c2d0
mov rax, r15
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 0x14003e18e
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x110]
call fcn.140046db0
jmp 0x14003e18e
lea r15, [rsp + 0x80]
mov rcx, rsi
mov rdx, r15
call fcn.140031590
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 0x14003eaaa
js 0x14003f218
mov rcx, r15
call fcn.1401298a8
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.14012dd60
mov qword [rsp + 0x118], rbx
test r14, r14
je 0x14003eacb
dec rsi
cmp r15, rsi
ja 0x14003f3ec
mov qword [rsp + 0x88], r14
mov rcx, r14
call fcn.1401298a0
mov rax, qword [rsp + 0xe8]
cmp rax, qword [rsp + 0xf0]
jb 0x14003f467
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x110]
mov rcx, r14
mov rdx, r15
call fcn.14003f580
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
je 0x14003dbb6
mov rax, qword [rsp + 0x118]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f3ef
mov qword [rsp + 0x118], rcx
call fcn.1401298a0
jmp 0x14003dbb6
xorps xmm6, xmm6
mov qword [rsp + 0x48], 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 0x14003f3e3
js 0x14003f33a
mov rcx, r15
call fcn.1401298a8
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.14012dd60
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 0x14003f4bf
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 0x14003f347
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 0x14003f34a
cmp rsi, rbp
ja 0x14003f352
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1401298a8
mov r9, rax
lea r15, [r14 + r14*4]
shl r15, 3
add r15, r9
je 0x14003f355
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 r14, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
mov rax, r14
sub rax, rbx
lea r13, [r15 + rax]
je 0x14003ed94
mov rax, r14
mov rcx, r13
test rcx, rcx
je 0x14003f35b
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, rbx
jne 0x14003ecfe
test r14, r14
je 0x14003f35e
mov rcx, qword [r14]
test rcx, rcx
je 0x14003ed83
mov qword [rsp + 0x58], r9
mov rax, qword [r14 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f361
mov qword [r14 + 8], rcx
call fcn.1401298a0
mov r9, qword [rsp + 0x58]
add r14, 0x28
cmp r14, rbx
jne 0x14003ed49
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 0x14003edc5
mov rcx, r14
call fcn.1401298a0
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x118], r15
test rcx, rcx
je 0x14003edf9
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f358
call fcn.1401298a0
add r12, 0x28
cmp r12, qword [rsp + 0x48]
je 0x14003e4c2
jmp 0x14003eb4f
test rbx, rbx
je 0x14003f402
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
sub r15, r14
je 0x14003ee54
js 0x14003f243
mov rcx, r15
call fcn.1401298a8
mov qword [rbx], rax
lea rsi, [rax + r15]
mov qword [rbx + 0x10], rsi
mov rcx, rax
mov rdx, r14
mov r8, r15
call fcn.14012dd60
mov qword [rbx + 8], rsi
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x14003e73a
cmp byte [rdi + 0x61], 1
je 0x14003e111
lea r14, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
mov r8d, 0xf01ff
call fcn.14003ffd0
mov al, byte [rsp + 0x108]
cmp al, byte [r14 + 8]
je 0x14003eee6
lea rbx, [rsp + 0x100]
test al, al
jne 0x14003f558
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.14003a190
mov byte [rbx + 8], 1
cmp byte [rsp + 0x88], 1
jne 0x14003e1b6
lea rcx, [rsp + 0x80]
call fcn.1400317e0
jmp 0x14003e1b6
test al, al
je 0x14003eec6
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x80]
call fcn.140046db0
jmp 0x14003eec6
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp rbx, rax
jb 0x14003f520
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 0x14003f3f2
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 0x14003f3f5
cmp rsi, rbp
ja 0x14003f3fc
lea rax, [rsi*8]
lea rcx, [rax + rax*4]
call fcn.1401298a8
lea rbx, [rbx + rbx*4]
shl rbx, 3
mov qword [rsp + 0x48], rax
add rbx, rax
je 0x14003f3ff
lea r12, [rsp + 0x80]
mov rcx, r12
mov edx, 0xa
call fcn.140049eb0
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 0x14003efff
js 0x14003f243
mov r14, rbp
mov rcx, r12
call fcn.1401298a8
mov qword [rbx], rax
lea rbp, [rax + r12]
mov qword [rbx + 0x10], rbp
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.14012dd60
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 0x14003f02d
dec r13
cmp r12, r13
ja 0x14003f4bc
mov rcx, r15
call fcn.1401298a0
mov r15, qword [rsp + 0x110]
mov r13, qword [rsp + 0x118]
mov rax, r15
sub rax, r13
lea r12, [rbx + rax]
je 0x14003f0e3
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, r12
test rdx, rdx
je 0x14003f54f
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 0x14003f058
test r15, r15
je 0x14003f552
mov rcx, qword [r15]
test rcx, rcx
je 0x14003f0d2
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f555
mov qword [r15 + 8], rcx
call fcn.1401298a0
add r15, 0x28
cmp r15, r13
jne 0x14003f0a2
mov r15, qword [rsp + 0x110]
lea rax, [rsi + rsi*4]
mov rcx, qword [rsp + 0x48]
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 0x14003f45a
mov qword [rsp + 0x118], rbx
jmp 0x14003e4b1
test rax, rax
je 0x14003f569
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 0x14003f1bf
lea r15, [rsp + 0x80]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rsi
mov rdx, r15
call fcn.14003fb70
mov al, byte [r15 + 0x18]
cmp al, 1
jne 0x14003f1ce
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
jb 0x14003f122
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
call fcn.14003f580
mov qword [rsp + 0xc8], rax
mov al, byte [rsp + 0x98]
test al, 1
mov r15, qword [rsp + 0x40]
je 0x14003e0e9
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14003e0e9
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f54c
mov qword [rsp + 0x88], rcx
call fcn.1401298a0
jmp 0x14003e0e9
lea rcx, [rsp + 0x110]
call fcn.140163630
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.140163630
int3
xor eax, eax
mov byte [r15], al
mov byte [r15 + 8], al
jmp 0x14003e845
int3
int3
int3
int3
int3
lea rcx, [rsp + 0x60]
call fcn.140163630
int3
int3
int3
int3
int3
int3
xor r14d, r14d
jmp 0x14003e31a
int3
int3
int3
xor r12d, r12d
jmp 0x14003e5ef
int3
int3
int3
xor r14d, r14d
xor r15d, r15d
jmp 0x14003e53e
xor eax, eax
mov byte [r15], al
mov byte [r15 + 8], al
jmp 0x14003e8df
mov rcx, r15
call fcn.1401298a0
jmp 0x14003e46b
int3
int3
int3
test rbx, rbx
je 0x14003f56f
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x80]
mov rcx, rbx
mov r8d, 3
xor r9d, r9d
call fcn.14006cf60
add rbx, 0x28
jmp 0x14003e46b
lea rbx, [rsp + 0x80]
mov rcx, rbx
call fcn.14011d110
mov rcx, qword [rbx]
call fcn.1401298a0
jmp 0x14003e1b6
int3
int3
int3
int3
int3
int3
lea rcx, [rsp + 0x80]
call fcn.140163630
int3
xor r9d, r9d
jmp 0x14003ec74
int3
int3
int3
int3
int3
int3
int3
mov rcx, rbx
call fcn.1400317e0
mov byte [rbx + 8], 0
jmp 0x14003e18e
int3
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x14003e473
xor eax, eax
mov rcx, qword [rsp + 0x40]
mov byte [rcx], al
mov byte [rcx + 8], al
cmp byte [rsp + 0x98], 1
jne 0x14003f3d9
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14003f3d9
mov rax, qword [rsp + 0x88]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14003f56c
mov qword [rsp + 0x88], rcx
call fcn.1401298a0
mov r15, qword [rsp + 0x40]
jmp 0x14003e845
xor esi, esi
xor ebx, ebx
jmp 0x14003ebbf
int3
int3
int3
xor eax, eax
jmp 0x14003ef84
int3
int3
int3
test rax, rax
je 0x14003f572
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 r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x14003def6
mov rcx, r15
call fcn.1401298a0
jmp 0x14003f115
test rax, rax
je 0x14003f575
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 r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x14003dbb6
int3
test r14, r14
je 0x14003f364
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 0x14003edf9
test rbx, rbx
je 0x14003f578
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14006cff0
add rbx, 0x28
jmp 0x14003f115
int3
int3
int3
int3
mov rcx, rbx
call fcn.1400317e0
mov byte [rbx + 8], 0
jmp 0x14003eec6
int3
int3
int3
int3
int3
int3