Function at 0x1801bacb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xd0], xmm8
movdqa xmmword [rsp + 0xc0], xmm7
movdqa xmmword [rsp + 0xb0], xmm6
mov rbx, rdx
mov r13, rcx
movabs rax, 0x8000000000000000
cmp qword [rdx], rax
jne 0x1801bad6b
cmp byte [rbx + 0x51], 0
mov byte [rbx + 0x51], 0
je 0x1801bada2
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x1801bae98
mov rdi, qword [rbx + 0x28]
mov rax, rdx
dec rax
je 0x1801bae4c
cmp rax, rdx
jae 0x1801bad20
cmp byte [rdi + rax], 0xbf
jle 0x1801bad20
mov rcx, rdx
sub rcx, rax
cmp rcx, 3
je 0x1801bae5e
cmp rcx, 2
je 0x1801baf28
cmp rcx, 1
jne 0x1801baf37
movzx eax, byte [rdi + rax]
add al, 0xf6
cmp al, 4
jb 0x1801bae98
jmp 0x1801baf37
mov r14, qword [rbx + 0x28]
mov r15d, dword [rbx + 0x20]
test r15, r15
je 0x1801badbc
mov rdx, qword [rbx + 0x30]
cmp rdx, r15
jbe 0x1801badcc
cmp byte [r14 + r15], 0xbf
jg 0x1801badce
lea rax, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
xor r8d, r8d
mov r9, r15
call fcn.180201db0
mov r14, qword [rbx + 0x38]
test r14, r14
je 0x1801bae3f
mov rdi, qword [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
jmp 0x1801baf44
cmp byte [rbx + 0x51], 0
mov byte [rbx + 0x51], 0
jne 0x1801bb12c
jmp 0x1801bae2d
jne 0x1801bad88
cmp byte [rbx + 0x51], 0
mov byte [rbx + 0x51], 0
je 0x1801bae2d
mov rax, r15
nop dword [rax + rax]
dec rax
je 0x1801baeb2
cmp rax, r15
jae 0x1801bade0
cmp byte [r14 + rax], 0xbf
jle 0x1801bade0
mov rcx, r15
sub rcx, rax
cmp rcx, 3
je 0x1801baec4
cmp rcx, 2
je 0x1801bb11c
cmp rcx, 1
jne 0x1801bb12c
movzx eax, byte [r14 + rax]
add al, 0xf6
cmp al, 4
jb 0x1801baeff
jmp 0x1801bb12c
mov rsi, qword [rbx + 0x38]
mov edi, 1
test rsi, rsi
jne 0x1801bb132
mov qword [r13], 0
jmp 0x1801bbe77
xor eax, eax
mov rcx, rdx
sub rcx, rax
cmp rcx, 3
jne 0x1801bad44
movzx ecx, word [rdi + rax]
xor ecx, 0x80e2
movzx r8d, byte [rdi + rax + 2]
xor r8d, 0xa8
or r8w, cx
je 0x1801bae98
movzx ecx, word [rdi + rax]
xor ecx, 0x80e2
movzx eax, byte [rdi + rax + 2]
xor eax, 0xa9
or ax, cx
jne 0x1801baf37
dec qword [rbx + 0x40]
lea rcx, [r13 + 8]
mov edx, 1
xor r8d, r8d
call fcn.1801b8040
jmp 0x1801bbe6f
xor eax, eax
mov rcx, r15
sub rcx, rax
cmp rcx, 3
jne 0x1801bae05
movzx ecx, word [r14 + rax]
xor ecx, 0x80e2
movzx edx, byte [r14 + rax + 2]
xor edx, 0xa8
or dx, cx
je 0x1801baeff
movzx ecx, word [r14 + rax]
xor ecx, 0x80e2
movzx eax, byte [r14 + rax + 2]
xor eax, 0xa9
or ax, cx
jne 0x1801bb12c
dec qword [rbx + 0x40]
mov qword [r13 + 8], 0
mov qword [r13 + 0x10], 1
pxor xmm0, xmm0
movdqu xmmword [r13 + 0x18], xmm0
movdqu xmmword [r13 + 0x28], xmm0
jmp 0x1801bbe6f
movzx eax, word [rdi + rax]
cmp eax, 0x85c2
je 0x1801bae98
mov r14, qword [rbx + 0x38]
test r14, r14
je 0x1801bb37a
cmp r14, rdx
jae 0x1801bb033
cmp byte [rdi + r14], 0xbf
jle 0x1801bb039
xor esi, esi
mov rcx, rdi
mov rdx, r14
call fcn.1801c0a60
test rdx, rdx
je 0x1801bb007
add rdx, rax
jmp 0x1801baf8b
mov r8, rcx
mov rdx, r8
cmp r8, rax
je 0x1801bb007
lea r8, [rdx - 1]
movzx ecx, byte [rdx - 1]
lea r9d, [rcx - 0xa8]
cmp r9d, 2
jb 0x1801bafc0
cmp ecx, 0x85
je 0x1801baff0
add ecx, 0xfffffff6
cmp ecx, 4
jae 0x1801baf83
jmp 0x1801bb053
cmp r8, rax
je 0x1801bb007
lea rcx, [rdx - 2]
cmp byte [rdx - 2], 0x80
jne 0x1801baf80
cmp rcx, rax
je 0x1801bb007
cmp byte [rdx - 3], 0xe2
je 0x1801bb053
add rdx, 0xfffffffffffffffd
mov r8, rdx
jmp 0x1801baf83
cmp r8, rax
je 0x1801bb007
cmp byte [rdx - 2], 0xc2
je 0x1801bb053
add rdx, 0xfffffffffffffffe
mov r8, rdx
jmp 0x1801baf83
mov qword [rbx + 0x38], 0
dec qword [rbx + 0x40]
mov rax, qword [rbx + 0x30]
xor r8d, r8d
test sil, sil
jne 0x1801bb091
cmp r14, rax
jae 0x1801bb08f
cmp byte [rdi + r14], 0xbf
jg 0x1801bb091
mov rdx, rax
jmp 0x1801bc48d
je 0x1801baf58
lea rax, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
xor r8d, r8d
mov r9, r14
call fcn.180201db0
sub r8, rax
inc r8
mov qword [rbx + 0x38], r8
dec qword [rbx + 0x40]
mov rdx, qword [rbx + 0x30]
cmp r8, r14
ja 0x1801bc48d
test r8, r8
je 0x1801bbec1
cmp r8, rdx
jae 0x1801bc484
cmp byte [rdi + r8], 0xc0
mov rax, rdx
jge 0x1801bb01a
jmp 0x1801bc48d
jne 0x1801bb02b
mov r12, r14
sub r12, r8
lea rcx, [rdi + r8]
cmp r12, 0x10
jae 0x1801bb0b7
cmp r14, r8
jne 0x1801bb0ea
xor edx, edx
cmp r12, 4
jb 0x1801bb549
jmp 0x1801bb849
lea r9, [rcx + 0xf]
and r9, 0xfffffffffffffff0
mov r10, r9
sub r10, rcx
mov rdx, r12
sub rdx, r10
mov rsi, rdx
shr rsi, 4
mov r10d, edx
mov rbx, r9
sub rbx, rcx
mov qword [rsp + 0x30], r12
jne 0x1801bb0fe
xor r11d, r11d
jmp 0x1801bb61f
cmp r12, 4
jae 0x1801bb46a
xor edx, edx
xor r9d, r9d
jmp 0x1801bb511
mov r15, r9
sub r15, rdi
sub r15, r8
cmp r15, 4
jae 0x1801bb550
xor r11d, r11d
xor r14d, r14d
jmp 0x1801bb600
movzx eax, word [r14 + rax]
cmp eax, 0x85c2
je 0x1801baeff
mov rsi, qword [rbx + 0x38]
xor edi, edi
dec qword [rbx + 0x40]
mov rcx, r14
mov rdx, r15
call fcn.1801c0a60
test rdx, rdx
je 0x1801bb1d7
add rdx, rax
jmp 0x1801bb15b
mov r8, rcx
mov rdx, r8
cmp r8, rax
je 0x1801bb1d7
lea r8, [rdx - 1]
movzx ecx, byte [rdx - 1]
lea r9d, [rcx - 0xa8]
cmp r9d, 2
jb 0x1801bb190
cmp ecx, 0x85
je 0x1801bb1c0
add ecx, 0xfffffff6
cmp ecx, 4
jae 0x1801bb153
jmp 0x1801bb1dc
cmp r8, rax
je 0x1801bb1d7
lea rcx, [rdx - 2]
cmp byte [rdx - 2], 0x80
jne 0x1801bb150
cmp rcx, rax
je 0x1801bb1d7
cmp byte [rdx - 3], 0xe2
je 0x1801bb1dc
add rdx, 0xfffffffffffffffd
mov r8, rdx
jmp 0x1801bb153
cmp r8, rax
je 0x1801bb1d7
cmp byte [rdx - 2], 0xc2
je 0x1801bb1dc
add rdx, 0xfffffffffffffffe
mov r8, rdx
jmp 0x1801bb153
xor r8d, r8d
jmp 0x1801bb1e2
sub r8, rax
inc r8
mov rax, r15
sub rax, r8
mov rcx, rsi
sub rcx, rax
jbe 0x1801bb20e
test r8, r8
je 0x1801bb235
cmp r15, r8
jbe 0x1801bb2d0
cmp byte [r14 + r8], 0xc0
jge 0x1801bb2d6
jmp 0x1801bcdeb
mov r8, r15
sub r8, rsi
je 0x1801bb2c6
cmp r8, r15
jae 0x1801bb35a
cmp byte [r14 + r8], 0xbf
jle 0x1801bcdeb
xor ecx, ecx
jmp 0x1801bb2cb
sub rsi, rax
mov qword [rbx + 0x38], rsi
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x1801bce14
mov rax, qword [rbx + 8]
lea rcx, [rdi - 1]
mov qword [rsp + 0x30], rcx
mov r10, rcx
shl r10, 4
mov qword [rsp + 0x58], rax
mov rax, qword [rax + r10]
mov r11, qword [rax]
cmp byte [r11 + 0x10], 0
je 0x1801bcd37
movzx eax, byte [r11 + 0x3d8]
cmp rax, 0x19
jae 0x1801bce20
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + r10 + 8]
cmp rcx, rax
ja 0x1801bce34
test rcx, rcx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x38], rsi
je 0x1801bbeb0
cmp rcx, 1
jne 0x1801bc0d4
pxor xmm6, xmm6
xor ebp, ebp
xor r13d, r13d
xor eax, eax
jmp 0x1801bc120
xor ecx, ecx
xor r8d, r8d
mov rax, rsi
jmp 0x1801bb2d6
jne 0x1801bcdeb
mov qword [rbx + 0x38], rcx
lea rcx, [r14 + r8]
mov dword [rbx + 0x20], r8d
cmp rax, 0x10
jae 0x1801bb30c
test rax, rax
je 0x1801bb385
mov r9d, eax
and r9d, 3
cmp rax, 4
jae 0x1801bb38e
xor edx, edx
xor r10d, r10d
jmp 0x1801bb40e
lea r12, [rcx + 0xf]
and r12, 0xfffffffffffffff0
mov r10, r12
sub r10, rcx
mov rdx, rax
sub rdx, r10
mov rsi, rdx
shr rsi, 4
mov r10d, edx
mov rbx, r12
sub rbx, rcx
mov qword [rsp + 0x30], r12
jne 0x1801bb33f
xor r11d, r11d
jmp 0x1801bbb3f
sub r12, r14
sub r12, r8
cmp r12, 4
jae 0x1801bba62
xor r11d, r11d
xor r15d, r15d
jmp 0x1801bbb20
test rsi, rsi
jne 0x1801bcdeb
mov qword [rbx + 0x38], 0
add r14, r8
xor eax, eax
mov rcx, r14
xor edx, edx
jmp 0x1801bb446
mov sil, 1
xor r14d, r14d
jmp 0x1801baf5a
xor eax, eax
xor edx, edx
jmp 0x1801bb446
mov r11d, eax
and r11d, 0xc
lea rsi, [r8 + r14]
add rsi, 3
xor edx, edx
xor r10d, r10d
nop word cs:[rax + rax]
movzx ebx, byte [rsi + r10 - 3]
movzx ebp, byte [rsi + r10 - 2]
and bl, 0xc0
xor r15d, r15d
cmp bl, 0x80
setne r15b
add r15, rdx
and bpl, 0xc0
xor edx, edx
cmp bpl, 0x80
setne dl
movzx ebx, byte [rsi + r10 - 1]
and bl, 0xc0
xor r12d, r12d
cmp bl, 0x80
setne r12b
add r12, rdx
add r12, r15
movzx ebx, byte [rsi + r10]
and bl, 0xc0
xor edx, edx
cmp bl, 0x80
setne dl
add rdx, r12
add r10, 4
cmp r11, r10
jne 0x1801bb3b0
test r9, r9
je 0x1801bb43c
add r10, r8
add r10, r14
xor r11d, r11d
nop dword [rax]
movzx ebx, byte [r10 + r11]
and bl, 0xc0
xor esi, esi
cmp bl, 0x80
setne sil
add rdx, rsi
inc r11
cmp r9, r11
jne 0x1801bb420
cmp rax, 4
jae 0x1801bbda1
xor r8d, r8d
mov qword [r13 + 8], 0
mov qword [r13 + 0x10], rcx
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x20], rdx
mov qword [r13 + 0x28], r8
mov qword [r13 + 0x30], rdi
jmp 0x1801bbe6f
mov r9d, r12d
and r9d, 0xc
lea rdx, [r8 + rdi]
add rdx, 2
pxor xmm0, xmm0
xor r10d, r10d
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop dword [rax]
movzx r11d, word [rdx + r10 - 2]
movd xmm5, r11d
movzx r11d, word [rdx + r10]
movd xmm6, r11d
pand xmm5, xmm2
pand xmm6, xmm2
pcmpgtb xmm5, xmm3
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm0, xmm5
pcmpgtb xmm6, xmm3
punpcklbw xmm6, xmm6
pshuflw xmm5, xmm6, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm1, xmm5
add r10, 4
cmp r9, r10
jne 0x1801bb4a0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rdx, xmm0
cmp r12, r9
je 0x1801bb53f
add r9, r8
nop word cs:[rax + rax]
movzx r10d, byte [rdi + r9]
and r10b, 0xc0
xor r11d, r11d
cmp r10b, 0x80
setne r11b
add rdx, r11
inc r9
cmp r14, r9
jne 0x1801bb520
cmp r12, 4
jae 0x1801bb849
xor edi, edi
jmp 0x1801bbe4f
mov r14, r15
and r14, 0xfffffffffffffffc
lea r11, [r8 + rdi]
add r11, 2
pxor xmm0, xmm0
xor r12d, r12d
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx ebp, word [r11 + r12 - 2]
movd xmm5, ebp
movzx ebp, word [r11 + r12]
movd xmm6, ebp
pand xmm5, xmm2
pand xmm6, xmm2
pcmpeqb xmm5, xmm3
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm0, xmm5
pcmpeqb xmm6, xmm3
punpcklbw xmm6, xmm6
pshuflw xmm5, xmm6, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm1, xmm5
add r12, 4
cmp r14, r12
jne 0x1801bb590
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r11, xmm0
cmp r15, r14
je 0x1801bb61f
nop
movzx ebp, byte [rcx + r14]
and bpl, 0xc0
xor r15d, r15d
cmp bpl, 0x80
sete r15b
add r11, r15
inc r14
cmp rbx, r14
jne 0x1801bb600
and r10d, 0xf
movabs rbx, 0xffffffffffffffc
and rbx, rsi
je 0x1801bb6ca
mov r14, rsi
and r14, 0xfffffffffffffffc
neg r14
movdqa xmm0, xmmword [0x180210330]
movdqa xmm1, xmmword [0x1802102b0]
movdqa xmm2, xmmword [0x180210230]
pxor xmm3, xmm3
mov r15, r9
nop
movdqa xmm4, xmmword [r15]
pand xmm4, xmm0
pcmpeqb xmm4, xmm1
pand xmm4, xmm2
movdqa xmm5, xmmword [r15 + 0x10]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r15 + 0x20]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r15 + 0x30]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
psadbw xmm4, xmm3
movq rax, xmm4
add rax, r11
pshufd xmm4, xmm4, 0xee
movq r11, xmm4
add r11, rax
add r15, 0x40
add r14, 4
jne 0x1801bb660
pxor xmm0, xmm0
pxor xmm1, xmm1
and rsi, 3
je 0x1801bb737
shl rbx, 4
add rbx, r9
movdqa xmm1, xmmword [rbx]
pand xmm1, xmmword [0x180210330]
pcmpeqb xmm1, xmmword [0x1802102b0]
pand xmm1, xmmword [0x180210230]
cmp esi, 1
je 0x1801bb737
movdqa xmm2, xmmword [rbx + 0x10]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
cmp esi, 2
je 0x1801bb737
movdqa xmm2, xmmword [rbx + 0x20]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
psadbw xmm1, xmm0
movq rsi, xmm1
pshufd xmm0, xmm1, 0xee
movq rbx, xmm0
test r10, r10
je 0x1801bb771
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r13
mov r15, rdx
and r15, 0xfffffffffffffff0
and edx, 3
cmp r10d, 4
jae 0x1801bb779
xor r12d, r12d
xor r14d, r14d
jmp 0x1801bb7ee
xor r12d, r12d
jmp 0x1801bb82b
sub r10, rdx
lea r13, [r15 + r9]
add r13, 3
xor r12d, r12d
xor r14d, r14d
nop word [rax + rax]
movzx ebp, byte [r13 + r14 - 3]
movzx ebx, byte [r13 + r14 - 2]
and bpl, 0xc0
xor eax, eax
cmp bpl, 0x80
sete al
add rax, r12
and bl, 0xc0
xor r12d, r12d
cmp bl, 0x80
sete r12b
movzx ebx, byte [r13 + r14 - 1]
and bl, 0xc0
xor ebp, ebp
cmp bl, 0x80
sete bpl
add rbp, r12
add rbp, rax
movzx eax, byte [r13 + r14]
and al, 0xc0
xor r12d, r12d
cmp al, 0x80
sete r12b
add r12, rbp
add r14, 4
cmp r10, r14
jne 0x1801bb790
test rdx, rdx
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
je 0x1801bb82b
add r14, r15
add r14, r9
xor r9d, r9d
nop word cs:[rax + rax]
movzx eax, byte [r14 + r9]
and al, 0xc0
xor r10d, r10d
cmp al, 0x80
sete r10b
add r12, r10
inc r9
cmp rdx, r9
jne 0x1801bb810
add rsi, r12
add r11, rbx
add r11, rsi
mov r12, qword [rsp + 0x30]
mov rdx, r12
sub rdx, r11
cmp r12, 4
jb 0x1801bb549
lea rbx, [r12 - 3]
lea r14, [rcx + 0xf]
and r14, 0xfffffffffffffff0
mov r15, r14
sub r15, rcx
mov r9, rbx
sub r9, r15
jae 0x1801bb886
mov esi, 0x10
mov r9d, 1
xor r10d, r10d
xor r11d, r11d
cmp rbx, 4
jae 0x1801bb8b5
xor r8d, r8d
mov r14, rcx
jmp 0x1801bb96f
lea rsi, [rcx + r15]
mov r11, r9
shr r11, 4
mov r10d, r9d
and r10d, 0xf
and r9, 0xfffffffffffffff0
add r9, rsi
cmp r14, rcx
jne 0x1801bb8ac
xor r8d, r8d
jmp 0x1801bb994
mov rbx, r15
cmp rbx, 4
jb 0x1801bb87b
mov r15, rbx
and r15, 0xfffffffffffffffc
lea r14, [rcx + r15]
add r8, rdi
add r8, 2
pxor xmm0, xmm0
xor edi, edi
movdqa xmm2, xmmword [0x18029c450]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx eax, word [r8 + rdi - 2]
movd xmm5, eax
movzx eax, word [r8 + rdi]
movd xmm6, eax
movdqa xmm7, xmm5
pminub xmm7, xmm2
pcmpeqb xmm7, xmm5
pxor xmm7, xmm3
punpcklbw xmm7, xmm7
pshuflw xmm5, xmm7, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm0, xmm5
movdqa xmm5, xmm6
pminub xmm5, xmm2
pcmpeqb xmm5, xmm6
pxor xmm5, xmm3
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm1, xmm5
add rdi, 4
cmp r15, rdi
jne 0x1801bb8f0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r8, xmm0
cmp rbx, r15
je 0x1801bb994
add rbx, rcx
nop word cs:[rax + rax]
cmp byte [r14], 0xf0
lea rax, [r14 + 1]
sbb r8, 0xffffffffffffffff
mov r14, rax
cmp rax, rbx
jne 0x1801bb980
test r11, r11
je 0x1801bba1d
movdqa xmm0, xmmword [0x18029c460]
pxor xmm1, xmm1
nop dword [rax]
cmp r11, 0xff
mov ebx, 0xff
cmovb rbx, r11
mov edi, ebx
shl edi, 4
lea r14, [rsi + rdi]
xor r15d, r15d
pxor xmm2, xmm2
movdqa xmm3, xmmword [rsi + r15]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
psubb xmm2, xmm4
add r15, 0x10
cmp rdi, r15
jne 0x1801bb9d0
psadbw xmm2, xmm1
movq rax, xmm2
add r8, rax
pshufd xmm2, xmm2, 0xee
movq rdi, xmm2
add rdi, r8
mov r8, rdi
mov rsi, r14
sub r11, rbx
jne 0x1801bb9b0
test r10, r10
jne 0x1801bba29
jmp 0x1801bbe4f
mov rdi, r8
test r10, r10
je 0x1801bbe4f
mov r11, r10
and r11, 3
je 0x1801bbe0b
mov rsi, r9
nop dword [rax]
lea r8, [rsi + 1]
cmp byte [rsi], 0xf0
sbb rdi, 0xffffffffffffffff
mov rsi, r8
dec r11
jne 0x1801bba40
cmp r10d, 4
jae 0x1801bbe14
jmp 0x1801bbe4f
mov r9, r13
mov r15, r12
and r15, 0xfffffffffffffffc
lea r11, [r8 + r14]
add r11, 2
pxor xmm0, xmm0
xor r13d, r13d
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word [rax + rax]
movzx ebp, word [r11 + r13 - 2]
movd xmm5, ebp
movzx ebp, word [r11 + r13]
movd xmm6, ebp
pand xmm5, xmm2
pand xmm6, xmm2
pcmpeqb xmm5, xmm3
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm0, xmm5
pcmpeqb xmm6, xmm3
punpcklbw xmm6, xmm6
pshuflw xmm5, xmm6, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm1, xmm5
add r13, 4
cmp r15, r13
jne 0x1801bbaa0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r11, xmm0
cmp r12, r15
mov r13, r9
je 0x1801bbb3f
nop word cs:[rax + rax]
movzx ebp, byte [rcx + r15]
and bpl, 0xc0
xor r12d, r12d
cmp bpl, 0x80
sete r12b
add r11, r12
inc r15
cmp rbx, r15
jne 0x1801bbb20
and r10d, 0xf
movabs rbx, 0xffffffffffffffc
and rbx, rsi
je 0x1801bbc0e
mov r15, rsi
and r15, 0xfffffffffffffffc
neg r15
movdqa xmm0, xmmword [0x180210330]
movdqa xmm1, xmmword [0x1802102b0]
movdqa xmm2, xmmword [0x180210230]
pxor xmm3, xmm3
mov rbp, qword [rsp + 0x30]
mov r12, rbp
nop word cs:[rax + rax]
movdqa xmm4, xmmword [r12]
pand xmm4, xmm0
pcmpeqb xmm4, xmm1
pand xmm4, xmm2
movdqa xmm5, xmmword [r12 + 0x10]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r12 + 0x20]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r12 + 0x30]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
psadbw xmm4, xmm3
movq r9, xmm4
add r9, r11
pshufd xmm4, xmm4, 0xee
movq r11, xmm4
add r11, r9
add r12, 0x40
add r15, 4
jne 0x1801bbb90
pxor xmm0, xmm0
pxor xmm1, xmm1
and rsi, 3
jne 0x1801bbc21
jmp 0x1801bbc80
mov rbp, qword [rsp + 0x30]
pxor xmm0, xmm0
pxor xmm1, xmm1
and rsi, 3
je 0x1801bbc80
shl rbx, 4
add rbx, rbp
movdqa xmm1, xmmword [rbx]
pand xmm1, xmmword [0x180210330]
pcmpeqb xmm1, xmmword [0x1802102b0]
pand xmm1, xmmword [0x180210230]
cmp esi, 1
je 0x1801bbc80
movdqa xmm2, xmmword [rbx + 0x10]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
cmp esi, 2
je 0x1801bbc80
movdqa xmm2, xmmword [rbx + 0x20]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
psadbw xmm1, xmm0
movq rsi, xmm1
pshufd xmm0, xmm1, 0xee
movq rbx, xmm0
test r10, r10
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], rdi
je 0x1801bbcc7
mov qword [rsp + 0x38], rbx
mov r9, rdx
and r9, 0xfffffffffffffff0
and edx, 3
cmp r10d, 4
mov qword [rsp + 0x50], r9
jae 0x1801bbccf
xor r13d, r13d
xor r15d, r15d
jmp 0x1801bbd44
xor r13d, r13d
jmp 0x1801bbd7e
sub r10, rdx
add rbp, r9
add rbp, 3
xor r13d, r13d
xor r15d, r15d
nop
movzx edi, byte [rbp + r15 - 3]
movzx ebx, byte [rbp + r15 - 2]
and dil, 0xc0
xor r9d, r9d
cmp dil, 0x80
sete r9b
add r9, r13
and bl, 0xc0
xor edi, edi
cmp bl, 0x80
sete dil
movzx ebx, byte [rbp + r15 - 1]
and bl, 0xc0
xor r12d, r12d
cmp bl, 0x80
sete r12b
add r12, rdi
add r12, r9
movzx r9d, byte [rbp + r15]
and r9b, 0xc0
xor r13d, r13d
cmp r9b, 0x80
sete r13b
add r13, r12
add r15, 4
cmp r10, r15
jne 0x1801bbce0
test rdx, rdx
mov rbx, qword [rsp + 0x38]
je 0x1801bbd7e
add r15, qword [rsp + 0x50]
add r15, qword [rsp + 0x30]
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [r15 + r9]
and r10b, 0xc0
xor edi, edi
cmp r10b, 0x80
sete dil
add r13, rdi
inc r9
cmp rdx, r9
jne 0x1801bbd60
add rsi, r13
add r11, rbx
add r11, rsi
mov rdx, rax
sub rdx, r11
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
cmp rax, 4
jb 0x1801bb446
lea rbx, [rax - 3]
lea r15, [rcx + 0xf]
and r15, 0xfffffffffffffff0
mov r12, r15
sub r12, rcx
mov r9, rbx
sub r9, r12
jae 0x1801bbde1
mov esi, 0x10
mov r9d, 1
xor r10d, r10d
xor r11d, r11d
cmp rbx, 4
jae 0x1801bbed9
xor r14d, r14d
mov r15, rcx
jmp 0x1801bbf92
lea rsi, [rcx + r12]
mov r11, r9
shr r11, 4
mov r10d, r9d
and r10d, 0xf
and r9, 0xfffffffffffffff0
add r9, rsi
cmp r15, rcx
jne 0x1801bbecc
xor r14d, r14d
jmp 0x1801bbfb4
mov r8, r9
cmp r10d, 4
jb 0x1801bbe4f
add r9, r10
nop word [rax + rax]
cmp byte [r8], 0xf0
sbb rdi, 0xffffffffffffffff
cmp byte [r8 + 1], 0xf0
sbb rdi, 0xffffffffffffffff
cmp byte [r8 + 2], 0xf0
sbb rdi, 0xffffffffffffffff
cmp byte [r8 + 3], 0xf0
lea rax, [r8 + 4]
sbb rdi, 0xffffffffffffffff
mov r8, rax
cmp rax, r9
jne 0x1801bbe20
mov qword [r13 + 8], 0
mov qword [r13 + 0x10], rcx
mov qword [r13 + 0x18], r12
mov qword [r13 + 0x20], rdx
mov qword [r13 + 0x28], rdi
mov qword [r13 + 0x30], 1
mov qword [r13], 1
mov rax, r13
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r14
pxor xmm6, xmm6
xor r13d, r13d
xor ebp, ebp
jmp 0x1801bc147
xor r8d, r8d
mov rax, rdx
jmp 0x1801bb01a
mov rbx, r12
cmp rbx, 4
jb 0x1801bbdd6
mov rbp, rdi
mov r12, rbx
and r12, 0xfffffffffffffffc
lea r15, [rcx + r12]
add r8, r14
add r8, 2
pxor xmm0, xmm0
xor r14d, r14d
movdqa xmm2, xmmword [0x18029c450]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop dword [rax]
movzx edi, word [r8 + r14 - 2]
movd xmm5, edi
movzx edi, word [r8 + r14]
movd xmm6, edi
movdqa xmm7, xmm5
pminub xmm7, xmm2
pcmpeqb xmm7, xmm5
pxor xmm7, xmm3
punpcklbw xmm7, xmm7
pshuflw xmm5, xmm7, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm0, xmm5
movdqa xmm5, xmm6
pminub xmm5, xmm2
pcmpeqb xmm5, xmm6
pxor xmm5, xmm3
punpcklbw xmm5, xmm5
pshuflw xmm5, xmm5, 0xd4
pshufd xmm5, xmm5, 0xd4
pand xmm5, xmm4
paddq xmm1, xmm5
add r14, 4
cmp r12, r14
jne 0x1801bbf10
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r14, xmm0
cmp rbx, r12
mov rdi, rbp
je 0x1801bbfb4
add rbx, rcx
nop word cs:[rax + rax]
cmp byte [r15], 0xf0
lea r8, [r15 + 1]
sbb r14, 0xffffffffffffffff
mov r15, r8
cmp r8, rbx
jne 0x1801bbfa0
test r11, r11
je 0x1801bc04d
movdqa xmm0, xmmword [0x18029c460]
pxor xmm1, xmm1
nop dword [rax]
cmp r11, 0xff
mov ebx, 0xff
cmovb rbx, r11
mov r8d, ebx
shl r8d, 4
lea r15, [rsi + r8]
xor r12d, r12d
pxor xmm2, xmm2
nop word cs:[rax + rax]
movdqa xmm3, xmmword [rsi + r12]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
psubb xmm2, xmm4
add r12, 0x10
cmp r8, r12
jne 0x1801bc000
psadbw xmm2, xmm1
movq r8, xmm2
add r14, r8
pshufd xmm2, xmm2, 0xee
movq r8, xmm2
add r8, r14
mov r14, r8
mov rsi, r15
sub r11, rbx
jne 0x1801bbfd0
test r10, r10
jne 0x1801bc059
jmp 0x1801bb449
mov r8, r14
test r10, r10
je 0x1801bb449
mov rsi, r10
and rsi, 3
je 0x1801bc08f
mov rbx, r9
nop word cs:[rax + rax]
lea r11, [rbx + 1]
cmp byte [rbx], 0xf0
sbb r8, 0xffffffffffffffff
mov rbx, r11
dec rsi
jne 0x1801bc070
cmp r10d, 4
jb 0x1801bb449
jmp 0x1801bc09c
mov r11, r9
cmp r10d, 4
jb 0x1801bb449
add r9, r10
nop
cmp byte [r11], 0xf0
sbb r8, 0xffffffffffffffff
cmp byte [r11 + 1], 0xf0
sbb r8, 0xffffffffffffffff
cmp byte [r11 + 2], 0xf0
sbb r8, 0xffffffffffffffff
cmp byte [r11 + 3], 0xf0
lea r10, [r11 + 4]
sbb r8, 0xffffffffffffffff
mov r11, r10
cmp r10, r9
jne 0x1801bc0a0
jmp 0x1801bb449
mov r8, rcx
and r8, 0xfffffffffffffffe
lea r9, [r11 + 0x110]
pxor xmm6, xmm6
xor ebp, ebp
xor r13d, r13d
xor eax, eax
nop dword [rax]
add rbp, qword [r9 - 0x38]
movdqu xmm0, xmmword [r9 - 0x30]
paddq xmm0, xmm6
movdqu xmm6, xmmword [r9 - 0x10]
add r13, qword [r9 - 0x20]
add rbp, qword [r9 - 0x18]
add r13, qword [r9]
paddq xmm6, xmm0
add rax, 2
add r9, 0x40
cmp r8, rax
jne 0x1801bc0f0
mov rdx, r14
test cl, 1
je 0x1801bc147
add r11, 0xd8
shl rax, 5
movdqu xmm0, xmmword [r11 + rax + 8]
paddq xmm6, xmm0
add rbp, qword [r11 + rax]
add r13, qword [r11 + rax + 0x18]
mov r12, qword [rsp + 0x58]
lea r14, [r12 + r10]
lea rcx, [rsp + 0x90]
mov r8, r15
mov rsi, r10
call fcn.1801b8cb0
mov r11, r14
mov r14, qword [rsp + 0x90]
movdqu xmm0, xmmword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
add rbp, r14
paddq xmm6, xmm0
mov qword [rsp + 0x88], rax
add r13, rax
test r15d, r15d
setne cl
lea rax, [r12 + rsi + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [r12 + rsi + 8]
mov esi, ecx
mov rcx, rdi
shl rcx, 4
lea rdx, [rcx + r12]
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x70], rdx
lea rcx, [rcx + r12 + 8]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov qword [rsp + 0x78], r11
test rax, rax
je 0x1801bc200
nop word [rax + rax]
dec rax
mov rdx, qword [rsp + 0x40]
mov qword [rdx], rax
mov rax, qword [r11]
mov rdx, qword [rax]
cmp byte [rdx + 0x10], 0
jne 0x1801bc39f
jmp 0x1801bcd37
mov r15, qword [rsp + 0x68]
xor r11d, r11d
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov rax, qword [r8 + 8]
test rax, rax
jne 0x1801bc250
dec rdx
add r8, 0xfffffffffffffff0
inc r11
add r15, 0xfffffffffffffff0
cmp rdx, rdi
jb 0x1801bc220
jmp 0x1801bcd4f
cmp rdx, rcx
jae 0x1801bc310
mov qword [rsp + 0x38], r12
mov byte [rsp + 0x50], sil
cmp rcx, rdi
ja 0x1801bce05
mov rsi, r14
shl rcx, 4
add rcx, qword [rsp + 0x58]
mov r14, r8
jmp 0x1801bc289
add r14, 0x10
cmp r14, rcx
je 0x1801bc300
mov r9, qword [r14]
mov r12, qword [r9]
cmp byte [r12 + 0x10], 0
je 0x1801bcd37
movzx r10d, byte [r12 + 0x3d8]
cmp r10, 0x19
jae 0x1801bcd73
mov r9, qword [r14 + 8]
cmp r9, r10
ja 0x1801bcd61
test r9, r9
je 0x1801bc280
shl r9, 5
add r9, r12
add r9, 0xd8
add r12, 0xd8
nop word cs:[rax + rax]
movdqu xmm1, xmmword [r12 + 8]
paddq xmm6, xmm1
add rbp, qword [r12]
add r13, qword [r12 + 0x18]
add r12, 0x20
cmp r12, r9
jne 0x1801bc2e0
jmp 0x1801bc280
mov rcx, rdx
mov r14, rsi
movzx esi, byte [rsp + 0x50]
mov r12, qword [rsp + 0x38]
dec rax
mov qword [r8 + 8], rax
cmp rdx, qword [rsp + 0x30]
jae 0x1801bc38a
mov rdx, qword [r8]
nop word cs:[rax + rax]
mov rdx, qword [rdx]
cmp byte [rdx + 0x10], 0
je 0x1801bcd37
movzx r9d, byte [rdx + 0x3d8]
cmp r9, 0x19
jae 0x1801bcd87
cmp rax, r9
jae 0x1801bcdb3
add rdx, 0x18
mov r8, qword [rdx + rax*8]
cmp byte [r8 + 0x10], 0
je 0x1801bcd9b
lea rdx, [rdx + rax*8]
movzx eax, byte [r8 + 0x3d8]
dec rax
mov qword [r15 - 8], rdx
mov qword [r15], rax
add r15, 0x10
dec r11
jne 0x1801bc330
mov r11, qword [rsp + 0x78]
mov rax, qword [r11]
mov rdx, qword [rax]
cmp byte [rdx + 0x10], 0
je 0x1801bcd37
movzx r9d, byte [rdx + 0x3d8]
cmp r9, 0x19
jae 0x1801bcdd7
mov rax, qword [r11 + 8]
cmp rax, r9
jae 0x1801bcdc5
mov r9, rax
shl r9, 5
cmp qword [rdx + r9 + 0xf0], 0
jne 0x1801bc409
mov r10, qword [rdx + r9 + 0xd8]
mov r8, r12
sub r8, r10
jbe 0x1801bc443
movdqu xmm1, xmmword [rdx + r9 + 0xe0]
add r14, r10
paddq xmm0, xmm1
mov qword [rbx + 0x38], r8
mov sil, 1
mov r12, r8
test rax, rax
jne 0x1801bc1e0
jmp 0x1801bc200
mov qword [rsp + 0x90], r14
movdqu xmmword [rsp + 0x98], xmm0
mov rax, qword [rdx + rax*8 + 0x18]
cmp byte [rax + 0x10], 0
jne 0x1801bce43
mov rdx, qword [rax + 0x3f8]
cmp rdx, 0x3d9
jb 0x1801bc4a4
mov rdx, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
jmp 0x1801bc4a8
mov qword [rsp + 0x90], r14
movdqu xmmword [rsp + 0x98], xmm0
mov rax, qword [rdx + rax*8 + 0x18]
cmp byte [rax + 0x10], 0
jne 0x1801bce43
mov rdx, qword [rax + 0x3f8]
cmp rdx, 0x3d9
jb 0x1801bc530
mov rdx, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
jmp 0x1801bc534
mov rax, r8
je 0x1801bb01a
lea rax, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov r9, r14
call fcn.180201db0
add rax, 0x19
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rdx
test rdx, rdx
je 0x1801bc52b
lea r8, [rax + rdx]
jmp 0x1801bc4c6
mov r9, r10
mov r8, r9
cmp r9, rax
je 0x1801bc52b
lea r9, [r8 - 1]
movzx r10d, byte [r8 - 1]
lea r11d, [r10 - 0xa8]
cmp r11d, 2
jb 0x1801bc4f1
cmp r10d, 0x85
je 0x1801bc516
add r10d, 0xfffffff6
cmp r10d, 4
jae 0x1801bc4be
jmp 0x1801bc549
cmp r9, rax
je 0x1801bc52b
lea r10, [r8 - 2]
cmp byte [r8 - 2], 0x80
jne 0x1801bc4bb
cmp r10, rax
je 0x1801bc52b
cmp byte [r8 - 3], 0xe2
je 0x1801bc549
add r8, 0xfffffffffffffffd
mov r9, r8
jmp 0x1801bc4be
cmp r9, rax
je 0x1801bc52b
cmp byte [r8 - 2], 0xc2
je 0x1801bc549
add r8, 0xfffffffffffffffe
mov r9, r8
jmp 0x1801bc4be
xor r9d, r9d
jmp 0x1801bc54f
add rax, 0x19
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rdx
mov r8, rdx
sub r8, r12
test r8, r8
jne 0x1801bc567
jmp 0x1801bc58c
sub r9, rax
inc r9
mov r10, rdx
sub r10, r9
mov r8, rdx
sub r8, r12
cmp r10, r12
cmovb r8, r9
test r8, r8
je 0x1801bc58c
cmp rdx, r8
jbe 0x1801bc58a
cmp byte [rax + r8], 0xbf
jg 0x1801bc58c
lea rcx, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r9, rdx
call fcn.180201db0
jne 0x1801bc573
mov r15, rdx
sub r15, r8
lea r9, [rax + r8]
sub r12, r15
mov qword [rbx + 0x38], r12
mov dword [rbx + 0x20], r8d
cmp r15, 0x10
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x30], r15
jae 0x1801bc5c2
cmp rdx, r8
jne 0x1801bc5fc
xor esi, esi
jmp 0x1801bca35
lea r12, [r9 + 0xf]
and r12, 0xfffffffffffffff0
mov r10, r12
sub r10, r9
mov rdx, r15
sub rdx, r10
mov r11, rdx
shr r11, 4
mov ebx, edx
mov r14, r12
sub r14, r9
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x80], rcx
jne 0x1801bc60c
xor r12d, r12d
jmp 0x1801bc7de
cmp r15, 4
jae 0x1801bc62a
xor esi, esi
xor r11d, r11d
jmp 0x1801bc6d8
mov rcx, r12
sub rcx, rax
sub rcx, r8
cmp rcx, 4
jae 0x1801bc702
xor r12d, r12d
xor r15d, r15d
jmp 0x1801bc7c0
mov r11d, r15d
and r11d, 0xc
lea r10, [r8 + rax]
add r10, 2
pxor xmm1, xmm1
xor esi, esi
movdqa xmm3, xmmword [0x180210300]
movdqa xmm4, xmmword [0x180210310]
movdqa xmm5, xmmword [0x180210320]
pxor xmm2, xmm2
nop dword [rax + rax]
movzx ebx, word [r10 + rsi - 2]
movd xmm7, ebx
movzx ebx, word [r10 + rsi]
movd xmm8, ebx
pand xmm7, xmm3
pand xmm8, xmm3
pcmpgtb xmm7, xmm4
punpcklbw xmm7, xmm7
pshuflw xmm7, xmm7, 0xd4
pshufd xmm7, xmm7, 0xd4
pand xmm7, xmm5
paddq xmm1, xmm7
pcmpgtb xmm8, xmm4
punpcklbw xmm8, xmm8
pshuflw xmm7, xmm8, 0xd4
pshufd xmm7, xmm7, 0xd4
pand xmm7, xmm5
paddq xmm2, xmm7
add rsi, 4
cmp r11, rsi
jne 0x1801bc660
paddq xmm2, xmm1
pshufd xmm1, xmm2, 0xee
paddq xmm1, xmm2
movq rsi, xmm1
cmp r15, r11
je 0x1801bca35
add r11, r8
nop dword [rax + rax]
movzx r10d, byte [rax + r11]
and r10b, 0xc0
xor ebx, ebx
cmp r10b, 0x80
setne bl
add rsi, rbx
inc r11
cmp rdx, r11
jne 0x1801bc6e0
jmp 0x1801bca35
mov r15, rcx
and r15, 0xfffffffffffffffc
lea r10, [r8 + rax]
add r10, 2
pxor xmm1, xmm1
xor r12d, r12d
movdqa xmm3, xmmword [0x180210300]
movdqa xmm4, xmmword [0x180210310]
movdqa xmm5, xmmword [0x180210320]
pxor xmm2, xmm2
nop word cs:[rax + rax]
movzx esi, word [r10 + r12 - 2]
movd xmm7, esi
movzx esi, word [r10 + r12]
movd xmm8, esi
pand xmm7, xmm3
pand xmm8, xmm3
pcmpeqb xmm7, xmm4
punpcklbw xmm7, xmm7
pshuflw xmm7, xmm7, 0xd4
pshufd xmm7, xmm7, 0xd4
pand xmm7, xmm5
paddq xmm1, xmm7
pcmpeqb xmm8, xmm4
punpcklbw xmm8, xmm8
pshuflw xmm7, xmm8, 0xd4
pshufd xmm7, xmm7, 0xd4
pand xmm7, xmm5
paddq xmm2, xmm7
add r12, 4
cmp r15, r12
jne 0x1801bc740
paddq xmm2, xmm1
pshufd xmm1, xmm2, 0xee
paddq xmm1, xmm2
movq r12, xmm1
cmp rcx, r15
je 0x1801bc7de
nop word cs:[rax + rax]
movzx r10d, byte [r9 + r15]
and r10b, 0xc0
xor esi, esi
cmp r10b, 0x80
sete sil
add r12, rsi
inc r15
cmp r14, r15
jne 0x1801bc7c0
mov qword [rsp + 0x40], r9
and ebx, 0xf
movabs r14, 0xffffffffffffffc
and r14, r11
je 0x1801bc89c
mov rsi, r11
and rsi, 0xfffffffffffffffc
neg rsi
movdqa xmm1, xmmword [0x180210330]
movdqa xmm2, xmmword [0x1802102b0]
movdqa xmm3, xmmword [0x180210230]
pxor xmm4, xmm4
mov r15, qword [rsp + 0x38]
mov r10, r15
nop word [rax + rax]
movdqa xmm5, xmmword [r10]
pand xmm5, xmm1
pcmpeqb xmm5, xmm2
pand xmm5, xmm3
movdqa xmm7, xmmword [r10 + 0x10]
pand xmm7, xmm1
pcmpeqb xmm7, xmm2
psubb xmm5, xmm7
movdqa xmm7, xmmword [r10 + 0x20]
pand xmm7, xmm1
pcmpeqb xmm7, xmm2
psubb xmm5, xmm7
movdqa xmm7, xmmword [r10 + 0x30]
pand xmm7, xmm1
pcmpeqb xmm7, xmm2
psubb xmm5, xmm7
psadbw xmm5, xmm4
movq r9, xmm5
add r9, r12
pshufd xmm5, xmm5, 0xee
movq r12, xmm5
add r12, r9
add r10, 0x40
add rsi, 4
jne 0x1801bc830
jmp 0x1801bc8a1
mov r15, qword [rsp + 0x38]
pxor xmm1, xmm1
pxor xmm2, xmm2
and r11, 3
je 0x1801bc913
shl r14, 4
add r14, r15
movdqa xmm2, xmmword [r14]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
pand xmm2, xmmword [0x180210230]
cmp r11d, 1
je 0x1801bc913
movdqa xmm3, xmmword [r14 + 0x10]
pand xmm3, xmmword [0x180210330]
pcmpeqb xmm3, xmmword [0x1802102b0]
psubb xmm2, xmm3
cmp r11d, 2
je 0x1801bc913
movdqa xmm3, xmmword [r14 + 0x20]
pand xmm3, xmmword [0x180210330]
pcmpeqb xmm3, xmmword [0x1802102b0]
psubb xmm2, xmm3
psadbw xmm2, xmm1
movq rcx, xmm2
pshufd xmm1, xmm2, 0xee
movq r14, xmm1
test rbx, rbx
je 0x1801bc94e
mov qword [rsp + 0x70], r14
mov r9, rdx
and r9, 0xfffffffffffffff0
and edx, 3
cmp ebx, 4
mov qword [rsp + 0x68], r9
jae 0x1801bc955
xor esi, esi
xor r15d, r15d
jmp 0x1801bc9d6
xor esi, esi
jmp 0x1801bca0f
sub rbx, rdx
lea r10, [r9 + r15]
add r10, 3
xor esi, esi
xor r15d, r15d
nop word cs:[rax + rax]
movzx r14d, byte [r10 + r15 - 3]
movzx r11d, byte [r10 + r15 - 2]
and r14b, 0xc0
xor r9d, r9d
cmp r14b, 0x80
sete r9b
add r9, rsi
and r11b, 0xc0
xor esi, esi
cmp r11b, 0x80
sete sil
movzx r11d, byte [r10 + r15 - 1]
and r11b, 0xc0
xor r14d, r14d
cmp r11b, 0x80
sete r14b
add r14, rsi
add r14, r9
movzx r9d, byte [r10 + r15]
and r9b, 0xc0
xor esi, esi
cmp r9b, 0x80
sete sil
add rsi, r14
add r15, 4
cmp rbx, r15
jne 0x1801bc970
test rdx, rdx
mov r14, qword [rsp + 0x70]
je 0x1801bca0f
add r15, qword [rsp + 0x68]
add r15, qword [rsp + 0x38]
xor r10d, r10d
nop dword [rax]
movzx r9d, byte [r15 + r10]
and r9b, 0xc0
xor r11d, r11d
cmp r9b, 0x80
sete r11b
add rsi, r11
inc r10
cmp rdx, r10
jne 0x1801bc9f0
add rcx, rsi
add r12, r14
add r12, rcx
mov r15, qword [rsp + 0x30]
mov rsi, r15
sub rsi, r12
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9, qword [rsp + 0x40]
cmp r15, 4
jae 0x1801bca42
xor eax, eax
jmp 0x1801bccab
lea rdx, [r15 - 3]
lea r10, [r9 + 0xf]
and r10, 0xfffffffffffffff0
mov r14, r10
sub r14, r9
mov r11, rdx
sub r11, r14
jae 0x1801bca6f
mov r15d, 0x10
mov r11d, 1
xor r12d, r12d
xor ebx, ebx
jmp 0x1801bca98
lea r15, [r9 + r14]
mov rbx, r11
shr rbx, 4
mov r12d, r11d
and r12d, 0xf
and r11, 0xfffffffffffffff0
add r11, r15
cmp r10, r9
jne 0x1801bca95
xor r8d, r8d
jmp 0x1801bcba9
mov rdx, r14
mov r10, r12
cmp rdx, 4
jae 0x1801bcaac
xor r8d, r8d
mov r12, r9
jmp 0x1801bcb7e
mov r14, rdx
and r14, 0xfffffffffffffffc
mov qword [rsp + 0x40], r9
lea r12, [r9 + r14]
add rax, r8
add rax, 2
pxor xmm1, xmm1
xor r8d, r8d
movdqa xmm3, xmmword [0x18029c450]
pcmpeqd xmm4, xmm4
movdqa xmm5, xmmword [0x180210320]
pxor xmm2, xmm2
nop word cs:[rax + rax]
movzx r9d, word [rax + r8 - 2]
movd xmm7, r9d
movzx r9d, word [rax + r8]
movd xmm8, r9d
movdqa xmm9, xmm7
pminub xmm9, xmm3
pcmpeqb xmm9, xmm7
pxor xmm9, xmm4
punpcklbw xmm9, xmm9
pshuflw xmm7, xmm9, 0xd4
pshufd xmm7, xmm7, 0xd4
pand xmm7, xmm5
paddq xmm1, xmm7
movdqa xmm7, xmm8
pminub xmm7, xmm3
pcmpeqb xmm7, xmm8
pxor xmm7, xmm4
punpcklbw xmm7, xmm7
pshuflw xmm7, xmm7, 0xd4
pshufd xmm7, xmm7, 0xd4
pand xmm7, xmm5
paddq xmm2, xmm7
add r8, 4
cmp r14, r8
jne 0x1801bcaf0
paddq xmm2, xmm1
pshufd xmm1, xmm2, 0xee
paddq xmm1, xmm2
movq r8, xmm1
cmp rdx, r14
mov r9, qword [rsp + 0x40]
je 0x1801bcba6
add rdx, r9
nop word cs:[rax + rax]
cmp byte [r12], 0xf0
lea rax, [r12 + 1]
sbb r8, 0xffffffffffffffff
mov r12, rax
cmp rax, rdx
jne 0x1801bcb90
mov r12, r10
test rbx, rbx
je 0x1801bcc25
movdqa xmm1, xmmword [0x18029c460]
pxor xmm2, xmm2
nop word [rax + rax]
cmp rbx, 0xff
mov edx, 0xff
cmovb rdx, rbx
mov eax, edx
shl eax, 4
lea r10, [r15 + rax]
xor r14d, r14d
pxor xmm3, xmm3
movdqa xmm4, xmmword [r15 + r14]
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
psubb xmm3, xmm5
add r14, 0x10
cmp rax, r14
jne 0x1801bcbe0
psadbw xmm3, xmm2
movq rax, xmm3
add r8, rax
pshufd xmm3, xmm3, 0xee
movq rax, xmm3
add rax, r8
mov r8, rax
mov r15, r10
sub rbx, rdx
jne 0x1801bcbc0
jmp 0x1801bcc28
mov rax, r8
test r12, r12
je 0x1801bcc66
mov r8, r12
and r8, 3
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
je 0x1801bcc72
mov r10, r11
nop word cs:[rax + rax]
lea rdx, [r10 + 1]
cmp byte [r10], 0xf0
sbb rax, 0xffffffffffffffff
mov r10, rdx
dec r8
jne 0x1801bcc50
jmp 0x1801bcc75
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
jmp 0x1801bccab
mov rdx, r11
cmp r12d, 4
jb 0x1801bccab
add r11, r12
nop
cmp byte [rdx], 0xf0
sbb rax, 0xffffffffffffffff
cmp byte [rdx + 1], 0xf0
sbb rax, 0xffffffffffffffff
cmp byte [rdx + 2], 0xf0
sbb rax, 0xffffffffffffffff
cmp byte [rdx + 3], 0xf0
lea r8, [rdx + 4]
sbb rax, 0xffffffffffffffff
mov rdx, r8
cmp r8, r11
jne 0x1801bcc80
movq xmm2, rsi
test byte [rsp + 0x50], 1
je 0x1801bccf8
cmp rcx, rdi
jae 0x1801bce5b
shl rcx, 4
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + rcx]
add r14, r15
mov r9, rbp
sub r9, r14
movq xmm1, rax
punpcklqdq xmm2, xmm1
paddq xmm0, xmm2
movdqa xmm1, xmm6
psubq xmm1, xmm0
mov rax, r13
sub rax, qword [rsp + 0x88]
jmp 0x1801bcd05
movq xmm1, r15
punpcklqdq xmm1, xmm2
xor ecx, ecx
xor ebp, ebp
mov rdx, qword [rsp + 0x48]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], r9
movdqu xmmword [rdx + 0x18], xmm1
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x30], rbp
movdqu xmmword [rdx + 0x38], xmm6
mov qword [rdx + 0x48], r13
mov r13, rdx
mov qword [rdx], 1
jmp 0x1801bbe77
lea rcx, str.explicit_panic
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node.rs
mov edx, 0xe
call fcn.1801fffb0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rcx, rdx
mov rdx, rdi
call fcn.180201960
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rcx, r9
mov rdx, r10
call fcn.180201ca0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node_children.rs
mov edx, 0x18
mov rcx, r10
call fcn.180201ca0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node_children.rs
mov edx, 0x18
mov rcx, r9
call fcn.180201ca0
lea rcx, str.explicit_panic
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node.rs
mov edx, 0xe
call fcn.1801fffb0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rcx, rax
mov rdx, r9
call fcn.180201960
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rcx, rax
mov rdx, r9
call fcn.180201960
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node_children.rs
mov edx, 0x18
mov rcx, r9
call fcn.180201ca0
mov rcx, r14
lea rax, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov qword [rsp + 0x20], rax
mov rdx, r15
mov r9, r15
call fcn.180201db0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rdx, rdi
call fcn.180201ca0
lea rcx, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
call fcn.1802017d0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node_children.rs
mov edx, 0x18
mov rcx, rax
call fcn.180201ca0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rdx, rax
call fcn.180201ca0
lea rcx, str.explicit_panic
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node.rs
mov edx, 0xe
call fcn.1801fffb0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_srciter.rs
mov rdx, rdi
call fcn.180201960
int3