Function at 0x1400952c9
Capabilities:
Encrypt data using speck
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movaps xmmword [rsp + 0x250], xmm6
mov r12, rdx
mov qword [rsp + 0x1c0], rcx
mov rcx, qword [rsp + 0x2d0]
test r9, r9
je 0x140095442
lea rax, [r8 + r9]
xor edx, edx
movaps xmm0, xmmword [0x1402185c0]
mov rbx, r8
movzx r10d, byte [rbx]
test r10b, r10b
js 0x140095321
inc rbx
jmp 0x1400953a2
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rbx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x14009537c
movzx esi, byte [rbx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x14009538c
movzx r10d, byte [rbx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
mov rcx, qword [rsp + 0x2d0]
je 0x140095405
add rbx, 4
jmp 0x1400953a2
add rbx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x1400953a2
add rbx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
mov rcx, qword [rsp + 0x2d0]
cmp r10d, 0x2e
jne 0x1400953ad
xor r11d, r11d
jmp 0x1400953f9
test rdx, rdx
jne 0x1400953bc
cmp r10d, 0x2d
je 0x140095442
mov r11d, 5
cmp rdx, 4
ja 0x1400953e6
movups xmmword [rsp + 0x70], xmm0
je 0x140098335
cmp r10d, dword [rsp + rdx*4 + 0x70]
jne 0x1400953e6
inc rdx
mov r11, rdx
cmp rdx, 4
je 0x140095442
lea edx, [r10 - 0x61]
cmp edx, 0x1a
jb 0x1400953f9
add r10d, 0xffffffd0
cmp r10d, 0xa
jae 0x140095442
mov rdx, r11
cmp rbx, rax
jne 0x140095310
mov rdx, r8
mov r8, r9
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
mov rax, qword [rsp + 0x1c0]
mov dword [rax + 8], 0
mov qword [rax], 0
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [r12 + 0x30]
movzx r11d, byte [r12 + 0x34]
xor esi, esi
lea rdx, [rsp + 0x50]
add r9, r8
xorps xmm6, xmm6
lea r15, [rsp + 0x80]
movups xmmword [r15 - 0xd], xmm6
lea rdi, [rsp + 0x1d8]
movups xmmword [rdi + 2], xmm6
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x180], xmm0
movups xmm0, xmmword [r15 - 0x10]
mov r10d, dword [r15 - 1]
mov qword [r15 - 0x10], rsi
mov dword [r15], esi
mov word [r15 + 4], si
lea rbx, [rsp + 0x88]
mov byte [rbx], sil
mov dword [rbx + 4], esi
mov byte [rbx + 8], sil
mov dword [rbx + 0xc], esi
mov byte [rbx + 0x10], sil
mov dword [rbx + 0x14], esi
mov byte [rbx + 0x18], sil
mov dword [rbx + 0x1c], esi
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x28], r9
mov qword [rbx + 0x30], rdx
mov qword [rbx + 0x38], rsi
mov byte [rbx + 0x4c], r11b
shl r11, 0x20
or r11, rax
mov qword [rsp + 0x1c8], r11
mov qword [r12 + 0x10], rsi
mov dword [rdx + 8], esi
mov qword [rdx], rsi
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x248], rcx
movzx ecx, word [rdi + 0x10]
mov word [rsp + 0x190], cx
movaps xmmword [rsp + 0x120], xmm0
mov dword [rsp + 0x12f], r10d
mov dword [rbx + 0x48], eax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rbx + 0x4d], xmm0
mov eax, dword [rsp + 0x12f]
mov dword [rbx + 0x5c], eax
mov byte [rbx + 0x60], sil
mov dword [rbx + 0x68], esi
lea rcx, [rsp + 0xf4]
mov word [rcx], si
movzx eax, word [rsp + 0x190]
mov word [rcx + 0x12], ax
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rcx + 2], xmm0
mov dword [rcx + 0x1c], 0x110000
mov byte [rcx + 0x20], sil
lea rax, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x48], r12
mov r9d, dword [rsp + 0xf0]
mov rdx, qword [rsp + 0x100]
mov r10, qword [rsp + 0x108]
movzx r8d, word [rsp + 0xf4]
cmp rax, 1
jne 0x1400955eb
test r9d, r9d
je 0x1400955b3
cmp rcx, r10
jb 0x140095ec3
mov qword [rsp + 0x108], 0
xor r10d, r10d
jmp 0x1400955de
movzx eax, r8w
cmp r8w, 4
ja 0x1400983bc
cmp rcx, rax
jb 0x140095ebb
test r8w, r8w
je 0x1400955db
mov word [rsp + 0xf4], 0
xor r8d, r8d
mov qword [rsp + 0x70], 0
xor eax, eax
jmp 0x14009558e
cmp rax, 2
jne 0x140095614
test r9d, r9d
je 0x140095e87
cmp rcx, r10
jb 0x140095ea2
mov qword [rsp + 0x108], 0
jmp 0x140095f2a
mov r9, qword [rsp + 0xe0]
test r9, r9
jne 0x14009584f
mov r12b, byte [rsp + 0xd0]
cmp r12b, 2
je 0x14009599c
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov r13b, byte [rsp + 0xd1]
mov rbx, qword [rsp + 0xc8]
test rax, rax
je 0x140095718
cmp rax, rbx
je 0x14009570c
lea rcx, [rax + 1]
mov qword [rsp + 0xc0], rcx
movzx r14d, byte [rax]
test r14b, r14b
jns 0x14009588b
mov ecx, r14d
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xc0], rdx
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp r14b, 0xdf
jbe 0x140095d7d
lea rdx, [rax + 3]
mov qword [rsp + 0xc0], rdx
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r14b, 0xf0
jb 0x140095d8b
lea r8, [rax + 4]
mov qword [rsp + 0xc0], r8
movzx r14d, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r14d, 0x3f
or r14d, edx
or r14d, ecx
cmp r14d, 0x110000
jne case.0x14009581a.0
mov qword [rsp + 0xc0], 0
cmp rsi, rbp
je 0x140095994
lea rcx, [rsi + 1]
mov qword [rsp + 0xa8], rcx
movzx eax, byte [rsi]
test al, al
js 0x14009573c
mov rsi, rcx
mov r14d, eax
jmp 0x1400957ba
mov r14d, eax
and r14d, 0x1f
lea rcx, [rsi + 2]
mov qword [rsp + 0xa8], rcx
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x1400957a1
lea r8, [rsi + 3]
mov qword [rsp + 0xa8], r8
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x1400957ad
lea rax, [rsi + 4]
mov qword [rsp + 0xa8], rax
movzx edx, byte [rsi + 3]
and r14d, 7
shl r14d, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, r14d
mov rsi, rax
mov r14d, edx
jmp 0x1400957ba
shl r14d, 6
or r14d, edx
mov rsi, rcx
jmp 0x1400957ba
shl r14d, 0xc
or ecx, r14d
mov rsi, r8
mov r14d, ecx
lea eax, [r14 - 0x2d]
cmp eax, 2
jb 0x14009588b
cmp r14d, 0x110000
je 0x140095994
lea eax, [r14 - 0x61]
cmp eax, 0x1a
jb 0x14009588b
lea eax, [r14 - 0x30]
cmp eax, 0xa
jb 0x14009588b
mov ecx, r14d
call sym.idna::uts46::find_char::h5382e3e0d01ebfd1
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x14009581a
mov eax, edx
lea rdx, [0x1402185d0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0x80]
jmp 0x140095a84
cmp r14d, 0x110000
je 0x140095994
cmp byte [rsp + 0xe8], 0
je 0x1400958fb
cmp r14d, 0x80
mov r12, qword [rsp + 0x48]
jb 0x140095984
lea edi, [r14 - 0xac00]
cmp edi, 0x2ba4
jae 0x1400959e6
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r15
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
imul eax, ebx, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r15
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
jmp 0x14009595b
cmp r14d, 0x80
mov r12, qword [rsp + 0x48]
jb 0x140095984
lea edi, [r14 - 0xac00]
cmp edi, 0x2ba4
jae 0x140095d3e
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r15
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
imul eax, ebx, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r15
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
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
je 0x140095614
add esi, 0x11a7
movzx r14d, si
mov rcx, r15
mov edx, r14d
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
jmp 0x140095614
mov byte [rsp + 0xd0], 2
mov r8d, dword [rsp + 0x80]
test r8d, r8d
mov rdx, qword [rsp + 0x98]
movzx eax, word [rsp + 0x84]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x140095ed9
mov rcx, qword [rsp + 0xe0]
test r8d, r8d
mov r12, qword [rsp + 0x48]
je 0x140095a35
mov r8, qword [rsp + 0x90]
mov rax, rdx
jmp 0x140095a47
mov ecx, r14d
call sym.unicode_normalization::lookups::compatibility_fully_decomposed::h1f268de03a79c9f6
mov rdi, rax
test rax, rax
jne 0x140095a0a
mov ecx, r14d
call sym.unicode_normalization::lookups::canonical_fully_decomposed::hfb2e1e7614643fd8
mov rdi, rax
test rax, rax
je 0x140095984
mov rbx, rdx
test rdx, rdx
je 0x140095614
shl rbx, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, r15
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
add rsi, 4
cmp rbx, rsi
jne 0x140095a1c
jmp 0x140095614
lea r8, [rsp + 0x88]
cmp ax, 4
ja 0x1400983b0
mov rdx, rax
sub rdx, rcx
jb 0x140098378
lea rcx, [r8 + rcx*8]
call sym.core::slice::sort::merge_sort::h56bc1443e8e2acba
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x140095a73
mov r9, qword [rsp + 0x98]
jmp 0x140095a7c
movzx r9d, word [rsp + 0x84]
mov qword [rsp + 0xe0], r9
mov rcx, qword [rsp + 0xd8]
test r8d, r8d
je 0x140095aa3
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
jmp 0x140095abd
movzx eax, word [rsp + 0x84]
lea rdx, [rsp + 0x88]
cmp rax, 4
ja 0x1400983bc
cmp rcx, rax
jae 0x1400976ae
mov r14d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140095ae2
test r8d, r8d
je 0x140095aef
mov rdx, qword [rsp + 0x98]
jmp 0x140095af7
mov qword [rsp + 0xd8], rcx
jmp 0x140095bb8
movzx edx, word [rsp + 0x84]
sub rdx, r9
je 0x140095b85
xor r8d, r8d
mov rcx, qword [rsp + 0xe0]
add rcx, r8
cmp dword [rsp + 0x80], 0
je 0x140095b33
mov rax, qword [rsp + 0x98]
cmp rcx, rax
jae 0x140096070
mov r9, qword [rsp + 0x90]
jmp 0x140095b56
movzx eax, word [rsp + 0x84]
cmp rax, 5
jae 0x1400983bc
lea r9, [rsp + 0x88]
cmp rcx, rax
jae 0x140096070
cmp r8, rax
jae 0x140096079
mov eax, dword [r9 + rcx*8 + 4]
mov cl, byte [r9 + rcx*8]
mov byte [r9 + r8*8], cl
mov dword [r9 + r8*8 + 4], eax
lea rax, [r8 + 1]
mov r8, rax
cmp rdx, rax
jne 0x140095b03
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x140095b9e
cmp qword [rsp + 0x98], rdx
jb 0x140095bb3
mov qword [rsp + 0x98], rdx
jmp 0x140095bb3
movzx eax, word [rsp + 0x84]
cmp rdx, rax
jae 0x140095bb3
mov word [rsp + 0x84], dx
movups xmmword [r15 + 0x58], xmm6
imul eax, r14d, 0x9e3779b9
imul ecx, r14d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x140290c58]
movzx eax, word [rdx + rax*2]
add eax, r14d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x14029138c]
mov edi, dword [rcx + rax*4]
mov eax, edi
shr eax, 8
cmp eax, r14d
mov eax, 0
cmovne edi, eax
mov ebx, dword [rsp + 0x110]
cmp ebx, 0x110000
jne 0x140095c33
test dil, dil
jne 0x140095eb3
mov dword [rsp + 0x110], r14d
jmp 0x140095614
cmp byte [rsp + 0x114], 0
je 0x140095c92
cmp byte [rsp + 0x115], dil
jae 0x140095ce7
mov ecx, ebx
mov edx, r14d
call sym.unicode_normalization::normalize::compose::h731650a14765b416
cmp eax, 0x110000
jne 0x140095cdb
cmp dword [rsp + 0xf0], 0
je 0x140095df0
mov rdx, qword [rsp + 0x108]
cmp rdx, qword [rsp + 0xf8]
jne 0x140095d25
lea rcx, [rsp + 0xf8]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::he592a4ccf27e2344
jmp 0x140095d1d
mov ecx, ebx
mov edx, r14d
call sym.unicode_normalization::normalize::compose::h731650a14765b416
cmp eax, 0x110000
jne 0x140095cdb
test dil, dil
je 0x140096063
cmp dword [rsp + 0xf0], 0
je 0x140095dc4
mov rdx, qword [rsp + 0x108]
cmp rdx, qword [rsp + 0xf8]
jne 0x140095d25
lea rcx, [rsp + 0xf8]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::he592a4ccf27e2344
jmp 0x140095d1d
mov dword [rsp + 0x110], eax
jmp 0x140095614
test dil, dil
je 0x14009603c
cmp dword [rsp + 0xf0], 0
je 0x140095d98
mov rdx, qword [rsp + 0x108]
cmp rdx, qword [rsp + 0xf8]
jne 0x140095d25
lea rcx, [rsp + 0xf8]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::he592a4ccf27e2344
mov rdx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov dword [rax + rdx*4], r14d
inc qword [rsp + 0x108]
jmp 0x140095e72
mov ecx, r14d
call sym.unicode_normalization::lookups::canonical_fully_decomposed::hfb2e1e7614643fd8
mov rdi, rax
test rax, rax
je 0x140095984
mov rbx, rdx
test rdx, rdx
je 0x140095614
shl rbx, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, r15
call sym.unicode_normalization::decompose::Decompositions_I_::push_back::ha6a373175a52b96a
add rsi, 4
cmp rbx, rsi
jne 0x140095d64
jmp 0x140095614
shl ecx, 6
or ecx, r8d
mov r14d, ecx
jmp 0x14009588b
shl ecx, 0xc
or edx, ecx
mov r14d, edx
jmp 0x14009588b
movzx eax, word [rsp + 0xf4]
cmp rax, 3
jbe 0x140095e60
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0xf4]
mov r8d, r14d
call sym.tinyvec::tinyvec::TinyVec_A_::push::drain_to_heap_and_push::h127a70b5a1cb7cdd
jmp 0x140095e16
movzx eax, word [rsp + 0xf4]
cmp rax, 3
jbe 0x140095e60
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0xf4]
mov r8d, r14d
call sym.tinyvec::tinyvec::TinyVec_A_::push::drain_to_heap_and_push::h127a70b5a1cb7cdd
jmp 0x140095e16
movzx eax, word [rsp + 0xf4]
cmp rax, 3
jbe 0x140095e60
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0xf4]
mov r8d, r14d
call sym.tinyvec::tinyvec::TinyVec_A_::push::drain_to_heap_and_push::h127a70b5a1cb7cdd
cmp dword [rsp + 0xf0], 0
je 0x140095e41
cmp qword [rsp + 0xf8], 0
je 0x140095e41
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x14030f110]
xor edx, edx
call sub.kernel32.dll_HeapFree
movups xmm0, xmmword [rsp + 0x1d8]
movups xmm1, xmmword [rsp + 0x1e8]
movups xmmword [r15 + 0x80], xmm1
movups xmmword [r15 + 0x70], xmm0
jmp 0x140095e72
mov dword [rsp + rax*4 + 0xf8], r14d
inc eax
mov word [rsp + 0xf4], ax
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], dil
jmp 0x140095614
movzx eax, r8w
cmp ax, 4
ja 0x1400983bc
lea rdx, [rsp + 0xf8]
cmp rcx, rax
jae 0x140095f1a
mov ebx, dword [rdx + rcx*4]
inc rcx
mov qword [rsp + 0x70], 2
jmp 0x140095ed2
mov ebx, r14d
jmp 0x140095f45
lea rdx, [rsp + 0xf8]
mov ebx, dword [rdx + rcx*4]
inc rcx
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], rcx
jmp 0x140095f45
mov qword [rsp + 0x70], 2
mov qword [rsp + 0x78], 0
mov ebx, dword [rsp + 0x110]
mov eax, 2
mov ecx, 0
cmp ebx, 0x110000
mov r12, qword [rsp + 0x48]
je 0x14009556d
mov dword [rsp + 0x110], 0x110000
jmp 0x140095f45
test r8w, r8w
je 0x140095f2a
mov word [rsp + 0xf4], 0
mov ebx, dword [rsp + 0x110]
mov eax, 0x110000
mov dword [rsp + 0x110], eax
cmp ebx, eax
je 0x140096090
cmp ebx, 0x80
jae 0x140095f7a
mov rdx, qword [r12 + 0x10]
cmp rdx, qword [r12]
jne 0x140095f65
mov rcx, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [r12 + 0x10], rdx
jmp 0x14009602d
mov dword [rsp + 0x1d8], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x140095fa8
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x1d8], al
mov r8d, 2
mov eax, 1
jmp 0x140096010
cmp ebx, 0x10000
jae 0x140095fd9
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x1d8], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1d9], al
mov r8d, 3
mov eax, 2
jmp 0x140096010
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x1d8], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1d9], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1da], al
mov r8d, 4
mov eax, 3
and bl, 0x3f
or bl, 0x80
mov byte [rsp + rax + 0x1d8], bl
mov rcx, r12
lea rdx, [rsp + 0x1d8]
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
jmp 0x14009556d
mov dword [rsp + 0x110], r14d
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], 0
jmp 0x140095f45
mov dword [rsp + 0x110], r14d
jmp 0x140095f45
lea r8, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
jmp 0x140096083
mov rcx, r8
lea r8, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call dbg.panic_bounds_check
jmp case.0x14009581a.1
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x230], rcx
call sym._ZN4core3ptr96drop_in_place_LT_unicode_normalization..recompose..Recompositions_LT_idna..uts46..Mapper_GT__GT_17h36f1f71bf433f
xor edx, edx
lea rax, [rsp + 0x120]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, qword [rsp + 0x1c8]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x238], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r12 + 0x10]
lea r8, [rsp + 0x1d8]
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], rdx
mov qword [r8 + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [r8 + 0x30], rax
mov byte [r8 + 0x38], 1
mov word [r8 + 0x40], 1
mov dil, 1
lea rax, [0x140271ba0]
mov qword [rsp + 0x168], rax
xorps xmm6, xmm6
lea rax, str.d__
mov qword [rsp + 0x160], rax
lea rax, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
mov qword [rsp + 0x158], rax
lea rax, [0x140271bd0]
mov qword [rsp + 0x1a8], rax
xor eax, eax
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x1d8]
call sym.__core::str::iter::Split_P__as_core::iter::traits::iterator::Iterator_::next::h2ceddc8d37038f24
mov r13, rax
test rax, rax
je 0x140097653
mov r14, rdx
test dil, 1
mov rcx, qword [rsp + 0x2d0]
jne 0x1400961b3
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x1400961a4
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
cmp r14, 4
jb 0x1400961c3
cmp dword [r13], 0x2d2d6e78
je 0x140096212
test byte [rsp + 0x148], 1
jne 0x1400961e0
mov rcx, r13
mov rdx, r14
call sym.idna::uts46::is_bidi_domain::h37f139018892bb7e
mov qword [rsp + 0x148], rax
mov rcx, r13
mov rdx, r14
mov r8, qword [rsp + 0x1c8]
lea r9, [rsp + 0x50]
call sym.idna::uts46::check_validity::h9ac2021cd7b6277c
xor edi, edi
mov rcx, qword [rsp + 0x2d0]
mov rdx, r13
mov r8, r14
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
jmp 0x140096160
add r13, 4
add r14, 0xfffffffffffffffc
xor eax, eax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x98], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x90], rax
mov r9, r14
mov bl, 0x2d
mov cl, 0x2d
mov rdx, r13
mov r8, r9
call dbg.memrchr
cmp rax, 1
jne 0x14009628c
mov r9, rdx
cmp rdx, r14
jae 0x14009627f
cmp byte [r13 + r9], bl
je 0x1400962cf
mov qword [rsp + 0x88], r9
cmp r9, r14
jbe 0x14009625d
mov rdi, r13
xor r9d, r9d
lea r13, sym.core::ptr::drop_in_place_widestring::error::ContainsNul_u16__::h4f0bc1d0dae5f8b4
mov qword [rsp + 0x140], r9
mov rax, r9
sub rax, 1
jb 0x14009638d
cmp byte [r13 + r9 - 1], 0
mov r9, rax
jns 0x1400962a4
mov byte [rsp + 0x50], 1
mov al, 1
mov qword [rsp + 0x148], rax
xor edi, edi
jmp 0x140096160
test r9, r9
je 0x140096308
cmp r9, r14
jae 0x1400962e5
cmp byte [r13 + r9], 0xbf
jle 0x140098540
lea r8, [r9 + 1]
cmp r8, r14
movabs rcx, 0x8080808080808080
jae 0x140096310
cmp byte [r13 + r8], 0xbf
mov rax, r8
jg 0x140096319
jmp 0x140098512
mov rdi, r13
xor r9d, r9d
jmp 0x140096299
mov rax, r14
jne 0x140098512
lea rdi, [rax + r13]
sub r14, rax
cmp r9, 7
jbe 0x140096299
mov qword [rsp + 0x140], r9
test qword [r13], rcx
jne 0x1400962b9
lea rax, [r13 + 7]
and rax, 0xfffffffffffffff8
sub rax, r13
mov ecx, 8
cmove rax, rcx
mov rcx, qword [rsp + 0x140]
add rcx, 0xfffffffffffffff8
cmp rax, rcx
jae 0x140096378
movabs rdx, 0x8080808080808080
test qword [r13 + rax], rdx
jne 0x1400962b9
add rax, 8
jmp 0x140096358
movabs rax, 0x8080808080808080
test qword [r13 + rcx], rax
jne 0x1400962b9
add r14, rdi
mov ebp, pe_nt_image_headers64
mov r12d, 0x48
xor eax, eax
mov qword [rsp + 0x38], rax
xor ebx, ebx
mov rax, qword [rsp + 0x140]
mov r15d, eax
mov qword [rsp + 0x1d0], r13
cmp rdi, r14
je 0x1400965bb
lea r9d, [r12 + 0x1a]
inc rdi
mov r10d, r12d
neg r10d
mov r11d, 1
mov esi, 0x24
mov ecx, ebx
mov al, byte [rdi - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x1400963ec
add al, 0xea
mov edx, eax
jmp 0x140096400
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140096400
add al, 0x9f
mov edx, eax
cmp al, 0x19
ja 0x1400962b9
test r11d, r11d
je 0x14009835a
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x1400962b9
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + rsi]
cmp esi, r9d
mov edx, 0x1a
cmovae eax, edx
cmp esi, r12d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x140096474
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x1400962b9
cmp rdi, r14
je 0x1400962b9
add esi, 0x24
imul r11d, r8d
inc rdi
jmp 0x1400963db
inc r15d
je 0x14009834b
mov eax, ecx
sub eax, ebx
test ebx, ebx
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r12d, r12d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r15d
add eax, r8d
cmp eax, 0x1c8
mov r9d, 0xd41d41d5
jb 0x1400964df
xor r12d, r12d
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add r12d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x1400964b5
jmp 0x1400964e2
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov esi, eax
mov eax, ecx
xor edx, edx
div r15d
add ebp, eax
jb 0x1400962b9
mov eax, ebp
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x1400962b9
mov ebx, edx
mov rax, qword [rsp + 0x128]
mov r13d, edx
cmp qword [rsp + 0x38], 0
je 0x140096558
mov rcx, qword [rsp + 0x38]
shl rcx, 4
xor edx, edx
mov r8, qword [rax + rdx]
cmp r8, r13
jb 0x14009654f
inc r8
mov qword [rax + rdx], r8
add rdx, 0x10
cmp rcx, rdx
jne 0x14009653f
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x120]
jne 0x140096584
lea rcx, [rsp + 0x120]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h066f5fa570313bac
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x130]
movzx ecx, si
add r12d, ecx
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], r13
mov dword [rax + rcx + 8], ebp
inc rdx
mov rax, rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x130], rdx
inc ebx
mov r13, qword [rsp + 0x1d0]
jmp 0x1400963b7
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x60], rax
mov rdi, qword [rsp + 0x38]
cmp rdi, 0x15
jae 0x1400965fd
cmp rdi, 1
mov rbp, qword [rsp + 0x140]
jbe 0x140096bc1
mov r8d, 1
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
call sym.core::slice::sort::insertion_sort_shift_left::hbc63ebaa5afad9be
jmp 0x140096bc1
lea rdx, [rdi*8]
movabs rax, 0x7ffffffffffffff0
and rdx, rax
mov al, byte [0x14030f1a8]
xor ecx, ecx
call dbg.process_heap_alloc
test rax, rax
mov rbp, qword [rsp + 0x140]
je 0x140098565
mov r15, rax
mov al, byte [0x14030f1a8]
mov edx, 0x100
xor ecx, ecx
call dbg.process_heap_alloc
test rax, rax
mov qword [rsp + 0x68], r15
je 0x140098573
mov rbx, rax
mov rax, qword [rsp + 0x60]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x1a0], rcx
lea rcx, [rax + 8]
mov qword [rsp + 0x228], rcx
lea rcx, [rax - 8]
mov qword [rsp + 0x220], rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x240], rax
mov eax, 0x10
mov qword [rsp + 0x1b0], rax
xor r14d, r14d
xor r11d, r11d
mov rdx, rdi
sub rdx, r11
mov rax, r11
shl rax, 4
mov rcx, qword [rsp + 0x60]
add rcx, rax
cmp rdx, 2
jae 0x140096727
mov r8, rdx
lea rdx, [r8 + r11]
mov rdi, rdx
sub rdi, r11
jb 0x1400984ae
cmp rdx, qword [rsp + 0x38]
ja 0x1400984ae
jae 0x1400967eb
cmp r8, 0xa
jae 0x1400967eb
lea rdi, [r11 + 0xa]
mov rax, qword [rsp + 0x38]
cmp rdi, rax
cmovae rdi, rax
cmp r11, 0xfffffffffffffff6
jae 0x1400984f9
cmp r8, 1
adc r8, 0
mov qword [rsp + 0x1b8], rdi
sub rdi, r11
mov rdx, rdi
mov rsi, r11
call sym.core::slice::sort::insertion_sort_shift_left::hbc63ebaa5afad9be
mov r11, rsi
jmp 0x1400967f3
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x140096b67
mov r8d, 2
cmp rdx, 2
je 0x140096772
mov rsi, r11
mov r8, qword [rsp + 0x1a0]
lea r10, [r8 + rax]
mov r8d, 2
mov r11, r9
mov r9, qword [r10]
cmp r9, r11
jae 0x14009676f
inc r8
add r10, 0x10
cmp rdx, r8
jne 0x140096755
mov r8, rdx
mov r11, rsi
mov rdx, r8
add rdx, r11
jb 0x140098533
cmp rdx, rdi
ja 0x140098526
cmp r8, 2
jb 0x1400966c0
mov qword [rsp + 0x30], r11
mov r9, rdx
mov rdx, r8
shr rdx, 1
add rax, qword [rsp + 0x228]
mov r12, r9
shl r9, 4
add r9, qword [rsp + 0x220]
mov r10, qword [rax - 8]
mov r11d, dword [rax]
mov rsi, qword [r9 - 8]
mov edi, dword [r9]
mov qword [rax - 8], rsi
mov dword [rax], edi
mov qword [r9 - 8], r10
mov dword [r9], r11d
add rax, 0x10
add r9, 0xfffffffffffffff0
dec rdx
jne 0x1400967b6
mov rdx, r12
mov r11, qword [rsp + 0x30]
jmp 0x1400966c0
mov qword [rsp + 0x1b8], rdx
mov rsi, qword [rsp + 0x1b0]
cmp r14, rsi
jne 0x140096879
mov qword [rsp + 0x30], r11
mov r12, r14
mov qword [rsp + 0x40], rbx
mov rdx, rsi
shl rdx, 5
mov al, byte [0x14030f1a8]
xor ecx, ecx
call dbg.process_heap_alloc
test rax, rax
je 0x1400984e8
mov rbx, rax
lea rax, [rsi + rsi]
mov qword [rsp + 0x138], rax
shl rsi, 4
mov rcx, rbx
mov r14, qword [rsp + 0x40]
mov rdx, r14
mov r8, rsi
call sym.memcpy
mov rcx, qword [0x14030f110]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x1b0], rax
mov r14, r12
mov r11, qword [rsp + 0x30]
mov rax, r14
shl rax, 4
mov qword [rbx + rax], rdi
mov qword [rbx + rax + 8], r11
inc r14
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x40], rbx
cmp r14, 2
jb 0x140096b54
mov rcx, r14
shl rcx, 4
mov rax, qword [rcx + rbx - 0x10]
mov rdx, qword [rcx + rbx - 8]
add rdx, rax
cmp rdx, rdi
je 0x1400968fe
mov r8, qword [rcx + rbx - 0x20]
cmp r8, rax
jbe 0x1400968fe
cmp r14, 2
je 0x140096b54
lea r10, [r14 - 3]
mov rdx, r10
shl rdx, 4
mov rdx, qword [rbx + rdx]
lea r9, [r8 + rax]
cmp rdx, r9
jbe 0x140096913
cmp r14, 3
jbe 0x140096b54
add r8, rdx
cmp qword [rcx + rbx - 0x40], r8
jbe 0x140096913
jmp 0x140096b54
cmp r14, 2
je 0x140096918
lea r10, [r14 - 3]
mov rcx, r10
shl rcx, 4
mov rdx, qword [rbx + rcx]
cmp rdx, rax
jb 0x14009691c
lea r10, [r14 - 2]
cmp r14, r10
jbe 0x1400983d3
lea rsi, [r10 + 1]
mov qword [rsp + 0x138], r14
cmp r14, rsi
jbe 0x140098435
mov rdx, r10
shl rdx, 4
mov rcx, qword [rbx + rdx + 8]
shl rsi, 4
mov rax, qword [rbx + rsi]
mov r14, qword [rbx + rsi + 8]
add r14, rax
mov r15, r14
sub r15, rcx
jb 0x140098411
cmp r14, rdi
ja 0x1400983e8
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], r10
mov qword [rsp + 0x150], rdx
mov r12, qword [rbx + rdx]
mov qword [rsp + 0x30], rcx
mov rdi, rcx
shl rdi, 4
add rdi, qword [rsp + 0x60]
mov rbp, r12
shl rbp, 4
lea r13, [rdi + rbp]
shl r14, 4
mov rbx, r15
sub rbx, r12
cmp rbx, r12
jae 0x140096a4a
mov rbp, rbx
shl rbp, 4
mov r15, qword [rsp + 0x68]
mov rcx, r15
mov rdx, r13
mov r8, rbp
call sym.memcpy
add rbp, r15
test r12, r12
jle 0x140096abc
test rbx, rbx
jle 0x140096abc
add r14, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x40]
mov rax, r13
mov rcx, rbp
mov rdx, qword [rbp - 0x10]
mov r8, qword [r13 - 0x10]
cmp rdx, r8
mov r13d, 0
sbb r13, r13
cmp rdx, r8
mov ebp, 0
adc rbp, 0xffffffffffffffff
shl r13, 4
add r13, rax
shl rbp, 4
add rbp, rcx
cmp rdx, r8
mov rax, rbp
cmovb rax, r13
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
cmp r13, rdi
jbe 0x140096a45
add r14, 0xfffffffffffffff0
cmp rbp, r15
ja 0x1400969f2
mov rdi, r13
jmp 0x140096ac6
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
mov rdx, rdi
mov r8, rbp
call sym.memcpy
add rbp, rbx
test r12, r12
jle 0x140096acb
cmp r15, r12
mov rbx, qword [rsp + 0x40]
jle 0x140096ac1
add r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov rdx, r15
mov r8, rdx
mov rcx, qword [r13]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r13
movups xmm0, xmmword [r9]
movups xmmword [rdi], xmm0
add rdi, 0x10
shl edx, 4
add rdx, r8
cmp rdx, rbp
jae 0x140096ad8
mov al, cl
shl eax, 4
add r13, rax
cmp r13, r14
jb 0x140096a7c
jmp 0x140096ad8
mov rdi, r13
jmp 0x140096ad0
mov r15, qword [rsp + 0x68]
mov rdx, r15
jmp 0x140096ad8
mov r15, qword [rsp + 0x68]
mov rdx, r15
mov rbx, qword [rsp + 0x40]
add rsi, rbx
sub rbp, rdx
mov rcx, rdi
mov r8, rbp
call sym.memcpy
mov rax, qword [rsp + 0x170]
add rax, r12
mov qword [rsi], rax
mov rax, qword [rsp + 0x30]
mov qword [rsi + 8], rax
mov r14, qword [rsp + 0x138]
mov r8, qword [rsp + 0x178]
cmp r14, r8
mov r13, qword [rsp + 0x1d0]
jbe 0x140098474
mov rcx, qword [rsp + 0x150]
add rcx, rbx
lea rdx, [rcx + 0x10]
not r8
add r8, r14
shl r8, 4
call sub.msvcrt.dll_memmove
dec r14
mov rbp, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x38]
jmp 0x140096896
mov r11, qword [rsp + 0x1b8]
cmp r11, rdi
jb 0x14009669e
jmp 0x140096b9f
mov r8d, 2
cmp rdx, 2
je 0x1400966bc
add rax, qword [rsp + 0x1a0]
mov r10, r9
mov r9, qword [rax]
cmp r9, r10
jb 0x1400966bc
inc r8
add rax, 0x10
cmp rdx, r8
jne 0x140096b7f
jmp 0x1400966b9
mov rcx, qword [0x14030f110]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x14030f110]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
lea r8, [rdi + rbp]
mov rcx, qword [rsp + 0x2d0]
mov rax, qword [rcx]
mov r14, qword [rcx + 0x10]
sub rax, r14
cmp rax, r8
jae 0x140096be4
mov rdx, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h6fd76780598b4568
add rbp, r13
xor esi, esi
xor edi, edi
lea r12, [rsp + 0x70]
mov rcx, rsi
shl rcx, 4
add rcx, qword [rsp + 0x60]
mov rax, r13
mov rdx, qword [rsp + 0x38]
cmp rsi, rdx
jae 0x140096c12
cmp qword [rcx], rdi
je 0x140096cb6
mov rdx, rbp
cmp rax, rbp
je 0x140096c71
movzx ebx, byte [rax]
test bl, bl
jns 0x140096c83
mov edx, ebx
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp bl, 0xdf
jbe 0x140096c8e
movzx r8d, byte [rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp bl, 0xf0
jb 0x140096c9f
movzx ebx, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r8d, 6
and ebx, 0x3f
or ebx, r8d
or ebx, edx
mov r13, rax
mov rdx, rax
cmp ebx, 0x110000
jne 0x140096cb1
mov rax, rdx
mov rdx, qword [rsp + 0x38]
cmp rsi, rdx
jb 0x140096c04
jmp 0x140096d97
inc rax
inc rdi
mov r13, rax
jmp 0x140096cc7
add rax, 2
shl edx, 6
or edx, r9d
mov r13, rax
mov ebx, edx
jmp 0x140096cbc
add rax, 3
shl edx, 0xc
or r8d, edx
mov r13, rax
mov ebx, r8d
jmp 0x140096cbc
mov r13, rax
jmp 0x140096cbc
inc rsi
mov ebx, dword [rcx + 8]
inc rdi
cmp ebx, 0x80
jae 0x140096cf7
mov r15, qword [rsp + 0x2d0]
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x140096ce4
mov rcx, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [r15 + 0x10], rdx
jmp 0x140096bf0
mov dword [rsp + 0x70], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x140096d1f
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x70], al
mov r8d, 2
mov eax, 1
jmp 0x140096d78
cmp ebx, 0x10000
jae 0x140096d4a
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x70], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov r8d, 3
mov eax, 2
jmp 0x140096d78
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x70], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x72], al
mov r8d, 4
mov eax, 3
and bl, 0x3f
or bl, 0x80
mov byte [rsp + rax + 0x70], bl
mov rcx, qword [rsp + 0x2d0]
mov rdx, r12
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
jmp 0x140096bf0
mov rax, qword [rsp + 0x2d0]
mov rsi, qword [rax + 8]
mov rbx, qword [rax + 0x10]
test r14, r14
je 0x140096dc3
cmp rbx, r14
jbe 0x140096dbd
cmp byte [rsi + r14], 0xc0
jge 0x140096dc3
jmp 0x14009855d
jne 0x14009855d
lea r13, [rsi + r14]
mov rbp, rbx
sub rbp, r14
test byte [rsp + 0x148], 1
jne 0x140096dea
mov rcx, r13
mov rdx, rbp
call sym.idna::uts46::is_bidi_domain::h37f139018892bb7e
mov qword [rsp + 0x148], rax
mov al, byte [rsp + 0x51]
or al, byte [rsp + 0x50]
or al, byte [rsp + 0x52]
or al, byte [rsp + 0x53]
or al, byte [rsp + 0x54]
or al, byte [rsp + 0x55]
or al, byte [rsp + 0x56]
or al, byte [rsp + 0x57]
or al, byte [rsp + 0x58]
or al, byte [rsp + 0x59]
or al, byte [rsp + 0x5a]
xor edi, edi
or al, byte [rsp + 0x5b]
jne 0x140096160
add rsi, rbx
xor r9d, r9d
mov rax, r13
xor r8d, r8d
lea r15, [rsp + 0x70]
mov ecx, r9d
cmp rax, rsi
je 0x1400974b2
mov r9d, r8d
movzx edx, byte [rax]
test dl, dl
js 0x140096e4e
inc rax
jmp 0x140096ec1
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140096ea3
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x140096eb3
movzx edx, byte [rax + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r8d
cmp edx, 0x110000
je 0x1400974b2
add rax, 4
jmp 0x140096ec1
add rax, 2
shl r8d, 6
or r8d, r11d
mov edx, r8d
jmp 0x140096ec1
add rax, 3
shl r8d, 0xc
or r10d, r8d
mov edx, r10d
xor r8d, r8d
cmp edx, 0x80
jb 0x140096e36
imul r8d, edx, 0x9e3779b9
imul r10d, edx, 0x31415926
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r11, [0x140290c58]
movzx r8d, word [r11 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r10, [0x14029138c]
mov r8d, dword [r10 + r8*4]
mov r10d, r8d
shr r10d, 8
cmp r10d, edx
mov r10d, 0
cmovne r8d, r10d
cmp r9b, r8b
jbe 0x140096f3d
test r8b, r8b
jne 0x140097647
lea r9d, [rdx - 0x340]
cmp r9d, 4
ja 0x140096f54
cmp r9d, 2
jne 0x140097647
mov r9b, 2
cmp edx, 0xd56
jg 0x140096fbe
cmp edx, 0x9de
jg 0x14009701f
cmp edx, 0x93b
jg 0x140097135
lea r10d, [rdx - 0x30f]
cmp r10d, 0x36
ja 0x140096f98
movabs r11, 0x48020000001005
bt r11, r10
jb 0x140096e33
lea r10d, [rdx - 0x374]
cmp r10d, 0x13
ja 0x140097240
mov r11d, 0x80401
bt r11d, r10d
jb 0x140097647
jmp 0x140097240
cmp edx, 0x11126
jg 0x140097086
cmp edx, 0xf92
jg 0x1400970cc
lea r10d, [rdx - 0xdca]
cmp r10d, 0x15
ja 0x140096ff3
mov r11d, 0x200021
bt r11d, r10d
jb 0x140096e33
cmp edx, 0xd57
je 0x140096e33
lea r10d, [rdx - 0xf43]
cmp r10d, 0x3e
ja 0x140097240
movabs r11, 0x4021004002108401
jmp 0x1400971ec
cmp edx, 0xbd6
jg 0x140097110
cmp edx, 0xbbd
jg 0x1400971f8
lea r10d, [rdx - 0xb3e]
cmp r10d, 0x19
ja 0x140097054
mov r11d, 0x3000001
bt r11d, r10d
jb 0x140096e33
lea r10d, [rdx - 0xa33]
cmp r10d, 0x2b
ja 0x140097075
movabs r11, 0x80000000009
bt r11, r10
jb 0x140097647
cmp edx, 0x9df
jne 0x140097240
jmp 0x140097647
cmp edx, 0x114af
jle 0x14009715e
lea r10d, [rdx - 0x114b0]
cmp r10d, 0xd
ja 0x1400970af
mov r11d, 0x2401
bt r11d, r10d
jb 0x140096e33
cmp edx, 0x115af
je 0x140096e33
cmp edx, 0x11930
je 0x140096e33
jmp 0x140097240
cmp edx, 0x1f70
jg 0x1400971a4
cmp edx, 0x102e
je 0x140096e33
cmp edx, 0x1b35
je 0x140096e33
lea r10d, [rdx - 0xf93]
cmp r10d, 0x26
ja 0x140097240
movabs r11, 0x4002108401
jmp 0x1400971ec
cmp edx, 0xcc1
jg 0x140097187
cmp edx, 0xbd7
je 0x140096e33
cmp edx, 0xc56
je 0x140096e33
jmp 0x140097240
cmp edx, 0x93c
je 0x140096e33
cmp edx, 0x9be
je 0x140096e33
cmp edx, 0x9d7
je 0x140096e33
jmp 0x140097240
cmp edx, 0x11127
je 0x140096e33
cmp edx, 0x1133e
je 0x140096e33
cmp edx, 0x11357
je 0x140096e33
jmp 0x140097240
cmp edx, 0xcc2
je 0x140096e33
cmp edx, 0xd3e
je 0x140096e33
jmp 0x140097240
cmp edx, 0xfa0f
jle 0x140097206
cmp edx, 0x110ba
je 0x140096e33
lea r10d, [rdx - 0xfa10]
cmp r10d, 0x12
ja 0x1400971d5
mov r11d, 0x50005
bt r11d, r10d
jb 0x140097647
lea r10d, [rdx - 0xfb1d]
cmp r10d, 0x21
ja 0x140097240
movabs r11, 0x200000005
bt r11, r10
jb 0x140097647
jmp 0x140097240
cmp edx, 0xbbe
je 0x140096e33
jmp 0x140097240
cmp edx, 0x2125
jle 0x14009745e
lea r10d, [rdx - 0x2329]
cmp r10d, 2
lea r15, [rsp + 0x70]
jb 0x140097647
cmp edx, 0x2126
je 0x140097647
cmp edx, 0x2adc
je 0x140097647
lea r10d, [rdx - 0x2f800]
cmp r10d, 0x21e
jb 0x140097647
lea r10d, [rdx - 0x1d1bb]
cmp r10d, 6
jb 0x140097647
lea r10d, [rdx - 0x1d15e]
cmp r10d, 7
jb 0x140097647
lea r10d, [rdx - 0xfb46]
cmp r10d, 9
jb 0x140097647
lea r10d, [rdx - 0xfb43]
cmp r10d, 2
jb 0x140097647
mov r10d, edx
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x140097647
lea r11d, [rdx - 0xfb38]
cmp r11d, 5
jb 0x140097647
lea r11d, [rdx - 0xfb2a]
cmp r11d, 0xd
jb 0x140097647
lea r11d, [rdx - 0xfa70]
cmp r11d, 0x6a
jb 0x140097647
lea r11d, [rdx - 0xfa2a]
cmp r11d, 0x44
jb 0x140097647
lea r11d, [rdx - 0xfa25]
cmp r11d, 2
jb 0x140097647
lea r11d, [rdx - 0xfa15]
cmp r11d, 0xa
jb 0x140097647
lea r11d, [rdx - 0xf900]
cmp r11d, 0x10e
jb 0x140097647
cmp r10d, 0x212a
je 0x140097647
cmp r10d, 0x2000
je 0x140097647
cmp r10d, 0x1fee
je 0x140097647
lea r11d, [rdx - 0xf75]
cmp r11d, 2
jb 0x140097647
cmp r10d, 0xb5c
je 0x140097647
lea r11d, [rdx - 0xa59]
cmp r11d, 3
jb 0x140097647
mov r11d, edx
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x140097647
cmp r10d, 0x9dc
je 0x140097647
lea r11d, [rdx - 0x11a8]
cmp r11d, 0x1b
jb 0x140096e33
lea r11d, [rdx - 0x1161]
cmp r11d, 0x15
jb 0x140096e33
lea r11d, [rdx - 0xcd5]
cmp r11d, 2
jb 0x140096e33
lea r11d, [rdx - 0x653]
cmp r11d, 3
jb 0x140096e33
cmp r10d, 0x330
je 0x140096e33
lea r10d, [rdx - 0x32d]
cmp r10d, 2
jb 0x140096e33
lea r10d, [rdx - 0x323]
cmp r10d, 6
jb 0x140096e33
lea r10d, [rdx - 0x313]
cmp r10d, 2
jb 0x140096e33
lea r10d, [rdx - 0x300]
cmp r10d, 5
jb 0x140096e33
lea r10d, [rdx - 0x306]
cmp r10d, 7
jb 0x140096e33
add edx, 0xffffcf67
cmp edx, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
jmp 0x140096e33
lea r10d, [rdx - 0x1fbe]
cmp r10d, 0x3f
lea r15, [rsp + 0x70]
ja 0x140097484
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x140097647
lea r10d, [rdx - 0x1f71]
cmp r10d, 0xc
ja 0x1400974a1
mov r11d, 0x1555
bt r11d, r10d
jb 0x140097647
cmp edx, 0x1fbb
je 0x140097647
jmp 0x140097240
test cl, cl
je 0x140097628
movzx eax, cl
cmp eax, 1
je 0x140097647
movups xmmword [r15 + 0x48], xmm6
lea rax, [rsp + 0x182]
movups xmmword [rax], xmm6
movzx eax, word [rsp + 0x190]
mov word [r15 + 0x76], ax
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [r15 + 0x66], xmm0
mov qword [rsp + 0x70], 0
xor eax, eax
mov dword [rsp + 0x80], eax
mov word [rsp + 0x84], ax
mov byte [rsp + 0x88], al
mov dword [rsp + 0x8c], eax
mov byte [rsp + 0x90], al
mov dword [rsp + 0x94], eax
mov byte [rsp + 0x98], al
mov dword [rsp + 0x9c], eax
mov byte [rsp + 0xa0], al
mov dword [rsp + 0xa4], eax
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], rsi
mov byte [rsp + 0xc8], al
mov dword [rsp + 0xd0], eax
mov word [rsp + 0xd4], ax
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], al
mov rdi, r13
cmp rdi, rsi
je 0x14009760a
movzx ebx, byte [rdi]
test bl, bl
js 0x140097592
inc rdi
jmp 0x1400975ee
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x1400975d6
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x1400975e3
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x14009760a
add rdi, 4
jmp 0x1400975ee
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x1400975ee
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
mov rcx, r15
call sym._ZN116__LT_unicode_normalization..recompose..Recompositions_LT_I_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4nex
xor r14d, r14d
cmp eax, 0x110000
je 0x14009761b
cmp eax, ebx
je 0x14009757d
jmp 0x14009761b
mov rcx, r15
call sym._ZN116__LT_unicode_normalization..recompose..Recompositions_LT_I_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4nex
cmp eax, 0x110000
sete r14b
mov rcx, r15
call sym._ZN4core3ptr99drop_in_place_LT_unicode_normalization..recompose..Recompositions_LT_core..str..iter..Chars_GT__GT_17h7ca085afc4
test r14b, r14b
je 0x140097647
xor edi, edi
mov rcx, r13
mov rdx, rbp
mov r8, qword [rsp + 0x238]
lea r9, [rsp + 0x50]
call sym.idna::uts46::check_validity::h9ac2021cd7b6277c
jmp 0x140096160
mov byte [rsp + 0x55], 1
xor edi, edi
jmp 0x140096160
mov rax, qword [rsp + 0x2d0]
mov rsi, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov r14, qword [rsp + 0x248]
test r14, r14
je 0x1400976bc
lea rax, [0x140263038]
cmp rcx, r14
jbe 0x1400976ba
cmp byte [rsi + r14], 0xbf
jg 0x1400976bc
mov rdx, rcx
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov r8, r14
mov r9, rdx
call dbg.slice_error_fail
jmp case.0x14009581a.1
lea r8, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
jmp 0x140096083
jne 0x140097683
add rsi, r14
mov qword [rsp + 0x30], rcx
mov rax, rcx
sub rax, r14
xor ecx, ecx
lea r14, [rsp + 0x70]
mov qword [r14], rcx
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], rcx
mov qword [r14 + 0x28], rax
movabs rax, 0x2e0000002e
mov qword [r14 + 0x30], rax
mov byte [r14 + 0x38], 1
mov word [r14 + 0x40], 1
mov ebp, 1
mov r13d, 0x260db
mov rcx, r14
call sym.__core::str::iter::Split_P__as_core::iter::traits::iterator::Iterator_::next::h2ceddc8d37038f24
mov rsi, rax
test rax, rax
je 0x140097ab1
test byte [rsp + 0x148], 1
je 0x14009770d
mov r15, rdx
test rdx, rdx
je 0x14009770d
movzx ecx, byte [rsi]
test cl, cl
js 0x140097740
lea rbx, [rsi + 1]
jmp 0x1400977a1
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140097788
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140097796
movzx ecx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14009770d
lea rbx, [rsi + 4]
jmp 0x1400977a1
lea rbx, [rsi + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400977a1
lea rbx, [rsi + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r15, rsi
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
test al, al
je 0x140097863
movzx eax, al
cmp eax, 0x11
je 0x140097863
cmp eax, 9
jne 0x140097aac
cmp rbx, r15
je 0x140097928
movzx ecx, byte [rbx]
test cl, cl
js 0x1400977db
inc rbx
jmp 0x140097840
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140097827
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140097835
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 0x140097928
add rbx, 4
jmp 0x140097840
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140097840
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 0xe
ja 0x140097aac
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jb 0x1400977c6
jmp 0x140097aac
cmp rbx, r15
je 0x140097936
xor r12d, r12d
xor edi, edi
movzx ecx, byte [rbx]
test cl, cl
js 0x14009787d
inc rbx
jmp 0x1400978de
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400978c5
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400978d3
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 0x140097914
add rbx, 4
jmp 0x1400978de
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400978de
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 5
jne 0x1400978ec
mov dil, 1
jmp 0x14009790b
cmp al, 1
movzx r12d, r12b
cmove r12d, ebp
cmp al, 0x11
ja 0x140097aac
movzx eax, al
bt r13d, eax
jae 0x140097aac
cmp rbx, r15
jne 0x140097871
test r12b, 1
sete al
test dil, 1
sete r12b
or r12b, al
jmp 0x140097939
movzx ebx, byte [r15 - 1]
test bl, bl
js 0x140097971
dec r15
jmp 0x14009798d
mov r12b, 1
movzx ebx, byte [r15 - 1]
test bl, bl
js 0x14009794a
dec r15
jmp 0x140097a1f
movzx eax, byte [r15 - 2]
cmp al, 0xc0
jge 0x140097a82
movzx ecx, byte [r15 - 3]
cmp cl, 0xbf
jle 0x140097a54
add r15, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x140097a68
movzx eax, byte [r15 - 2]
cmp al, 0xc0
jge 0x1400979f3
movzx ecx, byte [r15 - 3]
cmp cl, 0xbf
jle 0x1400979c2
add r15, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x1400979d6
mov ecx, ebx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 0xd
jne 0x1400979fc
cmp r15, rsi
je 0x14009770d
movzx ebx, byte [r15 - 1]
test bl, bl
js 0x1400979af
dec r15
jmp 0x1400979e6
movzx eax, byte [r15 - 2]
cmp al, 0xc0
jge 0x1400979f3
movzx ecx, byte [r15 - 3]
cmp cl, 0xc0
jge 0x140097984
movzx edx, byte [r15 - 4]
add r15, 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 ebx, 0x3f
or ebx, eax
cmp ebx, 0x110000
jne 0x14009798d
jmp 0x14009770d
add r15, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1400979de
mov ecx, ebx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 9
je 0x14009770d
mov ecx, ebx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 5
je 0x14009770d
jmp 0x140097aac
mov ecx, ebx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 0xd
jne 0x140097a8b
cmp r15, rsi
je 0x140097aac
movzx ebx, byte [r15 - 1]
test bl, bl
js 0x140097a3d
dec r15
jmp 0x140097a78
movzx eax, byte [r15 - 2]
cmp al, 0xc0
jge 0x140097a82
movzx ecx, byte [r15 - 3]
cmp cl, 0xc0
jge 0x140097965
movzx edx, byte [r15 - 4]
add r15, 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 ebx, 0x3f
or ebx, eax
cmp ebx, 0x110000
jne 0x140097a1f
jmp 0x140097aac
add r15, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140097a70
mov ecx, ebx
call sym.unicode_bidi::char_data::bidi_class::h5af1596d75da1bce
cmp al, 0x11
ja 0x140097aac
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x140097aac
test r12b, r12b
jne 0x14009770d
mov byte [rsp + 0x52], 1
mov al, byte [rsp + 0x50]
mov byte [rsp + 0x60], al
lea rcx, [rsp + 0x51]
mov rax, qword [rcx]
mov qword [rsp + 0x1d8], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x1df], eax
cmp qword [rsp + 0x120], 0
mov rsi, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x30]
je 0x140097b05
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x14030f110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsi + 0x10]
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h355293c87b2bb0fb
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x80], rcx
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], 0
mov rdi, qword [rsp + 0x48]
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x140097b4f
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x14030f110]
xor edx, edx
call sub.kernel32.dll_HeapFree
lea r8, [rsp + 0x70]
mov rax, qword [r8 + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [r8]
movups xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
xor edx, edx
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], rdx
mov qword [r8 + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [r8 + 0x30], rax
mov byte [r8 + 0x38], 1
mov word [r8 + 0x40], 1
mov sil, 1
mov r13d, 0x1a
lea rcx, [rsp + 0x70]
call sym.__core::str::iter::Split_P__as_core::iter::traits::iterator::Iterator_::next::h2ceddc8d37038f24
test rax, rax
je 0x1400982dc
mov r12, rax
mov rdi, rdx
test sil, 1
mov rsi, qword [rsp + 0x2d0]
jne 0x140097bf2
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x140097be3
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rsi + 0x10], rdx
mov rax, rdi
cmp rdi, 7
movabs rdx, 0x8080808080808080
ja 0x140097c1f
mov rcx, rax
sub rcx, 1
jb 0x140097da5
cmp byte [r12 + rax - 1], 0
mov rax, rcx
jns 0x140097c05
jmp 0x140097c79
test qword [r12], rdx
je 0x140097c45
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x38], rax
mov r8d, 4
mov rcx, rsi
lea rdx, [0x140263050]
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
jmp 0x140097ca2
lea rax, [r12 + 7]
and rax, 0xfffffffffffffff8
sub rax, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rdi - 8]
cmp rax, rcx
jae 0x140097c6f
test qword [r12 + rax], rdx
jne 0x140097c79
add rax, 8
jmp 0x140097c5e
test qword [r12 + rcx], rdx
je 0x140097da5
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x38], rax
mov r8d, 4
mov rcx, rsi
lea rdx, [0x140263050]
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
xor esi, esi
test rdi, rdi
je 0x140097ba7
mov rbx, r12
add rbx, rdi
xor esi, esi
xor ebp, ebp
mov rdi, r12
mov qword [rsp + 0x30], rbx
movzx ebx, byte [rdi]
test bl, bl
js 0x140097cc0
inc rdi
jmp 0x140097d20
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x140097d08
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x140097d15
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x1400982cb
add rdi, 4
jmp 0x140097d20
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x140097d20
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
mov eax, esi
inc eax
mov dword [rsp + 0x138], eax
je 0x14009827f
cmp ebx, 0x7f
ja 0x140097d63
mov r14, qword [rsp + 0x2d0]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14]
jne 0x140097d53
mov rcx, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14 + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [r14 + 0x10], rdx
inc ebp
inc esi
mov rbx, qword [rsp + 0x30]
cmp rdi, rbx
jne 0x140097cb4
test ebp, ebp
je 0x140097dba
mov rsi, qword [rsp + 0x2d0]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x140097d94
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x140097dbc
mov rcx, rsi
mov rdx, r12
mov r8, rdi
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
xor esi, esi
jmp 0x140097ba7
xor ebp, ebp
xor r8d, r8d
mov esi, 0
cmp ebp, dword [rsp + 0x138]
jae 0x140097ba7
mov r15d, 0x48
mov eax, pe_nt_image_headers64
mov edi, ebp
mov dword [rsp + 0x68], ebp
mov qword [rsp + 0x150], r12
mov rcx, r12
cmp rcx, rbx
je 0x1400983a4
movzx ebp, byte [rcx]
test bpl, bpl
js 0x140097e03
inc rcx
jmp 0x140097e70
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x140097e55
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x140097e63
movzx ebp, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
je 0x1400983a4
add rcx, 4
jmp 0x140097e70
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x140097e70
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
cmp ebp, eax
jb 0x140097ded
jmp 0x140097ead
add rcx, 4
jmp 0x140097e9e
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x140097e9e
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp eax, edx
cmovbe ebp, r9d
cmp rcx, rbx
je 0x140097f0d
movzx edx, byte [rcx]
test dl, dl
js 0x140097ebe
inc rcx
jmp 0x140097e9e
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140097e80
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x140097e90
movzx edx, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x140097e7a
mov r9d, ebp
sub r9d, eax
lea ecx, [rdi + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x14009827f
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x48], edx
mov rsi, r12
mov rbx, qword [rsp + 0x30]
movzx eax, byte [rsi]
test al, al
js 0x140097f49
inc rsi
jmp 0x140097fab
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140097f92
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140097fa0
movzx eax, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x140098275
add rsi, 4
jmp 0x140097fab
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140097fab
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebp
jae 0x140097fb9
inc dword [rsp + 0x48]
je 0x14009827f
cmp eax, ebp
jne 0x14009814d
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rdi
lea ebx, [r15 + 0x1a]
lea ecx, [r15 - 0x24]
neg ecx
cmp ebx, 0x25
cmovb ecx, r13d
cmp r15d, 0x24
mov eax, 1
cmovae ecx, eax
mov eax, dword [rsp + 0x48]
mov edi, eax
cmp eax, ecx
jb 0x1400980ea
mov esi, r15d
neg esi
mov r12d, 0x48
mov edi, dword [rsp + 0x48]
mov r8d, ecx
sub r8d, 0x24
je 0x140098305
sub edi, ecx
neg r8d
mov eax, edi
xor edx, edx
div r8d
add edx, ecx
mov r14d, 0x61
mov edi, eax
cmp edx, 0x1a
jb 0x140098042
mov r14d, 0x16
cmp edx, 0x24
jae 0x14009838c
add r14d, edx
cmp r14d, 0x80
jae 0x140098083
mov r13, qword [rsp + 0x2d0]
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13]
jne 0x14009806c
mov rcx, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13 + 8]
mov byte [rax + rdx], r14b
inc rdx
mov qword [r13 + 0x10], rdx
mov r13d, 0x1a
jmp 0x1400980c8
mov dword [rsp + 0x120], 0
mov eax, r14d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x120], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x121], r14b
mov r8d, 2
mov rcx, qword [rsp + 0x2d0]
lea rdx, [rsp + 0x120]
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
lea ecx, [rsi + r12]
cmp r12d, ebx
cmovae ecx, r13d
cmp r12d, r15d
mov eax, 1
cmovbe ecx, eax
add r12d, 0x24
cmp edi, ecx
jae 0x14009800b
mov esi, 0x61
cmp edi, 0x1a
jb 0x140098102
mov esi, 0x16
cmp edi, 0x24
jae 0x14009838c
add esi, edi
cmp esi, 0x80
mov rbx, qword [rsp + 0x30]
jae 0x14009815f
mov rdi, qword [rsp + 0x2d0]
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14009812e
mov rcx, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [rdi + 0x10]
mov r11d, 0xd41d41d5
mov r12, qword [rsp + 0x150]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [rdi + 0x10], rdx
jmp 0x1400981b1
mov r9d, edi
mov r8d, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
jmp 0x14009824d
mov dword [rsp + 0x120], 0
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x120], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x121], sil
mov r8d, 2
mov rcx, qword [rsp + 0x2d0]
lea rdx, [rsp + 0x120]
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
mov r11d, 0xd41d41d5
mov r12, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x178]
mov r9d, ecx
inc r9d
mov eax, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x170]
je 0x14009831d
cmp ecx, eax
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x48]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x140098226
mov edx, eax
imul rdx, r11
shr rdx, 0x20
mov r10d, eax
sub r10d, edx
shr r10d, 1
add r10d, edx
shr r10d, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, r10d
ja 0x1400981fd
jmp 0x140098229
mov r10d, eax
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx r15d, ax
add r15d, ecx
mov dword [rsp + 0x48], r8d
mov edi, r9d
cmp rsi, rbx
jne 0x140097f3d
inc r8d
inc ebp
xor esi, esi
mov eax, ebp
mov edi, r9d
cmp r9d, dword [rsp + 0x138]
jb 0x140097dea
jmp 0x140097ba7
mov r9d, edi
mov r8d, dword [rsp + 0x48]
jmp 0x140098256
mov rax, qword [rsp + 0x2d0]
mov rax, qword [rax + 0x10]
mov byte [rsp + 0x60], 1
xor esi, esi
mov rdx, qword [rsp + 0x38]
cmp rax, rdx
jb 0x140097ba7
test rdx, rdx
mov rcx, qword [rsp + 0x2d0]
je 0x1400982c0
cmp rax, rdx
jbe 0x1400982c0
mov rax, qword [rcx + 8]
cmp byte [rax + rdx], 0xbf
jle 0x1400984d0
mov qword [rcx + 0x10], rdx
xor esi, esi
jmp 0x140097ba7
mov dword [rsp + 0x138], esi
mov rbx, qword [rsp + 0x30]
jmp 0x140097d73
mov rcx, qword [rsp + 0x1c0]
mov al, byte [rsp + 0x60]
mov byte [rcx], al
mov rax, qword [rsp + 0x1d8]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x1df]
mov dword [rcx + 8], eax
jmp 0x140095426
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zeropark_missing
lea r8, [0x140271c00]
mov edx, 0x39
call dbg.panic
lea rcx, str.attempt_to_divide_by_zero
lea r8, [0x140271b88]
mov edx, 0x19
call dbg.panic
lea r8, [0x140263020]
mov ecx, 4
mov edx, 4
call dbg.panic_bounds_check
lea rax, [0x140271b88]
mov qword [rsp + 0x1a8], rax
lea rcx, str.attempt_to_divide_by_zero
mov edx, 0x19
mov r8, qword [rsp + 0x1a8]
call dbg.panic
jmp case.0x14009581a.1
lea r8, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call dbg.slice_start_index_len_fail
jmp case.0x14009581a.1
lea rcx, str.explicit_panic
lea r8, str._e_
mov edx, 0xe
call dbg.panic
lea rcx, [0x140271be8]
call dbg.unwrap_failed
lea rcx, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x30], rcx
mov edx, 4
mov rcx, rax
mov r8, qword [rsp + 0x30]
call dbg.slice_end_index_len_fail
jmp case.0x14009581a.1
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x70], rax
lea rdx, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
jmp 0x140098448
mov rcx, r14
lea rax, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x158]
call dbg.slice_end_index_len_fail
jmp case.0x14009581a.1
mov rdx, r14
lea rax, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
mov qword [rsp + 0x158], rax
mov r8, qword [rsp + 0x158]
call dbg.slice_index_order_fail
jmp case.0x14009581a.1
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x70], rax
lea rdx, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x230]
mov qword [rcx + 8], 1
lea rax, sym.core::ptr::drop_in_place_widestring::error::ContainsNul_u16__::h4f0bc1d0dae5f8b4
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call dbg.panic_fmt
jmp case.0x14009581a.1
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x70]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, sym.core::ptr::drop_in_place_widestring::error::ContainsNul_u16__::h4f0bc1d0dae5f8b4
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
call dbg.panic_fmt
jmp case.0x14009581a.1
mov qword [rsp + 0x40], rbx
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
mov edx, 0x2c
call dbg.panic
jmp case.0x14009581a.1
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x1402af658]
mov edx, 0x30
call dbg.panic
lea rcx, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
call dbg.unwrap_failed
jmp case.0x14009581a.1
mov qword [rsp + 0x40], rbx
lea r8, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
mov rcx, r11
mov rdx, rdi
call dbg.slice_index_order_fail
jmp case.0x14009581a.1
mov r9, r14
lea rax, [0x140271bb8]
mov qword [rsp + 0x168], rax
jmp 0x140098543
mov rcx, rdx
mov qword [rsp + 0x40], rbx
jmp 0x1400983fa
mov rcx, r11
mov qword [rsp + 0x40], rbx
jmp 0x140098423
xor r8d, r8d
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r14
call dbg.slice_error_fail
jmp case.0x14009581a.1
mov rdx, rbx
jmp 0x14009768e
lea rcx, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
call dbg.unwrap_failed
jmp case.0x14009581a.1
lea rcx, str._rustc_3406ada96f8e16e49e947a91db3eba0db45245falibrarycore_src_slice_sort.rs
call dbg.unwrap_failed
ud2