Function at 0x14006bf80
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
movdqa xmmword [rsp + 0x2a0], xmm15
movdqa xmmword [rsp + 0x290], xmm14
movdqa xmmword [rsp + 0x280], xmm13
movdqa xmmword [rsp + 0x270], xmm12
movdqa xmmword [rsp + 0x260], xmm11
movdqa xmmword [rsp + 0x250], xmm10
movdqa xmmword [rsp + 0x240], xmm9
movdqa xmmword [rsp + 0x230], xmm8
movdqa xmmword [rsp + 0x220], xmm7
movaps xmmword [rsp + 0x210], xmm6
mov r13, rdx
mov rbx, rcx
mov r14, qword [rsp + 0x320]
test r9, r9
je 0x14006c13e
lea rax, [r8 + r9]
xor edx, edx
movdqa xmm0, xmmword [0x1401f8560]
mov rcx, r8
jmp 0x14006c02f
xor r11d, r11d
mov rdx, r11
cmp rcx, rax
je 0x14006d090
movzx esi, byte [rcx]
test sil, sil
js 0x14006c050
inc rcx
mov r10d, esi
cmp r10d, 0x2e
jne 0x14006c0e0
jmp 0x14006c020
mov r10d, esi
and r10d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp sil, 0xdf
jbe 0x14006c0a4
movzx r11d, byte [rcx + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp sil, 0xf0
jb 0x14006c0ba
movzx esi, byte [rcx + 3]
add rcx, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and esi, 0x3f
or esi, r11d
or esi, r10d
mov r10d, esi
cmp r10d, 0x2e
jne 0x14006c0e0
jmp 0x14006c020
add rcx, 2
shl r10d, 6
or r10d, edi
cmp r10d, 0x2e
jne 0x14006c0e0
jmp 0x14006c020
add rcx, 3
shl r10d, 0xc
or r11d, r10d
mov r10d, r11d
cmp r10d, 0x2e
je 0x14006c020
nop word cs:[rax + rax]
cmp r10d, 0x110000
je 0x14006d090
test rdx, rdx
jne 0x14006c0f8
cmp r10d, 0x2d
je 0x14006c13e
mov r11d, 5
cmp rdx, 4
ja 0x14006c123
movdqa xmmword [rsp + 0x40], xmm0
je 0x14006d1ee
cmp r10d, dword [rsp + rdx*4 + 0x40]
jne 0x14006c123
inc rdx
mov r11, rdx
cmp rdx, 4
je 0x14006c13e
lea edx, [r10 - 0x61]
cmp edx, 0x1a
jb 0x14006c023
add r10d, 0xffffffd0
cmp r10d, 9
jbe 0x14006c023
mov qword [rsp + 0x1a8], rbx
mov rbx, r13
mov eax, dword [r13 + 0x30]
movzx ecx, byte [r13 + 0x34]
add r9, r8
xorps xmm6, xmm6
movups xmmword [rsp + 0xa8], xmm6
movups xmmword [rsp + 0x1b2], xmm6
mov byte [rsp + 0x1c2], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rsp + 0x56], xmm0
mov edx, dword [rsp + 0x1bf]
mov dword [rsp + 0x65], edx
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], r9
lea rdx, [rsp + 0xf8]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], 0
mov byte [rsp + 0xa4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x128], rcx
mov qword [r13 + 0x10], 0
mov dword [rsp + 0x100], 0
mov qword [rsp + 0xf8], 0
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x110], rcx
movups xmmword [rsp + 0x14a], xmm6
mov dword [rsp + 0xa0], eax
mov byte [rsp + 0xb8], 0
mov dword [rsp + 0xc0], 0
mov word [rsp + 0xc4], 0
movzx eax, word [rsp + 0x158]
mov word [rsp + 0xd6], ax
movdqu xmm0, xmmword [rsp + 0x148]
movdqu xmmword [rsp + 0xc6], xmm0
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], 0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x140], rax
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x38], rax
lea r15, [0x14023cd98]
lea r12, [0x140240868]
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov qword [rsp + 0x120], rax
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov esi, dword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
test esi, esi
je 0x14006c320
test rcx, rcx
je 0x14006c370
mov rdx, qword [rsp + 0xd8]
cmp rcx, 1
jne 0x14006cfea
cmp rax, rdx
jb 0x14006d02a
mov qword [rsp + 0xd8], 0
jmp 0x14006c359
test rcx, rcx
je 0x14006c370
movzx edx, word [rsp + 0xc4]
cmp rcx, 1
jne 0x14006cff4
cmp dx, 4
ja 0x14006f04e
cmp rax, rdx
jb 0x14006d022
test rdx, rdx
je 0x14006c359
mov word [rsp + 0xc4], 0
mov qword [rsp + 0x40], 0
jmp 0x14006c370
mov dword [rsp + 0xe0], eax
nop dword [rax + rax]
mov r9, qword [rsp + 0xb0]
test r9, r9
je 0x14006c3ce
mov r8d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xa8]
test r8d, r8d
je 0x14006cba7
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
cmp rcx, rdx
jb 0x14006cbc4
jmp 0x14006d1d4
add esi, 0x11a7
movzx edx, si
lea rcx, [rsp + 0x50]
call fcn.14006f640
mov r9, qword [rsp + 0xb0]
test r9, r9
mov rbx, r13
jne 0x14006c37d
movzx r10d, byte [rsp + 0xa0]
cmp r10b, 2
je 0x14006cb08
mov r8, qword [rsp + 0x90]
mov r14, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
movzx edi, byte [rsp + 0xa1]
mov rsi, qword [rsp + 0x98]
test r8, r8
je 0x14006c4bc
cmp r8, rsi
je 0x14006c4b0
lea rcx, [r8 + 1]
mov qword [rsp + 0x90], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x14006c7db
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0x90], r9
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp dl, 0xdf
jbe 0x14006cadb
lea r9, [r8 + 3]
mov qword [rsp + 0x90], r9
movzx r9d, byte [r8 + 2]
shl ebx, 6
and r9d, 0x3f
or r9d, ebx
cmp dl, 0xf0
jb 0x14006cae7
lea rdx, [r8 + 4]
mov qword [rsp + 0x90], rdx
movzx edx, byte [r8 + 3]
and ecx, 7
shl ecx, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, ecx
cmp edx, 0x110000
mov rbx, r13
jne case.0x14006c69a.0
mov qword [rsp + 0x90], 0
cmp r14, r11
je 0x14006cb00
lea rdx, [r14 + 1]
mov qword [rsp + 0x78], rdx
movzx ecx, byte [r14]
test cl, cl
js 0x14006c4f0
mov r14, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14006c5a0
jmp 0x14006c7db
mov edx, ecx
and edx, 0x1f
lea r8, [r14 + 2]
mov qword [rsp + 0x78], r8
movzx r9d, byte [r14 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14006c562
lea rbx, [r14 + 3]
mov qword [rsp + 0x78], rbx
movzx r8d, byte [r14 + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x14006c578
lea rcx, [r14 + 4]
mov qword [rsp + 0x78], rcx
movzx r9d, byte [r14 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
or r9d, edx
mov r14, rcx
mov edx, r9d
mov rbx, r13
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14006c5a0
jmp 0x14006c7db
shl edx, 6
or edx, r9d
mov r14, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14006c5a0
jmp 0x14006c7db
shl edx, 0xc
or r8d, edx
mov r14, rbx
mov edx, r8d
mov rbx, r13
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x14006c7db
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x14006cb00
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x14006c7db
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x14006c7db
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov ebx, dword [r15 + r8*8]
cmp ebx, edx
je 0x14006c613
lea rbp, [r8 + 1]
cmp ebx, edx
cmova r9, r8
cmovb rcx, rbp
mov r8, r9
sub r8, rcx
ja 0x14006c5e0
test rcx, rcx
je 0x14006d18a
dec rcx
mov r8, rcx
movzx r9d, word [r15 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x14006c660
movzx r8d, word [r15 + r8*8]
cmp dx, r8w
jb 0x14006d167
mov r9d, edx
sub r9d, r8d
add r9w, cx
jb 0x14006d170
movzx ecx, r9w
cmp ecx, 0x1f73
jb 0x14006c671
jmp 0x14006d181
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x14006d19b
mov rbx, r13
movzx r9d, byte [r12 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x14006c69a
mov r8d, r9d
lea r9, [0x1401f8a50]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
cmp edx, 0x110000
je 0x14006cb00
cmp byte [rsp + 0xb8], 0
je 0x14006c850
cmp edx, 0x80
jb 0x14006c3b4
lea edi, [rdx - 0xac00]
cmp edi, 0x2ba4
jae 0x14006c8d5
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
lea rcx, [rsp + 0x50]
call fcn.14006f640
imul eax, ebx, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
lea rcx, [rsp + 0x50]
call fcn.14006f640
jmp 0x14006c8b1
cmp edx, 0x80
jb 0x14006c3b4
lea edi, [rdx - 0xac00]
cmp edi, 0x2ba4
jae 0x14006c96b
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
lea rcx, [rsp + 0x50]
call fcn.14006f640
imul eax, ebx, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
lea rcx, [rsp + 0x50]
call fcn.14006f640
mov eax, esi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub si, cx
jne 0x14006c3ab
jmp 0x14006c3be
imul eax, edx, 0x31415926
imul ecx, edx, 0x9e3779b9
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x1402867e8]
movzx r8d, word [r9 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x20
lea r9, [0x1402885b0]
mov r14, qword [r9 + r8*8]
cmp edx, r14d
jne 0x14006ca2b
mov rax, r14
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0x1667
ja 0x14006f14c
shr r14, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp r14, rdx
ja 0x14006f128
lea rax, [0x14028fcd0]
lea rsi, [rax + rcx*4]
test r14, r14
jne 0x14006caab
jmp 0x14006c3be
imul eax, edx, 0x31415926
imul ecx, edx, 0x9e3779b9
xor ecx, eax
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x14027e18c]
movzx ecx, word [r8 + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x14027f1a8]
mov rax, qword [rcx + rax*8]
cmp edx, eax
jne 0x14006c3b4
mov rcx, rax
shr rcx, 0x20
movzx ecx, cx
cmp rcx, 0xd4f
jae 0x14006f115
mov r14, rax
shr r14, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp r14, rdx
ja 0x14006f137
shr rax, 0x30
je 0x14006c3be
lea rax, [0x140283210]
lea rsi, [rax + rcx*4]
shl r14d, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rsi + rdi]
lea rcx, [rsp + 0x50]
call fcn.14006f640
add rdi, 4
cmp r14, rdi
jne 0x14006ca10
jmp 0x14006c3be
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x14027e18c]
movzx ecx, word [r8 + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x14027f1a8]
mov r14, qword [rcx + rax*8]
cmp edx, r14d
jne 0x14006c3b4
mov rax, r14
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0xd4e
ja 0x14006f115
shr r14, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp r14, rdx
ja 0x14006f137
lea rax, [0x140283210]
lea rsi, [rax + rcx*4]
test r14, r14
je 0x14006c3be
shl r14d, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rsi + rdi]
lea rcx, [rsp + 0x50]
call fcn.14006f640
add rdi, 4
cmp r14, rdi
jne 0x14006cac0
jmp 0x14006c3be
shl ecx, 6
or ecx, ebx
mov edx, ecx
jmp 0x14006c7db
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x14006c7db
mov byte [rsp + 0xa0], 2
cmp dword [rsp + 0x50], 0
je 0x14006cb37
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14006cf60
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
mov rax, rdx
sub rax, rcx
jae 0x14006cb68
jmp 0x14006f0c3
movzx edx, word [rsp + 0x54]
test rdx, rdx
je 0x14006cf60
cmp dx, 4
ja 0x14006f101
lea r8, [rsp + 0x58]
mov rcx, qword [rsp + 0xb0]
mov rax, rdx
sub rax, rcx
jb 0x14006f0c3
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.140070500
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x14006cb85
mov r9, qword [rsp + 0x68]
jmp 0x14006cb8b
movzx r9d, word [rsp + 0x54]
mov rbx, r13
mov qword [rsp + 0xb0], r9
mov rcx, qword [rsp + 0xa8]
test r8d, r8d
jne 0x14006c393
movzx edx, word [rsp + 0x54]
cmp rdx, 4
ja 0x14006f04e
lea rax, [rsp + 0x58]
cmp rcx, rdx
jae 0x14006d1d4
mov edi, dword [rax + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14006cbe0
test r8d, r8d
je 0x14006cbf0
mov rax, qword [rsp + 0x68]
jmp 0x14006cbf5
mov qword [rsp + 0xa8], rcx
jmp 0x14006ccdb
movzx eax, word [rsp + 0x54]
sub rax, r9
jb 0x14006d1dd
je 0x14006cca5
xor r8d, r8d
jmp 0x14006cc2f
movzx edx, byte [r9 + rcx*8]
mov ecx, dword [r9 + rcx*8 + 4]
mov byte [r9 + r8*8], dl
mov dword [r9 + r8*8 + 4], ecx
lea rcx, [r8 + 1]
mov r8, rcx
cmp rax, rcx
je 0x14006cca0
mov rcx, qword [rsp + 0xb0]
add rcx, r8
jb 0x14006d139
cmp dword [rsp + 0x50], 0
je 0x14006cc70
mov rdx, qword [rsp + 0x68]
cmp rcx, rdx
jae 0x14006d14a
mov r9, qword [rsp + 0x60]
cmp r8, rdx
jb 0x14006cc10
jmp 0x14006d153
movzx edx, word [rsp + 0x54]
cmp rdx, 4
ja 0x14006f04e
cmp rcx, rdx
jae 0x14006d14a
lea r9, [rsp + 0x58]
cmp r8, rdx
jb 0x14006cc10
jmp 0x14006d153
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x14006ccb8
cmp qword [rsp + 0x68], rax
jb 0x14006ccd0
mov qword [rsp + 0x68], rax
jmp 0x14006ccd0
movzx ecx, word [rsp + 0x54]
cmp rax, rcx
jae 0x14006ccd0
mov word [rsp + 0x54], ax
nop word [rax + rax]
lea rax, [rsp + 0xa8]
movups xmmword [rax], xmm6
imul eax, edi, 0x31415926
imul ecx, edi, 0x9e3779b9
xor ecx, eax
imul rcx, rcx, 0x39a
shr rcx, 0x20
lea rdx, [0x14027a7b0]
movzx ecx, word [rdx + rcx*2]
add ecx, edi
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x39a
shr rax, 0x20
lea rcx, [0x14027aee4]
mov esi, dword [rcx + rax*4]
mov eax, esi
shr eax, 8
cmp eax, edi
mov eax, 0
cmovne esi, eax
mov r14d, dword [rsp + 0xe0]
cmp r14d, 0x110000
jne 0x14006cd60
test sil, sil
jne 0x14006cfb0
mov dword [rsp + 0xe0], edi
jmp 0x14006c370
cmp byte [rsp + 0xe4], 0
je 0x14006cdc0
cmp byte [rsp + 0xe5], sil
jae 0x14006ce0d
mov ecx, r14d
mov edx, edi
call fcn.1401a13d0
cmp eax, 0x110000
jne 0x14006ce5a
cmp dword [rsp + 0xc0], 0
je 0x14006cebe
mov rbx, qword [rsp + 0xd8]
cmp rbx, qword [rsp + 0xc8]
jne 0x14006ce3f
lea rcx, [rsp + 0xc8]
call fcn.1401a2500
jmp 0x14006ce3f
mov ecx, r14d
mov edx, edi
call fcn.1401a13d0
cmp eax, 0x110000
jne 0x14006c364
test sil, sil
je 0x14006cfde
cmp dword [rsp + 0xc0], 0
je 0x14006ce92
mov rbx, qword [rsp + 0xd8]
cmp rbx, qword [rsp + 0xc8]
jne 0x14006ce3f
lea rcx, [rsp + 0xc8]
call fcn.1401a2500
jmp 0x14006ce3f
test sil, sil
je 0x14006cfb8
cmp dword [rsp + 0xc0], 0
je 0x14006ce66
mov rbx, qword [rsp + 0xd8]
cmp rbx, qword [rsp + 0xc8]
jne 0x14006ce3f
lea rcx, [rsp + 0xc8]
call fcn.1401a2500
mov rax, qword [rsp + 0xd0]
mov dword [rax + rbx*4], edi
inc rbx
mov qword [rsp + 0xd8], rbx
jmp 0x14006cf33
mov dword [rsp + 0xe0], eax
jmp 0x14006c370
movzx eax, word [rsp + 0xc4]
cmp rax, 3
jbe 0x14006cf4b
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0xc4]
mov r8d, edi
call fcn.14006f870
jmp 0x14006cee4
movzx eax, word [rsp + 0xc4]
cmp rax, 3
jbe 0x14006cf4b
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0xc4]
mov r8d, edi
call fcn.14006f870
jmp 0x14006cee4
movzx eax, word [rsp + 0xc4]
cmp rax, 3
jbe 0x14006cf4b
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0xc4]
mov r8d, edi
call fcn.14006f870
cmp dword [rsp + 0xc0], 0
je 0x14006cf0f
cmp qword [rsp + 0xc8], 0
je 0x14006cf0f
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
movdqu xmm0, xmmword [rsp + 0x160]
movdqu xmm1, xmmword [rsp + 0x170]
lea rax, [rsp + 0xa8]
movdqu xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
mov rbx, r13
mov byte [rsp + 0xe4], 1
mov byte [rsp + 0xe5], sil
jmp 0x14006c370
mov dword [rsp + rax*4 + 0xc8], edi
inc eax
mov word [rsp + 0xc4], ax
jmp 0x14006cf36
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], 0
mov r14d, dword [rsp + 0xe0]
mov ecx, 2
mov eax, 0
cmp r14d, 0x110000
je 0x14006c2d2
mov dword [rsp + 0xe0], 0x110000
jmp 0x14006d080
mov r14d, edi
jmp 0x14006d080
mov dword [rsp + 0xe0], edi
mov byte [rsp + 0xe4], 0
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
jmp 0x14006d080
mov dword [rsp + 0xe0], edi
jmp 0x14006d080
cmp rax, rdx
jae 0x14006d041
mov rcx, rdi
jmp 0x14006d00b
cmp dx, 4
ja 0x14006f04e
lea rcx, [rsp + 0xc8]
cmp rax, rdx
jae 0x14006d04f
mov r14d, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], rax
jmp 0x14006d080
lea rdi, [rsp + 0xc8]
mov r14d, dword [rdi + rax*4]
inc rax
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], rax
jmp 0x14006d080
mov qword [rsp + 0xd8], 0
jmp 0x14006d05e
test rdx, rdx
je 0x14006d05e
mov word [rsp + 0xc4], 0
mov r14d, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], 0x110000
cmp r14d, 0x110000
je 0x14006d204
nop
mov rcx, rbx
mov edx, r14d
call fcn.14006bd80
jmp 0x14006c2c8
mov rax, qword [r14]
mov rsi, qword [r14 + 0x10]
sub rax, rsi
cmp rax, r9
jb 0x14006d1b1
mov rcx, qword [r14 + 8]
add rcx, rsi
mov rdx, r8
mov r8, r9
mov rdi, r9
call sub.msvcrt.dll_memcpy
add rsi, rdi
mov qword [r14 + 0x10], rsi
mov qword [rbx], 0
mov dword [rbx + 8], 0
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm8, xmmword [rsp + 0x230]
movaps xmm9, xmmword [rsp + 0x240]
movaps xmm10, xmmword [rsp + 0x250]
movaps xmm11, xmmword [rsp + 0x260]
movaps xmm12, xmmword [rsp + 0x270]
movaps xmm13, xmmword [rsp + 0x280]
movaps xmm14, xmmword [rsp + 0x290]
movaps xmm15, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14023c858]
call fcn.14002f520
jmp case.0x14006c69a.1
lea r8, [0x14023c870]
jmp 0x14006d15d
mov rcx, r8
lea r8, [0x14023c888]
call fcn.140028700
jmp case.0x14006c69a.1
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
jmp 0x14006d191
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
call fcn.14002f520
jmp case.0x14006c69a.1
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
jmp 0x14006d1a2
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
call fcn.14002f560
jmp case.0x14006c69a.1
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov edx, 0x1f73
call fcn.140028700
jmp case.0x14006c69a.1
mov rcx, r14
mov rdx, rsi
mov rsi, r8
mov r8, r9
mov rdi, r9
call fcn.1400670d0
mov r8, rsi
mov r9, rdi
mov rsi, qword [r14 + 0x10]
jmp 0x14006d0a3
lea r8, [0x14023c828]
jmp 0x14006d15d
lea rcx, [0x14023c840]
call fcn.14002f560
jmp case.0x14006c69a.1
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov ecx, 4
mov edx, 4
call fcn.140028700
cmp dword [rsp + 0x50], 0
je 0x14006d226
cmp qword [rsp + 0x58], 0
je 0x14006d226
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
test esi, esi
je 0x14006d246
cmp qword [rsp + 0xc8], 0
je 0x14006d246
mov rcx, qword [0x1402f90f8]
xor edx, edx
mov r8, rdi
call fcn.1401d02bc
mov qword [rsp + 0x148], 0
lea rax, [rsp + 0x150]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x150], 8
mov qword [rsp + 0x158], 0
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x190], rax
mov byte [rsp + 0x198], 1
mov word [rsp + 0x1a0], 1
mov rax, qword [rsp + 0x128]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x138], rax
mov bl, 1
xor eax, eax
mov qword [rsp + 0x30], rax
lea rbp, [0x1402763e8]
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x1401f85b0]
movdqa xmm12, xmmword [0x1401f85c0]
movdqa xmm13, xmmword [0x1401f85d0]
movdqa xmm14, xmmword [0x1401f85e0]
movdqa xmm15, xmmword [0x1401f85f0]
movdqa xmm7, xmmword [0x1401f8600]
movdqa xmm8, xmmword [0x1401f8610]
movdqa xmm9, xmmword [0x1401f8620]
movdqa xmm10, xmmword [0x1401f8630]
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x130], rax
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0xf0], rax
jmp 0x14006d392
mov rcx, qword [rbx + 8]
add rcx, r14
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r14
mov qword [rbx + 0x10], rsi
xor ebx, ebx
lea rcx, [rsp + 0x160]
call fcn.14006f310
mov rdi, rax
test rax, rax
je 0x14006e1fd
mov rsi, rdx
test bl, 1
mov rax, qword [rsp + 0x320]
jne 0x14006d3e8
mov rbx, qword [rax + 0x10]
cmp rbx, qword [rax]
jne 0x14006d3d1
mov rcx, qword [rsp + 0x320]
call fcn.140039bb0
mov rcx, qword [rsp + 0x320]
mov rax, qword [rcx + 8]
mov byte [rax + rbx], 0x2e
inc rbx
mov qword [rcx + 0x10], rbx
cmp rsi, 4
jb 0x14006d3fa
cmp dword [rdi], 0x2d2d6e78
je 0x14006d57f
test byte [rsp + 0x30], 1
jne 0x14006d52a
test rsi, rsi
je 0x14006d523
mov rax, rdi
add rax, rsi
mov rcx, rdi
jmp 0x14006d422
cmp rcx, rax
je 0x14006d523
movzx edx, byte [rcx]
test dl, dl
js 0x14006d42e
inc rcx
jmp 0x14006d4a1
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14006d483
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14006d493
movzx edx, byte [rcx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0x110000
je 0x14006d523
add rcx, 4
jmp 0x14006d4a1
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x14006d4a1
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x14006d419
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x14006d4d3
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x14006d419
shr r8, 1
add r8, r10
lea rbx, [r8 + r8*2]
mov r11d, dword [rbp + rbx*4]
mov r14d, dword [rbp + rbx*4 + 4]
cmp r14d, edx
jb 0x14006d4f1
cmp r11d, edx
jbe 0x14006d501
cmp r14d, edx
jae 0x14006d4c0
mov r10, r8
inc r10
mov r8, r9
jmp 0x14006d4c0
movzx edx, byte [rbp + rbx*4 + 8]
cmp edx, 0x11
ja 0x14006d419
mov r8d, 0x20003
bt r8d, edx
jae 0x14006d419
mov al, 1
jmp 0x14006d525
xor eax, eax
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov rdx, rsi
mov r8, qword [rsp + 0x128]
lea r9, [rsp + 0xf8]
call fcn.140070320
mov rbx, qword [rsp + 0x320]
mov rax, qword [rbx]
mov r14, qword [rbx + 0x10]
sub rax, r14
cmp rax, rsi
jae 0x14006d377
mov rcx, rbx
mov rdx, r14
mov r8, rsi
call fcn.1400670d0
mov rbx, qword [rsp + 0x320]
mov r14, qword [rbx + 0x10]
jmp 0x14006d377
add rsi, 0xfffffffffffffffc
add rdi, 4
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x148]
mov r8, rdi
mov r9, rsi
call fcn.14006af20
mov r15, qword [rsp + 0x1b0]
test r15, r15
je 0x14006d8ee
mov r12, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1e0]
sub r8, r12
jb 0x14006f17e
mov rsi, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x320]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rsp + 0x118], rcx
sub rax, rcx
cmp rax, r8
jae 0x14006d65d
mov rcx, qword [rsp + 0x320]
mov rdx, qword [rsp + 0x118]
call fcn.1400670d0
jmp 0x14006d65d
mov r14, qword [rbx + 0x10]
lea rbp, [0x1402763e8]
mov rcx, qword [rbx + 8]
add rcx, r14
lea rdx, [rsp + 0x40]
mov r8, rdi
call sub.msvcrt.dll_memcpy
add r14, rdi
mov qword [rbx + 0x10], r14
mov rbx, qword [rsp + 0x120]
cmp rbx, qword [rsp + 0x38]
jae 0x14006d77c
mov rax, rbx
shl rax, 4
add rax, qword [rsp + 0x108]
cmp qword [rax], r12
jne 0x14006d690
inc r12
je 0x14006f0e0
inc rbx
mov edi, dword [rax + 8]
jmp 0x14006d730
mov rax, r15
mov r15, rax
mov rax, rsi
cmp r15, rsi
je 0x14006d693
movzx edx, byte [r15]
test dl, dl
jns 0x14006d6f4
movzx eax, dl
and eax, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x14006d704
movzx ecx, byte [r15 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14006d710
movzx edi, byte [r15 + 3]
add r15, 4
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
mov rax, r15
cmp edi, 0x110000
je 0x14006d693
jmp 0x14006d71b
inc r15
movzx edi, dl
inc r12
jne 0x14006d724
jmp 0x14006f0ef
add r15, 2
shl eax, 6
or eax, r8d
jmp 0x14006d719
add r15, 3
shl eax, 0xc
or eax, ecx
mov edi, eax
inc r12
je 0x14006f0ef
cmp edi, 0x110000
je 0x14006d8c0
cmp edi, 0x80
jae 0x14006d7f4
mov rbp, rbx
mov rbx, qword [rsp + 0x320]
mov r14, qword [rbx + 0x10]
cmp r14, qword [rbx]
jne 0x14006d758
mov rcx, rbx
call fcn.140039bb0
mov rax, qword [rbx + 8]
mov byte [rax + r14], dil
inc r14
mov qword [rbx + 0x10], r14
mov rbx, rbp
lea rbp, [0x1402763e8]
cmp rbx, qword [rsp + 0x38]
jb 0x14006d668
cmp r15, rsi
je 0x14006d8c0
movzx edx, byte [r15]
test dl, dl
jns 0x14006d6f4
movzx eax, dl
and eax, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x14006d704
movzx ecx, byte [r15 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14006d710
movzx edi, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
je 0x14006d8c0
add r15, 4
inc r12
jne 0x14006d724
jmp 0x14006f0ef
mov dword [rsp + 0x40], 0
cmp edi, 0x800
mov qword [rsp + 0x120], rbx
mov eax, edi
jae 0x14006d82b
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x40], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x41], dil
mov edi, 2
jmp 0x14006d892
cmp edi, 0x10000
jae 0x14006d85d
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x42], dil
mov edi, 3
jmp 0x14006d892
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x40], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x42], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x43], dil
mov edi, 4
mov rbx, qword [rsp + 0x320]
mov rax, qword [rbx]
mov r14, qword [rbx + 0x10]
sub rax, r14
cmp rax, rdi
jae 0x14006d63a
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.1400670d0
jmp 0x14006d62f
mov rax, qword [rsp + 0x320]
mov rdi, qword [rax + 8]
mov r12, qword [rax + 0x10]
mov r14, qword [rsp + 0x118]
test r14, r14
je 0x14006d90a
cmp r12, r14
jbe 0x14006d904
cmp byte [rdi + r14], 0xbf
jg 0x14006d90a
jmp 0x14006f1e0
mov byte [rsp + 0xf8], 1
mov al, 1
mov qword [rsp + 0x30], rax
xor ebx, ebx
jmp 0x14006d392
jne 0x14006f1e0
lea r15, [rdi + r14]
test byte [rsp + 0x30], 1
jne 0x14006d9cd
cmp r12, r14
jne 0x14006d925
xor eax, eax
jmp 0x14006d9c8
lea rsi, [rdi + r12]
mov rbx, r15
jmp 0x14006d933
cmp rbx, rsi
je 0x14006d91e
movzx ecx, byte [rbx]
test cl, cl
js 0x14006d93f
inc rbx
jmp 0x14006d9a0
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006d987
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006d995
movzx ecx, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006d91e
add rbx, 4
jmp 0x14006d9a0
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006d9a0
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x14006d92e
call fcn.1401a1300
cmp al, 0x11
ja 0x14006d92e
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x14006d92e
mov al, 1
mov qword [rsp + 0x30], rax
movq xmm0, qword [rsp + 0xf8]
movzx eax, byte [rsp + 0x101]
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
or cl, byte [rsp + 0x100]
or al, byte [rsp + 0x102]
or al, cl
or al, byte [rsp + 0x103]
jne 0x14006e1e7
mov qword [rsp + 0x38], r15
cmp r12, r14
je 0x14006e1c2
add rdi, r12
xor eax, eax
xor esi, esi
mov r15, qword [rsp + 0x38]
movzx r8d, byte [r15]
test r8b, r8b
js 0x14006da4d
inc r15
jmp 0x14006dad8
mov ecx, r8d
and ecx, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x14006daa2
movzx edx, byte [r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14006dab1
movzx r14d, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r14d, 0x3f
or r14d, edx
or r14d, ecx
cmp r14d, 0x110000
je 0x14006dfed
add r15, 4
jmp 0x14006dabd
add r15, 2
shl ecx, 6
or ecx, r9d
mov r14d, ecx
jmp 0x14006dabd
add r15, 3
shl ecx, 0xc
or edx, ecx
mov r14d, edx
cmp r14d, 0x7f
jbe 0x14006dad8
jmp 0x14006db5d
inc r15
cmp r14d, 0x80
jae 0x14006db5b
cmp r15, rdi
je 0x14006dfed
movzx r14d, byte [r15]
test r14b, r14b
jns 0x14006dac8
mov eax, r14d
and eax, 0x1f
movzx edx, byte [r15 + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x14006db3c
movzx ecx, byte [r15 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x14006db4a
movzx r14d, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r14d, 0x3f
or r14d, ecx
or r14d, eax
cmp r14d, 0x110000
je 0x14006dfed
add r15, 4
jmp 0x14006dacb
add r15, 2
shl eax, 6
or eax, edx
mov r14d, eax
jmp 0x14006dacb
add r15, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
jmp 0x14006dacb
xor eax, eax
mov ebx, eax
mov ecx, r14d
call fcn.1401a1370
cmp bl, al
jbe 0x14006db73
test al, al
jne case.0x14006dd5e.3907
lea ecx, [r14 - 0x340]
cmp ecx, 4
ja 0x14006db88
cmp ecx, 2
jne case.0x14006dd5e.3907
mov cl, 2
cmp r14d, 0xd56
jg 0x14006dbf9
cmp r14d, 0x9de
jg 0x14006dc39
cmp r14d, 0x93b
jg 0x14006dd60
lea edx, [r14 - 0x30f]
cmp edx, 0x36
ja 0x14006dbcd
movabs r8, 0x48020000001005
bt r8, rdx
jb 0x14006dfa3
lea edx, [r14 - 0x374]
cmp edx, 0x13
lea rbp, [0x1402763e8]
ja case.0x14006dd5e.3908
mov r8d, 0x80401
bt r8d, edx
jb case.0x14006dd5e.3907
jmp case.0x14006dd5e.3908
cmp r14d, 0x11126
jg 0x14006dca8
cmp r14d, 0x102d
jle 0x14006dd10
cmp r14d, 0x1f70
jg 0x14006ddac
cmp r14d, 0x102e
je 0x14006dfa3
cmp r14d, 0x1b35
jmp 0x14006de57
cmp r14d, 0xbd6
jg 0x14006dcea
cmp r14d, 0xbbd
jg 0x14006de50
lea edx, [r14 - 0xb3e]
cmp edx, 0x19
ja 0x14006dc6f
mov r8d, 0x3000001
bt r8d, edx
jb 0x14006dfa3
lea edx, [r14 - 0xa33]
cmp edx, 0x2b
lea rbp, [0x1402763e8]
ja 0x14006dc96
movabs r8, 0x80000000009
bt r8, rdx
jb case.0x14006dd5e.3907
cmp r14d, 0x9df
jne case.0x14006dd5e.3908
jmp case.0x14006dd5e.3907
cmp r14d, 0x114af
jle 0x14006dd86
lea edx, [r14 - 0x114b0]
cmp edx, 0xd
ja 0x14006dcd1
mov r8d, 0x2401
bt r8d, edx
jb 0x14006dfa3
cmp r14d, 0x115af
je 0x14006dfa3
cmp r14d, 0x11930
jmp 0x14006de57
cmp r14d, 0xcc1
jg 0x14006de07
cmp r14d, 0xbd7
je 0x14006dfa3
cmp r14d, 0xc56
jmp 0x14006de57
lea edx, [r14 - 0xdca]
cmp edx, 0x15
ja 0x14006dd2c
mov r8d, 0x200021
bt r8d, edx
jb 0x14006dfa3
cmp r14d, 0xd57
je 0x14006dfa3
lea edx, [r14 - 0xf43]
cmp edx, 0x76
lea rbp, [0x1402763e8]
ja case.0x14006dd5e.3908
lea r8, [0x1401f8640]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp r14d, 0x93c
je 0x14006dfa3
cmp r14d, 0x9be
je 0x14006dfa3
cmp r14d, 0x9d7
jmp 0x14006de57
cmp r14d, 0x11127
je 0x14006dfa3
cmp r14d, 0x1133e
je 0x14006dfa3
cmp r14d, 0x11357
jmp 0x14006de57
cmp r14d, 0xfa0f
jle 0x14006de1d
cmp r14d, 0x110ba
je 0x14006dfa3
lea edx, [r14 - 0xfa10]
cmp edx, 0x12
lea rbp, [0x1402763e8]
ja 0x14006dde5
mov r8d, 0x50005
bt r8d, edx
jb case.0x14006dd5e.3907
lea edx, [r14 - 0xfb1d]
cmp edx, 0x21
ja case.0x14006dd5e.3908
movabs r8, 0x200000005
bt r8, rdx
jb case.0x14006dd5e.3907
jmp case.0x14006dd5e.3908
cmp r14d, 0xcc2
je 0x14006dfa3
cmp r14d, 0xd3e
jmp 0x14006de57
cmp r14d, 0x2125
jg 0x14006dfb7
lea edx, [r14 - 0x1f71]
cmp edx, 0x8c
lea rbp, [0x1402763e8]
ja case.0x14006dd5e.3908
lea r8, [0x1401f881c]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp r14d, 0xbbe
lea rbp, [0x1402763e8]
je 0x14006dfaa
movd xmm1, r14d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1401f8580]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1401f8590]
pxor xmm3, xmm12
pcmpgtd xmm3, xmm14
pxor xmm2, xmm12
pcmpgtd xmm2, xmm15
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb edx, xmm2
xor dl, 0xff
jne case.0x14006dd5e.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1401f8570]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x1401f85a0]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps edx, xmm4
test dl, dl
jne case.0x14006dd5e.3907
lea edx, [r14 - 0x1d1bb]
cmp edx, 6
jb case.0x14006dd5e.3907
lea edx, [r14 - 0x2f800]
cmp edx, 0x21e
jb case.0x14006dd5e.3907
movd edx, xmm1
cmp edx, 0x2000
je case.0x14006dd5e.3907
cmp edx, 0x212a
je case.0x14006dd5e.3907
cmp edx, 0xfb40
je case.0x14006dd5e.3907
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
pcmpgtd xmm0, xmm9
pxor xmm1, xmm12
pcmpgtd xmm1, xmm10
packssdw xmm0, xmm1
packsswb xmm0, xmm0
pmovmskb r8d, xmm0
xor r8b, 0xff
jne 0x14006dfa3
lea r8d, [r14 - 0x11a8]
cmp r8d, 0x1b
jb 0x14006dfa3
cmp edx, 0x330
lea rbp, [0x1402763e8]
je 0x14006dfaa
add r14d, 0xffffcf67
cmp r14d, 2
movzx ecx, sil
mov edx, 2
cmovb ecx, edx
jmp 0x14006dfaa
lea rbp, [0x1402763e8]
mov esi, ecx
cmp r15, rdi
jne 0x14006da3c
jmp 0x14006dfef
lea edx, [r14 - 0x2329]
cmp edx, 2
lea rbp, [0x1402763e8]
jb case.0x14006dd5e.3907
cmp r14d, 0x2126
je case.0x14006dd5e.3907
cmp r14d, 0x2adc
je case.0x14006dd5e.3907
jmp case.0x14006dd5e.3908
mov ecx, esi
test cl, cl
je 0x14006e1c2
movzx eax, cl
cmp eax, 1
je case.0x14006dd5e.3907
lea rcx, [rsp + 0x88]
movups xmmword [rcx], xmm6
lea rax, [rsp + 0x1fe]
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
lea rax, [rsp + 0x1ec]
movups xmmword [rax], xmm6
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
mov eax, dword [rsp + 0x20b]
mov dword [rcx - 0x23], eax
movups xmm0, xmmword [rsp + 0x1fc]
movups xmmword [rcx - 0x32], xmm0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rdi
mov byte [rsp + 0x98], 0
mov dword [rsp + 0xa0], 0
mov word [rsp + 0xa4], 0
movzx eax, word [rsp + 0x1fa]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x1ea]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xc0], 0x110000
mov byte [rsp + 0xc4], 0
cmp rsi, rdi
je 0x14006e156
movzx ebx, byte [rsi]
test bl, bl
js 0x14006e0dc
inc rsi
jmp 0x14006e138
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x14006e120
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x14006e12d
movzx ebx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x14006e156
add rsi, 4
jmp 0x14006e138
add rsi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x14006e138
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x40]
call fcn.14006f9e0
xor r14d, r14d
cmp eax, 0x110000
je 0x14006e169
cmp eax, ebx
je 0x14006e0c7
jmp 0x14006e169
lea rcx, [rsp + 0x40]
call fcn.14006f9e0
cmp eax, 0x110000
sete r14b
cmp dword [rsp + 0x50], 0
je 0x14006e18b
cmp qword [rsp + 0x58], 0
je 0x14006e18b
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
cmp dword [rsp + 0xa0], 0
je 0x14006e1b6
cmp qword [rsp + 0xa8], 0
je 0x14006e1b6
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
test r14b, r14b
lea rbp, [0x1402763e8]
je case.0x14006dd5e.3907
sub r12, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x38]
mov rdx, r12
mov r8, qword [rsp + 0x138]
lea r9, [rsp + 0xf8]
call fcn.140070320
xor ebx, ebx
jmp 0x14006d392
mov byte [rsp + 0xfd], 1
xor ebx, ebx
jmp 0x14006d392
mov rax, qword [rsp + 0x320]
mov rdi, qword [rax + 8]
mov r12, qword [rax + 0x10]
mov rcx, qword [rsp + 0x110]
test rcx, rcx
mov rbx, r13
je 0x14006e23e
cmp r12, rcx
jbe 0x14006e23c
cmp byte [rdi + rcx], 0xbf
jg 0x14006e23e
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0xf0], rax
jmp 0x14006f1e8
jne 0x14006e228
mov rax, r12
sub rax, rcx
add rdi, rcx
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rax
movabs rax, 0x2e0000002e
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], 1
mov word [rsp + 0x80], 1
test byte [rsp + 0x30], 1
jne 0x14006e2a9
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.14006f310
test rax, rax
jne 0x14006e297
jmp 0x14006e65f
mov r15d, 0x260d9
lea rcx, [rsp + 0x40]
call fcn.14006f310
mov rdi, rax
test rax, rax
mov rbx, r13
je 0x14006e65f
mov r14, rdx
test rdx, rdx
je 0x14006e2af
movzx ecx, byte [rdi]
test cl, cl
js 0x14006e2dd
lea rbp, [rdi + 1]
jmp 0x14006e33e
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006e325
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006e333
movzx ecx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006e2af
lea rbp, [rdi + 4]
jmp 0x14006e33e
lea rbp, [rdi + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006e33e
lea rbp, [rdi + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r14, rdi
call fcn.1401a1300
test al, al
je 0x14006e401
movzx eax, al
cmp eax, 0x11
je 0x14006e401
cmp eax, 9
jne 0x14006e654
cmp rbp, r14
je 0x14006e4ce
movzx ecx, byte [rbp]
test cl, cl
js 0x14006e379
inc rbp
jmp 0x14006e3de
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006e3c5
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006e3d3
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006e4ce
add rbp, 4
jmp 0x14006e3de
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006e3de
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401a1300
cmp al, 0xe
ja 0x14006e654
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jb 0x14006e363
jmp 0x14006e654
cmp rbp, r14
je 0x14006e4dd
xor ebx, ebx
xor esi, esi
jmp 0x14006e41b
mov bl, 1
cmp rbp, r14
je 0x14006e4bd
movzx ecx, byte [rbp]
test cl, cl
js 0x14006e428
inc rbp
jmp 0x14006e489
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006e470
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006e47e
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14006e4bd
add rbp, 4
jmp 0x14006e489
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14006e489
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401a1300
cmp al, 0x11
ja 0x14006e654
movzx eax, al
bt r15d, eax
jb 0x14006e412
cmp eax, 1
je 0x14006e410
cmp eax, 5
jne 0x14006e654
mov sil, 1
jmp 0x14006e412
test bl, 1
sete al
test sil, 1
sete bl
or bl, al
jmp 0x14006e4df
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14006e518
dec r14
jmp 0x14006e534
mov bl, 1
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14006e4f1
dec r14
jmp 0x14006e5c7
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14006e62b
movzx ecx, byte [r14 - 3]
cmp cl, 0xbf
jle 0x14006e5fd
add r14, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14006e611
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14006e59b
movzx ecx, byte [r14 - 3]
cmp cl, 0xbf
jle 0x14006e56a
add r14, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14006e57e
mov ecx, ebp
call fcn.1401a1300
cmp al, 0xd
jne 0x14006e5a4
cmp r14, rdi
je 0x14006e2af
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14006e557
dec r14
jmp 0x14006e58e
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14006e59b
movzx ecx, byte [r14 - 3]
cmp cl, 0xc0
jge 0x14006e52b
movzx edx, byte [r14 - 4]
add r14, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x14006e534
jmp 0x14006e2af
add r14, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14006e586
mov ecx, ebp
call fcn.1401a1300
cmp al, 9
je 0x14006e2af
mov ecx, ebp
call fcn.1401a1300
cmp al, 5
je 0x14006e2af
jmp 0x14006e654
mov ecx, ebp
call fcn.1401a1300
cmp al, 0xd
jne 0x14006e634
cmp r14, rdi
je 0x14006e654
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14006e5e6
dec r14
jmp 0x14006e621
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14006e62b
movzx ecx, byte [r14 - 3]
cmp cl, 0xc0
jge 0x14006e50c
movzx edx, byte [r14 - 4]
add r14, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x14006e5c7
jmp 0x14006e654
add r14, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14006e619
mov ecx, ebp
call fcn.1401a1300
cmp al, 0x11
ja 0x14006e654
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x14006e654
test bl, bl
jne 0x14006e2af
mov byte [rsp + 0xfa], 1
mov rbx, r13
movzx esi, byte [rsp + 0xf8]
lea rcx, [rsp + 0xf9]
mov rax, qword [rcx]
mov qword [rsp + 0x160], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x167], eax
cmp qword [rsp + 0x148], 0
mov r15, qword [rsp + 0x320]
je 0x14006e6b1
mov r8, qword [rsp + 0x150]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
mov r12, qword [r15 + 0x10]
test r12, r12
je 0x14006e6df
js 0x14006f231
movzx eax, byte [0x1402f9139]
xor ecx, ecx
mov rdx, r12
call fcn.1401860d0
test rax, rax
jne 0x14006e6e4
mov ecx, 1
mov rdx, r12
call fcn.1400257c0
mov eax, 1
mov byte [rsp + 0xf0], sil
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x40], xmm0
mov qword [r15], r12
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], 0
lea rsi, [rbx + 0x18]
cmp qword [rbx + 0x18], 0
je 0x14006e72a
mov r8, qword [rbx + 0x20]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rsi], xmm0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x28]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], 1
mov word [rsp + 0x80], 1
mov r14b, 1
jmp 0x14006e79d
mov byte [rsp + 0xf0], 1
mov qword [r15 + 0x10], rdi
xor r14d, r14d
lea rcx, [rsp + 0x40]
call fcn.14006f310
test rax, rax
je 0x14006f021
mov r12, rax
test r14b, 1
movabs rbx, 0x8080808080808080
jne 0x14006e7e9
mov rsi, qword [r15 + 0x10]
cmp rsi, qword [r15]
jne 0x14006e7da
mov rcx, r15
mov rdi, rdx
call fcn.140039bb0
mov rdx, rdi
mov rax, qword [r15 + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [r15 + 0x10], rsi
cmp rdx, 8
jae 0x14006e89f
test rdx, rdx
je 0x14006e9f3
cmp byte [r12 + rdx - 1], 0
js 0x14006e8dc
mov rax, rdx
dec rax
je 0x14006e9f3
cmp byte [r12 + rdx - 2], 0
js 0x14006e8dc
mov rax, rdx
add rax, 0xfffffffffffffffe
je 0x14006e9f3
cmp byte [r12 + rdx - 3], 0
js 0x14006e8dc
mov rax, rdx
add rax, 0xfffffffffffffffd
je 0x14006e9f3
cmp byte [r12 + rdx - 4], 0
js 0x14006e8dc
mov rax, rdx
add rax, 0xfffffffffffffffc
je 0x14006e9f3
cmp byte [r12 + rdx - 5], 0
js 0x14006e8dc
mov rax, rdx
add rax, 0xfffffffffffffffb
je 0x14006e9f3
cmp byte [r12 + rdx - 6], 0
js 0x14006e8dc
mov rax, rdx
add rax, 0xfffffffffffffffa
je 0x14006e9f3
cmp byte [r12 + rdx - 7], 0
js 0x14006e8dc
mov rax, rdx
add rax, 0xfffffffffffffff9
jne 0x14006e8dc
jmp 0x14006e9f3
test qword [r12], rbx
jne 0x14006e8dc
lea rax, [r12 + 7]
and rax, 0xfffffffffffffff8
sub rax, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rdx - 8]
cmp rax, rcx
jae 0x14006e8d2
test qword [r12 + rax], rbx
jne 0x14006e8dc
add rax, 8
cmp rax, rcx
jb 0x14006e8c3
test qword [r12 + rcx], rbx
je 0x14006e9f3
mov rcx, qword [r15]
mov rax, qword [r15 + 0x10]
sub rcx, rax
mov qword [rsp + 0x130], rax
cmp rcx, 3
jbe 0x14006e9ce
mov rcx, qword [r15 + 8]
mov dword [rcx + rax], 0x2d2d6e78
add rax, 4
mov qword [r15 + 0x10], rax
xor r14d, r14d
test rdx, rdx
je 0x14006e79d
mov rdi, r12
add rdi, rdx
xor ebp, ebp
mov rsi, r12
jmp 0x14006e930
inc r14d
cmp rsi, rdi
je 0x14006ea26
movzx edx, byte [rsi]
test dl, dl
js 0x14006e93c
inc rsi
jmp 0x14006e9a1
mov eax, edx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x14006e988
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14006e996
movzx edx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
je 0x14006ea23
add rsi, 4
jmp 0x14006e9a1
add rsi, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x14006e9a1
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov r13d, r14d
inc r13d
je 0x14006efba
cmp edx, 0x80
jae 0x14006e924
mov rcx, r15
call fcn.14006bd80
inc ebp
jne 0x14006e924
jmp 0x14006f0d4
mov r8d, 4
mov rcx, r15
mov rsi, rdx
mov rdx, qword [rsp + 0x130]
call fcn.1400670d0
mov rdx, rsi
mov rax, qword [r15 + 0x10]
jmp 0x14006e8f8
mov rax, qword [r15]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rdx
jb 0x14006f007
mov rdi, rdx
mov rcx, qword [r15 + 8]
add rcx, rbx
mov rdx, r12
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rdi, rbx
jmp 0x14006e796
mov r13d, r14d
test ebp, ebp
je 0x14006ea4a
mov rsi, qword [r15 + 0x10]
cmp rsi, qword [r15]
jne 0x14006ea3b
mov rcx, r15
call fcn.140039bb0
mov rax, qword [r15 + 8]
mov byte [rax + rsi], 0x2d
inc rsi
mov qword [r15 + 0x10], rsi
xor esi, esi
mov r14d, 0
cmp ebp, r13d
jae 0x14006e79d
mov eax, pe_nt_image_headers64
mov dword [rsp + 0x128], 0x48
mov r8d, ebp
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x118], ebp
mov dword [rsp + 0x138], r13d
mov rcx, r12
jmp 0x14006ea9a
inc rcx
cmp eax, ebx
jbe 0x14006eedf
xor edx, edx
cmp rcx, rdi
je 0x14006eb1c
movzx ebx, byte [rcx]
test bl, bl
jns 0x14006ea8f
mov r9d, ebx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp bl, 0xdf
jbe 0x14006eaf9
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp bl, 0xf0
jb 0x14006eb09
movzx ebx, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and ebx, 0x3f
or ebx, r10d
or ebx, r9d
cmp ebx, 0x110000
je 0x14006eb1c
add rcx, 4
jmp 0x14006ea92
add rcx, 2
shl r9d, 6
or r9d, r11d
mov ebx, r9d
jmp 0x14006ea92
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov ebx, r10d
jmp 0x14006ea92
test edx, edx
je 0x14006f20d
mov ecx, ebx
sub ecx, eax
jb 0x14006f18c
mov r9d, r8d
inc r9d
je 0x14006f198
mov eax, esi
not eax
xor edx, edx
div r9d
cmp ecx, eax
ja 0x14006efba
mov eax, ecx
mul r9d
jo 0x14006f1a4
add esi, eax
jb 0x14006f1b0
mov eax, r8d
mov r9, r12
jmp 0x14006eb7e
mov eax, dword [rsp + 0x110]
mov r8d, eax
mov r9, qword [rsp + 0x38]
cmp r9, rdi
je 0x14006ef92
mov dword [rsp + 0x110], eax
movzx eax, byte [r9]
test al, al
js 0x14006eb97
inc r9
mov qword [rsp + 0x38], r9
jmp 0x14006ec05
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r9 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14006ebe2
movzx edx, byte [r9 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x14006ebf5
movzx eax, byte [r9 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x14006ef8a
add r9, 4
jmp 0x14006eb90
add r9, 2
mov qword [rsp + 0x38], r9
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x14006ec05
add r9, 3
mov qword [rsp + 0x38], r9
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebx
jae 0x14006ec11
inc esi
je 0x14006efba
cmp eax, ebx
jne 0x14006eb66
mov eax, esi
mov ebp, dword [rsp + 0x128]
mov esi, ebp
add esi, 0x1a
setb byte [rsp + 0x140]
mov r12d, ebp
neg r12d
mov r13d, 0x24
mov dword [rsp + 0x120], eax
cmp r13d, ebp
ja 0x14006ec5e
test eax, eax
je 0x14006ed81
dec eax
mov ecx, 0x23
mov r8d, 1
jmp 0x14006ec9f
cmp byte [rsp + 0x140], 0
jne 0x14006f089
lea r8d, [r12 + r13]
cmp r13d, esi
mov ecx, 0x1a
cmovae r8d, ecx
mov ecx, eax
sub ecx, r8d
jb 0x14006ed8a
mov edx, ecx
mov ecx, r8d
sub ecx, 0x24
ja 0x14006f065
je 0x14006f071
mov eax, edx
neg ecx
xor edx, edx
div ecx
add edx, r8d
mov r15d, 0x61
cmp edx, 0x1a
jb 0x14006ecc0
mov r15d, 0x16
cmp edx, 0x24
jae 0x14006f1c8
add r15d, edx
cmp r15d, 0x80
jae 0x14006ed01
mov rdi, qword [rsp + 0x320]
mov r14, qword [rdi + 0x10]
cmp r14, qword [rdi]
jne 0x14006ecf4
mov rcx, rdi
mov ebp, ebx
mov ebx, eax
call fcn.140039bb0
mov eax, ebx
mov ebx, ebp
mov ebp, dword [rsp + 0x128]
mov rcx, qword [rdi + 8]
mov byte [rcx + r14], r15b
inc r14
jmp 0x14006ed3d
mov rdx, qword [rsp + 0x320]
mov rcx, qword [rdx]
mov r14, qword [rdx + 0x10]
sub rcx, r14
cmp rcx, 1
jbe 0x14006ed5c
mov rdi, qword [rsp + 0x320]
mov rcx, qword [rdi + 8]
and r15d, 0x3f
shl r15d, 8
or r15d, 0x80c2
mov word [rcx + r14], r15w
add r14, 2
mov qword [rdi + 0x10], r14
add r13d, 0x24
jb 0x14006f07d
mov r15, rdi
cmp r13d, ebp
jbe 0x14006ec47
jmp 0x14006ec5e
mov r8d, 2
mov rdi, qword [rsp + 0x320]
mov rcx, rdi
mov rdx, r14
mov r14d, eax
call fcn.1400670d0
mov eax, r14d
mov r14, qword [rdi + 0x10]
jmp 0x14006ed19
mov ecx, 0x61
xor eax, eax
jmp 0x14006ed94
mov ecx, 0x61
cmp eax, 0x1a
jae 0x14006edb7
mov esi, 0x874e2a13
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x118]
mov r13d, dword [rsp + 0x138]
jmp 0x14006ede6
mov ecx, 0x16
cmp eax, 0x24
mov esi, 0x874e2a13
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x118]
mov r13d, dword [rsp + 0x138]
jae 0x14006f1c8
add eax, ecx
mov rcx, r15
mov edx, eax
call fcn.14006bd80
mov eax, dword [rsp + 0x110]
mov r8d, eax
inc r8d
je 0x14006f11c
cmp eax, ebp
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r9d, r9d
mov eax, dword [rsp + 0x120]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r8d
add eax, ecx
cmp eax, 0x1c8
jb 0x14006ee8d
xor r9d, r9d
cmp eax, 0x3e58
jb 0x14006ee71
cmp eax, 0x88608
jb 0x14006eecc
add r9d, 0x6c
jb 0x14006f095
mov edx, eax
imul rdx, rsi
shr rdx, 0x20
mov ecx, eax
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0xf
cmp eax, 0x12a5317
mov eax, ecx
ja 0x14006ee35
jmp 0x14006ee8f
add r9d, 0x24
mov ecx, eax
mov edx, 0xd41d41d5
imul rcx, rdx
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 5
mov ecx, eax
lea eax, [rcx*4]
lea eax, [rax + rax*8]
add ecx, 0x26
xor edx, edx
div cx
movzx eax, ax
add eax, r9d
mov dword [rsp + 0x128], eax
jb 0x14006f172
xor esi, esi
mov eax, r8d
mov r9, qword [rsp + 0x38]
cmp r9, rdi
jne 0x14006eb7e
jmp 0x14006ef92
add r9d, 0x48
mov eax, eax
imul rcx, rax, 0x6aff5f81
shr rcx, 0x29
jmp 0x14006ee8f
mov edx, 1
jmp 0x14006eefa
inc rcx
cmp r9d, r10d
mov ebx, r10d
cmovb ebx, r9d
cmp r10d, eax
cmovb ebx, r9d
cmp rcx, rdi
je 0x14006eb1c
mov r9d, ebx
movzx r10d, byte [rcx]
test r10b, r10b
jns 0x14006eee6
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [rcx + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x14006ef61
mov r14d, esi
movzx esi, byte [rcx + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp r10b, 0xf0
jb 0x14006ef74
movzx r10d, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x14006efaf
add rcx, 4
jmp 0x14006ef82
add rcx, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
jmp 0x14006eee9
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
mov esi, r14d
jmp 0x14006eee9
mov r8d, dword [rsp + 0x110]
inc esi
je 0x14006f1bc
inc ebx
xor r14d, r14d
mov eax, ebx
cmp r8d, r13d
jb 0x14006ea8a
jmp 0x14006e79d
mov ebx, r9d
mov esi, r14d
jmp 0x14006eb1c
mov rax, qword [r15 + 0x10]
mov byte [rsp + 0xf0], 1
xor r14d, r14d
mov rdi, qword [rsp + 0x130]
cmp rax, rdi
jb 0x14006e79d
test rdi, rdi
je 0x14006e78e
cmp rax, rdi
jbe 0x14006e78e
mov byte [rsp + 0xf0], 1
mov rax, qword [r15 + 8]
cmp byte [rax + rdi], 0xbf
jg 0x14006e796
jmp 0x14006f219
mov rcx, r15
mov r8, rdx
mov rdx, rbx
mov rdi, r8
call fcn.1400670d0
mov rbx, qword [r15 + 0x10]
jmp 0x14006ea09
mov rcx, qword [rsp + 0x1a8]
movzx eax, byte [rsp + 0xf0]
mov byte [rcx], al
mov rax, qword [rsp + 0x160]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x167]
mov dword [rcx + 8], eax
jmp 0x14006d0cd
mov rcx, rdx
mov edx, 4
mov r8, qword [rsp + 0x38]
call fcn.140029060
jmp case.0x14006c69a.1
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f560
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f6a0
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x140248634]
mov edx, 0x321c
call fcn.14002d420
jmp case.0x14006c69a.1
lea r8, [0x14023c810]
call fcn.1400286f0
jmp case.0x14006c69a.1
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x130], rax
mov rcx, qword [rsp + 0x130]
call fcn.14002f520
jmp case.0x14006c69a.1
mov rcx, rdx
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x38], rax
jmp 0x14006f051
mov edx, 0xd4e
jmp 0x14006f160
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rax, str.Hg__
mov qword [rsp + 0x108], rax
mov rcx, r14
mov r8, qword [rsp + 0x108]
call fcn.140029060
jmp case.0x14006c69a.1
mov edx, 0x1667
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov qword [rsp + 0x120], rax
mov r8, qword [rsp + 0x120]
call fcn.1400286f0
jmp case.0x14006c69a.1
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f560
jmp case.0x14006c69a.1
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f560
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f5a0
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002f520
lea rcx, str.explicit_panic
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0xe
call fcn.1400293d0
mov qword [rsp + 0x110], r14
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r12
mov r8, qword [rsp + 0x110]
mov r9, r12
call fcn.14002d420
ud2
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14002c4a0
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x1402992e8]
mov edx, 0x30
call fcn.1400293d0
call fcn.1400257e0
jmp 0x14006f23a
mov rsi, rax
lea rcx, [rsp + 0x40]
call fcn.1400702c0
jmp 0x14006f26a
cmp qword [rsp + 0x148], 0
jne 0x14006f2e4
jmp 0x14006f2fd
mov rax, qword [rsp + 0x140]
mov r8, qword [rax]
mov rcx, qword [0x1402f90f8]
xor edx, edx
call fcn.1401d02bc
mov rcx, rsi
call fcn.1401d0750
int3