Function at 0x1401c1ad0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x278
movdqa xmmword [rsp + 0x260], xmm15
movdqa xmmword [rsp + 0x250], xmm14
movdqa xmmword [rsp + 0x240], xmm13
movdqa xmmword [rsp + 0x230], xmm12
movdqa xmmword [rsp + 0x220], xmm11
movdqa xmmword [rsp + 0x210], xmm10
movdqa xmmword [rsp + 0x200], xmm9
movdqa xmmword [rsp + 0x1f0], xmm8
movdqa xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1d0], xmm6
mov qword [rsp + 0x178], rcx
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2e0]
mov qword [rsp + 0x100], r9
mov qword [rcx + 0x10], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x160], rax
add r8, rdx
xorps xmm6, xmm6
movups xmmword [rsp + 0x10a], xmm6
movzx eax, word [rsp + 0x118]
mov word [rsp + 0xd6], ax
movdqu xmm0, xmmword [rsp + 0x108]
movdqu xmmword [rsp + 0xc6], xmm0
lea r14, [rsp + 0xa8]
movups xmmword [rsp + 0xa8], xmm6
mov byte [rsp + 0xb8], 0
mov qword [rsp + 0x40], 0
lea r13, [rsp + 0x50]
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
lea r12, [rsp + 0x58]
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
lea rbp, [rsp + 0x78]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], r8
lea rax, [rsp + 0x30]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 0
mov rax, r9
shr rax, 0x20
mov byte [rsp + 0xa4], al
mov qword [rsp + 0x168], r9
mov dword [rsp + 0xa0], r9d
mov dword [rsp + 0xc0], 0
mov word [rsp + 0xc4], 0
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], 0
lea rsi, [rsp + 0xc8]
xor edx, edx
jmp 0x1401c1cc7
mov edi, r15d
mov rcx, qword [rsp + 0x2e0]
mov edx, edi
call fcn.140021970
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov r15d, dword [rsp + 0xc0]
mov rbx, qword [rsp + 0xd0]
test r15d, r15d
je 0x1401c1d20
test rdx, rdx
je 0x1401c1ddd
mov rcx, qword [rsp + 0xd8]
cmp rdx, 1
jne 0x1401c22ad
cmp rax, rcx
jb 0x1401c22e5
mov qword [rsp + 0xd8], 0
jmp 0x1401c1d64
test rdx, rdx
je 0x1401c1ddd
movzx r8d, word [rsp + 0xc4]
movzx ecx, r8w
cmp rdx, 1
jne 0x1401c22b7
cmp r8w, 4
ja 0x1401c38e7
cmp rax, rcx
jb 0x1401c22e2
test r8w, r8w
je 0x1401c1d64
mov word [rsp + 0xc4], 0
mov qword [rsp + 0x40], 0
jmp 0x1401c1ddd
movzx edi, bx
imul r15d, edi, 0x6f75
shr r15d, 0x18
lea edx, [r15 + 0x1100]
mov rcx, r13
call fcn.1401bf790
imul eax, r15d, 0x24c
sub ebx, eax
movzx eax, bx
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r13
call fcn.1401bf790
mov eax, edi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub di, cx
je 0x1401c1ddd
add edi, 0x11a7
movzx edi, di
mov rcx, r13
mov edx, edi
call fcn.1401bf790
mov r9, qword [rsp + 0xb0]
test r9, r9
jne 0x1401c1ee9
cmp byte [rsp + 0xa0], 2
je 0x1401c20f1
mov rcx, rbp
call fcn.1401c13d0
cmp eax, 0x110000
je 0x1401c20e9
mov edi, eax
cmp byte [rsp + 0xb8], 0
je 0x1401c1e80
cmp edi, 0x80
jb 0x1401c1dd3
mov ebx, edi
add ebx, 0xffff5400
cmp ebx, 0x2ba4
jb 0x1401c1d6f
mov ecx, edi
call fcn.1401c48b0
test rax, rax
jne 0x1401c1e4f
mov ecx, edi
call fcn.1401c4800
test rax, rax
je 0x1401c1dd3
mov rbx, rax
mov r15, rdx
test rdx, rdx
je 0x1401c1ddd
shl r15, 2
xor edi, edi
mov edx, dword [rbx + rdi]
mov rcx, r13
call fcn.1401bf790
add rdi, 4
cmp r15, rdi
jne 0x1401c1e60
jmp 0x1401c1ddd
cmp edi, 0x80
jb 0x1401c1dd3
mov ebx, edi
add ebx, 0xffff5400
cmp ebx, 0x2ba4
jb 0x1401c1d6f
mov ecx, edi
call fcn.1401c4800
test rax, rax
je 0x1401c1dd3
mov r15, rdx
test rdx, rdx
je 0x1401c1ddd
mov rbx, rax
shl r15, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rbx + rdi]
mov rcx, r13
call fcn.1401bf790
add rdi, 4
cmp r15, rdi
jne 0x1401c1ed0
jmp 0x1401c1ddd
mov r8d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xa8]
test r8d, r8d
je 0x1401c1f0f
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
cmp rcx, rax
jb 0x1401c1f2a
jmp 0x1401c24e5
movzx eax, word [rsp + 0x54]
cmp rax, 5
jae 0x1401c38b3
mov rdx, r12
cmp rcx, rax
jae 0x1401c24e5
mov r15d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1401c1fef
test r8d, r8d
je 0x1401c1ff9
mov rdx, qword [rsp + 0x68]
sub rdx, r9
je 0x1401c2007
xor ecx, ecx
nop word cs:[rax + rax]
mov rax, qword [rsp + 0xb0]
add rax, rcx
cmp dword [rsp + 0x50], 0
je 0x1401c1f90
mov r9, qword [rsp + 0x68]
cmp rax, r9
jae 0x1401c24c4
mov r8, qword [rsp + 0x60]
jmp 0x1401c1fac
movzx r9d, word [rsp + 0x54]
cmp r9, 5
jae 0x1401c389f
mov r8, r12
cmp rax, r9
jae 0x1401c24c4
cmp rcx, r9
jae 0x1401c24d6
movzx r9d, byte [r8 + rax*8]
mov eax, dword [r8 + rax*8 + 4]
mov byte [r8 + rcx*8], r9b
mov dword [r8 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
jne 0x1401c1f60
mov r8d, dword [rsp + 0x50]
test r8d, r8d
jne 0x1401c200c
movzx eax, word [rsp + 0x54]
cmp rdx, rax
jae 0x1401c2018
mov word [rsp + 0x54], dx
jmp 0x1401c2018
mov qword [rsp + 0xa8], rcx
jmp 0x1401c201c
movzx edx, word [rsp + 0x54]
sub rdx, r9
jne 0x1401c1f52
test r8d, r8d
je 0x1401c1fde
cmp qword [rsp + 0x68], rdx
jb 0x1401c2018
mov qword [rsp + 0x68], rdx
movups xmmword [r14], xmm6
mov ecx, r15d
call fcn.1401c47a0
mov ebx, eax
mov edi, dword [rsp + 0xe0]
cmp edi, 0x110000
jne 0x1401c204a
test bl, bl
jne 0x1401c1cb0
mov dword [rsp + 0xe0], r15d
jmp 0x1401c1ddd
cmp byte [rsp + 0xe4], 0
je 0x1401c207a
cmp byte [rsp + 0xe5], bl
jae 0x1401c2098
mov ecx, edi
mov edx, r15d
call fcn.1401c49c0
cmp eax, 0x110000
je 0x1401c20a0
mov dword [rsp + 0xe0], eax
jmp 0x1401c1ddd
mov ecx, edi
mov edx, r15d
call fcn.1401c49c0
cmp eax, 0x110000
jne 0x1401c21c7
test bl, bl
jne 0x1401c20a0
jmp 0x1401c22a0
test bl, bl
je 0x1401c2279
cmp dword [rsp + 0xc0], 0
je 0x1401c2137
mov rdx, qword [rsp + 0xd8]
cmp rdx, qword [rsp + 0xc8]
jne 0x1401c20d0
mov rcx, rsi
call fcn.14002f060
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov dword [rax + rdx*4], r15d
inc rdx
mov qword [rsp + 0xd8], rdx
jmp 0x1401c215b
mov byte [rsp + 0xa0], 2
mov r9d, dword [rsp + 0x50]
test r9d, r9d
mov rdx, qword [rsp + 0x68]
movzx r8d, word [rsp + 0x54]
movzx eax, r8w
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x1401c223a
mov rcx, qword [rsp + 0xb0]
test r9d, r9d
je 0x1401c216f
mov r8, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
jae 0x1401c218c
jmp 0x1401c38c7
movzx eax, word [rsp + 0xc4]
cmp rax, 3
ja 0x1401c21d3
mov dword [rsp + rax*4 + 0xc8], r15d
inc eax
mov word [rsp + 0xc4], ax
mov byte [rsp + 0xe4], 1
mov byte [rsp + 0xe5], bl
jmp 0x1401c1ddd
cmp r8w, 5
jae 0x1401c38d3
mov rdx, rax
mov r8, r12
mov rax, rdx
sub rax, rcx
jb 0x1401c38c7
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1401bfd10
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x1401c21b4
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0xb0], r9
jmp 0x1401c1eee
movzx r9d, word [rsp + 0x54]
mov qword [rsp + 0xb0], r9
jmp 0x1401c1eee
mov dword [rsp + 0xe0], eax
jmp 0x1401c1ddd
lea rcx, [rsp + 0x108]
lea rdx, [rsp + 0xc4]
mov r8d, r15d
call fcn.140343f00
cmp dword [rsp + 0xc0], 0
je 0x1401c2219
mov rdx, qword [rsp + 0xc8]
test rdx, rdx
je 0x1401c2219
mov rcx, qword [rsp + 0xd0]
shl rdx, 2
mov r8d, 4
call fcn.140020a10
movdqu xmm0, xmmword [rsp + 0x108]
movups xmm1, xmmword [rsp + 0x118]
movups xmmword [r14 + 0x28], xmm1
movdqu xmmword [r14 + 0x18], xmm0
jmp 0x1401c215b
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], 0
mov edi, dword [rsp + 0xe0]
mov edx, 2
mov eax, 0
cmp edi, 0x110000
je 0x1401c1ccc
mov dword [rsp + 0xe0], 0x110000
jmp 0x1401c1cb3
mov dword [rsp + 0xe0], r15d
mov byte [rsp + 0xe4], 0
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
jmp 0x1401c1cb3
mov dword [rsp + 0xe0], r15d
jmp 0x1401c1cb3
cmp rax, rcx
jae 0x1401c22fe
mov rdx, rbx
jmp 0x1401c22c9
cmp cx, 5
jae 0x1401c38e7
mov rdx, rsi
cmp rax, rcx
jae 0x1401c230c
mov edi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], rax
jmp 0x1401c1cb3
mov rbx, rsi
mov edi, dword [rbx + rax*4]
inc rax
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], rax
jmp 0x1401c1cb3
mov qword [rsp + 0xd8], 0
jmp 0x1401c231c
test r8w, r8w
je 0x1401c231c
mov word [rsp + 0xc4], 0
mov edi, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], 0x110000
cmp edi, 0x110000
jne 0x1401c1cb3
cmp dword [rsp + 0x50], 0
je 0x1401c235f
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1401c235f
mov rcx, qword [rsp + 0x60]
shl rdx, 3
mov r8d, 4
call fcn.140020a10
test r15d, r15d
mov r15, qword [rsp + 0x2e8]
mov r12, qword [rsp + 0x100]
je 0x1401c2393
mov rdx, qword [rsp + 0xc8]
test rdx, rdx
je 0x1401c2393
shl rdx, 2
mov r8d, 4
mov rcx, rbx
call fcn.140020a10
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 8
mov qword [rsp + 0x190], 0
mov rcx, qword [rsp + 0x2e0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x140], rax
mov word [rsp + 0x148], 1
lea rcx, [rsp + 0x108]
call fcn.1401bf990
test rax, rax
je 0x1401c338f
mov rdi, rax
mov rsi, rdx
and qword [rsp + 0x168], 0xffffffffffff00ff
mov al, 1
mov dword [rsp + 0x2c], 0
mov r13d, 0x20003
lea rbp, [rsp + 0x30]
lea r14, [rsp + 0x108]
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x140411d30]
movdqa xmm12, xmmword [0x14035d140]
movdqa xmm13, xmmword [0x140411d40]
movdqa xmm14, xmmword [0x140411d50]
movdqa xmm15, xmmword [0x140411d60]
movdqa xmm7, xmmword [0x140411d70]
movdqa xmm8, xmmword [0x140411d80]
movdqa xmm9, xmmword [0x140411d90]
movdqa xmm10, xmmword [0x140411da0]
jmp 0x1401c2552
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rcx, rax
mov rdx, r9
call fcn.140345500
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, r9
call fcn.140345500
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call fcn.140345500
mov dword [rsp + 0x2c], 0
mov rcx, rdi
mov rdx, rsi
mov r8, r12
mov r9, rbp
call fcn.1401c17b0
mov rax, qword [r15]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x1401c2a7c
mov rcx, qword [r15 + 8]
add rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rbx
mov qword [r15 + 0x10], rsi
mov rcx, r14
call fcn.1401bf990
mov rdi, rax
mov rsi, rdx
xor eax, eax
test rdi, rdi
je 0x1401c3381
test al, 1
jne 0x1401c257a
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1401c256b
mov rcx, r15
call fcn.14000af00
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
cmp rsi, 4
jb 0x1401c259b
mov eax, dword [rdi]
bswap eax
xor ecx, ecx
xor edx, edx
cmp eax, 0x786e2d2d
setb cl
seta dl
cmp ecx, edx
je 0x1401c266b
test byte [rsp + 0x2c], 1
jne 0x1401c24fc
test rsi, rsi
je 0x1401c24f4
lea rbx, [rdi + rsi]
mov r14, rdi
jmp 0x1401c25c1
cmp r14, rbx
je 0x1401c275f
movzx r8d, byte [r14]
movzx ecx, r8b
test cl, cl
js 0x1401c25d2
inc r14
jmp 0x1401c263a
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [r14 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1401c2621
movzx edx, byte [r14 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401c262f
movzx ecx, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1401c275f
add r14, 4
jmp 0x1401c263a
add r14, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1401c263a
add r14, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1401c25b8
call fcn.1401c4c00
cmp al, 0x11
ja 0x1401c25b8
movzx eax, al
bt r13, rax
jae 0x1401c25b8
mov al, 1
mov dword [rsp + 0x2c], eax
jmp 0x1401c2767
add rdi, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x198]
lea rdx, [rsp + 0x180]
mov r8, rdi
mov r9, rsi
call fcn.1401c0d20
cmp qword [rsp + 0x198], 0
je 0x1401c2774
mov rsi, qword [rsp + 0x1c0]
mov rdi, qword [rsp + 0x1c8]
mov rax, qword [r15]
mov rcx, qword [r15 + 0x10]
mov r8, rdi
sub r8, rsi
mov qword [rsp + 0x150], rcx
sub rax, rcx
cmp rax, r8
jb 0x1401c32c4
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x60], rax
movdqu xmm0, xmmword [rsp + 0x198]
movdqu xmm1, xmmword [rsp + 0x1a8]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rdi
lea rcx, [rsp + 0x40]
call fcn.1401c1160
cmp eax, 0x110000
jne 0x1401c2784
mov r12, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
mov r8, qword [rsp + 0x150]
test r8, r8
je 0x1401c2a93
mov rbx, rdi
sub rbx, r8
mov r13d, 0x20003
lea rbp, [rsp + 0x30]
lea r14, [rsp + 0x108]
mov r15, r12
jbe 0x1401c2aae
cmp byte [r15 + r8], 0xbf
jg 0x1401c2ab4
jmp 0x1401c38f8
mov dword [rsp + 0x2c], 0
lea r14, [rsp + 0x108]
jmp 0x1401c24fc
mov byte [rsp + 0x30], 1
mov al, 1
mov dword [rsp + 0x2c], eax
jmp 0x1401c2539
mov ebx, eax
mov r14, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x170], rax
mov r11, qword [rsp + 0x50]
mov r13, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov qword [rsp + 0x158], r11
jmp 0x1401c27cd
inc r13
mov ebx, dword [r11 + rax + 8]
inc rsi
cmp ebx, 0x110000
je 0x1401c271c
cmp ebx, 0x80
jae 0x1401c2813
mov r15, qword [rsp + 0x2e8]
mov rdi, qword [r15 + 0x10]
cmp rdi, qword [r15]
jne 0x1401c27fd
mov rcx, r15
mov rdx, rdi
call fcn.14000af00
mov r11, qword [rsp + 0x158]
mov rdi, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov r12, rax
mov byte [rax + rdi], bl
inc rdi
mov qword [r15 + 0x10], rdi
jmp 0x1401c290b
mov dword [rsp + 0xec], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x1401c2848
shr eax, 6
or al, 0xc0
mov byte [rsp + 0xec], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0xed], bl
mov ebx, 2
jmp 0x1401c28be
cmp ebx, 0x10000
jae 0x1401c2880
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0xec], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0xed], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0xee], bl
mov ebx, 3
jmp 0x1401c28be
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0xec], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0xed], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0xee], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0xef], bl
mov ebx, 4
mov rcx, qword [rsp + 0x2e8]
mov rax, qword [rcx]
mov rdi, qword [rcx + 0x10]
sub rax, rdi
cmp rax, rbx
jb 0x1401c2a5d
mov r15, qword [rsp + 0x2e8]
mov rax, qword [r15 + 8]
mov r12, rax
lea rcx, [rax + rdi]
lea rdx, [rsp + 0xec]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbx
mov qword [r15 + 0x10], rdi
mov r11, qword [rsp + 0x158]
cmp r13, qword [rsp + 0x170]
jae 0x1401c29bb
mov rax, r13
shl rax, 4
cmp qword [r11 + rax], rsi
je 0x1401c27b6
mov r10, r14
mov r14, rbp
cmp r10, rbp
je 0x1401c292a
lea r14, [r10 + 1]
mov qword [rsp + 0x40], r14
movzx edx, byte [r10]
test dl, dl
jns 0x1401c29cf
movzx eax, dl
and eax, 0x1f
lea rcx, [r10 + 2]
mov qword [rsp + 0x40], rcx
movzx r8d, byte [r10 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x1401c2a43
lea r9, [r10 + 3]
mov qword [rsp + 0x40], r9
movzx ecx, byte [r10 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1401c2a4e
lea r14, [r10 + 4]
mov qword [rsp + 0x40], r14
movzx ebx, byte [r10 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x1401c292a
jmp 0x1401c27be
cmp r14, rbp
je 0x1401c271c
movzx edx, byte [r14]
test dl, dl
js 0x1401c29d7
inc r14
movzx ebx, dl
jmp 0x1401c27be
movzx eax, dl
and eax, 0x1f
lea rcx, [r14 + 2]
mov qword [rsp + 0x40], rcx
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x1401c2a43
lea r9, [r14 + 3]
mov qword [rsp + 0x40], r9
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1401c2a4e
lea rdx, [r14 + 4]
mov qword [rsp + 0x40], rdx
movzx ebx, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
mov r14, rdx
cmp ebx, 0x110000
jne 0x1401c27be
jmp 0x1401c271c
shl eax, 6
or eax, r8d
mov r14, rcx
jmp 0x1401c2a56
shl eax, 0xc
or eax, ecx
mov r14, r9
mov ebx, eax
jmp 0x1401c27be
mov r15, qword [rsp + 0x2e8]
mov rcx, r15
mov rdx, rdi
mov r8, rbx
call fcn.14033a8b0
mov rdi, qword [r15 + 0x10]
jmp 0x1401c28d9
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.14033a8b0
mov rbx, qword [r15 + 0x10]
jmp 0x1401c2520
mov rbx, rdi
mov r13d, 0x20003
lea rbp, [rsp + 0x30]
lea r14, [rsp + 0x108]
mov r15, r12
jmp 0x1401c2ab4
jne 0x1401c38f8
add r15, r8
test byte [rsp + 0x2c], 1
jne 0x1401c2b86
test rbx, rbx
je 0x1401c2b7e
lea rsi, [r15 + rbx]
mov rdi, r15
jmp 0x1401c2add
cmp rdi, rsi
je 0x1401c2b7e
movzx r8d, byte [rdi]
movzx ecx, r8b
test cl, cl
js 0x1401c2aee
inc rdi
jmp 0x1401c2b50
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1401c2b37
movzx edx, byte [rdi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401c2b45
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 0x1401c2b7e
add rdi, 4
jmp 0x1401c2b50
add rdi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1401c2b50
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1401c2ad4
call fcn.1401c4c00
cmp al, 0x11
ja 0x1401c2ad4
movzx eax, al
bt r13, rax
jae 0x1401c2ad4
mov al, 1
mov dword [rsp + 0x2c], eax
jmp 0x1401c2b86
mov dword [rsp + 0x2c], 0
movq xmm0, qword [rsp + 0x30]
movzx eax, byte [rsp + 0x39]
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 + 0x38]
or al, byte [rsp + 0x3a]
or al, cl
or al, byte [rsp + 0x3b]
je 0x1401c2bdd
mov r15, qword [rsp + 0x2e8]
mov r12, qword [rsp + 0x100]
jmp 0x1401c2539
mov r12, rbx
test rbx, rbx
je 0x1401c334e
lea rdi, [r15 + r12]
xor ebp, ebp
xor ebx, ebx
mov r14, r15
movzx edx, byte [r14]
test dl, dl
js 0x1401c2c04
inc r14
jmp 0x1401c2c85
movzx eax, dl
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x1401c2c53
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1401c2c61
movzx esi, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and esi, 0x3f
or esi, ecx
or esi, eax
cmp esi, 0x110000
je 0x1401c3158
add r14, 4
jmp 0x1401c2c6c
add r14, 2
shl eax, 6
or eax, r8d
mov esi, eax
jmp 0x1401c2c6c
add r14, 3
shl eax, 0xc
or ecx, eax
mov esi, ecx
cmp esi, 0x7f
jbe 0x1401c2c85
jmp 0x1401c2d09
inc r14
cmp esi, 0x80
jae 0x1401c2d07
cmp r14, rdi
je 0x1401c3158
movzx edx, byte [r14]
movzx esi, dl
test sil, sil
jns 0x1401c2c76
mov eax, esi
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x1401c2ce9
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1401c2cf7
movzx esi, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and esi, 0x3f
or esi, ecx
or esi, eax
cmp esi, 0x110000
je 0x1401c3158
add r14, 4
jmp 0x1401c2c79
add r14, 2
shl eax, 6
or eax, r8d
mov esi, eax
jmp 0x1401c2c79
add r14, 3
shl eax, 0xc
or ecx, eax
mov esi, ecx
jmp 0x1401c2c79
xor ebp, ebp
mov ecx, esi
call fcn.1401c47a0
cmp bpl, al
lea rbp, [rsp + 0x30]
jbe 0x1401c2d22
test al, al
jne case.0x1401c2ebd.3907
lea ecx, [rsi - 0x340]
cmp ecx, 4
ja 0x1401c2d36
cmp ecx, 2
jne case.0x1401c2ebd.3907
cmp esi, 0xd56
jg 0x1401c2d97
cmp esi, 0x9de
jg 0x1401c2dd8
cmp esi, 0x93b
jg 0x1401c2ee8
lea ecx, [rsi - 0x30f]
cmp ecx, 0x36
ja 0x1401c2d75
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x1401c2fdb
lea ecx, [rsi - 0x374]
cmp ecx, 0x13
ja case.0x1401c2ebd.3908
mov edx, 0x80401
bt edx, ecx
jb case.0x1401c2ebd.3907
jmp case.0x1401c2ebd.3908
cmp esi, 0x11126
jg 0x1401c2e39
cmp esi, 0x102d
jle 0x1401c2e7b
cmp esi, 0x1f70
jg 0x1401c2f3a
cmp esi, 0x102e
je 0x1401c2fdb
cmp esi, 0x1b35
je 0x1401c2fdb
jmp case.0x1401c2ebd.3908
cmp esi, 0xbd6
jg 0x1401c2ebf
cmp esi, 0xbbd
jg 0x1401c2fd3
lea ecx, [rsi - 0xb3e]
cmp ecx, 0x19
ja 0x1401c2e09
mov edx, 0x3000001
bt edx, ecx
jb 0x1401c2fdb
lea ecx, [rsi - 0xa33]
cmp ecx, 0x2b
ja 0x1401c2e28
movabs rdx, 0x80000000009
bt rdx, rcx
jb case.0x1401c2ebd.3907
cmp esi, 0x9df
jne case.0x1401c2ebd.3908
jmp case.0x1401c2ebd.3907
cmp esi, 0x114af
jle 0x1401c2f11
lea ecx, [rsi - 0x114b0]
cmp ecx, 0xd
ja 0x1401c2e5e
mov edx, 0x2401
bt edx, ecx
jb 0x1401c2fdb
cmp esi, 0x115af
je 0x1401c2fdb
cmp esi, 0x11930
je 0x1401c2fdb
jmp case.0x1401c2ebd.3908
lea ecx, [rsi - 0xdca]
cmp ecx, 0x15
ja 0x1401c2e94
mov edx, 0x200021
bt edx, ecx
jb 0x1401c2fdb
cmp esi, 0xd57
je 0x1401c2fdb
lea ecx, [rsi - 0xf43]
cmp ecx, 0x76
ja case.0x1401c2ebd.3908
lea rdx, [0x140420fb0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp esi, 0xcc1
jg 0x1401c2f95
cmp esi, 0xbd7
je 0x1401c2fdb
cmp esi, 0xc56
je 0x1401c2fdb
jmp case.0x1401c2ebd.3908
cmp esi, 0x93c
je 0x1401c2fdb
cmp esi, 0x9be
je 0x1401c2fdb
cmp esi, 0x9d7
je 0x1401c2fdb
jmp case.0x1401c2ebd.3908
cmp esi, 0x11127
je 0x1401c2fdb
cmp esi, 0x1133e
je 0x1401c2fdb
cmp esi, 0x11357
je 0x1401c2fdb
jmp case.0x1401c2ebd.3908
cmp esi, 0xfa0f
jle 0x1401c2fa7
cmp esi, 0x110ba
mov r13d, 0x20003
je 0x1401c2fdb
lea ecx, [rsi - 0xfa10]
cmp ecx, 0x12
ja 0x1401c2f6d
mov edx, 0x50005
bt edx, ecx
jb case.0x1401c2ebd.3907
lea ecx, [rsi - 0xfb1d]
cmp ecx, 0x21
ja case.0x1401c2ebd.3908
movabs rdx, 0x200000005
bt rdx, rcx
jb case.0x1401c2ebd.3907
jmp case.0x1401c2ebd.3908
cmp esi, 0xcc2
je 0x1401c2fdb
cmp esi, 0xd3e
je 0x1401c2fdb
jmp case.0x1401c2ebd.3908
cmp esi, 0x2125
jg 0x1401c2fed
lea ecx, [rsi - 0x1f71]
cmp ecx, 0x8c
mov r13d, 0x20003
ja case.0x1401c2ebd.3908
lea rdx, [0x14042118c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp esi, 0xbbe
jne case.0x1401c2ebd.3908
mov bl, 2
mov ebp, eax
cmp r14, rdi
jne 0x1401c2bf4
jmp 0x1401c3158
lea ecx, [rsi - 0x2329]
cmp ecx, 2
mov r13d, 0x20003
jb case.0x1401c2ebd.3907
cmp esi, 0x2126
je case.0x1401c2ebd.3907
cmp esi, 0x2adc
je case.0x1401c2ebd.3907
movd xmm1, esi
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x140411d00]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x140411d10]
pxor xmm3, xmm12
movdqa xmm4, xmm14
pcmpgtd xmm4, xmm3
pxor xmm2, xmm12
movdqa xmm3, xmm15
pcmpgtd xmm3, xmm2
packssdw xmm3, xmm4
pmovmskb ecx, xmm3
test ecx, ecx
jne case.0x1401c2ebd.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x140411cf0]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [case.0x1401bd696.14]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps ecx, xmm4
test cl, cl
jne case.0x1401c2ebd.3907
lea ecx, [rsi - 0x1d1bb]
cmp ecx, 6
jb case.0x1401c2ebd.3907
lea ecx, [rsi - 0x2f800]
cmp ecx, 0x21e
jb case.0x1401c2ebd.3907
movd ecx, xmm1
cmp ecx, 0x2000
je case.0x1401c2ebd.3907
cmp ecx, 0x212a
je case.0x1401c2ebd.3907
cmp ecx, 0xfb40
je case.0x1401c2ebd.3907
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
movdqa xmm2, xmm9
pcmpgtd xmm2, xmm0
pxor xmm1, xmm12
movdqa xmm0, xmm10
pcmpgtd xmm0, xmm1
packssdw xmm2, xmm0
pmovmskb edx, xmm2
test edx, edx
jne 0x1401c2fdb
lea edx, [rsi - 0x11a8]
cmp edx, 0x1b
jb 0x1401c2fdb
add esi, 0xffffcf67
cmp esi, 2
jb 0x1401c2fdb
cmp ecx, 0x330
jne 0x1401c2fdd
jmp 0x1401c2fdb
test bl, bl
lea rbp, [rsp + 0x30]
je 0x1401c334e
movzx eax, bl
cmp eax, 1
je case.0x1401c2ebd.3907
lea rax, [rsp + 0xee]
movups xmmword [rax], xmm6
movzx eax, word [rsp + 0xfc]
lea rcx, [rsp + 0xa6]
mov word [rcx + 0x10], ax
movdqu xmm0, xmmword [rsp + 0xec]
movdqu xmmword [rcx], xmm0
movups xmmword [rcx - 0x1e], xmm6
mov byte [rcx - 0xe], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0xa0], 0
mov word [rsp + 0xa4], 0
mov dword [rsp + 0xc0], 0x110000
mov byte [rsp + 0xc4], 0
mov rsi, r15
lea r14, [rsp + 0x40]
cmp rsi, rdi
je 0x1401c32d9
movzx edx, byte [rsi]
movzx ebp, dl
test bpl, bpl
js 0x1401c3247
inc rsi
jmp 0x1401c32a9
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1401c3290
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1401c329e
movzx ebp, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x1401c32d9
add rsi, 4
jmp 0x1401c32a9
add rsi, 2
shl eax, 6
or eax, r8d
mov ebp, eax
jmp 0x1401c32a9
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
mov rcx, r14
call fcn.1401bee60
mov bl, 1
cmp eax, 0x110000
je 0x1401c32eb
cmp eax, ebp
je 0x1401c322e
jmp 0x1401c32eb
mov rcx, r15
mov rdx, qword [rsp + 0x150]
call fcn.14033a8b0
jmp 0x1401c26ce
mov rcx, r14
call fcn.1401bee60
cmp eax, 0x110000
setne bl
neg bl
cmp dword [rsp + 0x50], 0
je 0x1401c3310
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1401c3310
mov rcx, qword [rsp + 0x60]
shl rdx, 3
mov r8d, 4
call fcn.140020a10
cmp dword [rsp + 0xa0], 0
lea rbp, [rsp + 0x30]
je 0x1401c3343
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x1401c3343
mov rcx, qword [rsp + 0xb0]
shl rdx, 2
mov r8d, 4
call fcn.140020a10
test bl, bl
je 0x1401c334e
mov byte [rsp + 0x35], 1
jmp 0x1401c3364
mov rcx, r15
mov rdx, r12
mov r8, qword [rsp + 0x168]
mov r9, rbp
call fcn.1401c17b0
mov r15, qword [rsp + 0x2e8]
mov r12, qword [rsp + 0x100]
lea r14, [rsp + 0x108]
jmp 0x1401c2539
mov rdx, qword [r15 + 0x10]
mov r8, qword [rsp + 0x160]
jmp 0x1401c33a2
mov dword [rsp + 0x2c], 0
mov r8, qword [rsp + 0x160]
mov rdx, r8
mov rcx, qword [r15 + 8]
test r8, r8
je 0x1401c33bf
mov rax, rdx
sub rax, r8
jbe 0x1401c33c4
cmp byte [rcx + r8], 0xbf
jg 0x1401c33ca
jmp 0x1401c3912
mov rax, rdx
jmp 0x1401c33ca
jne 0x1401c3912
add rcx, r8
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], 1
lea rcx, [rsp + 0x40]
call fcn.1401bf990
test rax, rax
je 0x1401c37f8
test byte [rsp + 0x2c], 1
jne 0x1401c3446
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.1401bf990
test rax, rax
jne 0x1401c3434
jmp 0x1401c37f8
mov rdi, rax
mov rbx, rdx
lea rsi, [rsp + 0x40]
mov r15d, 0x260fb
mov r12d, 0x62f8
jmp 0x1401c3476
mov rcx, rsi
call fcn.1401bf990
mov rdi, rax
mov rbx, rdx
test rax, rax
je 0x1401c37f8
test rbx, rbx
je 0x1401c345f
movzx r8d, byte [rdi]
movzx ecx, r8b
test cl, cl
js 0x1401c348d
lea rbp, [rdi + 1]
jmp 0x1401c34ef
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1401c34d6
movzx edx, byte [rdi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401c34e4
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 0x1401c345f
lea rbp, [rdi + 4]
jmp 0x1401c34ef
lea rbp, [rdi + 2]
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1401c34ef
lea rbp, [rdi + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add rbx, rdi
call fcn.1401c4c00
test al, al
je 0x1401c3632
movzx eax, al
cmp eax, 0x11
je 0x1401c3632
cmp eax, 9
jne 0x1401c37f3
cmp rbp, rbx
je 0x1401c35b0
movzx r8d, byte [rbp]
movzx ecx, r8b
test cl, cl
js 0x1401c352f
inc rbp
jmp 0x1401c3591
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1401c3578
movzx edx, byte [rbp + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401c3586
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 0x1401c35b0
add rbp, 4
jmp 0x1401c3591
add rbp, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1401c3591
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401c4c00
cmp al, 0xe
ja 0x1401c37f3
movzx eax, al
bt r12, rax
jb 0x1401c3514
jmp 0x1401c37f3
movzx eax, byte [rbx - 1]
test al, al
js 0x1401c35c0
dec rbx
movzx ebp, al
jmp 0x1401c360d
movzx ecx, byte [rbx - 2]
cmp cl, 0xc0
jge 0x1401c35eb
movzx edx, byte [rbx - 3]
cmp dl, 0xc0
jge 0x1401c35f4
movzx r8d, byte [rbx - 4]
add rbx, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x1401c35fb
add rbx, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x1401c3603
add rbx, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebp, al
or ebp, ecx
cmp rbx, rdi
je 0x1401c37ba
cmp ebp, 0x110000
je 0x1401c345f
mov ecx, ebp
call fcn.1401c4c00
cmp al, 0xd
je 0x1401c35b0
jmp 0x1401c37d5
cmp rbp, rbx
je 0x1401c36f7
xor r14d, r14d
xor r13d, r13d
jmp 0x1401c364f
mov r14b, 1
cmp rbp, rbx
je 0x1401c36fd
movzx r8d, byte [rbp]
movzx ecx, r8b
test cl, cl
js 0x1401c3661
inc rbp
jmp 0x1401c36c3
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1401c36aa
movzx edx, byte [rbp + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401c36b8
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 0x1401c36fd
add rbp, 4
jmp 0x1401c36c3
add rbp, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1401c36c3
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401c4c00
cmp al, 1
je 0x1401c3643
movzx ecx, al
cmp ecx, 5
jne 0x1401c36e0
mov r13b, 1
jmp 0x1401c3646
cmp al, 0x11
ja 0x1401c37f3
bt r15, rcx
jb 0x1401c3646
jmp 0x1401c37f3
xor r13d, r13d
xor r14d, r14d
movzx eax, byte [rbx - 1]
test al, al
js 0x1401c370d
dec rbx
movzx ebp, al
jmp 0x1401c375a
movzx ecx, byte [rbx - 2]
cmp cl, 0xc0
jge 0x1401c3738
movzx edx, byte [rbx - 3]
cmp dl, 0xc0
jge 0x1401c3741
movzx r8d, byte [rbx - 4]
add rbx, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x1401c3748
add rbx, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x1401c3750
add rbx, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebp, al
or ebp, ecx
cmp rbx, rdi
je 0x1401c3778
cmp ebp, 0x110000
je 0x1401c37f3
mov ecx, ebp
call fcn.1401c4c00
cmp al, 0xd
je 0x1401c36fd
jmp 0x1401c378b
cmp ebp, 0x110000
je 0x1401c37f3
mov ecx, ebp
call fcn.1401c4c00
cmp al, 0xd
je 0x1401c37f3
mov ecx, ebp
call fcn.1401c4c00
cmp al, 0x11
ja 0x1401c37f3
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x1401c37f3
test r14b, 1
je 0x1401c345f
and r13b, 1
je 0x1401c345f
jmp 0x1401c37f3
cmp ebp, 0x110000
je 0x1401c345f
mov ecx, ebp
call fcn.1401c4c00
cmp al, 0xd
je 0x1401c345f
mov ecx, ebp
call fcn.1401c4c00
cmp al, 9
je 0x1401c345f
mov ecx, ebp
call fcn.1401c4c00
cmp al, 5
je 0x1401c345f
mov byte [rsp + 0x32], 1
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x178]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x30]
mov qword [rcx], rax
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x1401c3833
mov rcx, qword [rsp + 0x188]
shl rdx, 4
mov r8d, 8
call fcn.140020a10
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x200]
movaps xmm10, xmmword [rsp + 0x210]
movaps xmm11, xmmword [rsp + 0x220]
movaps xmm12, xmmword [rsp + 0x230]
movaps xmm13, xmmword [rsp + 0x240]
movaps xmm14, xmmword [rsp + 0x250]
movaps xmm15, xmmword [rsp + 0x260]
add rsp, 0x278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
call fcn.140345930
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.140345930
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
call fcn.1403458b0
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.140345930
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.140345930
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rdi
mov r9, rdi
call fcn.140345af0
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.140345af0
int3