Function at 0x1400ff270
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm6
mov qword [rsp + 0x150], r9
mov r15, r8
mov r14, rcx
movabs rax, 0x900000007fffffff
mov qword [rsp + 0x1c8], rax
movabs rax, 0xd400c029ffffffff
mov qword [rsp + 0x1c0], rax
cmp qword [rcx + 0xa0], 0
jne 0x1400ff2df
mov rbp, qword [r14 + 0xa8]
mov r8, qword [r14 + 0x40]
cmp qword [r14 + 0x48], 0
je 0x1400ff2f1
lea r9, [r14 + 0x50]
jmp 0x1400ff2f5
lea rbp, [r14 + 0xa8]
mov r8, qword [r14 + 0x40]
cmp qword [r14 + 0x48], 0
jne 0x1400ff2d9
mov r9, qword [r14 + 0x50]
xor ecx, ecx
cmp r8, 2
mov eax, 0
cmovne rax, r9
cmp qword [r14 + 0xf0], 0
jne 0x1400ff333
mov r9, qword [r14 + 0xf8]
cmp qword [r14 + 8], 0
je 0x1400ff341
lea rbx, [r14 + 0x10]
mov r10, qword [rsp + 0x300]
mov rdi, qword [r14]
cmp r8d, 2
jne 0x1400ff356
jmp 0x1400ff35d
lea r9, [r14 + 0xf8]
cmp qword [r14 + 8], 0
jne 0x1400ff31c
mov rbx, qword [r14 + 0x10]
mov r10, qword [rsp + 0x300]
mov rdi, qword [r14]
cmp r8d, 2
je 0x1400ff35d
movzx ecx, byte [rax + 0x4a]
and cl, 1
mov r8, qword [rsp + 0x150]
lea r12, [r8 + r10*4]
movzx r8d, byte [r14 + 0x12a]
mov r10, qword [r9]
mov r11, qword [r9 + 8]
mov rsi, qword [r9 + 0x18]
mov r9, qword [r9 + 0x20]
test rdi, rdi
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x198], r15
je 0x1400ff3a3
mov r15, qword [rbx]
mov rdi, qword [rbx + 8]
mov r13, qword [rbx + 0x18]
mov rbx, qword [rbx + 0x20]
jmp 0x1400ff3b1
xor edi, edi
lea r15, [0x140347980]
mov r13, r15
xor ebx, ebx
mov rdx, rbp
mov rbp, qword [rsp + 0x150]
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], r12
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xe4], 0
mov byte [rsp + 0xe8], 0
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x98], r11
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xc8], rbx
mov byte [rsp + 0xf0], cl
mov dword [rsp + 0xec], r8d
mov byte [rsp + 0xf1], 2
mov dword [rsp + 0xe0], 0x110000
lea rcx, [rsp + 0x28]
mov edx, 0xffff
xor r8d, r8d
call fcn.140103330
lea r8, [rsp + 0x78]
mov edx, dword [rsp + 0x28]
mov rax, qword [rsp + 0x2c]
mov qword [rsp + 0x188], rax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x190], eax
mov rcx, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x250], xmm0
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x260], xmm0
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x270], xmm0
mov rax, qword [rsp + 0x70]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1e0], xmm1
movaps xmmword [rsp + 0x1f0], xmm2
movaps xmmword [rsp + 0x200], xmm3
movups xmm0, xmmword [r8 + 0x40]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [r8 + 0x50]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [r8 + 0x60]
movaps xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [r8 + 0x70]
movaps xmmword [rsp + 0x240], xmm0
cmp qword [r14 + 0x130], 0
mov r9, qword [rsp + 0x20]
jne 0x1400ff54e
mov r8, qword [r14 + 0x138]
jmp 0x1400ff555
lea r8, [r14 + 0x138]
movups xmm0, xmmword [r8]
movzx r8d, word [r14 + 0x128]
mov dword [rsp + 0x28], edx
mov rdx, qword [rsp + 0x188]
mov qword [rsp + 0x2c], rdx
mov edx, dword [rsp + 0x190]
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x38], rcx
movaps xmm1, xmmword [rsp + 0x250]
movaps xmm2, xmmword [rsp + 0x260]
movaps xmm3, xmmword [rsp + 0x270]
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0x60], xmm3
mov qword [rsp + 0x70], rax
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmm2, xmmword [rsp + 0x1e0]
movaps xmm3, xmmword [rsp + 0x1f0]
movaps xmm4, xmmword [rsp + 0x200]
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rsp + 0x88], xmm2
movups xmmword [rsp + 0x98], xmm3
movups xmmword [rsp + 0xa8], xmm4
movaps xmm1, xmmword [rsp + 0x210]
movups xmmword [rsp + 0xb8], xmm1
movaps xmm1, xmmword [rsp + 0x220]
movups xmmword [rsp + 0xc8], xmm1
movaps xmm1, xmmword [rsp + 0x230]
movups xmmword [rsp + 0xd8], xmm1
movaps xmm1, xmmword [rsp + 0x240]
movups xmmword [rsp + 0xe8], xmm1
movups xmmword [rsp + 0xf8], xmm0
mov qword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0x110000
mov dword [rsp + 0x114], r8d
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x118], rax
lea rax, [r9 + 0x3f8]
mov qword [rsp + 0x180], rax
lea rax, [r9 + 4]
mov qword [rsp + 0x158], rax
lea rax, [r9 + 8]
mov qword [rsp + 0x178], rax
mov eax, 0x110000
xorps xmm6, xmm6
lea rcx, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_smallvec_1.13.2_src_lib.rsrootAttributename
mov qword [rsp + 0x170], rcx
lea rcx, str.assertion_failed:_end___len
mov qword [rsp + 0x168], rcx
jmp 0x1400ff6e5
mov rcx, rdi
call fcn.1400fe7d0
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x178]
mov dword [rcx + rax*4], esi
inc qword [rdx]
mov eax, dword [rsp + 0x110]
cmp eax, 0x110000
jne 0x1400ff890
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x2c]
mov r8, rax
cmp rax, 0x12
jb 0x1400ff70d
mov r8, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xd0]
cmp rdx, r8
jae 0x1400ff750
mov ecx, dword [rcx + rdx*4]
inc rdx
mov qword [rsp + 0xd0], rdx
cmp rax, 0x12
jb 0x1400ff852
lea r8, [rsp + 0x30]
cmp rdx, qword [rsp + 0x30]
je 0x1400ff861
jmp 0x1400ff874
mov ebp, dword [rsp + 0xe0]
mov r14, qword [rsp + 0xe4]
mov dword [rsp + 0xe0], 0x110000
cmp ebp, 0x110000
je 0x140100118
cmp ebp, dword [rsp + 0x114]
jb 0x1400ff7f9
mov eax, r14d
and eax, 0xfffffffe
je 0x1400ff7f9
mov rax, r14
shr rax, 0x20
test al, al
jne 0x1400ff895
mov eax, r14d
shr eax, 0x10
je 0x1400ff895
test r14w, r14w
je 0x1400ff7f9
movzx ecx, r14w
cmp ecx, 1
je 0x1400ff895
mov ecx, eax
and ecx, 0x7f
cmp cx, 0x3c
setne cl
add eax, 0xfffff400
movzx eax, ax
cmp eax, 0xfd00
setb al
lea edx, [rbp - 0xfb4f]
cmp edx, 0xffffffcd
ja 0x1400ff895
or cl, al
je 0x1400ff895
lea eax, [rbp - 0x1ffc]
cmp eax, 0xffffff74
ja 0x1400ff895
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x28]
call fcn.1401043b0
mov eax, dword [rsp + 0x120]
cmp eax, 0x110000
je 0x1400ffff0
mov edx, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x128]
cmp eax, dword [rsp + 0x114]
jae 0x1400fff8e
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe4], edx
mov dword [rsp + 0xe8], ecx
jmp 0x1400ffff0
cmp rdx, rax
jne 0x1400ff874
lea r8, [rsp + 0x70]
test rax, rax
je 0x1400ff868
mov qword [r8], 0
mov qword [rsp + 0xd0], 0
mov ebp, ecx
and ebp, 0xffffff
cmp ecx, 0xffffff
ja 0x1400ffffc
mov dword [rsp + 0x110], ebp
nop
xor r14d, r14d
xor ebp, ebp
xor esi, esi
mov edx, ebp
xor ebp, ebp
jmp 0x1400ff8b6
mov r14, qword [rsp + 0xe4]
mov dword [rsp + 0xe0], 0x110000
mov sil, 1
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x110], 0x110000
cmp eax, 0x110000
jne 0x1400ff950
lea rcx, [rsp + 0x28]
mov r8d, r14d
call fcn.140103330
mov r14d, eax
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
test sil, 1
je 0x1400ff970
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x120], 1
lea eax, [r14 - 0x1161]
lea rcx, [rsp + 0x128]
movups xmmword [rcx], xmm6
cmp eax, 0x9e
jbe 0x1400fff18
lea rcx, [rsp + 0x120]
mov edx, ebp
mov r8d, r14d
call fcn.1400fa070
cmp eax, 0x110000
jne 0x1400ff973
jmp 0x1400fffdb
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
jmp 0x1400ff973
mov eax, r14d
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xd0]
mov ebp, eax
jmp 0x1400ff9a5
add edx, ebp
add edx, 0xffffee59
inc rdi
mov qword [rsp + 0xd0], rdi
mov ebp, edx
cmp r14, 0x12
jb 0x1400ff9c0
mov rax, r12
cmp rdi, rbx
jb 0x1400ff9ce
jmp 0x1400fff05
lea rax, [rsp + 0x2c]
cmp rdi, r14
jae 0x1400ffe6c
mov esi, dword [rax + rdi*4]
mov edx, esi
and edx, 0xffffff
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x120], 1
lea eax, [rdx - 0x1161]
lea rcx, [rsp + 0x128]
movups xmmword [rcx], xmm6
cmp eax, 0x9e
jbe 0x1400ffa40
cmp edx, 0x10000
jae 0x1400ffa80
mov edx, esi
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
cmp eax, 1
je 0x1400ffac6
jmp 0x1400ffba0
cmp eax, 0x15
jae 0x1400ffaf0
lea ecx, [rbp - 0x1100]
cmp ecx, 0x13
jae 0x1400ffba0
imul ecx, ecx, 0x24c
lea edx, [rax + rax*8]
lea edx, [rdx + rdx*2]
add edx, eax
add edx, ecx
add edx, 0xac00
jmp 0x1400ff998
shr edx, 0xa
add edx, 0xffffd7c0
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
or eax, 2
cmp eax, 3
jne 0x1400ffba0
mov edx, esi
and edx, 0x3ff
or edx, 0xdc00
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
cmp eax, 1
jne 0x1400ffba0
cmp ebp, 0x10000
jae 0x1400ffb40
mov edx, ebp
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
cmp eax, 2
je 0x1400ffb80
jmp 0x1400ffba0
lea eax, [rdx - 0x11a8]
cmp eax, 0x1b
jae 0x1400ffba0
lea eax, [rbp - 0xac00]
cmp eax, 0x2ba3
ja 0x1400ffba0
mov ecx, eax
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
lea r8d, [rcx + rcx*8]
lea r8d, [r8 + r8*2]
add r8d, ecx
sub eax, r8d
je 0x1400ff990
jmp 0x1400ffba0
mov edx, ebp
shr edx, 0xa
add edx, 0xffffd7c0
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
or eax, 2
cmp eax, 3
jne 0x1400ffba0
mov edx, ebp
and edx, 0x3ff
or edx, 0xdc00
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
cmp eax, 2
jne 0x1400ffba0
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1400ffba0
cmp edx, 0x110000
jne 0x1400ff998
nop
cmp r14, 0x12
jb 0x1400ffbc0
lea rax, [rsp + 0x30]
cmp rbx, rdi
jae 0x1400ffbd1
jmp 0x140100217
mov rbx, r14
lea rax, [rsp + 0x70]
cmp r14, rdi
jb 0x140100217
mov qword [rax], 0
mov r14, qword [rsp + 0x70]
cmp r14, 0x12
jb 0x1400ffc00
cmp rbx, rdi
je 0x1400ffc46
mov r14, qword [rsp + 0x30]
cmp rdi, r14
je 0x1400ffc3e
jmp 0x1400ffc16
cmp rbx, rdi
je 0x1400ffc46
lea r12, [rsp + 0x2c]
cmp rdi, r14
jne 0x1400ffc16
lea rax, [rsp + 0x70]
jmp 0x1400ffc43
sub rbx, rdi
lea rdx, [r12 + rdi*4]
lea rcx, [r12 + r14*4]
lea r8, [rbx*4]
call sub.msvcrt.dll_memmove
add rbx, r14
cmp qword [rsp + 0x70], 0x12
lea rax, [rsp + 0x70]
jb 0x1400ffc43
lea rax, [rsp + 0x30]
mov qword [rax], rbx
shr esi, 0x18
mov qword [rsp + 0xd0], 0
test sil, sil
je 0x1400ffff0
mov edi, 1
mov r14, qword [rsp + 0x70]
mov eax, ebp
shr eax, 0xa
add eax, 0xffffd7c0
mov dword [rsp + 0x164], eax
mov eax, ebp
and eax, 0x3ff
or eax, 0xdc00
mov dword [rsp + 0x160], eax
cmp r14, 0x12
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0x1b8], rdx
mov rbx, r14
mov qword [rsp + 0x1a8], rax
cmovae rbx, rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x1b0], rax
lea r12, [rsp + 0x2c]
mov qword [rsp + 0x1a0], rcx
cmovae r12, rcx
jmp 0x1400ffce6
inc rdi
mov esi, r15d
cmp rdi, rbx
jae 0x1400ffe91
mov r13d, dword [r12 + rdi*4]
mov r15d, r13d
shr r15d, 0x18
je 0x1400ffff0
cmp sil, r15b
je 0x1400ffce0
mov edx, r13d
and edx, 0xffffff
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x120], 1
lea rax, [rsp + 0x128]
movups xmmword [rax], xmm6
cmp edx, 0x10000
jb 0x1400ffd7d
shr edx, 0xa
add edx, 0xffffd7c0
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
or eax, 2
cmp eax, 3
jne 0x1400ffce0
and r13d, 0x3ff
or r13d, 0xdc00
lea rcx, [rsp + 0x120]
mov edx, r13d
call fcn.1400f9b40
cmp eax, 1
jne 0x1400ffce0
mov edx, ebp
cmp ebp, 0x10000
jb 0x1400ffdc9
lea rcx, [rsp + 0x120]
mov edx, dword [rsp + 0x164]
call fcn.1400f9b40
or eax, 2
mov ecx, dword [rsp + 0x160]
mov edx, ecx
cmp eax, 3
jne 0x1400ffce0
lea rcx, [rsp + 0x120]
call fcn.1400f9b40
cmp eax, 2
jne 0x1400ffce0
mov r13d, edx
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1400ffce0
cmp r13d, 0x110000
je 0x1400ffce0
cmp r14, 0x12
mov r9, qword [rsp + 0x1a8]
cmovb r9, r14
cmp r9, rdi
jbe 0x140100242
xor eax, eax
cmp r14, 0x12
setb al
lea rcx, [rsp + 0x2c]
mov rdx, qword [rsp + 0x1a0]
cmovb rdx, rcx
shl rax, 6
lea rcx, [r9 - 1]
mov qword [rsp + rax + 0x30], rcx
lea rcx, [rdx + rdi*4]
lea rdx, [rdx + rdi*4]
add rdx, 4
mov r8, rdi
not r8
add r8, r9
shl r8, 2
call sub.msvcrt.dll_memmove
mov ebp, r13d
jmp 0x1400ffc63
mov rbx, r14
lea rax, [rsp + 0x70]
test rbx, rbx
je 0x1400ffe85
mov qword [rax], 0
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0xd0], 0
cmp r14, 0x12
jb 0x1400ffe9c
mov r14, qword [rsp + 0x30]
test r14, r14
jne 0x1400ffff0
mov edx, dword [rsp + 0xe0]
cmp edx, 0x110000
je 0x1400ffff0
cmp edx, dword [rsp + 0x114]
jb 0x1400ffff0
mov eax, dword [rsp + 0xe4]
cmp eax, 2
je 0x1400ff8a0
mov ecx, eax
and ecx, 0xffffff00
cmp ecx, 0xd800
je 0x1400ff8a0
cmp eax, 1
je 0x1400ff8a0
add eax, 0xffffee9f
cmp eax, 0x61
jbe 0x1400ff8a0
jmp 0x1400ffff0
lea rax, [rsp + 0x30]
test rbx, rbx
jne 0x1400ffe79
jmp 0x1400ffe85
cmp eax, 0x15
jae 0x1400fff47
lea ecx, [rbp - 0x1100]
cmp ecx, 0x13
jae 0x1400fffdb
imul ecx, ecx, 0x24c
lea edx, [rax + rax*8]
lea edx, [rdx + rdx*2]
add edx, eax
lea eax, [rcx + rdx]
add eax, 0xac00
jmp 0x1400ff973
lea eax, [r14 - 0x11a8]
cmp eax, 0x1b
jae 0x1400fffdb
lea eax, [rbp - 0xac00]
cmp eax, 0x2ba3
ja 0x1400fffdb
mov ecx, eax
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
jne 0x1400fffdb
lea eax, [r14 + rbp]
add eax, 0xffffee59
jmp 0x1400ff973
mov r8d, edx
and r8d, 0xffffff00
cmp r8d, 0xd800
je 0x1401000b4
lea r8d, [rdx - 1]
cmp r8d, 2
jb 0x1401000b4
lea r8d, [rdx - 0x11c3]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe4], edx
mov dword [rsp + 0xe8], ecx
cmp r8d, 0xffffff9e
jae 0x1400ff895
jmp 0x1400ffff0
mov dword [rsp + 0x110], r14d
nop word cs:[rax + rax]
cmp ebp, 0x110000
je 0x140100113
xor eax, eax
mov ecx, ebp
mov edx, 1
shld rax, rdx, cl
mov rdx, qword [rsp + 0x118]
mov r8d, 1
shl r8, cl
test bpl, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [rdx + 8]
and r8, qword [rdx]
or r8, rax
mov esi, 0xfffd
cmove esi, ebp
cmp ebp, 0x80
cmovae esi, ebp
cmp esi, 0xfffd
je 0x1401000ce
mov rdx, qword [rsp + 0x180]
mov r8, qword [rdx]
cmp r8, 0xfe
jb 0x140100090
mov rdi, qword [rsp + 0x20]
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x178]
cmp rax, r8
jne 0x1400ff6d8
jmp 0x1400ff6c0
mov rax, r8
mov rcx, qword [rsp + 0x158]
mov r8d, 0xfd
mov rdi, qword [rsp + 0x20]
cmp rax, r8
jne 0x1400ff6d8
jmp 0x1400ff6c0
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe4], edx
mov dword [rsp + 0xe8], ecx
jmp 0x1400ff895
cmp qword [rsp + 0x70], 0x12
jb 0x1401000e9
mov r8, qword [rsp + 0x38]
mov rcx, qword [0x14037f2d0]
xor edx, edx
call fcn.1402699cc
cmp qword [rsp + 0x108], 0
je 0x1401001f5
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x14037f2d0]
xor edx, edx
call fcn.1402699cc
jmp 0x1401001f5
mov rax, qword [rsp + 0x70]
cmp rax, 0x12
jb 0x140100131
mov r8, qword [rsp + 0x38]
mov rcx, qword [0x14037f2d0]
xor edx, edx
call fcn.1402699cc
cmp qword [rsp + 0x108], 0
mov rsi, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x20]
mov r14, qword [rsp + 0x180]
je 0x14010016f
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x14037f2d0]
xor edx, edx
call fcn.1402699cc
mov rdx, qword [r14]
cmp rdx, 0xfe
jb 0x14010018b
mov rdx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x158], rax
cmp rdx, rdi
jb 0x140100233
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rdi*4]
lea rcx, [rcx + rdx*4]
sub rcx, rax
shr rcx, 2
mov rdx, qword [rsp + 0x300]
cmp rcx, rdx
cmovae rcx, rdx
neg rcx
mov rdx, 0xffffffffffffffff
nop word cs:[rax + rax]
lea r8, [rcx + rdx]
cmp r8, 0xffffffffffffffff
je 0x1401001f9
mov r9d, dword [rax + rdx*4 + 4]
lea r8, [rdx + 1]
cmp r9d, dword [rsi + rdx*4 + 4]
mov rdx, r8
je 0x1401001d0
mov dword [rax + r8*4], 0xfffd
mov al, 1
jmp 0x1401001fb
xor eax, eax
movaps xmm6, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0x1c
mov rcx, qword [rsp + 0x168]
mov r8, qword [rsp + 0x170]
call fcn.1400a7990
ud2
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_1.0.0_src_uts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
mov rcx, rdi
call fcn.1400a6c70
mov edx, 0x1d
lea rax, str.assertion_failed:_index___len
mov qword [rsp + 0x168], rax
lea rax, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_smallvec_1.13.2_src_lib.rsrootAttributename
mov qword [rsp + 0x170], rax
jmp 0x14010021c