Function at 0x140042070
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 [0x1402b7040]
xor rax, rsp
mov qword [rsp + 0x118], rax
movaps xmm6, xmmword [0x140275a70]
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.1401dacc0
cmp byte [rdi + 0x80], 1
je 0x140042240
cmp byte [rdi + 0x63], 1
je 0x140042373
lea r14, [rsp + 0xb0]
mov qword [r14 + 0x10], r13
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.1401dacc0
cmp byte [rdi + 0x82], 1
je 0x1400422d9
cmp byte [rdi + 0x83], 1
je 0x140042561
cmp byte [rdi + 0x81], 1
je 0x14004324a
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jne 0x140042170
mov rax, qword [rsp + 0xb0]
cmp rax, qword [rsp + 0xb8]
je 0x140042964
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.140044050
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x140042225
lea rbx, [rsp + 0xf0]
test al, al
jne 0x1400435ec
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.14002fb90
mov byte [rbx + 8], 1
cmp byte [rsp + 0x108], 1
jne 0x1400421fd
lea rcx, [rsp + 0x100]
call fcn.140032b50
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x140042a9d
mov rbx, qword [rsp + 0x58]
mov rcx, rsi
cmp rsi, rbx
je 0x140042a93
add rbx, 0xffffffffffffffe8
jmp 0x140042a7d
test al, al
je 0x1400421e6
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x100]
call fcn.14003c200
jmp 0x1400421e6
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
call fcn.140183260
lea rdx, [rsp + 0x100]
mov rcx, r14
call fcn.14015abf0
mov rcx, qword [r14]
test rcx, rcx
jne 0x140042499
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jb 0x1400435a1
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x100]
mov rcx, r14
mov rdx, r15
call fcn.1400438a0
mov rcx, qword [r15]
mov qword [r14 + 8], rax
test rcx, rcx
je 0x1400420fc
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x108], rcx
call fcn.14019cac4
jmp 0x1400420fc
lea r15, [rsp + 0x50]
mov rcx, rbx
mov rdx, r15
call fcn.140183260
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.14015abf0
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400424bb
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x140043605
lea r15, [rsp + 0xb0]
lea r12, [rsp + 0x100]
mov rcx, r15
mov rdx, r12
call fcn.1400438a0
mov rcx, qword [r12]
mov qword [r15 + 8], rax
test rcx, rcx
je 0x14004212e
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x108], rcx
call fcn.14019cac4
jmp 0x14004212e
mov qword [rsp + 0x38], rbp
mov rdx, qword [rbx]
lea r15, [rsp + 0x50]
mov rcx, r15
mov r8d, 2
call fcn.140186b20
mov r14, qword [r15]
mov rbp, qword [r15 + 8]
cmp r14, rbp
je 0x1400426a6
mov qword [rsp + 0x40], rbx
lea r15, [rsp + 0x100]
xorps xmm7, xmm7
mov rsi, qword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x140042428
mov rcx, r14
mov rdx, r15
call fcn.14015abf0
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xe0]
jae 0x14004245c
test rax, rax
je 0x140042497
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 0x14004269c
mov eax, dword [r14 + 0x18]
cmp eax, 0xbfffffff
ja 0x14004241b
and eax, 0x20
jne 0x14004241b
mov r12, qword [rdi + 0x68]
mov rbx, qword [rdi + 0x70]
cmp r12, rbx
je 0x1400423b7
mov rdx, qword [r14]
mov rcx, qword [r12]
call rsi
test eax, eax
jne 0x14004241b
add r12, 0x18
jmp 0x140042440
lea rcx, [rsp + 0xd0]
mov rdx, r15
call fcn.1400438a0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
test rcx, rcx
je 0x14004241b
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
jbe 0x1400424dd
ud2
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x14004226c
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x140042305
mov qword [rsp + 0x108], rcx
call fcn.14019cac4
jmp 0x14004241b
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x140042c9f
mov rcx, r13
mov rdx, r12
call fcn.1400438a0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
test rcx, rcx
je 0x140042607
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x108], rcx
call fcn.14019cac4
jmp 0x140042607
mov rdx, qword [rbx]
lea r12, [rsp + 0x50]
mov rcx, r12
mov r8d, 2
call fcn.140186b20
mov r15, qword [r12]
mov rsi, qword [r12 + 8]
cmp r15, rsi
je 0x140042615
lea r12, [rsp + 0x100]
xorps xmm7, xmm7
lea r13, [rsp + 0xb0]
test byte [r15 + 0x18], 0x20
jne 0x140042607
mov rcx, r15
mov rdx, r12
call fcn.14015abf0
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jae 0x140042511
test rax, rax
je 0x140042497
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 0x14004259c
mov r15, qword [rsp + 0x50]
test r15, r15
je 0x14004213b
mov rsi, qword [rsp + 0x58]
mov rcx, r15
cmp r15, rsi
je 0x140042651
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x140042497
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140042660
lea rax, [rsi - 0x20]
cmp rsi, r15
mov rsi, rax
jne 0x14004262f
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r15
call fcn.14019cac4
jmp 0x14004213b
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
jmp 0x1400434f3
mov rax, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsi + 8], rcx
call fcn.14019cac4
jmp 0x1400426d6
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
test r14, r14
mov rbp, qword [rsp + 0x38]
je 0x140042106
mov rsi, qword [rsp + 0x58]
mov rcx, r14
cmp r14, rsi
je 0x1400426e7
add rsi, 0xffffffffffffffe0
test rsi, rsi
je 0x140042497
mov rcx, qword [rsi]
test rcx, rcx
jne 0x14004267b
lea rax, [rsi - 0x20]
cmp rsi, r14
mov rsi, rax
jne 0x1400426c5
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], r14
call fcn.14019cac4
jmp 0x140042106
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.14015abf0
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x70], ebp
mov rsi, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rsi, rax
jb 0x140043705
mov rcx, qword [rsp + 0x90]
sub rsi, rcx
sar rsi, 3
imul rsi, r15
lea rbp, [rsi + 1]
cmp rbp, r13
ja 0x140043537
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 0x1400436b0
cmp rbp, r13
ja 0x140043532
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.14019ca88
lea r15, [rsi + rsi*4]
shl r15, 3
add r15, rax
je 0x140042497
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 0x1400428b5
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 0x140042855
mov rcx, r12
call fcn.14019cac4
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 0x140042892
add rbx, 0x28
cmp rbx, r14
lea rdx, [rsp + 0x50]
je 0x140042cb0
jmp 0x140042712
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x14004287b
mov r9, r12
mov rcx, r10
test rcx, rcx
je 0x140042497
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 0x1400428bb
test r12, r12
je 0x140042497
mov rcx, qword [r12]
test rcx, rcx
jne 0x140042930
add r12, 0x28
cmp r12, rsi
jne 0x140042908
mov r12, qword [rsp + 0x90]
jmp 0x14004281d
mov r8, qword [r12 + 8]
mov rdx, r8
sub rdx, rcx
dec r8
cmp rdx, r8
ja 0x140042497
jmp 0x14004350f
test al, al
je 0x1400429b2
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x50]
call fcn.14003c200
jmp 0x1400429b2
cmp byte [rdi + 0x61], 1
je 0x140042170
lea r14, [rsp + 0x50]
mov rcx, rbx
mov rdx, r14
mov r8d, 0xf01ff
call fcn.140043f60
mov al, byte [rsp + 0xf8]
cmp al, byte [r14 + 8]
je 0x14004294c
lea rbx, [rsp + 0xf0]
test al, al
jne 0x1400436f4
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14002fb90
mov byte [rbx + 8], 1
cmp byte [rsp + 0x58], 1
jne 0x140042a9d
lea rcx, [rsp + 0x50]
call fcn.140032b50
jmp 0x140042a9d
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x140042497
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 0x1400429d7
test r15, r15
je 0x140042497
mov rcx, qword [r15]
test rcx, rcx
jne 0x140042a48
add r15, 0x28
cmp r15, rbp
jne 0x140042a21
mov r15, qword [rsp + 0x90]
jmp 0x140042c48
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [r15 + 8], rcx
call fcn.14019cac4
jmp 0x140042a32
mov rcx, qword [rbx]
call fcn.14019cac4
lea rax, [rbx - 0x18]
cmp rbx, rsi
mov rbx, rax
je 0x140042a8e
test rbx, rbx
je 0x140042497
cmp byte [rbx + 0x17], 0
js 0x140042a69
jmp 0x140042a71
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rsi
call fcn.14019cac4
mov al, byte [rsp + 0xf8]
test al, al
je 0x140043559
cmp byte [rdi + 0x61], 1
jne 0x140042ad4
cmp byte [rdi + 0x62], 1
jne 0x140042ad4
lea rcx, [rsp + 0xf0]
call fcn.140043ce0
test al, al
je 0x140043559
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 0x140042497
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x80]
mov rdx, rbx
call fcn.140186e00
cmp byte [rbx + 8], 0
je 0x14004354c
movabs r13, 0x666666666666666
movabs rsi, 0x333333333333333
cmp byte [rdi + 0x60], 1
jne 0x1400432d7
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
cmp byte [rsp + 0xf8], 0
je 0x140042497
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.140043a50
cmp byte [rbx + 0x18], 1
jne 0x140043650
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x140043573
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 0x140043537
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 0x140043544
cmp r12, r13
ja 0x140043532
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.14019ca88
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140042497
mov r13, rbp
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.14015abf0
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 0x1400429cc
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 0x140043566
movabs r13, 0x666666666666666
mov qword [rsp + 0x98], rbx
cmp byte [rsp + 0x68], 1
jne 0x140042c9f
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x1400424ef
mov rbx, qword [rdi + 0x30]
mov r14, qword [rdi + 0x38]
cmp rbx, r14
jne 0x1400426f6
cmp byte [rsp + 0xf8], 0
je 0x140042497
lea rcx, [rsp + 0xf0]
lea rbx, [rsp + 0x50]
mov rdx, rbx
call fcn.140183260
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.14015abf0
mov rcx, qword [rbx]
test rcx, rcx
movabs rsi, 0x333333333333333
jne 0x140042fc8
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x14004301a
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 0x140043537
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 0x1400435fd
cmp r12, r13
ja 0x140043532
lea rax, [r12*8]
lea rcx, [rax + rax*4]
call fcn.14019ca88
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140042497
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.14015abf0
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 0x1400430e1
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 0x140042e06
mov rcx, r15
call fcn.14019cac4
mov qword [rsp + 0x98], rbx
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jne 0x140042fee
cmp byte [rsp + 0x88], 0
je 0x140042497
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x90]
call fcn.14003ca90
test al, al
je 0x14004354c
cmp byte [rsp + 0xf8], 0
je 0x140042497
cmp byte [rsp + 0x88], 0
je 0x140042497
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 0x14004354c
cmp byte [rdi + 0x5c], 1
jne 0x140042ec3
cmp byte [rsp + 0xf8], 0
je 0x140042497
mov edx, dword [rdi + 0x58]
lea rcx, [rsp + 0xf0]
call fcn.140043b70
test al, al
je 0x14004354c
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
cmp byte [rsp + 0xf8], 1
jne 0x140042ef2
test rbp, rbp
je 0x140042497
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.14002fb90
mov byte [rbp + 8], 1
cmp byte [rsp + 0x88], 1
jne 0x140042f1a
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x80], 0
test rcx, rcx
je 0x140042f1a
call fcn.14019ce00
mov rsi, qword [rsp + 0x90]
test rsi, rsi
je 0x140042f71
mov rdi, qword [rsp + 0x98]
mov rcx, rsi
cmp rsi, rdi
je 0x140042f64
add rdi, 0xffffffffffffffd8
test rdi, rdi
je 0x140042497
mov rcx, qword [rdi]
test rcx, rcx
jne 0x140043051
lea rax, [rdi - 0x28]
cmp rdi, rsi
mov rdi, rax
jne 0x140042f3b
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rsi
call fcn.14019cac4
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x140043075
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
jne 0x14004317e
cmp byte [rsp + 0xf8], 1
jne 0x140042faa
lea rcx, [rsp + 0xf0]
call fcn.140032b50
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
cmp rcx, qword [0x1402b7040]
je 0x1400431e4
call fcn.14019f290
int3
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x140042cf9
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x108], rcx
call fcn.14019cac4
jmp 0x140042e1f
test rbx, rbx
je 0x140042497
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.14015abf0
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140042e06
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rdi + 8], rcx
call fcn.14019cac4
jmp 0x140042f50
mov rdi, qword [rsp + 0xb8]
mov rcx, rsi
cmp rsi, rdi
je 0x1400430ae
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x140042497
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400430c0
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140043089
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rsi
call fcn.14019cac4
jmp 0x140042f82
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rdi + 8], rcx
call fcn.14019cac4
jmp 0x14004309a
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x140042497
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 0x1400430ec
test r15, r15
je 0x140042497
mov rcx, qword [r15]
test rcx, rcx
jne 0x14004315d
add r15, 0x28
cmp r15, r13
jne 0x140043136
mov r15, qword [rsp + 0x90]
jmp 0x140042dd5
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [r15 + 8], rcx
call fcn.14019cac4
jmp 0x140043147
mov rdi, qword [rsp + 0xd8]
mov rcx, rsi
cmp rsi, rdi
je 0x1400431b7
add rdi, 0xffffffffffffffe8
test rdi, rdi
je 0x140042497
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400431c9
lea rax, [rdi - 0x18]
cmp rdi, rsi
mov rdi, rax
jne 0x140043192
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rsi
call fcn.14019cac4
jmp 0x140042f93
mov rax, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
jmp 0x140043501
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 0x140042497
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 0x14004328f
lea r15, [rsp + 0x50]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov rcx, rbx
mov rdx, r15
call fcn.140043a50
mov al, byte [r15 + 0x18]
cmp al, 1
jne 0x14004329b
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
jb 0x14004320b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x50]
call fcn.1400438a0
mov qword [rsp + 0xb8], rax
mov al, byte [rsp + 0x68]
test al, 1
je 0x140042148
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140042148
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x140042148
mov qword [rsp + 0x38], rbp
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jb 0x1400436b7
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 0x140043537
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 0x1400436a8
cmp rbp, r13
ja 0x140043532
lea rax, [rbp*8]
lea rcx, [rax + rax*4]
call fcn.14019ca88
mov r14, rax
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rbx, r14
je 0x140042497
lea r15, [rsp + 0x50]
mov rcx, r15
mov edx, 0xa
call fcn.140045a50
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.14015abf0
movabs rax, 0x1000000000000000
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x20], 0
mov rcx, qword [r12]
test rcx, rcx
jne 0x14004342a
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rax, r15
sub rax, r12
lea rsi, [rbx + rax]
jne 0x140043456
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 0x1400436e7
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x98], rbx
jmp 0x140042c9f
mov rax, qword [rsp + 0x108]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x108], rcx
call fcn.14019cac4
jmp 0x1400433c8
xorps xmm0, xmm0
xor eax, eax
mov rcx, r15
mov rdx, rsi
test rdx, rdx
je 0x140042497
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 0x140043461
test r15, r15
je 0x140042497
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400434d2
add r15, 0x28
cmp r15, r12
jne 0x1400434ab
mov r15, qword [rsp + 0x90]
jmp 0x1400433e4
mov rax, qword [r15 + 8]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [r15 + 8], rcx
call fcn.14019cac4
jmp 0x1400434bc
mov qword [rsi + 8], rcx
call fcn.14019cac4
jmp 0x140042640
mov qword [rdi + 8], rcx
call fcn.14019cac4
jmp 0x1400431a3
mov qword [r12 + 8], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r10
call fcn.14019cac4
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
jmp 0x14004291a
call fcn.1401dc2e0
lea rcx, [rsp + 0x90]
call fcn.1401dca40
xor r14d, r14d
jmp 0x140042bf8
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x140042ef2
xor eax, eax
mov byte [rbp], al
mov byte [rbp + 8], al
jmp 0x140042f71
mov rcx, r15
call fcn.14019cac4
jmp 0x140042c78
test rbx, rbx
je 0x140042497
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.14015abf0
mov qword [rbx + 0x18], 3
mov dword [rbx + 0x20], 0
add rbx, 0x28
jmp 0x140042c82
test rax, rax
je 0x140042497
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 0x1400420fc
mov rcx, rbx
call fcn.140032b50
mov byte [rbx + 8], 0
jmp 0x1400421e6
xor r14d, r14d
jmp 0x140042d7f
test rax, rax
je 0x140042497
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 0x14004212e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x490
je 0x140042c8a
xor eax, eax
mov byte [rbp], al
mov rsi, rbp
mov byte [rbp + 8], al
cmp byte [rsp + 0x68], 1
jne 0x14004367d
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x140043685
mov rbp, rsi
jmp 0x140042ef2
mov rax, qword [rsp + 0x58]
mov rdx, rax
sub rdx, rcx
dec rax
cmp rdx, rax
ja 0x140042497
mov qword [rsp + 0x58], rcx
call fcn.14019cac4
jmp 0x14004367d
xor r14d, r14d
jmp 0x140043362
xor eax, eax
jmp 0x1400427ad
test rbx, rbx
je 0x140042497
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
mov r9d, 0x10000000
call fcn.14006a540
add rbx, 0x28
jmp 0x140043418
mov rcx, r15
call fcn.14019cac4
jmp 0x140043418
mov rcx, rbx
call fcn.140032b50
mov byte [rbx + 8], 0
jmp 0x1400429b2
test rsi, rsi
je 0x140042497
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 0x14004287b