Function at 0x14004c0e0
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 rbx, r8
mov rbp, rdx
mov rdi, rcx
mov rax, qword [0x14022b040]
xor rax, rsp
mov qword [rsp + 0x118], rax
movaps xmm6, xmmword [0x1401fa990]
movaps xmmword [rsp + 0xf0], xmm6
xor eax, eax
mov byte [rsp + 0xf0], al
mov byte [rsp + 0xf8], al
lea rdx, [rcx + 0x18]
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xd0]
mov qword [rcx + 0x10], r13
movaps xmmword [rcx], xmm6
call fcn.14004d7e0
cmp byte [rdi + 0x80], 1
je 0x14004c2b0
cmp byte [rdi + 0x63], 1
je 0x14004c3e3
lea r14, [rsp + 0xb0]
mov qword [r14 + 0x10], r13
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.14004d7e0
cmp byte [rdi + 0x82], 1
je 0x14004c349
cmp byte [rdi + 0x83], 1
je 0x14004c5d1
cmp byte [rdi + 0x81], 1
je 0x14004d2b1
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jne 0x14004c1e0
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0xb8]
je 0x14004c9d4
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
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, rbx
mov rdx, r14
call fcn.14004e210
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x14004c295
lea rbx, [rsp + 0xf0]
test al, al
jne 0x14004d661
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.14003d8f0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x108], 1
jne 0x14004c26d
lea rcx, [rsp + 0x100]
call fcn.1400408b0
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x14004cb0d
mov rbx, qword [rsp + 0x58]
mov rcx, rsi
cmp rbx, rsi
je 0x14004cb03
add rbx, 0xffffffffffffffe8
jmp 0x14004caed
test al, al
je 0x14004c256
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.1400476e0
jmp 0x14004c256
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
call fcn.14011ece0
lea rdx, [rsp + 0x100]
mov rcx, r14
call fcn.1400febf0
mov rcx, qword [r14]
test rcx, rcx
jne 0x14004c509
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jb 0x14004d616
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x100]
mov rcx, r14
mov rdx, r15
call fcn.14004da60
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x14004c16c
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x108], rcx
call fcn.140130d24
jmp 0x14004c16c
lea r15, [rsp + 0x50]
mov rcx, rbx
mov rdx, r15
call fcn.14011ece0
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.1400febf0
mov rcx, qword [r15]
test rcx, rcx
jne 0x14004c52b
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x14004d67a
lea r15, [rsp + 0xb0]
lea r12, [rsp + 0x100]
mov rcx, r15
mov rdx, r12
call fcn.14004da60
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x14004c19e
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x108], rcx
call fcn.140130d24
jmp 0x14004c19e
mov qword [rsp + 0x38], rbp
mov rdx, qword [rbx]
lea r15, [rsp + 0x50]
mov rcx, r15
mov r8d, 2
call fcn.140121920
mov r14, qword [r15]
mov rbp, qword [r15 + 8]
cmp r14, rbp
je 0x14004c716
mov qword [rsp + 0x40], rbx
lea r15, [rsp + 0x100]
xorps xmm7, xmm7
mov rsi, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x14004c498
mov rcx, r14
mov rdx, r15
call fcn.1400febf0
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jae 0x14004c4cc
test rax, rax
je 0x14004c507
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 r14, 0x20
cmp r14, rbp
je 0x14004c70c
mov eax, dword [r14 + 0x18]
cmp eax, 0xbfffffff
ja 0x14004c48b
and eax, 0x20
jne 0x14004c48b
mov r12, qword [rdi + 0x68]
mov rbx, qword [rdi + 0x70]
cmp r12, rbx
je 0x14004c427
mov rdx, qword [r14]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x14004c48b
add r12, 0x18
jmp 0x14004c4b0
lea rcx, [rsp + 0xd0]
mov rdx, r15
call fcn.14004da60
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
test rcx, rcx
je 0x14004c48b
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14004c54d
ud2
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004c2dc
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004c375
mov qword [rsp + 0x108], rcx
call fcn.140130d24
jmp 0x14004c48b
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004cd0f
mov rcx, r13
mov rdx, r12
call fcn.14004da60
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
test rcx, rcx
je 0x14004c677
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x108], rcx
call fcn.140130d24
jmp 0x14004c677
mov rdx, qword [rbx]
lea r12, [rsp + 0x50]
mov rcx, r12
mov r8d, 2
call fcn.140121920
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
cmp r15, rsi
je 0x14004c685
lea r12, [rsp + 0x100]
xorps xmm7, xmm7
lea r13, [rsp + 0xb0]
test byte [r15 + 0x18], 0x20
jne 0x14004c677
mov rcx, r15
mov rdx, r12
call fcn.1400febf0
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jae 0x14004c581
test rax, rax
je 0x14004c507
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 r15, 0x20
cmp r15, rsi
jne 0x14004c60c
mov r15, qword [rsp + 0x50]
test r15, r15
je 0x14004c1ab
mov rsi, qword [rsp + 0x58]
mov rcx, r15
cmp rsi, r15
je 0x14004c6c1
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x14004c507
mov rcx, qword [rsi]
test rcx, rcx
jne 0x14004c6d0
lea rax, [rsi - 0x20]
cmp rsi, r15
mov rsi, rax
jne 0x14004c69f
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r15
call fcn.140130d24
jmp 0x14004c1ab
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
jmp 0x14004d55a
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsi + 8], rcx
call fcn.140130d24
jmp 0x14004c746
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
test r14, r14
mov rbp, qword [rsp + 0x38]
je 0x14004c176
mov rsi, qword [rsp + 0x58]
mov rcx, r14
cmp rsi, r14
je 0x14004c757
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x14004c507
mov rcx, qword [rsi]
test rcx, rcx
jne 0x14004c6eb
lea rax, [rsi - 0x20]
cmp rsi, r14
mov rsi, rax
jne 0x14004c735
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r14
call fcn.140130d24
jmp 0x14004c176
lea r12, [rsp + 0x68]
lea rdx, [rsp + 0x50]
movabs r15, 0xcccccccccccccccd
xorps xmm6, xmm6
mov qword [rsp + 0x38], rbp
mov rsi, qword [rbx + 0x18]
mov ebp, dword [rbx + 0x20]
mov rcx, rbx
call fcn.1400febf0
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x70], ebp
mov rsi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rsi, rax
jb 0x14004d77a
mov rcx, qword [rsp + 0x90]
sub rsi, rcx
sar rsi, 3
imul rsi, r15
lea rbp, [rsi + 1]
cmp rbp, r13
ja 0x14004d5ac
sub rax, rcx
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
movabs rcx, 0x333333333333333
cmp rax, rcx
cmovae rbp, r13
test rbp, rbp
je 0x14004d725
cmp rbp, r13
ja 0x14004d5a7
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.140130ce8
lea r15, [rsi + rsi*4]
shl r15, 3
add r15, rax
je 0x14004c507
movups xmmword [r15], xmm6
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [r15], rdx
mov rdx, qword [rsp + 0x58]
mov qword [r15 + 8], rdx
mov rdx, qword [rsp + 0x60]
mov qword [r15 + 0x10], rdx
mov qword [rsp + 0x60], rcx
movaps xmmword [rsp + 0x50], xmm6
mov ecx, dword [r12 + 8]
mov dword [r15 + 0x20], ecx
mov rcx, qword [r12]
mov qword [r15 + 0x18], rcx
mov r12, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rcx, r12
sub rcx, rsi
lea r10, [r15 + rcx]
jne 0x14004c925
lea rcx, [rbp*4]
add rcx, rbp
lea rax, [rax + rcx*8]
add r15, 0x28
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], rax
test r12, r12
je 0x14004c8c5
mov rcx, r12
call fcn.140130d24
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x98], r15
test rcx, rcx
mov rbp, qword [rsp + 0x38]
lea r12, [rsp + 0x68]
movabs r15, 0xcccccccccccccccd
jne 0x14004c902
add rbx, 0x28
cmp rbx, r14
lea rdx, [rsp + 0x50]
je 0x14004cd20
jmp 0x14004c782
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004c8eb
mov r9, r12
mov rcx, r10
test rcx, rcx
je 0x14004c507
movups xmmword [rcx], xmm6
xor r8d, r8d
mov qword [rcx + 0x10], r8
mov rdx, qword [r9]
mov qword [rcx], rdx
mov rdx, qword [r9 + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [r9 + 0x10]
mov qword [rcx + 0x10], rdx
mov qword [r9 + 0x10], r8
movups xmmword [r9], xmm6
mov edx, dword [r9 + 0x20]
mov dword [rcx + 0x20], edx
mov rdx, qword [r9 + 0x18]
mov qword [rcx + 0x18], rdx
add r9, 0x28
add rcx, 0x28
cmp r9, rsi
jne 0x14004c92b
test r12, r12
je 0x14004c507
mov rcx, qword [r12]
test rcx, rcx
jne 0x14004c9a0
add r12, 0x28
cmp r12, rsi
jne 0x14004c978
mov r12, qword [rsp + 0x90]
jmp 0x14004c88d
mov r8, qword [r12 + 8]
mov rdx, r8
sub rdx, rcx
dec r8
cmp rdx, r8
ja 0x14004c507
jmp 0x14004d584
test al, al
je 0x14004ca22
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x50]
call fcn.1400476e0
jmp 0x14004ca22
cmp byte [rdi + 0x61], 1
je 0x14004c1e0
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.14004e120
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x14004c9bc
lea rbx, [rsp + 0xf0]
test al, al
jne 0x14004d769
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14003d8f0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x58], 1
jne 0x14004cb0d
lea rcx, [rsp + 0x50]
call fcn.1400408b0
jmp 0x14004cb0d
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x14004c507
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, rbp
jne 0x14004ca47
test r15, r15
je 0x14004c507
mov rcx, qword [r15]
test rcx, rcx
jne 0x14004cab8
add r15, 0x28
cmp r15, rbp
jne 0x14004ca91
mov r15, qword [rsp + 0x90]
jmp 0x14004ccb8
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [r15 + 8], rcx
call fcn.140130d24
jmp 0x14004caa2
mov rcx, qword [rbx]
call fcn.140130d24
lea rax, [rbx - 0x18]
cmp rbx, rsi
mov rbx, rax
je 0x14004cafe
test rbx, rbx
je 0x14004c507
cmp byte [rbx + 0x17], 0
js 0x14004cad9
jmp 0x14004cae1
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rsi
call fcn.140130d24
mov al, byte [rsp + 0xf8]
test al, al
je 0x14004d5ce
cmp byte [rdi + 0x61], 1
jne 0x14004cb44
cmp byte [rdi + 0x62], 1
jne 0x14004cb44
lea rcx, [rsp + 0xf0]
call fcn.14004dea0
test al, al
je 0x14004d5ce
mov al, byte [rsp + 0xf8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
movaps xmmword [rsp + 0x80], xmm6
test al, 1
je 0x14004c507
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.140121c00
cmp byte [rbx + 8], 0
je 0x14004d5c1
movabs r13, 0x666666666666666
movabs rsi, 0x333333333333333
cmp byte [rdi + 0x60], 1
jne 0x14004d33e
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
cmp byte [rsp + 0xf8], 0
je 0x14004c507
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.14004dc10
cmp byte [rbx + 0x18], 1
jne 0x14004d6c5
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x14004d5e8
mov rcx, qword [rsp + 0x90]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea r12, [rbx + 1]
cmp r12, r13
ja 0x14004d5ac
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, r12
cmova r12, rcx
cmp rax, rsi
cmovae r12, r13
test r12, r12
je 0x14004d5b9
cmp r12, r13
ja 0x14004d5a7
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.140130ce8
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x14004c507
mov r13, rbp
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.1400febf0
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov rax, r15
sub rax, rbp
lea rsi, [rbx + rax]
jne 0x14004ca3c
lea rax, [r12 + r12*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rax
test r15, r15
mov rbp, r13
jne 0x14004d5db
movabs r13, 0x666666666666666
mov qword [rsp + 0x98], rbx
cmp byte [rsp + 0x68], 1
jne 0x14004cd0f
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x14004c55f
mov rbx, qword [rdi + 0x30]
mov r14, qword [rdi + 0x38]
cmp rbx, r14
jne 0x14004c766
cmp byte [rsp + 0xf8], 0
je 0x14004c507
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.14011ece0
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.1400febf0
mov rcx, qword [rbx]
test rcx, rcx
movabs rsi, 0x333333333333333
jne 0x14004d038
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x14004d08a
mov rcx, qword [rsp + 0x90]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea r12, [rbx + 1]
cmp r12, r13
ja 0x14004d5ac
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, r12
cmova r12, rcx
cmp rax, rsi
cmovae r12, r13
test r12, r12
je 0x14004d672
cmp r12, r13
ja 0x14004d5a7
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.140130ce8
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x14004c507
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.1400febf0
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov rax, r15
sub rax, r13
lea rsi, [rbx + rax]
jne 0x14004d148
lea rax, [r12 + r12*4]
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rax
test r15, r15
je 0x14004ce76
mov rcx, r15
call fcn.140130d24
mov qword [rsp + 0x98], rbx
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jne 0x14004d05e
cmp byte [rsp + 0x88], 0
je 0x14004c507
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x90]
call fcn.140047db0
test al, al
je 0x14004d5c1
cmp byte [rsp + 0xf8], 0
je 0x14004c507
cmp byte [rsp + 0x88], 0
je 0x14004c507
mov rax, qword [rsp + 0x80]
lea r8, [rsp + 0x50]
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 0x14004d5c1
cmp byte [rdi + 0x5c], 1
jne 0x14004cf33
cmp byte [rsp + 0xf8], 0
je 0x14004c507
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0xf0]
call fcn.14004dd30
test al, al
je 0x14004d5c1
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
cmp byte [rsp + 0xf8], 1
jne 0x14004cf62
test rbp, rbp
je 0x14004c507
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.14003d8f0
mov byte [rbp + 8], 1
cmp byte [rsp + 0x88], 1
jne 0x14004cf8a
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x80], 0
test rcx, rcx
je 0x14004cf8a
call fcn.1401310d8
mov rsi, qword [rsp + 0x90]
test rsi, rsi
je 0x14004cfe1
mov rdi, qword [rsp + 0x98]
mov rcx, rsi
cmp rdi, rsi
je 0x14004cfd4
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x14004c507
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14004d0c1
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x14004cfab
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rsi
call fcn.140130d24
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x14004d0dc
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
jne 0x14004d1e5
cmp byte [rsp + 0xf8], 1
jne 0x14004d01a
lea rcx, [rsp + 0xf0]
call fcn.1400408b0
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
cmp rcx, qword [0x14022b040]
je 0x14004d24b
call fcn.1401335a0
int3
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004cd69
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x108], rcx
call fcn.140130d24
jmp 0x14004ce8f
test rbx, rbx
je 0x14004c507
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.1400febf0
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x14004ce76
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
jmp 0x14004d568
mov rdi, qword [rsp + 0xb8]
mov rcx, rsi
cmp rdi, rsi
je 0x14004d115
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x14004c507
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14004d127
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x14004d0f0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.140130d24
jmp 0x14004cff2
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rdi + 8], rcx
call fcn.140130d24
jmp 0x14004d101
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x14004c507
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 0x14004d153
test r15, r15
je 0x14004c507
mov rcx, qword [r15]
test rcx, rcx
jne 0x14004d1c4
add r15, 0x28
cmp r15, r13
jne 0x14004d19d
mov r15, qword [rsp + 0x90]
jmp 0x14004ce45
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [r15 + 8], rcx
call fcn.140130d24
jmp 0x14004d1ae
mov rdi, qword [rsp + 0xd8]
mov rcx, rsi
cmp rdi, rsi
je 0x14004d21e
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x14004c507
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14004d230
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x14004d1f9
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rsi
call fcn.140130d24
jmp 0x14004d003
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
jmp 0x14004d576
mov rax, rbp
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
test rax, rax
je 0x14004c507
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x10], rdx
mov qword [rsp + 0x60], rcx
movaps xmmword [rsp + 0x50], xmm0
add rax, 0x18
jmp 0x14004d2f6
lea r15, [rsp + 0x50]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.14004dc10
mov al, byte [r15 + 0x18]
cmp al, 1
jne 0x14004d302
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x14004d272
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x50]
call fcn.14004da60
mov qword [rsp + 0xb8], rax
mov al, byte [rsp + 0x68]
test al, 1
je 0x14004c1b8
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14004c1b8
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004c1b8
mov qword [rsp + 0x38], rbp
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x14004d72c
mov rcx, qword [rsp + 0x90]
sub rbx, rcx
sar rbx, 3
movabs rdx, 0xcccccccccccccccd
imul rbx, rdx
lea rbp, [rbx + 1]
cmp rbp, r13
ja 0x14004d5ac
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
cmp rax, rsi
cmovae rbp, r13
test rbp, rbp
je 0x14004d71d
cmp rbp, r13
ja 0x14004d5a7
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.140130ce8
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x14004c507
lea r15, [rsp + 0x50]
mov rcx, r15
mov edx, 0xa
call fcn.14004fba0
mov rax, qword [r15]
lea r12, [rsp + 0x100]
mov qword [r12], rax
movups xmm0, xmmword [r15 + 8]
movups xmmword [r12 + 8], xmm0
mov rcx, r12
mov rdx, rbx
call fcn.1400febf0
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov rcx, qword [r12]
test rcx, rcx
jne 0x14004d491
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rax, r15
sub rax, r12
lea rsi, [rbx + rax]
jne 0x14004d4bd
lea rax, [rbp*4]
add rax, rbp
lea rax, [r14 + rax*8]
add rbx, 0x28
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rax
test r15, r15
jne 0x14004d75c
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x98], rbx
jmp 0x14004cd0f
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x108], rcx
call fcn.140130d24
jmp 0x14004d42f
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x14004c507
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, r12
jne 0x14004d4c8
test r15, r15
je 0x14004c507
mov rcx, qword [r15]
test rcx, rcx
jne 0x14004d539
add r15, 0x28
cmp r15, r12
jne 0x14004d512
mov r15, qword [rsp + 0x90]
jmp 0x14004d44b
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [r15 + 8], rcx
call fcn.140130d24
jmp 0x14004d523
mov qword [rsi + 8], rcx
call fcn.140130d24
jmp 0x14004c6b0
mov qword [rdi + 8], rcx
call fcn.140130d24
jmp 0x14004cfc0
mov qword [rdi + 8], rcx
call fcn.140130d24
jmp 0x14004d20a
mov qword [r12 + 8], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r10
call fcn.140130d24
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
jmp 0x14004c98a
call fcn.14016cc10
lea rcx, [rsp + 0x90]
call fcn.14016d350
xor r14d, r14d
jmp 0x14004cc68
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x14004cf62
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x14004cfe1
mov rcx, r15
call fcn.140130d24
jmp 0x14004cce8
test rbx, rbx
je 0x14004c507
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.1400febf0
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x14004ccf2
test rax, rax
je 0x14004c507
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 0x14004c16c
mov rcx, rbx
call fcn.1400408b0
mov byte [rbx + 8], 0
jmp 0x14004c256
xor r14d, r14d
jmp 0x14004cdef
test rax, rax
je 0x14004c507
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 0x14004c19e
call qword [0x14021fb48]
cmp eax, 0x490
je 0x14004ccfa
xor eax, eax
mov byte [rbp], al
mov rsi, rbp
mov byte [rbp + 8], al
cmp byte [rsp + 0x68], 1
jne 0x14004d6f2
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x14004d6fa
mov rbp, rsi
jmp 0x14004cf62
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x14004c507
mov qword [rsp + 0x58], rcx
call fcn.140130d24
jmp 0x14004d6f2
xor r14d, r14d
jmp 0x14004d3c9
xor eax, eax
jmp 0x14004c81d
test rbx, rbx
je 0x14004c507
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14006c030
add rbx, 0x28
jmp 0x14004d47f
mov rcx, r15
call fcn.140130d24
jmp 0x14004d47f
mov rcx, rbx
call fcn.1400408b0
mov byte [rbx + 8], 0
jmp 0x14004ca22
test rsi, rsi
je 0x14004c507
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
xor eax, eax
mov qword [rsi + 0x10], rax
mov rcx, qword [rsp + 0x50]
mov qword [rsi], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsi + 8], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsi + 0x10], rcx
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x50], xmm0
mov eax, dword [r12 + 8]
mov dword [rsi + 0x20], eax
mov rax, qword [r12]
mov qword [rsi + 0x18], rax
add rsi, 0x28
mov qword [rsp + 0x98], rsi
mov rbp, qword [rsp + 0x38]
jmp 0x14004c8eb