Function at 0x1801c9e90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1f8
movaps xmmword [rsp + 0x1e0], xmm15
movdqa xmmword [rsp + 0x1d0], xmm14
movdqa xmmword [rsp + 0x1c0], xmm13
movdqa xmmword [rsp + 0x1b0], xmm12
movdqa xmmword [rsp + 0x1a0], xmm11
movdqa xmmword [rsp + 0x190], xmm10
movdqa xmmword [rsp + 0x180], xmm9
movdqa xmmword [rsp + 0x170], xmm8
movdqa xmmword [rsp + 0x160], xmm7
movdqa xmmword [rsp + 0x150], xmm6
cmp r8, r9
ja 0x1801cac0f
mov r13, r9
mov rdi, r8
mov rbp, rdx
mov r14, rcx
mov r15, qword [rdx]
cmp byte [r15 + 0x10], 0
je 0x1801c9f4a
movzx ecx, byte [r15 + 0x3d8]
cmp rcx, 0x19
jae 0x1801cac3f
test cl, cl
je 0x1801c9f64
mov eax, ecx
and eax, 3
cmp cl, 4
jae 0x1801c9f6b
xor edx, edx
xor r8d, r8d
jmp 0x1801c9f9c
mov r8, qword [r15 + 0x3f8]
cmp r8, 0x3d9
jb 0x1801c9fcf
mov r8, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
jmp 0x1801c9fd3
xor edx, edx
jmp 0x1801c9fe8
and ecx, 0x1c
lea r9, [r15 + 0x138]
xor edx, edx
xor r8d, r8d
nop word [rax + rax]
add rdx, qword [r9 - 0x60]
add rdx, qword [r9 - 0x40]
add rdx, qword [r9 - 0x20]
add r8, 4
add rdx, qword [r9]
sub r9, 0xffffffffffffff80
cmp rcx, r8
jne 0x1801c9f80
test rax, rax
je 0x1801c9fe8
shl r8, 5
lea rcx, [r8 + r15]
add rcx, 0xd8
shl eax, 5
xor r8d, r8d
nop word cs:[rax + rax]
add rdx, qword [rcx + r8]
add r8, 0x20
cmp rax, r8
jne 0x1801c9fc0
jmp 0x1801c9fe8
lea rdx, [r15 + 0x19]
lea rcx, [rsp + 0x80]
call fcn.1801b6cc0
mov rdx, qword [rsp + 0x80]
cmp rdx, r13
jb 0x1801cac27
movzx eax, byte [r15 + 0x10]
test rdi, rdi
jne 0x1801ca11f
test al, al
je 0x1801ca02c
movzx ecx, byte [r15 + 0x3d8]
cmp rcx, 0x19
jae 0x1801cac3f
test cl, cl
je 0x1801ca04d
mov r8d, ecx
and r8d, 3
cmp cl, 4
jae 0x1801ca059
xor edx, edx
xor r9d, r9d
jmp 0x1801ca08c
mov r8, qword [r15 + 0x3f8]
cmp r8, 0x3d9
jb 0x1801ca0fc
mov r8, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
jmp 0x1801ca100
xor edx, edx
cmp rdx, r13
je 0x1801ca0c2
jmp 0x1801ca11f
and ecx, 0x1c
lea r10, [r15 + 0x138]
xor edx, edx
xor r9d, r9d
nop dword [rax + rax]
add rdx, qword [r10 - 0x60]
add rdx, qword [r10 - 0x40]
add rdx, qword [r10 - 0x20]
add r9, 4
add rdx, qword [r10]
sub r10, 0xffffffffffffff80
cmp rcx, r9
jne 0x1801ca070
test r8, r8
je 0x1801ca0bd
shl r9, 5
lea rcx, [r9 + r15]
add rcx, 0xd8
shl r8d, 5
xor r9d, r9d
nop word [rax + rax]
add rdx, qword [rcx + r9]
add r9, 0x20
cmp r8, r9
jne 0x1801ca0b0
cmp rdx, r13
jne 0x1801ca11f
test al, al
je 0x1801ca367
movzx ecx, byte [r15 + 0x3d8]
cmp rcx, 0x19
jae 0x1801cac3f
test cl, cl
je 0x1801ca517
mov edx, ecx
and edx, 3
cmp cl, 4
jae 0x1801ca54c
xor eax, eax
xor r8d, r8d
jmp 0x1801ca57c
lea rdx, [r15 + 0x19]
lea rcx, [rsp + 0x80]
call fcn.1801b6cc0
mov rdx, qword [rsp + 0x80]
movzx eax, byte [r15 + 0x10]
cmp rdx, r13
je 0x1801ca0c2
test al, al
je 0x1801ca2b6
mov rbx, r13
mov r12, rdi
movzx eax, byte [r15 + 0x3d8]
cmp rax, 0x19
jae 0x1801cac50
test al, al
je 0x1801ca1b7
mov r9d, eax
shl r9d, 5
mov rdx, 0xffffffffffffffe8
xor r10d, r10d
xor r11d, r11d
xor ecx, ecx
jmp 0x1801ca173
inc rcx
add r10, 0x20
add rdx, 0xfffffffffffffff8
mov r11, rsi
cmp r9, r10
je 0x1801ca1b7
mov rsi, qword [r15 + r10 + 0xd8]
add rsi, r11
mov r8, r12
sub r8, r11
jb 0x1801ca160
cmp rbx, rsi
ja 0x1801ca160
cmp rcx, rax
jae 0x1801cac64
sub rbx, r11
mov rcx, qword [r15 + rcx*8 + 0x18]
mov rbp, r15
sub rbp, rdx
cmp byte [rcx + 0x10], 0
mov r15, rcx
mov r12, r8
jne 0x1801ca12d
jmp 0x1801ca2bf
add r15, 0x10
mov rcx, r15
mov rdx, r12
call fcn.1801b5b00
test al, al
je 0x1801ca338
mov rcx, qword [rbp]
add rcx, 0x10
mov rdx, rbx
call fcn.1801b5b00
test al, al
je 0x1801ca338
mov rdx, qword [rbp]
add rdx, 0x10
lea rcx, [rsp + 0x80]
mov r8, r12
call fcn.1801b5520
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r9, r12
sub r9, qword [rsp + 0x90]
mov r15, r9
cmp r9, rdx
jae 0x1801ca243
mov r15, r9
nop word cs:[rax + rax]
movzx eax, byte [rcx + r15]
and al, 0xc0
cmp al, 0x80
jne 0x1801ca243
dec r15
cmp r15, rdx
jb 0x1801ca230
mov rax, qword [rsp + 0x98]
mov r11, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
cmp r15, rdx
cmovae r15, rdx
movabs r13, 0xffffffffffffffc
cmp r15, 0x10
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], r11
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x30], r9
jae 0x1801ca3fa
test r15, r15
je 0x1801ca630
mov eax, r15d
and eax, 3
cmp r15, 4
jae 0x1801ca6c0
xor r15d, r15d
xor r9d, r9d
jmp 0x1801ca736
mov r8, rdi
mov rbx, r13
mov rcx, r15
mov r15, qword [rcx + 0x3f8]
cmp r15, 0x3d9
jb 0x1801ca2de
mov rdx, qword [rcx + 0x20]
mov rax, qword [rcx + 0x28]
test r8, r8
jne 0x1801ca2ea
jmp 0x1801ca2fa
lea rax, [rcx + 0x19]
mov rdx, r15
test r8, r8
je 0x1801ca2fa
cmp r8, rdx
jae 0x1801ca2f8
cmp byte [rax + r8], 0xbf
jg 0x1801ca2fa
jmp 0x1801ca338
jne 0x1801ca338
cmp r15, 0x3d9
jb 0x1801ca315
mov rdx, qword [rcx + 0x20]
mov rax, qword [rcx + 0x28]
test rbx, rbx
jne 0x1801ca325
jmp 0x1801ca3c5
lea rax, [rcx + 0x19]
mov rdx, r15
test rbx, rbx
je 0x1801ca3c5
cmp rbx, rdx
jae 0x1801ca3bf
cmp byte [rax + rbx], 0xc0
jge 0x1801ca3c5
mov qword [r14 + 8], 5
mov qword [r14 + 0x10], 1
mov eax, 0x28
mov ebp, 1
mov ecx, 0x20
mov edx, 0x18
mov r8d, 1
jmp 0x1801cac73
mov rdx, qword [r15 + 0x3f8]
cmp rdx, 0x3d9
jb 0x1801ca5c5
mov rdx, qword [r15 + 0x20]
mov r15, qword [r15 + 0x28]
cmp rdx, 0x10
jb 0x1801ca5d3
lea rcx, [r15 + 0xf]
and rcx, 0xfffffffffffffff0
mov r8, rcx
sub r8, r15
mov rax, rdx
sub rax, r8
mov r10, rax
shr r10, 4
mov r8d, eax
mov r11, rcx
sub r11, r15
jne 0x1801ca8ff
xor r9d, r9d
jmp 0x1801cacf1
jne 0x1801ca338
cmp r15, 0x3d9
jb 0x1801ca3d8
mov r10, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x28]
jmp 0x1801ca3df
lea rsi, [rcx + 0x19]
mov r10, r15
mov rdx, rbx
sub rdx, r8
jb 0x1801ca443
test r8, r8
je 0x1801ca433
cmp r8, r10
jae 0x1801ca431
cmp byte [rsi + r8], 0xc0
jge 0x1801ca433
jmp 0x1801ca443
lea rdi, [rcx + 0xf]
and rdi, 0xfffffffffffffff0
mov r9, rdi
sub r9, rcx
mov rax, r15
sub rax, r9
mov rsi, rax
shr rsi, 4
mov r10d, eax
mov r9, rdi
mov qword [rsp + 0x28], rdi
sub rdi, rcx
jne 0x1801ca5f4
xor r11d, r11d
jmp 0x1801cb6de
jne 0x1801ca443
test rbx, rbx
je 0x1801ca45f
cmp rbx, r10
jae 0x1801ca45d
cmp byte [rsi + rbx], 0xbf
jg 0x1801ca45f
lea rax, [0x18029e398]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r10
mov r9, rbx
call fcn.180201db0
jne 0x1801ca443
cmp r15, 0x3d9
jb 0x1801ca477
mov r11, qword [rcx + 0x20]
mov r10, qword [rcx + 0x28]
test r8, r8
jne 0x1801ca483
jmp 0x1801ca493
lea r10, [rcx + 0x19]
mov r11, r15
test r8, r8
je 0x1801ca493
cmp r8, r11
jae 0x1801ca491
cmp byte [r10 + r8], 0xc0
jge 0x1801ca493
jmp 0x1801ca4a4
jne 0x1801ca4a4
test rbx, rbx
je 0x1801ca4b2
cmp rbx, r11
jae 0x1801ca4b0
cmp byte [r10 + rbx], 0xbf
jg 0x1801ca4b2
lea rax, [0x18029e3b0]
jmp 0x1801cbe4d
jne 0x1801ca4a4
cmp rdx, 0x10
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x30], r15
jae 0x1801ca4e0
cmp rbx, r8
jne 0x1801ca523
xor edi, edi
cmp r15, 0x3d9
jae 0x1801ca847
jmp 0x1801cc0b4
lea r15, [r10 + r8]
lea r12, [r15 + 0xf]
and r12, 0xfffffffffffffff0
mov rax, r12
sub rax, r15
mov r11, rdx
sub r11, rax
mov r14, r11
shr r14, 4
mov edi, r11d
mov rax, r12
mov qword [rsp + 0x28], r12
sub r12, r15
jne 0x1801ca537
xor r10d, r10d
jmp 0x1801cbe60
mov r11, rbp
xor ebp, ebp
xor eax, eax
jmp 0x1801ca60e
cmp rdx, 4
jae 0x1801ca774
xor edi, edi
xor r11d, r11d
jmp 0x1801ca81d
cmp r12, 4
jae 0x1801ca85d
xor r10d, r10d
xor r13d, r13d
jmp 0x1801cc922
mov r9d, ecx
and r9d, 0x1c
lea r10, [r15 + 0x138]
xor eax, eax
xor r8d, r8d
nop
add rax, qword [r10 - 0x60]
add rax, qword [r10 - 0x40]
add rax, qword [r10 - 0x20]
add r8, 4
add rax, qword [r10]
sub r10, 0xffffffffffffff80
cmp r9, r8
jne 0x1801ca560
test rdx, rdx
je 0x1801ca5ad
shl r8, 5
add r8, r15
add r8, 0xd8
shl edx, 5
xor r9d, r9d
nop word cs:[rax + rax]
add rax, qword [r8 + r9]
add r9, 0x20
cmp rdx, r9
jne 0x1801ca5a0
test cl, cl
je 0x1801ca609
mov edx, ecx
and edx, 3
cmp cl, 4
jae 0x1801ca638
xor edi, edi
xor r8d, r8d
jmp 0x1801ca66c
add r15, 0x19
cmp rdx, 0x10
jae 0x1801ca38d
test rdx, rdx
je 0x1801caa4e
mov eax, edx
and eax, 3
cmp rdx, 4
jae 0x1801caa55
xor edi, edi
xor ecx, ecx
jmp 0x1801caac6
cmp rdi, 4
jae 0x1801ca91a
xor r11d, r11d
xor r13d, r13d
jmp 0x1801cc941
mov r11, rbp
xor ebp, ebp
xor edi, edi
xor r13d, r13d
mov qword [r14 + 8], r11
pxor xmm0, xmm0
movdqu xmmword [r14 + 0x10], xmm0
movdqu xmmword [r14 + 0x20], xmm0
mov qword [r14 + 0x30], rax
jmp 0x1801cc964
xor r15d, r15d
jmp 0x1801cb938
mov r9d, ecx
and r9d, 0x1c
lea r10, [r15 + 0x140]
xor edi, edi
xor r8d, r8d
nop dword [rax + rax]
add rdi, qword [r10 - 0x60]
add rdi, qword [r10 - 0x40]
add rdi, qword [r10 - 0x20]
add r8, 4
add rdi, qword [r10]
sub r10, 0xffffffffffffff80
cmp r9, r8
jne 0x1801ca650
test rdx, rdx
je 0x1801ca69d
shl r8, 5
add r8, r15
add r8, 0xe0
shl edx, 5
xor r9d, r9d
nop word cs:[rax + rax]
add rdi, qword [r8 + r9]
add r9, 0x20
cmp rdx, r9
jne 0x1801ca690
mov r11, rbp
test cl, cl
je 0x1801ca913
mov edx, ecx
and edx, 3
cmp cl, 4
jae 0x1801ca9c1
xor ebp, ebp
xor r8d, r8d
jmp 0x1801ca9fc
mov r10d, r15d
and r10d, 0xc
xor r15d, r15d
xor r9d, r9d
nop dword [rax]
movzx r8d, byte [rcx + r9]
movzx r11d, byte [rcx + r9 + 1]
and r8b, 0xc0
xor esi, esi
cmp r8b, 0x80
setne sil
add rsi, r15
and r11b, 0xc0
xor r8d, r8d
cmp r11b, 0x80
setne r8b
movzx r11d, byte [rcx + r9 + 2]
and r11b, 0xc0
xor edi, edi
cmp r11b, 0x80
setne dil
add rdi, r8
add rdi, rsi
movzx r8d, byte [rcx + r9 + 3]
and r8b, 0xc0
xor r15d, r15d
cmp r8b, 0x80
setne r15b
add r15, rdi
add r9, 4
cmp r10, r9
jne 0x1801ca6d0
test rax, rax
je 0x1801cb938
add r9, rcx
xor r8d, r8d
nop word cs:[rax + rax]
movzx r10d, byte [r9 + r8]
and r10b, 0xc0
xor r11d, r11d
cmp r10b, 0x80
setne r11b
add r15, r11
inc r8
cmp rax, r8
jne 0x1801ca750
jmp 0x1801cb938
mov r11d, edx
and r11d, 0xc
lea rax, [r8 + r10]
add rax, 2
pxor xmm0, xmm0
xor esi, esi
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx edi, word [rax + rsi - 2]
movd xmm5, edi
movzx edi, word [rax + rsi]
movd xmm6, edi
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 rsi, 4
cmp r11, rsi
jne 0x1801ca7b0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rdi, xmm0
cmp rdx, r11
je 0x1801ca83a
add r11, r8
movzx eax, byte [r10 + r11]
and al, 0xc0
xor esi, esi
cmp al, 0x80
setne sil
add rdi, rsi
inc r11
cmp rbx, r11
jne 0x1801ca820
cmp r15, 0x3d9
jb 0x1801cc0b4
mov r11, qword [rcx + 0x20]
mov r10, qword [rcx + 0x28]
test r8, r8
jne 0x1801cc0c0
jmp 0x1801cc0d0
mov r13, r12
and r13, 0xfffffffffffffffc
lea rax, [r8 + r10]
add rax, 2
pxor xmm0, xmm0
xor r10d, r10d
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop
movzx ebp, word [rax + r10 - 2]
movd xmm5, ebp
movzx ebp, word [rax + r10]
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 r10, 4
cmp r13, r10
jne 0x1801ca890
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r10, xmm0
jmp 0x1801cc937
cmp r11, 4
jae 0x1801cab72
xor r9d, r9d
xor esi, esi
jmp 0x1801cc97b
xor ebp, ebp
jmp 0x1801ca610
mov r13d, edi
and r13d, 0xc
pxor xmm0, xmm0
xor r9d, r9d
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx r11d, word [rcx + r9]
movd xmm5, r11d
movzx r11d, word [rcx + r9 + 2]
movd xmm6, r11d
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 r9, 4
cmp r13, r9
jne 0x1801ca950
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r11, xmm0
jmp 0x1801cc95a
mov r9d, ecx
and r9d, 0x1c
lea r10, [r15 + 0x148]
xor ebp, ebp
xor r8d, r8d
nop word cs:[rax + rax]
add rbp, qword [r10 - 0x60]
add rbp, qword [r10 - 0x40]
add rbp, qword [r10 - 0x20]
add r8, 4
add rbp, qword [r10]
sub r10, 0xffffffffffffff80
cmp r9, r8
jne 0x1801ca9e0
test rdx, rdx
je 0x1801caa2d
shl r8, 5
add r8, r15
add r8, 0xe8
shl edx, 5
xor r9d, r9d
nop word cs:[rax + rax]
add rbp, qword [r8 + r9]
add r9, 0x20
cmp rdx, r9
jne 0x1801caa20
test cl, cl
je 0x1801ca610
mov edx, ecx
and edx, 3
cmp cl, 4
jae 0x1801cab04
xor r13d, r13d
xor r8d, r8d
jmp 0x1801cab3c
xor edi, edi
jmp 0x1801caf23
mov r8d, edx
and r8d, 0xc
xor edi, edi
xor ecx, ecx
movzx r9d, byte [r15 + rcx]
movzx r10d, byte [r15 + rcx + 1]
and r9b, 0xc0
xor r11d, r11d
cmp r9b, 0x80
setne r11b
add r11, rdi
and r10b, 0xc0
xor r9d, r9d
cmp r10b, 0x80
setne r9b
movzx r10d, byte [r15 + rcx + 2]
and r10b, 0xc0
xor esi, esi
cmp r10b, 0x80
setne sil
add rsi, r9
add rsi, r11
movzx r9d, byte [r15 + rcx + 3]
and r9b, 0xc0
xor edi, edi
cmp r9b, 0x80
setne dil
add rdi, rsi
add rcx, 4
cmp r8, rcx
jne 0x1801caa60
test rax, rax
je 0x1801caf1d
add rcx, r15
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rcx + r8]
and r9b, 0xc0
xor r10d, r10d
cmp r9b, 0x80
setne r10b
add rdi, r10
inc r8
cmp rax, r8
jne 0x1801caae0
jmp 0x1801caf1d
and ecx, 0x1c
lea r9, [r15 + 0x150]
xor r13d, r13d
xor r8d, r8d
nop word cs:[rax + rax]
add r13, qword [r9 - 0x60]
add r13, qword [r9 - 0x40]
add r13, qword [r9 - 0x20]
add r8, 4
add r13, qword [r9]
sub r9, 0xffffffffffffff80
cmp rcx, r8
jne 0x1801cab20
test rdx, rdx
je 0x1801ca613
shl r8, 5
lea rcx, [r8 + r15]
add rcx, 0xf0
shl edx, 5
xor r8d, r8d
nop word [rax + rax]
add r13, qword [rcx + r8]
add r8, 0x20
cmp rdx, r8
jne 0x1801cab60
jmp 0x1801ca613
mov esi, r11d
and esi, 0xc
pxor xmm0, xmm0
xor r9d, r9d
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop dword [rax + rax]
movzx edi, word [r15 + r9]
movd xmm5, edi
movzx edi, word [r15 + r9 + 2]
movd xmm6, edi
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 r9, 4
cmp rsi, r9
jne 0x1801caba0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r9, xmm0
jmp 0x1801cc992
lea rcx, str.assertion_failed:_start___endC:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_slice.rs
lea r8, [0x18029e330]
mov edx, 0x1e
call fcn.1802018d0
lea rcx, str.assertion_failed:_end___node.text_info__.bytes_as_usize
lea r8, [0x18029e380]
mov edx, 0x38
call fcn.1802018d0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ropey_1.6.1_src_tree_node_children.rs
mov edx, 0x18
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, rax
call fcn.180201ca0
lea r8, [0x18029e3f8]
mov rdx, rax
call fcn.180201960
mov qword [r14 + rdx], rdi
mov qword [r14 + rcx], rbp
mov qword [r14 + rax], r13
mov qword [r14], r8
mov rax, r14
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm13, xmmword [rsp + 0x1c0]
movaps xmm14, xmmword [rsp + 0x1d0]
movaps xmm15, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
and r8d, 0xf
movabs r11, 0xffffffffffffffc
and r11, r10
je 0x1801cada6
mov rsi, r10
and rsi, 0xfffffffffffffffc
neg rsi
movdqa xmm0, xmmword [0x180210330]
movdqa xmm1, xmmword [0x1802102b0]
movdqa xmm2, xmmword [0x180210230]
pxor xmm3, xmm3
mov rdi, rcx
nop word cs:[rax + rax]
movdqa xmm4, xmmword [rdi]
pand xmm4, xmm0
pcmpeqb xmm4, xmm1
pand xmm4, xmm2
movdqa xmm5, xmmword [rdi + 0x10]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [rdi + 0x20]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [rdi + 0x30]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
psadbw xmm4, xmm3
movq rbx, xmm4
add rbx, r9
pshufd xmm4, xmm4, 0xee
movq r9, xmm4
add r9, rbx
add rdi, 0x40
add rsi, 4
jne 0x1801cad40
pxor xmm0, xmm0
pxor xmm1, xmm1
and r10, 3
je 0x1801cae18
shl r11, 4
add r11, rcx
movdqa xmm1, xmmword [r11]
pand xmm1, xmmword [0x180210330]
pcmpeqb xmm1, xmmword [0x1802102b0]
pand xmm1, xmmword [0x180210230]
cmp r10d, 1
je 0x1801cae18
movdqa xmm2, xmmword [r11 + 0x10]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
cmp r10d, 2
je 0x1801cae18
movdqa xmm2, xmmword [r11 + 0x20]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
psadbw xmm1, xmm0
movq r10, xmm1
pshufd xmm0, xmm1, 0xee
movq r11, xmm0
test r8, r8
je 0x1801cae4e
mov qword [rsp + 0x38], r14
mov rdi, rax
and rdi, 0xfffffffffffffff0
and eax, 3
cmp r8d, 4
jae 0x1801cae55
xor ebx, ebx
xor esi, esi
jmp 0x1801caed4
xor ebx, ebx
jmp 0x1801caf0e
sub r8, rax
lea r14, [rdi + rcx]
add r14, 3
xor ebx, ebx
xor esi, esi
nop word cs:[rax + rax]
movzx ebp, byte [r14 + rsi - 3]
movzx r12d, byte [r14 + rsi - 2]
and bpl, 0xc0
xor r13d, r13d
cmp bpl, 0x80
sete r13b
add r13, rbx
and r12b, 0xc0
xor ebx, ebx
cmp r12b, 0x80
sete bl
movzx ebp, byte [r14 + rsi - 1]
and bpl, 0xc0
xor r12d, r12d
cmp bpl, 0x80
sete r12b
add r12, rbx
add r12, r13
movzx ebp, byte [r14 + rsi]
and bpl, 0xc0
xor ebx, ebx
cmp bpl, 0x80
sete bl
add rbx, r12
add rsi, 4
cmp r8, rsi
jne 0x1801cae70
test rax, rax
mov r14, qword [rsp + 0x38]
je 0x1801caf0e
add rsi, rdi
add rsi, rcx
xor ecx, ecx
nop word cs:[rax + rax]
movzx r8d, byte [rsi + rcx]
and r8b, 0xc0
xor edi, edi
cmp r8b, 0x80
sete dil
add rbx, rdi
inc rcx
cmp rax, rcx
jne 0x1801caef0
add r10, rbx
add r9, r11
add r9, r10
mov rdi, rdx
sub rdi, r9
cmp rdx, 4
jae 0x1801caf2a
xor ebp, ebp
jmp 0x1801cb16f
lea r10, [rdx - 3]
lea r11, [r15 + 0xf]
and r11, 0xfffffffffffffff0
mov rsi, r11
sub rsi, r15
mov rax, r10
sub rax, rsi
jae 0x1801caf56
mov r9d, 0x10
mov eax, 1
xor ecx, ecx
xor r8d, r8d
jmp 0x1801caf7d
lea r9, [r15 + rsi]
mov r8, rax
shr r8, 4
mov ecx, eax
and ecx, 0xf
and rax, 0xfffffffffffffff0
add rax, r9
cmp r11, r15
jne 0x1801caf7a
xor r11d, r11d
jmp 0x1801cb063
mov r10, rsi
cmp r10, 4
jae 0x1801caf8e
xor r11d, r11d
mov rsi, r15
jmp 0x1801cb03f
mov rbx, r10
and rbx, 0xfffffffffffffffc
lea rsi, [r15 + rbx]
pxor xmm0, xmm0
xor r11d, r11d
movdqa xmm2, xmmword [0x18029c450]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop dword [rax + rax]
movzx ebp, word [r15 + r11]
movd xmm5, ebp
movzx ebp, word [r15 + r11 + 2]
movd xmm6, ebp
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 r11, 4
cmp rbx, r11
jne 0x1801cafc0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r11, xmm0
cmp r10, rbx
je 0x1801cb063
add r10, r15
nop word cs:[rax + rax]
cmp byte [rsi], 0xf0
lea rbx, [rsi + 1]
sbb r11, 0xffffffffffffffff
mov rsi, rbx
cmp rbx, r10
jne 0x1801cb050
mov r12, r14
test r8, r8
je 0x1801cb0f5
movdqa xmm0, xmmword [0x18029c460]
pxor xmm1, xmm1
nop dword [rax + rax]
cmp r8, 0xff
mov r10d, 0xff
cmovb r10, r8
mov ebx, r10d
shl ebx, 4
lea rsi, [r9 + rbx]
xor r14d, r14d
pxor xmm2, xmm2
nop word cs:[rax + rax]
movdqa xmm3, xmmword [r9 + r14]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
psubb xmm2, xmm4
add r14, 0x10
cmp rbx, r14
jne 0x1801cb0b0
psadbw xmm2, xmm1
movq r9, xmm2
add r11, r9
pshufd xmm2, xmm2, 0xee
movq rbp, xmm2
add rbp, r11
mov r11, rbp
mov r9, rsi
sub r8, r10
jne 0x1801cb080
jmp 0x1801cb0f8
mov rbp, r11
test rcx, rcx
je 0x1801cb126
mov r9, rcx
and r9, 3
mov r14, r12
je 0x1801cb12b
mov r10, rax
nop dword [rax]
lea r8, [r10 + 1]
cmp byte [r10], 0xf0
sbb rbp, 0xffffffffffffffff
mov r10, r8
dec r9
jne 0x1801cb110
jmp 0x1801cb12e
mov r14, r12
jmp 0x1801cb16f
mov r8, rax
cmp ecx, 4
jb 0x1801cb16f
add rax, rcx
nop word cs:[rax + rax]
cmp byte [r8], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [r8 + 1], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [r8 + 2], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [r8 + 3], 0xf0
lea rcx, [r8 + 4]
sbb rbp, 0xffffffffffffffff
mov r8, rcx
cmp rcx, rax
jne 0x1801cb140
mov eax, r15d
neg eax
and eax, 0xf
cmp rax, rdx
cmovae rax, rdx
test rax, rax
je 0x1801cb5a8
xor ecx, ecx
xor r8d, r8d
nop dword [rax]
mov r9, rcx
movzx r10d, byte [r15 + rcx]
lea ecx, [r10 - 0xa]
cmp cl, 4
jae 0x1801cb1c0
lea rcx, [r8 + 1]
cmp r10b, 0xd
jne 0x1801cb200
lea r10, [r9 + 1]
cmp r10, rdx
jae 0x1801cb200
cmp byte [r15 + r9 + 1], 0xa
cmovne r8, rcx
jmp 0x1801cb203
movzx ecx, r10b
cmp ecx, 0xc2
je 0x1801cb217
cmp ecx, 0xe2
jne 0x1801cb203
lea rcx, [r9 + 2]
cmp rcx, rdx
jae 0x1801cb203
cmp byte [r15 + r9 + 1], 0x80
jne 0x1801cb203
movzx ecx, byte [r15 + r9 + 2]
and cl, 0xfe
xor r10d, r10d
cmp cl, 0xa8
sete r10b
add r8, r10
jmp 0x1801cb203
mov r8, rcx
lea rcx, [r9 + 1]
cmp rcx, rax
jae 0x1801cb230
cmp r8, rdx
jb 0x1801cb190
jmp 0x1801cb230
lea rcx, [r9 + 1]
cmp rcx, rdx
jae 0x1801cb203
xor ecx, ecx
cmp byte [r15 + r9 + 1], 0x85
sete cl
add r8, rcx
jmp 0x1801cb203
cmp r9, rdx
jae 0x1801cb6d2
mov rax, rdx
sub rax, rcx
add rcx, r15
cmp rax, 0x10
jb 0x1801cb5bb
pxor xmm1, xmm1
xor r9d, r9d
movdqa xmm2, xmmword [0x180210220]
movdqa xmm3, xmmword [0x180210230]
movdqa xmm4, xmmword [0x180210240]
movdqa xmm5, xmmword [0x180210250]
movdqa xmm6, xmmword [0x180210260]
movdqa xmm7, xmmword [str._r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
movdqa xmm8, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n]
movdqa xmm9, xmmword [0x180210290]
movdqa xmm10, xmmword [0x1802102b0]
movdqa xmm14, xmmword [0x180210280]
pxor xmm11, xmm11
jmp 0x1801cb2dc
paddb xmm0, xmm11
inc r9
cmp r9, 0xff
je 0x1801cb4b0
add rax, 0xfffffffffffffff0
add rcx, 0x10
movdqa xmm11, xmm0
cmp rax, 0xf
jbe 0x1801cb5bf
movdqa xmm12, xmmword [rcx]
movdqa xmm0, xmm12
pcmpeqb xmm0, xmm2
movdqa xmm13, xmm0
pand xmm13, xmm3
pcmpeqd xmm13, xmm1
movmskps r10d, xmm13
xor r10d, 0xf
movdqa xmmword [rsp + 0xd0], xmm12
movzx r10d, byte [rsp + 0xdf]
pxor xmm13, xmm13
jne 0x1801cb460
movdqa xmm15, xmm12
pcmpeqb xmm15, xmm4
movdqa xmm0, xmm15
pand xmm0, xmm3
pcmpeqd xmm0, xmm1
movmskps r11d, xmm0
xor r11d, 0xf
je 0x1801cb3a3
movdqa xmm0, xmm12
pcmpeqb xmm0, xmm10
pand xmm0, xmm3
psrldq xmm0, 1
pand xmm0, xmm15
movdqa xmm15, xmm0
pcmpeqd xmm15, xmm1
movmskps r11d, xmm15
xor r11d, 0xf
je 0x1801cb399
movdqa xmm15, xmm12
psrlq xmm15, 1
pand xmm15, xmmword [0x1802102c0]
pcmpeqb xmm15, xmmword [str.TTTTTTTTTTTTTTTT]
psrldq xmm15, 2
pand xmm15, xmm0
paddb xmm13, xmm15
cmp rax, 0x10
jne 0x1801cb4e0
movdqa xmm15, xmm12
paddb xmm15, xmm5
movdqa xmm0, xmm15
pminub xmm0, xmm6
pcmpeqb xmm0, xmm15
pand xmm0, xmm3
paddb xmm0, xmm13
movdqa xmm13, xmm12
pcmpeqb xmm13, xmm7
movdqa xmm15, xmm13
pand xmm15, xmm3
pcmpeqd xmm15, xmm1
movmskps r11d, xmm15
xor r11d, 0xf
je 0x1801cb2b0
pcmpeqb xmm12, xmm8
pand xmm12, xmm3
psrldq xmm12, 1
pand xmm12, xmm13
psubb xmm0, xmm12
cmp rax, 0x10
je 0x1801cb2b0
cmp r10b, 0xd
jne 0x1801cb2b0
cmp byte [rcx + 0x10], 0xa
jne 0x1801cb2b0
movdqa xmmword [rsp + 0xf0], xmm0
movzx r10d, byte [rsp + 0xff]
dec r10b
pand xmm0, xmm9
movzx r10d, r10b
movd xmm12, r10d
pslldq xmm12, 0xf
por xmm0, xmm12
jmp 0x1801cb2b0
movdqa xmm13, xmm12
pcmpeqb xmm13, xmm14
pand xmm13, xmm3
psrldq xmm13, 1
pand xmm13, xmm0
cmp rax, 0x10
je 0x1801cb31f
cmp r10b, 0xc2
jne 0x1801cb31f
cmp byte [rcx + 0x10], 0x85
jne 0x1801cb31f
pand xmm13, xmm9
por xmm13, xmmword [0x1802102a0]
jmp 0x1801cb31f
pxor xmm11, xmm11
psadbw xmm0, xmm11
movq r9, xmm0
pshufd xmm0, xmm0, 0xee
movq r10, xmm0
add r8, r9
add r8, r10
pxor xmm0, xmm0
xor r9d, r9d
jmp 0x1801cb2c5
cmp byte [rsp + 0xde], 0xe2
jne 0x1801cb544
cmp r10b, 0x80
jne 0x1801cb544
movzx r11d, byte [rcx + 0x10]
and r11b, 0xfe
cmp r11b, 0xa8
jne 0x1801cb3a3
movdqa xmmword [rsp + 0x100], xmm13
movzx r11d, byte [rsp + 0x10e]
inc r11b
movdqa xmm15, xmmword [0x1802102e0]
pand xmm13, xmm15
movzx r11d, r11b
movd xmm0, r11d
pslldq xmm0, 0xe
pandn xmm15, xmm0
por xmm13, xmm15
jmp 0x1801cb3a3
cmp rax, 0x12
jb 0x1801cb3a3
cmp r10b, 0xe2
jne 0x1801cb3a3
cmp byte [rcx + 0x10], 0x80
jne 0x1801cb3a3
movzx r11d, byte [rcx + 0x11]
and r11b, 0xfe
cmp r11b, 0xa8
jne 0x1801cb3a3
movdqa xmmword [rsp + 0x110], xmm13
movzx r11d, byte [rsp + 0x11f]
inc r11b
pand xmm13, xmm9
movzx r11d, r11b
movd xmm0, r11d
pslldq xmm0, 0xf
por xmm13, xmm0
jmp 0x1801cb3a3
xor r8d, r8d
mov rax, rdx
mov rcx, r15
cmp rax, 0x10
jae 0x1801cb24c
pxor xmm0, xmm0
test rax, rax
je 0x1801cb68c
mov r9d, 1
xor r10d, r10d
nop word cs:[rax + rax]
movzx esi, byte [rcx + r9 - 1]
lea r11d, [rsi - 0xa]
cmp r11b, 4
jae 0x1801cb610
lea r11, [r10 + 1]
cmp sil, 0xd
jne 0x1801cb660
cmp r9, rax
jae 0x1801cb660
cmp byte [rcx + r9], 0xa
cmovne r10, r11
jmp 0x1801cb663
movzx r11d, sil
cmp r11d, 0xc2
je 0x1801cb676
cmp r11d, 0xe2
jne 0x1801cb663
lea r11, [r9 + 1]
cmp r11, rax
jae 0x1801cb663
cmp r9, rax
jae 0x1801cb6c0
cmp byte [rcx + r9], 0x80
jne 0x1801cb663
movzx r11d, byte [rcx + r9 + 1]
and r11b, 0xfe
xor esi, esi
cmp r11b, 0xa8
sete sil
add r10, rsi
jmp 0x1801cb663
mov r10, r11
cmp r9, rax
jae 0x1801cb68f
inc r9
cmp r10, rax
jb 0x1801cb5e0
jmp 0x1801cb68f
cmp r9, rax
jae 0x1801cb663
xor r11d, r11d
cmp byte [rcx + r9], 0x85
sete r11b
add r10, r11
jmp 0x1801cb663
xor r10d, r10d
psadbw xmm0, xmmword [0x18029ce10]
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq r13, xmm0
add r13, r8
add r13, rax
add r13, r10
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], r15
jmp 0x1801cc8ec
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_str_indices_0.4.3_srclines.rs
mov rcx, r9
mov rdx, rax
call fcn.180201960
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_str_indices_0.4.3_srclines.rs
call fcn.180201c90
and r10d, 0xf
mov rdi, rsi
movabs r8, 0xffffffffffffffc
and rdi, r8
je 0x1801cb79a
mov r13, rsi
and r13, 0xfffffffffffffffc
neg r13
movdqa xmm0, xmmword [0x180210330]
movdqa xmm1, xmmword [0x1802102b0]
movdqa xmm2, xmmword [0x180210230]
pxor xmm3, xmm3
mov r9, qword [rsp + 0x28]
nop word cs:[rax + rax]
movdqa xmm4, xmmword [r9]
pand xmm4, xmm0
pcmpeqb xmm4, xmm1
pand xmm4, xmm2
movdqa xmm5, xmmword [r9 + 0x10]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r9 + 0x20]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r9 + 0x30]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
psadbw xmm4, xmm3
movq r8, xmm4
add r8, r11
pshufd xmm4, xmm4, 0xee
movq r11, xmm4
add r11, r8
add r9, 0x40
add r13, 4
jne 0x1801cb730
pxor xmm0, xmm0
pxor xmm1, xmm1
and rsi, 3
mov rbp, qword [rsp + 0x48]
je 0x1801cb80e
shl rdi, 4
add rdi, qword [rsp + 0x28]
movdqa xmm1, xmmword [rdi]
pand xmm1, xmmword [0x180210330]
pcmpeqb xmm1, xmmword [0x1802102b0]
pand xmm1, xmmword [0x180210230]
cmp esi, 1
je 0x1801cb80e
movdqa xmm2, xmmword [rdi + 0x10]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
cmp esi, 2
je 0x1801cb80e
movdqa xmm2, xmmword [rdi + 0x20]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
psadbw xmm1, xmm0
movq rsi, xmm1
pshufd xmm0, xmm1, 0xee
movq r8, xmm0
test r10, r10
mov qword [rsp + 0x40], r8
je 0x1801cb84f
mov qword [rsp + 0x78], rsi
mov r9, rax
and r9, 0xfffffffffffffff0
and eax, 3
cmp r10d, 4
mov qword [rsp + 0x70], r9
jae 0x1801cb856
xor edi, edi
xor r13d, r13d
jmp 0x1801cb8d5
xor edi, edi
jmp 0x1801cb920
sub r10, rax
mov r8, qword [rsp + 0x28]
add r9, r8
add r9, 3
xor edi, edi
xor r13d, r13d
nop word [rax + rax]
movzx r8d, byte [r9 + r13 - 3]
movzx ebp, byte [r9 + r13 - 2]
and r8b, 0xc0
xor esi, esi
cmp r8b, 0x80
sete sil
add rsi, rdi
and bpl, 0xc0
xor r8d, r8d
cmp bpl, 0x80
sete r8b
movzx edi, byte [r9 + r13 - 1]
and dil, 0xc0
xor ebp, ebp
cmp dil, 0x80
sete bpl
add rbp, r8
add rbp, rsi
movzx r8d, byte [r9 + r13]
and r8b, 0xc0
xor edi, edi
cmp r8b, 0x80
sete dil
add rdi, rbp
add r13, 4
cmp r10, r13
jne 0x1801cb870
test rax, rax
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
je 0x1801cb920
add r13, qword [rsp + 0x70]
add r13, qword [rsp + 0x28]
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [r13 + r8]
and r9b, 0xc0
xor r10d, r10d
cmp r9b, 0x80
sete r10b
add rdi, r10
inc r8
cmp rax, r8
jne 0x1801cb900
add rsi, rdi
add r11, qword [rsp + 0x40]
add r11, rsi
sub r15, r11
movabs r13, 0xffffffffffffffc
mov r8, qword [rsp + 0x30]
xor esi, esi
test r8, r8
je 0x1801cbbf8
mov rdi, r8
jmp 0x1801cb95b
je 0x1801cb96b
dec rdi
je 0x1801cbbf8
cmp rdi, rdx
jae 0x1801cb950
cmp byte [rcx + rdi], 0xbf
jle 0x1801cb952
mov rsi, rdi
jmp 0x1801cb96e
mov rsi, rdx
cmp rsi, 4
jae 0x1801cb97b
xor esi, esi
jmp 0x1801cbbf8
add rsi, 0xfffffffffffffffd
lea r13, [rcx + 0xf]
and r13, 0xfffffffffffffff0
mov r8, r13
sub r8, rcx
mov rax, rsi
sub rax, r8
jae 0x1801cb9a8
mov r11d, 0x10
mov eax, 1
xor r9d, r9d
xor r10d, r10d
jmp 0x1801cb9d0
lea r11, [rcx + r8]
mov r10, rax
shr r10, 4
mov r9d, eax
and r9d, 0xf
and rax, 0xfffffffffffffff0
add rax, r11
cmp r13, rcx
jne 0x1801cb9cd
xor edi, edi
jmp 0x1801cbad5
mov rsi, r8
cmp rsi, 4
jae 0x1801cb9e0
xor edi, edi
mov r13, rcx
jmp 0x1801cbab6
mov qword [rsp + 0x28], r9
mov rbp, rsi
and rbp, 0xfffffffffffffffc
cmp rdx, rdi
cmovb rdi, rdx
add rdi, 0xfffffffffffffffd
cmp r8, rdi
cmovb rdi, r8
lea r13, [rcx + rbp]
and rdi, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r8d, r8d
movdqa xmm2, xmmword [0x18029c450]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx r9d, word [rcx + r8]
movd xmm5, r9d
movzx r9d, word [rcx + r8 + 2]
movd xmm6, r9d
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 r8, 4
cmp rdi, r8
jne 0x1801cba30
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rdi, xmm0
cmp rsi, rbp
mov r9, qword [rsp + 0x28]
je 0x1801cbad5
add rsi, rcx
nop dword [rax]
cmp byte [r13], 0xf0
lea r8, [r13 + 1]
sbb rdi, 0xffffffffffffffff
mov r13, r8
cmp r8, rsi
jne 0x1801cbac0
mov qword [rsp + 0x28], r9
test r10, r10
je 0x1801cbb65
movdqa xmm0, xmmword [0x18029c460]
pxor xmm1, xmm1
nop
cmp r10, 0xff
mov r8d, 0xff
cmovb r8, r10
mov esi, r8d
shl esi, 4
lea r13, [r11 + rsi]
xor ebp, ebp
pxor xmm2, xmm2
nop word cs:[rax + rax]
movdqa xmm3, xmmword [r11 + rbp]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
psubb xmm2, xmm4
add rbp, 0x10
cmp rsi, rbp
jne 0x1801cbb20
psadbw xmm2, xmm1
movq r9, xmm2
add rdi, r9
pshufd xmm2, xmm2, 0xee
movq rsi, xmm2
add rsi, rdi
mov rdi, rsi
mov r11, r13
sub r10, r8
jne 0x1801cbaf0
jmp 0x1801cbb68
mov rsi, rdi
mov r9, qword [rsp + 0x28]
test r9, r9
je 0x1801cbba6
mov r10, r9
and r10, 3
mov rbp, qword [rsp + 0x48]
movabs r13, 0xffffffffffffffc
je 0x1801cbbbc
mov r11, rax
nop dword [rax]
lea rdi, [r11 + 1]
cmp byte [r11], 0xf0
sbb rsi, 0xffffffffffffffff
mov r11, rdi
dec r10
jne 0x1801cbb90
jmp 0x1801cbbbf
mov rbp, qword [rsp + 0x48]
movabs r13, 0xffffffffffffffc
mov r8, qword [rsp + 0x30]
jmp 0x1801cbbf8
mov rdi, rax
cmp r9d, 4
mov r8, qword [rsp + 0x30]
jb 0x1801cbbf8
add rax, r9
cmp byte [rdi], 0xf0
sbb rsi, 0xffffffffffffffff
cmp byte [rdi + 1], 0xf0
sbb rsi, 0xffffffffffffffff
cmp byte [rdi + 2], 0xf0
sbb rsi, 0xffffffffffffffff
cmp byte [rdi + 3], 0xf0
lea r9, [rdi + 4]
sbb rsi, 0xffffffffffffffff
mov rdi, r9
cmp r9, rax
jne 0x1801cbbcd
call fcn.1801c6ed0
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp]
add rdx, 0x10
lea rcx, [rsp + 0x80]
mov r8, rbx
call fcn.1801b5520
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov r8, rbx
sub r8, qword [rsp + 0x90]
mov rdi, r8
cmp r8, rdx
jae 0x1801cbc52
mov rdi, r8
movzx eax, byte [rcx + rdi]
and al, 0xc0
cmp al, 0x80
jne 0x1801cbc52
dec rdi
cmp rdi, rdx
jb 0x1801cbc40
mov rbp, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
cmp rdi, rdx
cmovae rdi, rdx
cmp rdi, 0x10
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0xc0], rax
jae 0x1801cbcb2
test rdi, rdi
je 0x1801cbcfd
mov eax, edi
and eax, 3
cmp rdi, 4
jae 0x1801cbd04
xor edi, edi
xor r8d, r8d
jmp 0x1801cbd76
lea rdx, [rcx + 0xf]
and rdx, 0xfffffffffffffff0
mov rax, rdx
sub rax, rcx
mov r10, rdi
sub r10, rax
mov rax, r10
shr rax, 4
mov qword [rsp + 0x60], rax
mov eax, r10d
mov qword [rsp + 0x68], rax
mov r11, rdx
sub r11, rcx
jne 0x1801cbce9
xor eax, eax
jmp 0x1801cc9bb
cmp r11, 4
jae 0x1801cbdb4
xor eax, eax
xor r8d, r8d
jmp 0x1801cc99c
xor edi, edi
jmp 0x1801ccc0e
mov r9d, edi
and r9d, 0xc
xor edi, edi
xor r8d, r8d
movzx r10d, byte [rcx + r8]
movzx r11d, byte [rcx + r8 + 1]
and r10b, 0xc0
xor r13d, r13d
cmp r10b, 0x80
setne r13b
add r13, rdi
and r11b, 0xc0
xor r10d, r10d
cmp r11b, 0x80
setne r10b
movzx r11d, byte [rcx + r8 + 2]
and r11b, 0xc0
xor ebp, ebp
cmp r11b, 0x80
setne bpl
add rbp, r10
add rbp, r13
movzx r10d, byte [rcx + r8 + 3]
and r10b, 0xc0
xor edi, edi
cmp r10b, 0x80
setne dil
add rdi, rbp
add r8, 4
cmp r9, r8
jne 0x1801cbd10
test rax, rax
mov r14, qword [rsp + 0x30]
je 0x1801ccc13
add r8, rcx
xor r9d, r9d
nop word [rax + rax]
movzx r10d, byte [r8 + r9]
and r10b, 0xc0
xor r11d, r11d
cmp r10b, 0x80
setne r11b
add rdi, r11
inc r9
cmp rax, r9
jne 0x1801cbd90
jmp 0x1801ccc13
mov r8d, r11d
and r8d, 0xc
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x180210300]
movdqa xmm3, xmmword [0x180210310]
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop dword [rax]
movzx ebp, word [rcx + rax]
movd xmm5, ebp
movzx ebp, word [rcx + rax + 2]
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 rax, 4
cmp r8, rax
jne 0x1801cbde0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rax, xmm0
jmp 0x1801cc9b6
mov qword [rsp + 0x20], rax
mov rcx, r10
mov rdx, r11
mov r9, rbx
call fcn.180201db0
and edi, 0xf
movabs r15, 0xffffffffffffffc
and r15, r14
je 0x1801cbf1e
mov rax, r14
and rax, 0xfffffffffffffffc
neg rax
movdqa xmm0, xmmword [0x180210330]
movdqa xmm1, xmmword [0x1802102b0]
movdqa xmm2, xmmword [0x180210230]
pxor xmm3, xmm3
mov r12, qword [rsp + 0x28]
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 rsi, xmm4
add rsi, r10
pshufd xmm4, xmm4, 0xee
movq r10, xmm4
add r10, rsi
add r12, 0x40
add rax, 4
jne 0x1801cbeb0
pxor xmm0, xmm0
pxor xmm1, xmm1
and r14, 3
je 0x1801cbf92
shl r15, 4
add r15, qword [rsp + 0x28]
movdqa xmm1, xmmword [r15]
pand xmm1, xmmword [0x180210330]
pcmpeqb xmm1, xmmword [0x1802102b0]
pand xmm1, xmmword [0x180210230]
cmp r14d, 1
je 0x1801cbf92
movdqa xmm2, xmmword [r15 + 0x10]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
cmp r14d, 2
je 0x1801cbf92
movdqa xmm2, xmmword [r15 + 0x20]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
psadbw xmm1, xmm0
movq r9, xmm1
pshufd xmm0, xmm1, 0xee
movq r14, xmm0
test rdi, rdi
je 0x1801cbfce
mov qword [rsp + 0x40], r14
mov rsi, r11
and rsi, 0xfffffffffffffff0
and r11d, 3
cmp edi, 4
mov qword [rsp + 0x50], rsi
jae 0x1801cbfd5
xor ebp, ebp
xor r12d, r12d
jmp 0x1801cc057
xor ebp, ebp
jmp 0x1801cc08e
sub rdi, r11
mov rax, qword [rsp + 0x28]
add rax, rsi
add rax, 3
xor ebp, ebp
xor r12d, r12d
nop dword [rax]
movzx r15d, byte [rax + r12 - 3]
movzx esi, byte [rax + r12 - 2]
and r15b, 0xc0
xor r13d, r13d
cmp r15b, 0x80
sete r13b
add r13, rbp
and sil, 0xc0
xor r15d, r15d
cmp sil, 0x80
sete r15b
movzx esi, byte [rax + r12 - 1]
and sil, 0xc0
xor r14d, r14d
cmp sil, 0x80
sete r14b
add r14, r15
add r14, r13
movzx esi, byte [rax + r12]
and sil, 0xc0
xor ebp, ebp
cmp sil, 0x80
sete bpl
add rbp, r14
add r12, 4
cmp rdi, r12
jne 0x1801cbff0
test r11, r11
mov r14, qword [rsp + 0x40]
je 0x1801cc08e
add r12, qword [rsp + 0x50]
add r12, qword [rsp + 0x28]
xor eax, eax
nop dword [rax]
movzx esi, byte [r12 + rax]
and sil, 0xc0
xor edi, edi
cmp sil, 0x80
sete dil
add rbp, rdi
inc rax
cmp r11, rax
jne 0x1801cc070
add r9, rbp
add r10, r14
add r10, r9
mov rdi, rdx
sub rdi, r10
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
cmp r15, 0x3d9
jae 0x1801ca847
lea r10, [rcx + 0x19]
mov r11, r15
test r8, r8
je 0x1801cc0d0
cmp r8, r11
jae 0x1801cc0ce
cmp byte [r10 + r8], 0xc0
jge 0x1801cc0d0
jmp 0x1801cc0e1
jne 0x1801cc0e1
test rbx, rbx
je 0x1801cc0ef
cmp rbx, r11
jae 0x1801cc0ed
cmp byte [r10 + rbx], 0xbf
jg 0x1801cc0ef
lea rax, [0x18029e3c8]
jmp 0x1801cbe4d
jne 0x1801cc0e1
cmp rdx, 4
jae 0x1801cc0fc
xor ebp, ebp
jmp 0x1801cc37b
lea r12, [r10 + r8]
lea rax, [rdx - 3]
lea rsi, [r12 + 0xf]
and rsi, 0xfffffffffffffff0
mov r13, rsi
sub r13, r12
mov r11, rax
sub r11, r13
jae 0x1801cc143
mov r15d, 0x10
mov r11d, 1
xor r9d, r9d
mov qword [rsp + 0x28], r9
xor r14d, r14d
cmp rax, 4
jae 0x1801cc176
xor r10d, r10d
mov rbp, r12
jmp 0x1801cc231
lea r15, [r12 + r13]
mov r14, r11
shr r14, 4
mov eax, r11d
and eax, 0xf
mov qword [rsp + 0x28], rax
and r11, 0xfffffffffffffff0
add r11, r15
cmp rsi, r12
jne 0x1801cc16d
xor r10d, r10d
jmp 0x1801cc254
mov rax, r13
cmp rax, 4
jb 0x1801cc138
mov r13, rax
and r13, 0xfffffffffffffffc
lea rbp, [r12 + r13]
add r10, r8
add r10, 2
pxor xmm0, xmm0
xor esi, esi
movdqa xmm2, xmmword [0x18029c450]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx r9d, word [r10 + rsi - 2]
movd xmm5, r9d
movzx r9d, word [r10 + rsi]
movd xmm6, r9d
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 rsi, 4
cmp r13, rsi
jne 0x1801cc1b0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r10, xmm0
cmp rax, r13
je 0x1801cc254
add r12, rax
nop word cs:[rax + rax]
cmp byte [rbp], 0xf0
lea rax, [rbp + 1]
sbb r10, 0xffffffffffffffff
mov rbp, rax
cmp rax, r12
jne 0x1801cc240
test r14, r14
je 0x1801cc32b
movdqa xmm0, xmmword [0x18029c460]
pxor xmm1, xmm1
nop dword [rax]
cmp r14, 0xff
mov eax, 0xff
cmovb rax, r14
mov r12d, eax
shl r12d, 4
lea rsi, [r15 + r12]
xor r13d, r13d
pxor xmm2, xmm2
nop word cs:[rax + rax]
movdqa xmm3, xmmword [r15 + r13]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
psubb xmm2, xmm4
add r13, 0x10
cmp r12, r13
jne 0x1801cc2a0
psadbw xmm2, xmm1
movq r9, xmm2
add r10, r9
pshufd xmm2, xmm2, 0xee
movq rbp, xmm2
add rbp, r10
mov r10, rbp
mov r15, rsi
sub r14, rax
jne 0x1801cc270
mov r9, qword [rsp + 0x28]
test r9, r9
je 0x1801cc338
mov r10, r9
and r10, 3
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
je 0x1801cc344
mov rsi, r11
nop word cs:[rax + rax]
lea rax, [rsi + 1]
cmp byte [rsi], 0xf0
sbb rbp, 0xffffffffffffffff
mov rsi, rax
dec r10
jne 0x1801cc310
cmp r9d, 4
jae 0x1801cc34d
jmp 0x1801cc37b
mov rbp, r10
mov r9, qword [rsp + 0x28]
test r9, r9
jne 0x1801cc2ed
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jmp 0x1801cc37b
mov rax, r11
cmp r9d, 4
jb 0x1801cc37b
add r11, r9
cmp byte [rax], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [rax + 1], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [rax + 2], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [rax + 3], 0xf0
lea r9, [rax + 4]
sbb rbp, 0xffffffffffffffff
mov rax, r9
cmp r9, r11
jne 0x1801cc350
cmp r15, 0x3d9
jb 0x1801cc393
mov r15, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x28]
test r8, r8
jne 0x1801cc39c
jmp 0x1801cc3ac
add rcx, 0x19
test r8, r8
je 0x1801cc3ac
cmp r8, r15
jae 0x1801cc3aa
cmp byte [rcx + r8], 0xc0
jge 0x1801cc3ac
jmp 0x1801cc3bc
jne 0x1801cc3bc
test rbx, rbx
je 0x1801cc3d5
cmp rbx, r15
jae 0x1801cc3d3
cmp byte [rcx + rbx], 0xbf
jg 0x1801cc3d5
lea rax, [0x18029e3e0]
mov qword [rsp + 0x20], rax
mov rdx, r15
mov r9, rbx
call fcn.180201db0
jne 0x1801cc3bc
add rcx, r8
mov r9d, ecx
neg r9d
and r9d, 0xf
cmp r9, rdx
cmovae r9, rdx
test r9, r9
je 0x1801cc7f4
xor r10d, r10d
xor r11d, r11d
nop dword [rax + rax]
mov rsi, r10
movzx r10d, byte [rcx + r10]
lea eax, [r10 - 0xa]
cmp al, 4
jae 0x1801cc430
lea rax, [r11 + 1]
cmp r10b, 0xd
jne 0x1801cc470
lea r10, [rsi + 1]
cmp r10, rdx
jae 0x1801cc470
cmp byte [rcx + rsi + 1], 0xa
cmovne r11, rax
jmp 0x1801cc473
movzx eax, r10b
cmp eax, 0xc2
je 0x1801cc487
cmp eax, 0xe2
jne 0x1801cc473
lea rax, [rsi + 2]
cmp rax, rdx
jae 0x1801cc473
cmp byte [rcx + rsi + 1], 0x80
jne 0x1801cc473
movzx eax, byte [rcx + rsi + 2]
and al, 0xfe
xor r10d, r10d
cmp al, 0xa8
sete r10b
add r11, r10
jmp 0x1801cc473
mov r11, rax
lea r10, [rsi + 1]
cmp r10, r9
jae 0x1801cc49f
cmp r11, rdx
jb 0x1801cc400
jmp 0x1801cc49f
lea rax, [rsi + 1]
cmp rax, rdx
jae 0x1801cc473
xor eax, eax
cmp byte [rcx + rsi + 1], 0x85
sete al
add r11, rax
jmp 0x1801cc473
cmp rsi, rdx
jae 0x1801cc913
mov r9, rdx
sub r9, r10
add rcx, r10
cmp r9, 0x10
jb 0x1801cc804
pxor xmm1, xmm1
xor r10d, r10d
movdqa xmm2, xmmword [0x180210220]
movdqa xmm3, xmmword [0x180210230]
movdqa xmm4, xmmword [0x180210240]
movdqa xmm5, xmmword [0x180210250]
movdqa xmm6, xmmword [0x180210260]
movdqa xmm7, xmmword [str._r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
movdqa xmm8, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n]
movdqa xmm9, xmmword [0x180210290]
movdqa xmm10, xmmword [0x1802102b0]
movdqa xmm14, xmmword [0x180210280]
pxor xmm11, xmm11
jmp 0x1801cc54c
paddb xmm0, xmm11
inc r10
cmp r10, 0xff
je 0x1801cc710
add r9, 0xfffffffffffffff0
add rcx, 0x10
movdqa xmm11, xmm0
cmp r9, 0xf
jbe 0x1801cc808
movdqa xmm12, xmmword [rcx]
movdqa xmm0, xmm12
pcmpeqb xmm0, xmm2
movdqa xmm13, xmm0
pand xmm13, xmm3
pcmpeqd xmm13, xmm1
movmskps eax, xmm13
xor eax, 0xf
movdqa xmmword [rsp + 0xe0], xmm12
movzx ebx, byte [rsp + 0xef]
pxor xmm13, xmm13
jne 0x1801cc6c0
movdqa xmm15, xmm12
pcmpeqb xmm15, xmm4
movdqa xmm0, xmm15
pand xmm0, xmm3
pcmpeqd xmm0, xmm1
movmskps eax, xmm0
xor eax, 0xf
je 0x1801cc60e
movdqa xmm0, xmm12
pcmpeqb xmm0, xmm10
pand xmm0, xmm3
psrldq xmm0, 1
pand xmm0, xmm15
movdqa xmm15, xmm0
pcmpeqd xmm15, xmm1
movmskps eax, xmm15
xor eax, 0xf
je 0x1801cc604
movdqa xmm15, xmm12
psrlq xmm15, 1
pand xmm15, xmmword [0x1802102c0]
pcmpeqb xmm15, xmmword [str.TTTTTTTTTTTTTTTT]
psrldq xmm15, 2
pand xmm15, xmm0
paddb xmm13, xmm15
cmp r9, 0x10
jne 0x1801cc740
movdqa xmm15, xmm12
paddb xmm15, xmm5
movdqa xmm0, xmm15
pminub xmm0, xmm6
pcmpeqb xmm0, xmm15
pand xmm0, xmm3
paddb xmm0, xmm13
movdqa xmm13, xmm12
pcmpeqb xmm13, xmm7
movdqa xmm15, xmm13
pand xmm15, xmm3
pcmpeqd xmm15, xmm1
movmskps eax, xmm15
xor eax, 0xf
je 0x1801cc520
pcmpeqb xmm12, xmm8
pand xmm12, xmm3
psrldq xmm12, 1
pand xmm12, xmm13
psubb xmm0, xmm12
cmp r9, 0x10
je 0x1801cc520
cmp bl, 0xd
jne 0x1801cc520
cmp byte [rcx + 0x10], 0xa
jne 0x1801cc520
movdqa xmmword [rsp + 0x120], xmm0
movzx eax, byte [rsp + 0x12f]
dec al
pand xmm0, xmm9
movzx eax, al
movd xmm12, eax
pslldq xmm12, 0xf
por xmm0, xmm12
jmp 0x1801cc520
movdqa xmm13, xmm12
pcmpeqb xmm13, xmm14
pand xmm13, xmm3
psrldq xmm13, 1
pand xmm13, xmm0
cmp r9, 0x10
je 0x1801cc58d
cmp bl, 0xc2
jne 0x1801cc58d
cmp byte [rcx + 0x10], 0x85
jne 0x1801cc58d
pand xmm13, xmm9
por xmm13, xmmword [0x1802102a0]
jmp 0x1801cc58d
pxor xmm11, xmm11
psadbw xmm0, xmm11
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq r10, xmm0
add r11, rax
add r11, r10
pxor xmm0, xmm0
xor r10d, r10d
jmp 0x1801cc535
cmp byte [rsp + 0xee], 0xe2
jne 0x1801cc79a
cmp bl, 0x80
jne 0x1801cc79a
movzx eax, byte [rcx + 0x10]
and al, 0xfe
cmp al, 0xa8
jne 0x1801cc60e
movdqa xmmword [rsp + 0x130], xmm13
movzx eax, byte [rsp + 0x13e]
inc al
movdqa xmm15, xmmword [0x1802102e0]
pand xmm13, xmm15
movzx eax, al
movd xmm0, eax
pslldq xmm0, 0xe
pandn xmm15, xmm0
por xmm13, xmm15
jmp 0x1801cc60e
cmp r9, 0x12
jb 0x1801cc60e
cmp bl, 0xe2
jne 0x1801cc60e
cmp byte [rcx + 0x10], 0x80
jne 0x1801cc60e
movzx eax, byte [rcx + 0x11]
and al, 0xfe
cmp al, 0xa8
jne 0x1801cc60e
movdqa xmmword [rsp + 0x140], xmm13
movzx eax, byte [rsp + 0x14f]
inc al
pand xmm13, xmm9
movzx eax, al
movd xmm0, eax
pslldq xmm0, 0xf
por xmm13, xmm0
jmp 0x1801cc60e
xor r11d, r11d
mov r9, rdx
cmp r9, 0x10
jae 0x1801cc4bb
pxor xmm0, xmm0
test r9, r9
je 0x1801cc8b6
mov r10d, 1
xor esi, esi
nop dword [rax]
movzx ebx, byte [rcx + r10 - 1]
lea eax, [rbx - 0xa]
cmp al, 4
jae 0x1801cc850
lea rax, [rsi + 1]
cmp bl, 0xd
jne 0x1801cc890
cmp r10, r9
jae 0x1801cc890
cmp byte [rcx + r10], 0xa
cmovne rsi, rax
jmp 0x1801cc893
movzx eax, bl
cmp eax, 0xc2
je 0x1801cc8a2
cmp eax, 0xe2
jne 0x1801cc893
lea rax, [r10 + 1]
cmp rax, r9
jae 0x1801cc893
cmp r10, r9
jae 0x1801cc901
cmp byte [rcx + r10], 0x80
jne 0x1801cc893
movzx eax, byte [rcx + r10 + 1]
and al, 0xfe
xor ebx, ebx
cmp al, 0xa8
sete bl
add rsi, rbx
jmp 0x1801cc893
mov rsi, rax
cmp r10, r9
jae 0x1801cc8b8
inc r10
cmp rsi, r9
jb 0x1801cc820
jmp 0x1801cc8b8
cmp r10, r9
jae 0x1801cc893
xor eax, eax
cmp byte [rcx + r10], 0x85
sete al
add rsi, rax
jmp 0x1801cc893
xor esi, esi
mov rcx, qword [rsp + 0x48]
add rcx, r8
psadbw xmm0, xmmword [0x18029ce10]
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq r13, xmm0
add r13, r11
add r13, rax
add r13, rsi
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], rcx
mov qword [r14 + 0x18], rdx
mov eax, 0x30
mov ecx, 0x28
mov edx, 0x20
jmp 0x1801cc973
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_str_indices_0.4.3_srclines.rs
mov rcx, r10
mov rdx, r9
call fcn.180201960
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_str_indices_0.4.3_srclines.rs
mov rcx, r10
call fcn.180201c90
movzx eax, byte [r15 + r13]
and al, 0xc0
xor ebp, ebp
cmp al, 0x80
sete bpl
add r10, rbp
inc r13
cmp r12, r13
jne 0x1801cc922
jmp 0x1801cbe60
movzx r9d, byte [rcx + r13]
and r9b, 0xc0
xor ebp, ebp
cmp r9b, 0x80
sete bpl
add r11, rbp
inc r13
cmp rdi, r13
jne 0x1801cc941
jmp 0x1801cb6de
mov eax, 0x48
mov ecx, 0x40
mov edx, 0x38
xor r8d, r8d
jmp 0x1801cac73
movzx ebx, byte [r15 + rsi]
and bl, 0xc0
xor edi, edi
cmp bl, 0x80
sete dil
add r9, rdi
inc rsi
cmp r11, rsi
jne 0x1801cc97b
jmp 0x1801cacf1
movzx ebp, byte [rcx + r8]
and bpl, 0xc0
xor r9d, r9d
cmp bpl, 0x80
sete r9b
add rax, r9
inc r8
cmp r11, r8
jne 0x1801cc99c
mov rbp, qword [rsp + 0x68]
and ebp, 0xf
mov r8, qword [rsp + 0x60]
and r13, r8
je 0x1801cca6a
and r8, 0xfffffffffffffffc
neg r8
movdqa xmm0, xmmword [0x180210330]
movdqa xmm1, xmmword [0x1802102b0]
movdqa xmm2, xmmword [0x180210230]
pxor xmm3, xmm3
mov r11, rdx
nop word [rax + rax]
movdqa xmm4, xmmword [r11]
pand xmm4, xmm0
pcmpeqb xmm4, xmm1
pand xmm4, xmm2
movdqa xmm5, xmmword [r11 + 0x10]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r11 + 0x20]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
movdqa xmm5, xmmword [r11 + 0x30]
pand xmm5, xmm0
pcmpeqb xmm5, xmm1
psubb xmm4, xmm5
psadbw xmm4, xmm3
movq r9, xmm4
add r9, rax
pshufd xmm4, xmm4, 0xee
movq rax, xmm4
add rax, r9
add r11, 0x40
add r8, 4
jne 0x1801cca00
pxor xmm0, xmm0
pxor xmm1, xmm1
mov r8, qword [rsp + 0x60]
and r8, 3
je 0x1801ccae2
shl r13, 4
add r13, rdx
movdqa xmm1, xmmword [r13]
pand xmm1, xmmword [0x180210330]
pcmpeqb xmm1, xmmword [0x1802102b0]
pand xmm1, xmmword [0x180210230]
cmp r8d, 1
je 0x1801ccae2
movdqa xmm2, xmmword [r13 + 0x10]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
cmp r8d, 2
je 0x1801ccae2
movdqa xmm2, xmmword [r13 + 0x20]
pand xmm2, xmmword [0x180210330]
pcmpeqb xmm2, xmmword [0x1802102b0]
psubb xmm1, xmm2
psadbw xmm1, xmm0
movq r13, xmm1
pshufd xmm0, xmm1, 0xee
movq r8, xmm0
test rbp, rbp
mov qword [rsp + 0x60], r8
je 0x1801ccb2e
mov qword [rsp + 0x68], r13
mov r8, r10
and r8, 0xfffffffffffffff0
and r10d, 3
cmp ebp, 4
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], r8
jae 0x1801ccb36
xor r9d, r9d
xor ebp, ebp
jmp 0x1801ccbb8
xor r9d, r9d
jmp 0x1801ccc00
sub rbp, r10
lea r11, [r8 + rdx]
add r11, 3
xor r9d, r9d
mov rdx, rbp
xor ebp, ebp
nop dword [rax]
movzx r8d, byte [r11 + rbp - 3]
movzx r14d, byte [r11 + rbp - 2]
and r8b, 0xc0
xor r13d, r13d
cmp r8b, 0x80
sete r13b
add r13, r9
and r14b, 0xc0
xor r8d, r8d
cmp r14b, 0x80
sete r8b
movzx r9d, byte [r11 + rbp - 1]
and r9b, 0xc0
xor r14d, r14d
cmp r9b, 0x80
sete r14b
add r14, r8
add r14, r13
movzx r8d, byte [r11 + rbp]
and r8b, 0xc0
xor r9d, r9d
cmp r8b, 0x80
sete r9b
add r9, r14
add rbp, 4
cmp rdx, rbp
jne 0x1801ccb50
test r10, r10
mov r13, qword [rsp + 0x68]
je 0x1801ccc00
add rbp, qword [rsp + 0xb0]
add rbp, qword [rsp + 0xb8]
xor r11d, r11d
nop word cs:[rax + rax]
movzx r8d, byte [rbp + r11]
and r8b, 0xc0
xor r14d, r14d
cmp r8b, 0x80
sete r14b
add r9, r14
inc r11
cmp r10, r11
jne 0x1801ccbe0
add r13, r9
add rax, qword [rsp + 0x60]
add rax, r13
sub rdi, rax
mov r14, qword [rsp + 0x30]
add r15, qword [rsp + 0xc8]
add rsi, qword [rsp + 0x58]
add r14, qword [rsp + 0x50]
mov r8, qword [rsp + 0x28]
test r8, r8
mov qword [rsp + 0x30], r14
je 0x1801ccc58
xor ebp, ebp
mov r13, r8
mov rdx, qword [rsp + 0x40]
jmp 0x1801ccc47
je 0x1801ccca5
dec r13
je 0x1801ccc5f
cmp r13, rdx
jae 0x1801ccc40
cmp byte [rcx + r13], 0xbf
jle 0x1801ccc42
mov r14, r13
jmp 0x1801ccca8
xor ebp, ebp
mov rdx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
add rbp, qword [rsp + 0xc0]
add rdi, qword [rsp + 0x70]
call fcn.1801c6ed0
mov r13, rax
add r13, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r15
mov qword [r14 + 0x20], rsi
mov rax, qword [rsp + 0x30]
mov qword [r14 + 0x28], rax
mov qword [r14 + 0x30], rbx
jmp 0x1801cc964
mov r14, rdx
cmp r14, 4
jae 0x1801cccb7
xor ebp, ebp
mov r14, qword [rsp + 0x38]
jmp 0x1801ccc64
add r14, 0xfffffffffffffffd
lea rax, [rcx + 0xf]
and rax, 0xfffffffffffffff0
mov rbp, rax
sub rbp, rcx
mov r8, r14
sub r8, rbp
jae 0x1801ccced
mov r9d, 0x10
mov eax, 1
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor r11d, r11d
jmp 0x1801ccd20
lea r9, [rcx + rbp]
mov r11, r8
shr r11, 4
mov r10d, r8d
and r10d, 0xf
mov qword [rsp + 0x50], r10
and r8, 0xfffffffffffffff0
add r8, r9
mov qword [rsp + 0x58], r8
cmp rax, rcx
jne 0x1801ccd1d
xor r8d, r8d
jmp 0x1801cce24
mov r14, rbp
cmp r14, 4
jae 0x1801ccd31
xor r8d, r8d
mov rbp, rcx
jmp 0x1801cce01
mov rax, r14
and rax, 0xfffffffffffffffc
cmp rdx, r13
cmovb r13, rdx
mov rdx, rax
add r13, 0xfffffffffffffffd
cmp rbp, r13
cmovb r13, rbp
lea rbp, [rcx + rax]
and r13, 0xfffffffffffffffc
pxor xmm0, xmm0
xor eax, eax
movdqa xmm2, xmmword [0x18029c450]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x180210320]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx r10d, word [rcx + rax]
movd xmm5, r10d
movzx r10d, word [rcx + rax + 2]
movd xmm6, r10d
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 rax, 4
cmp r13, rax
jne 0x1801ccd80
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r8, xmm0
cmp r14, rdx
je 0x1801cce24
add r14, rcx
nop word cs:[rax + rax]
cmp byte [rbp], 0xf0
lea rax, [rbp + 1]
sbb r8, 0xffffffffffffffff
mov rbp, rax
cmp rax, r14
jne 0x1801cce10
test r11, r11
mov r14, qword [rsp + 0x38]
je 0x1801ccea5
movdqa xmm0, xmmword [0x18029c460]
pxor xmm1, xmm1
nop word [rax + rax]
cmp r11, 0xff
mov eax, 0xff
cmovb rax, r11
mov ebp, eax
shl ebp, 4
lea r13, [r9 + rbp]
xor r10d, r10d
pxor xmm2, xmm2
movdqa xmm3, xmmword [r9 + r10]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
psubb xmm2, xmm4
add r10, 0x10
cmp rbp, r10
jne 0x1801cce60
psadbw xmm2, xmm1
movq r9, xmm2
add r8, r9
pshufd xmm2, xmm2, 0xee
movq rbp, xmm2
add rbp, r8
mov r8, rbp
mov r9, r13
sub r11, rax
jne 0x1801cce40
jmp 0x1801ccea8
mov rbp, r8
mov r11, qword [rsp + 0x50]
test r11, r11
je 0x1801ccee6
mov r8, r11
and r8, 3
mov rdx, qword [rsp + 0x40]
je 0x1801ccef5
mov r10, qword [rsp + 0x58]
mov r9, r10
nop dword [rax + rax]
lea rax, [r9 + 1]
cmp byte [r9], 0xf0
sbb rbp, 0xffffffffffffffff
mov r9, rax
dec r8
jne 0x1801cced0
jmp 0x1801ccefd
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
jmp 0x1801ccc64
mov r10, qword [rsp + 0x58]
mov rax, r10
cmp r11d, 4
mov r8, qword [rsp + 0x28]
jb 0x1801ccc64
add r10, r11
cmp byte [rax], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [rax + 1], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [rax + 2], 0xf0
sbb rbp, 0xffffffffffffffff
cmp byte [rax + 3], 0xf0
lea r9, [rax + 4]
sbb rbp, 0xffffffffffffffff
mov rax, r9
cmp r9, r10
jne 0x1801ccf0f
jmp 0x1801ccc64