Function at 0x140041fa0
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 [0x1402db040]
xor rax, rsp
mov qword [rsp + 0x118], rax
movaps xmm6, xmmword [0x140299a90]
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.1401e82f0
cmp byte [rdi + 0x80], 1
je 0x140042170
cmp byte [rdi + 0x63], 1
je 0x1400422a3
lea r14, [rsp + 0xb0]
mov qword [r14 + 0x10], r13
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.1401e82f0
cmp byte [rdi + 0x82], 1
je 0x140042209
cmp byte [rdi + 0x83], 1
je 0x140042491
cmp byte [rdi + 0x81], 1
je 0x14004317a
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jne 0x1400420a0
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0xb8]
je 0x140042894
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.140043f80
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x140042155
lea rbx, [rsp + 0xf0]
test al, al
jne 0x14004351c
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.14002fac0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x108], 1
jne 0x14004212d
lea rcx, [rsp + 0x100]
call fcn.140032a80
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x1400429cd
mov rbx, qword [rsp + 0x58]
mov rcx, rsi
cmp rsi, rbx
je 0x1400429c3
add rbx, 0xffffffffffffffe8
jmp 0x1400429ad
test al, al
je 0x140042116
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.14003c130
jmp 0x140042116
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
call fcn.14018f970
lea rdx, [rsp + 0x100]
mov rcx, r14
call fcn.140167690
mov rcx, qword [r14]
test rcx, rcx
jne 0x1400423c9
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jb 0x1400434d1
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x100]
mov rcx, r14
mov rdx, r15
call fcn.1400437d0
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x14004202c
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x108], rcx
call fcn.1401a9dc4
jmp 0x14004202c
lea r15, [rsp + 0x50]
mov rcx, rbx
mov rdx, r15
call fcn.14018f970
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.140167690
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400423eb
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x140043535
lea r15, [rsp + 0xb0]
lea r12, [rsp + 0x100]
mov rcx, r15
mov rdx, r12
call fcn.1400437d0
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x14004205e
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x108], rcx
call fcn.1401a9dc4
jmp 0x14004205e
mov qword [rsp + 0x38], rbp
mov rdx, qword [rbx]
lea r15, [rsp + 0x50]
mov rcx, r15
mov r8d, 2
call fcn.140193230
mov r14, qword [r15]
mov rbp, qword [r15 + 8]
cmp r14, rbp
je 0x1400425d6
mov qword [rsp + 0x40], rbx
lea r15, [rsp + 0x100]
xorps xmm7, xmm7
mov rsi, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x140042358
mov rcx, r14
mov rdx, r15
call fcn.140167690
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jae 0x14004238c
test rax, rax
je 0x1400423c7
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 0x1400425cc
mov eax, dword [r14 + 0x18]
cmp eax, 0xbfffffff
ja 0x14004234b
and eax, 0x20
jne 0x14004234b
mov r12, qword [rdi + 0x68]
mov rbx, qword [rdi + 0x70]
cmp r12, rbx
je 0x1400422e7
mov rdx, qword [r14]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x14004234b
add r12, 0x18
jmp 0x140042370
lea rcx, [rsp + 0xd0]
mov rdx, r15
call fcn.1400437d0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
test rcx, rcx
je 0x14004234b
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x14004240d
ud2
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x14004219c
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x140042235
mov qword [rsp + 0x108], rcx
call fcn.1401a9dc4
jmp 0x14004234b
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x140042bcf
mov rcx, r13
mov rdx, r12
call fcn.1400437d0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
test rcx, rcx
je 0x140042537
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x108], rcx
call fcn.1401a9dc4
jmp 0x140042537
mov rdx, qword [rbx]
lea r12, [rsp + 0x50]
mov rcx, r12
mov r8d, 2
call fcn.140193230
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
cmp r15, rsi
je 0x140042545
lea r12, [rsp + 0x100]
xorps xmm7, xmm7
lea r13, [rsp + 0xb0]
test byte [r15 + 0x18], 0x20
jne 0x140042537
mov rcx, r15
mov rdx, r12
call fcn.140167690
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jae 0x140042441
test rax, rax
je 0x1400423c7
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 0x1400424cc
mov r15, qword [rsp + 0x50]
test r15, r15
je 0x14004206b
mov rsi, qword [rsp + 0x58]
mov rcx, r15
cmp r15, rsi
je 0x140042581
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x1400423c7
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140042590
lea rax, [rsi - 0x20]
cmp rsi, r15
mov rsi, rax
jne 0x14004255f
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r15
call fcn.1401a9dc4
jmp 0x14004206b
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
jmp 0x140043423
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsi + 8], rcx
call fcn.1401a9dc4
jmp 0x140042606
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
test r14, r14
mov rbp, qword [rsp + 0x38]
je 0x140042036
mov rsi, qword [rsp + 0x58]
mov rcx, r14
cmp r14, rsi
je 0x140042617
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x1400423c7
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400425ab
lea rax, [rsi - 0x20]
cmp rsi, r14
mov rsi, rax
jne 0x1400425f5
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r14
call fcn.1401a9dc4
jmp 0x140042036
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.140167690
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x70], ebp
mov rsi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rsi, rax
jb 0x140043635
mov rcx, qword [rsp + 0x90]
sub rsi, rcx
sar rsi, 3
imul rsi, r15
lea rbp, [rsi + 1]
cmp rbp, r13
ja 0x140043467
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 0x1400435e0
cmp rbp, r13
ja 0x140043462
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.1401a9d88
lea r15, [rsi + rsi*4]
shl r15, 3
add r15, rax
je 0x1400423c7
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 0x1400427e5
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 0x140042785
mov rcx, r12
call fcn.1401a9dc4
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 0x1400427c2
add rbx, 0x28
cmp rbx, r14
lea rdx, [rsp + 0x50]
je 0x140042be0
jmp 0x140042642
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x1400427ab
mov r9, r12
mov rcx, r10
test rcx, rcx
je 0x1400423c7
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 0x1400427eb
test r12, r12
je 0x1400423c7
mov rcx, qword [r12]
test rcx, rcx
jne 0x140042860
add r12, 0x28
cmp r12, rsi
jne 0x140042838
mov r12, qword [rsp + 0x90]
jmp 0x14004274d
mov r8, qword [r12 + 8]
mov rdx, r8
sub rdx, rcx
dec r8
cmp rdx, r8
ja 0x1400423c7
jmp 0x14004343f
test al, al
je 0x1400428e2
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x50]
call fcn.14003c130
jmp 0x1400428e2
cmp byte [rdi + 0x61], 1
je 0x1400420a0
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.140043e90
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x14004287c
lea rbx, [rsp + 0xf0]
test al, al
jne 0x140043624
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14002fac0
mov byte [rbx + 8], 1
cmp byte [rsp + 0x58], 1
jne 0x1400429cd
lea rcx, [rsp + 0x50]
call fcn.140032a80
jmp 0x1400429cd
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x1400423c7
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 0x140042907
test r15, r15
je 0x1400423c7
mov rcx, qword [r15]
test rcx, rcx
jne 0x140042978
add r15, 0x28
cmp r15, rbp
jne 0x140042951
mov r15, qword [rsp + 0x90]
jmp 0x140042b78
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [r15 + 8], rcx
call fcn.1401a9dc4
jmp 0x140042962
mov rcx, qword [rbx]
call fcn.1401a9dc4
lea rax, [rbx - 0x18]
cmp rbx, rsi
mov rbx, rax
je 0x1400429be
test rbx, rbx
je 0x1400423c7
cmp byte [rbx + 0x17], 0
js 0x140042999
jmp 0x1400429a1
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rsi
call fcn.1401a9dc4
mov al, byte [rsp + 0xf8]
test al, al
je 0x140043489
cmp byte [rdi + 0x61], 1
jne 0x140042a04
cmp byte [rdi + 0x62], 1
jne 0x140042a04
lea rcx, [rsp + 0xf0]
call fcn.140043c10
test al, al
je 0x140043489
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 0x1400423c7
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.140193510
cmp byte [rbx + 8], 0
je 0x14004347c
movabs r13, 0x666666666666666
movabs rsi, 0x333333333333333
cmp byte [rdi + 0x60], 1
jne 0x140043207
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
cmp byte [rsp + 0xf8], 0
je 0x1400423c7
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.140043980
cmp byte [rbx + 0x18], 1
jne 0x140043580
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x1400434a3
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 0x140043467
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 0x140043474
cmp r12, r13
ja 0x140043462
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.1401a9d88
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x1400423c7
mov r13, rbp
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140167690
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 0x1400428fc
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 0x140043496
movabs r13, 0x666666666666666
mov qword [rsp + 0x98], rbx
cmp byte [rsp + 0x68], 1
jne 0x140042bcf
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x14004241f
mov rbx, qword [rdi + 0x30]
mov r14, qword [rdi + 0x38]
cmp rbx, r14
jne 0x140042626
cmp byte [rsp + 0xf8], 0
je 0x1400423c7
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.14018f970
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.140167690
mov rcx, qword [rbx]
test rcx, rcx
movabs rsi, 0x333333333333333
jne 0x140042ef8
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x140042f4a
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 0x140043467
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 0x14004352d
cmp r12, r13
ja 0x140043462
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.1401a9d88
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x1400423c7
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.140167690
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 0x140043011
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 0x140042d36
mov rcx, r15
call fcn.1401a9dc4
mov qword [rsp + 0x98], rbx
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jne 0x140042f1e
cmp byte [rsp + 0x88], 0
je 0x1400423c7
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x90]
call fcn.14003c9c0
test al, al
je 0x14004347c
cmp byte [rsp + 0xf8], 0
je 0x1400423c7
cmp byte [rsp + 0x88], 0
je 0x1400423c7
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 0x14004347c
cmp byte [rdi + 0x5c], 1
jne 0x140042df3
cmp byte [rsp + 0xf8], 0
je 0x1400423c7
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0xf0]
call fcn.140043aa0
test al, al
je 0x14004347c
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
cmp byte [rsp + 0xf8], 1
jne 0x140042e22
test rbp, rbp
je 0x1400423c7
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.14002fac0
mov byte [rbp + 8], 1
cmp byte [rsp + 0x88], 1
jne 0x140042e4a
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x80], 0
test rcx, rcx
je 0x140042e4a
call fcn.1401aa100
mov rsi, qword [rsp + 0x90]
test rsi, rsi
je 0x140042ea1
mov rdi, qword [rsp + 0x98]
mov rcx, rsi
cmp rsi, rdi
je 0x140042e94
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x1400423c7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140042f81
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x140042e6b
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rsi
call fcn.1401a9dc4
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140042fa5
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
jne 0x1400430ae
cmp byte [rsp + 0xf8], 1
jne 0x140042eda
lea rcx, [rsp + 0xf0]
call fcn.140032a80
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
cmp rcx, qword [0x1402db040]
je 0x140043114
call fcn.1401ac870
int3
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x140042c29
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x108], rcx
call fcn.1401a9dc4
jmp 0x140042d4f
test rbx, rbx
je 0x1400423c7
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.140167690
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140042d36
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rdi + 8], rcx
call fcn.1401a9dc4
jmp 0x140042e80
mov rdi, qword [rsp + 0xb8]
mov rcx, rsi
cmp rsi, rdi
je 0x140042fde
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x1400423c7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140042ff0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140042fb9
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.1401a9dc4
jmp 0x140042eb2
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rdi + 8], rcx
call fcn.1401a9dc4
jmp 0x140042fca
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x1400423c7
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 0x14004301c
test r15, r15
je 0x1400423c7
mov rcx, qword [r15]
test rcx, rcx
jne 0x14004308d
add r15, 0x28
cmp r15, r13
jne 0x140043066
mov r15, qword [rsp + 0x90]
jmp 0x140042d05
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [r15 + 8], rcx
call fcn.1401a9dc4
jmp 0x140043077
mov rdi, qword [rsp + 0xd8]
mov rcx, rsi
cmp rsi, rdi
je 0x1400430e7
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x1400423c7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400430f9
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x1400430c2
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rsi
call fcn.1401a9dc4
jmp 0x140042ec3
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
jmp 0x140043431
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 0x1400423c7
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 0x1400431bf
lea r15, [rsp + 0x50]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.140043980
mov al, byte [r15 + 0x18]
cmp al, 1
jne 0x1400431cb
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x14004313b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x50]
call fcn.1400437d0
mov qword [rsp + 0xb8], rax
mov al, byte [rsp + 0x68]
test al, 1
je 0x140042078
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140042078
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x140042078
mov qword [rsp + 0x38], rbp
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x1400435e7
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 0x140043467
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 0x1400435d8
cmp rbp, r13
ja 0x140043462
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.1401a9d88
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x1400423c7
lea r15, [rsp + 0x50]
mov rcx, r15
mov edx, 0xa
call fcn.140045980
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.140167690
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov rcx, qword [r12]
test rcx, rcx
jne 0x14004335a
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rax, r15
sub rax, r12
lea rsi, [rbx + rax]
jne 0x140043386
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 0x140043617
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x98], rbx
jmp 0x140042bcf
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x108], rcx
call fcn.1401a9dc4
jmp 0x1400432f8
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x1400423c7
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 0x140043391
test r15, r15
je 0x1400423c7
mov rcx, qword [r15]
test rcx, rcx
jne 0x140043402
add r15, 0x28
cmp r15, r12
jne 0x1400433db
mov r15, qword [rsp + 0x90]
jmp 0x140043314
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [r15 + 8], rcx
call fcn.1401a9dc4
jmp 0x1400433ec
mov qword [rsi + 8], rcx
call fcn.1401a9dc4
jmp 0x140042570
mov qword [rdi + 8], rcx
call fcn.1401a9dc4
jmp 0x1400430d3
mov qword [r12 + 8], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r10
call fcn.1401a9dc4
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
jmp 0x14004284a
call fcn.1401e9820
lea rcx, [rsp + 0x90]
call fcn.1401e9f80
xor r14d, r14d
jmp 0x140042b28
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x140042e22
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x140042ea1
mov rcx, r15
call fcn.1401a9dc4
jmp 0x140042ba8
test rbx, rbx
je 0x1400423c7
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140167690
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140042bb2
test rax, rax
je 0x1400423c7
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 0x14004202c
mov rcx, rbx
call fcn.140032a80
mov byte [rbx + 8], 0
jmp 0x140042116
xor r14d, r14d
jmp 0x140042caf
test rax, rax
je 0x1400423c7
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 0x14004205e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x140042bba
xor eax, eax
mov byte [rbp], al
mov rsi, rbp
mov byte [rbp + 8], al
cmp byte [rsp + 0x68], 1
jne 0x1400435ad
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x1400435b5
mov rbp, rsi
jmp 0x140042e22
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x1400423c7
mov qword [rsp + 0x58], rcx
call fcn.1401a9dc4
jmp 0x1400435ad
xor r14d, r14d
jmp 0x140043292
xor eax, eax
jmp 0x1400426dd
test rbx, rbx
je 0x1400423c7
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14006a5f0
add rbx, 0x28
jmp 0x140043348
mov rcx, r15
call fcn.1401a9dc4
jmp 0x140043348
mov rcx, rbx
call fcn.140032a80
mov byte [rbx + 8], 0
jmp 0x1400428e2
test rsi, rsi
je 0x1400423c7
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 0x1400427ab