Function at 0x1400baff0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], 0xfffffffffffffffe
mov r14, rdx
mov qword [rbp - 0x20], rcx
mov rsi, qword [rdx]
mov rbx, qword [rdx + 8]
mov r8, qword [rsi + 0xa0]
mov rdi, qword [rdx + 0x10]
mov qword [rbp - 0x10], r8
mov rax, rdi
test r8, r8
je 0x1400bb068
mov rax, rdi
sub rax, r8
jbe 0x1400bb066
cmp byte [rbx + r8], 0xbf
jg 0x1400bb068
lea rax, [0x140110338]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.1400fcdc0
ud2
jne 0x1400bb04a
test rax, rax
je 0x1400bb0ce
movzx r9d, byte [rbx + r8]
movzx ecx, r9b
test cl, cl
jns 0x1400bb126
mov eax, ecx
and eax, 0x1f
movzx r10d, byte [rbx + r8 + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400bb11e
movzx edx, byte [rbx + r8 + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x1400bb788
movzx ecx, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400bb126
lea rax, [rbp - 0x10]
mov qword [rbp + 0x10], rax
lea rax, [fcn.1400f56d0]
mov qword [rbp + 0x18], rax
lea rax, str.expected_char_at_offset_P
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
mov qword [rbp + 0x50], 0
lea rax, [rbp + 0x10]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 1
lea rdx, [0x140110378]
lea rcx, [rbp + 0x30]
call fcn.1400fc6a0
ud2
shl eax, 6
or eax, r10d
mov ecx, eax
cmp ecx, 0x70
je 0x1400bb13f
mov rcx, rbx
mov rdx, rdi
call fcn.1400ab100
cmp eax, 0x50
jne 0x1400bc409
cmp qword [rsi + 0x80], 0
jne 0x1400bc2f1
lea rax, [rsi + 0x80]
mov qword [rbp - 0x58], rax
mov qword [rsi + 0x80], 0xffffffffffffffff
mov qword [rsi + 0x98], 0
mov r15, qword [rsi + 0xa0]
mov qword [rbp - 0x10], r15
mov rax, rdi
test r15, r15
je 0x1400bb1b4
mov rax, rdi
sub rax, r15
jbe 0x1400bb1b2
cmp byte [rbx + r15], 0xbf
jg 0x1400bb1b4
lea rax, [0x140110338]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r15
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
jne 0x1400bb190
test rax, rax
je 0x1400bb22a
movzx edx, byte [rbx + r15]
movzx eax, dl
mov dword [rbp + 0xac], eax
test al, al
jns 0x1400bb289
mov ecx, dword [rbp + 0xac]
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + r15 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400bb27d
movzx ecx, byte [rbx + r15 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400bb79d
movzx edx, byte [rbx + r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
mov dword [rbp + 0xac], edx
cmp edx, 0x110000
jne 0x1400bb289
lea rax, [rbp - 0x10]
mov qword [rbp + 0x10], rax
lea rax, [fcn.1400f56d0]
mov qword [rbp + 0x18], rax
lea rax, str.expected_char_at_offset_P
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
mov qword [rbp + 0x50], 0
lea rax, [rbp + 0x10]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 1
lea rdx, [0x140110378]
lea rcx, [rbp + 0x30]
call fcn.1400fc6a0
jmp 0x1400bc4e6
shl eax, 6
or eax, r8d
mov dword [rbp + 0xac], eax
lea rax, [rsi + 0xa0]
mov qword [rbp + 0xa0], rax
cmp rdi, r15
je 0x1400bb7bf
mov r12, qword [rsi + 0xa8]
mov r13, qword [rsi + 0xb0]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.1400ab100
cmp eax, 0xa
jne 0x1400bb2e9
mov r13d, 1
inc r12
jne 0x1400bb2f2
lea rcx, [0x140110390]
lea r8, [0x1401103f0]
mov edx, 0x2b
call fcn.1400fc740
jmp 0x1400bc4e6
inc r13
je 0x1400bc479
mov rax, qword [rbp + 0xa0]
mov r8, qword [rax]
mov rcx, rbx
mov rdx, rdi
call fcn.1400ab100
mov r8d, 1
cmp eax, 0x80
jb 0x1400bb330
mov r8d, 2
cmp eax, 0x7ff
jbe 0x1400bb330
cmp eax, 0x10000
mov r8d, 4
sbb r8, 0
mov rax, rdi
add r8, r15
mov qword [rsi + 0xa0], r8
mov qword [rsi + 0xa8], r12
mov qword [rsi + 0xb0], r13
je 0x1400bb37d
mov rax, rdi
sub rax, r8
jbe 0x1400bb37b
cmp byte [rbx + r8], 0xbf
jg 0x1400bb37d
lea rax, [0x1401103d8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
jne 0x1400bb35c
test rax, rax
je 0x1400bb7bf
mov rcx, r14
call fcn.1400ab390
mov rax, qword [rbp + 0xa0]
mov r8, qword [rax]
cmp r8, rdi
je 0x1400bb7bf
mov rcx, rbx
mov rdx, rdi
call fcn.1400ab100
cmp eax, 0x7b
jne 0x1400bb828
lea rcx, [rbp + 0x30]
mov rdx, r14
call fcn.1400abc90
lea rax, [rsi + 0x88]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbp + 0x48]
movaps xmmword [rbp - 0x50], xmm0
mov rax, qword [rbp + 0xa0]
mov r13, qword [rax]
cmp r13, rdi
jne 0x1400bb42c
jmp 0x1400bb95f
mov rdx, qword [rsi + 0x98]
mov rax, qword [rsi + 0x88]
mov byte [rax + rdx], r12b
inc qword [rsi + 0x98]
mov rax, qword [rbp + 0xa0]
mov r13, qword [rax]
cmp r13, rdi
je 0x1400bb95f
mov r12, qword [rsi + 0xa8]
mov r15, qword [rsi + 0xb0]
mov rcx, rbx
mov rdx, rdi
mov r8, r13
call fcn.1400ab100
cmp eax, 0xa
jne 0x1400bb460
mov r15d, 1
inc r12
jne 0x1400bb469
jmp 0x1400bc442
inc r15
je 0x1400bc45f
mov rax, qword [rbp + 0xa0]
mov r8, qword [rax]
mov rcx, rbx
mov rdx, rdi
call fcn.1400ab100
mov r8d, 1
cmp eax, 0x80
jb 0x1400bb4a7
mov r8d, 2
cmp eax, 0x7ff
jbe 0x1400bb4a7
cmp eax, 0x10000
mov r8d, 4
sbb r8, 0
mov rax, rdi
add r8, r13
mov qword [rsi + 0xa0], r8
mov qword [rsi + 0xa8], r12
mov qword [rsi + 0xb0], r15
je 0x1400bb4de
mov rax, rdi
sub rax, r8
jbe 0x1400bb4d8
cmp byte [rbx + r8], 0xbf
jg 0x1400bb4de
jmp 0x1400bc423
jne 0x1400bc423
test rax, rax
je 0x1400bb956
mov rcx, r14
call fcn.1400ab390
mov rax, qword [rbp + 0xa0]
mov r8, qword [rax]
cmp rdi, r8
je 0x1400bb95f
mov qword [rbp - 0x38], r8
mov rax, rdi
test r8, r8
je 0x1400bb525
mov rax, rdi
sub rax, r8
jbe 0x1400bc31b
cmp byte [rbx + r8], 0xbf
jle 0x1400bc31b
test rax, rax
je 0x1400bc359
movzx r9d, byte [rbx + r8]
movzx ecx, r9b
test cl, cl
jns 0x1400bb5a0
mov eax, ecx
and eax, 0x1f
movzx r10d, byte [rbx + r8 + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400bb58c
movzx edx, byte [rbx + r8 + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x1400bb669
movzx ecx, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400bb5a0
jmp 0x1400bc359
shl eax, 6
or eax, r10d
mov ecx, eax
nop word cs:[rax + rax]
cmp ecx, 0x7d
je 0x1400bb956
mov qword [rbp - 0x38], r8
mov rax, rdi
test r8, r8
je 0x1400bb5cc
mov rax, rdi
sub rax, r8
jbe 0x1400bc33a
cmp byte [rbx + r8], 0xbf
jle 0x1400bc33a
test rax, rax
je 0x1400bc3ac
movzx edx, byte [rbx + r8]
movzx r12d, dl
test r12b, r12b
jns 0x1400bb644
mov eax, r12d
and eax, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp r12b, 0xdf
jbe 0x1400bb635
movzx ecx, byte [rbx + r8 + 2]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp dl, 0xf0
jb 0x1400bb67e
movzx r12d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r12d, 0x3f
or r12d, ecx
or r12d, eax
cmp r12d, 0x110000
jne 0x1400bb63e
jmp 0x1400bc3ac
shl eax, 6
or eax, r9d
mov r12d, eax
cmp r12d, 0x7f
ja 0x1400bb68c
mov rdx, qword [rsi + 0x98]
cmp rdx, qword [rsi + 0x90]
jne 0x1400bb407
mov rcx, qword [rbp + 0xb8]
call fcn.140006610
jmp 0x1400bb400
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x7d
jne 0x1400bb5a9
jmp 0x1400bb956
shl eax, 0xc
or ecx, eax
mov r12d, ecx
cmp r12d, 0x7f
jbe 0x1400bb644
mov dword [rbp + 0x30], 0
mov eax, r12d
cmp r12d, 0x800
jae 0x1400bb6bb
shr eax, 6
or al, 0xc0
mov byte [rbp + 0x30], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rbp + 0x31], r12b
mov r13d, 2
jmp 0x1400bb721
cmp r12d, 0x10000
jae 0x1400bb6ed
shr eax, 0xc
or al, 0xe0
mov byte [rbp + 0x30], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x31], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rbp + 0x32], r12b
mov r13d, 3
jmp 0x1400bb721
shr eax, 0x12
or al, 0xf0
mov byte [rbp + 0x30], al
mov eax, r12d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x31], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x32], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rbp + 0x33], r12b
mov r13d, 4
mov rax, qword [rsi + 0x90]
mov r12, qword [rsi + 0x98]
sub rax, r12
cmp rax, r13
jae 0x1400bb750
mov rcx, qword [rbp + 0xb8]
mov rdx, r12
mov r8, r13
call fcn.1400f70e0
mov r12, qword [rsi + 0x98]
mov rcx, qword [rsi + 0x88]
add rcx, r12
lea rdx, [rbp + 0x30]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add r12, r13
mov qword [rsi + 0x98], r12
mov rax, qword [rbp + 0xa0]
mov r13, qword [rax]
cmp r13, rdi
jne 0x1400bb42c
jmp 0x1400bb95f
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x70
jne 0x1400bb12b
jmp 0x1400bb13f
shl eax, 0xc
or ecx, eax
mov dword [rbp + 0xac], ecx
lea rax, [rsi + 0xa0]
mov qword [rbp + 0xa0], rax
cmp rdi, r15
jne 0x1400bb2a0
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x58], rax
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x48], xmm0
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x30], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x40], rax
test rdi, rdi
je 0x1400bb9c0
setns al
js 0x1400bc3ff
movzx r15d, al
movzx eax, byte [0x14018d171]
mov rcx, rdi
mov rdx, r15
call fcn.1400053b0
mov r14, rax
test rax, rax
jne 0x1400bb9c6
mov rcx, r15
mov rdx, rdi
call fcn.1400fc520
jmp 0x1400bc4e6
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x10], xmm0
mov r8, qword [rcx]
mov rcx, rbx
mov rdx, rdi
call fcn.1400ab100
mov r13d, eax
cmp eax, 0x5c
jne 0x1400bb8a4
lea rcx, [rbp + 0x30]
mov rdx, r14
call fcn.1400abc90
test rdi, rdi
je 0x1400bbbb2
setns al
js 0x1400bc49a
movzx r15d, al
movzx eax, byte [0x14018d171]
mov rcx, rdi
mov rdx, r15
call fcn.1400053b0
mov r14, rax
test rax, rax
jne 0x1400bbbb8
mov rcx, r15
mov rdx, rdi
call fcn.1400fc520
jmp 0x1400bc4e6
mov rcx, r14
call fcn.1400ab220
test al, al
je 0x1400bb8b8
mov rcx, r14
call fcn.1400ab390
mov rax, qword [rbp + 0x20]
mov qword [rbp], rax
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp - 0x10], xmm0
xor eax, eax
cmp dword [rbp + 0xac], 0x50
mov rdx, qword [rbp]
mov qword [rbp + 0x40], rdx
movaps xmm0, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x30], xmm0
mov r8, qword [rbp + 0xa0]
mov rdx, qword [r8 + 0x10]
mov qword [rbp + 0x58], rdx
movups xmm1, xmmword [r8]
movups xmmword [rbp + 0x48], xmm1
mov r8, qword [rbp - 0x20]
movups xmmword [r8 + 0x40], xmm0
mov rdx, qword [rbp + 0x50]
mov qword [r8 + 0x60], rdx
mov rdx, qword [rbp + 0x58]
mov qword [r8 + 0x68], rdx
mov rdx, qword [rbp + 0x40]
mov qword [r8 + 0x50], rdx
mov rdx, qword [rbp + 0x48]
mov qword [r8 + 0x58], rdx
mov byte [r8 + 8], al
mov byte [r8 + 9], cl
mov dword [r8 + 0xc], r13d
mov qword [r8 + 0x10], rsi
mov qword [r8 + 0x18], r9
mov qword [r8 + 0x20], r14
mov qword [r8 + 0x28], r12
mov qword [r8 + 0x30], rdi
mov qword [r8 + 0x38], r15
sete byte [r8 + 0x70]
mov dword [r8], 0x22
jmp 0x1400bba02
cmp r8, rdi
jne 0x1400bba1d
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x58], rax
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x48], xmm0
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x30], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x40], rax
test rdi, rdi
je 0x1400bb9c0
setns al
js 0x1400bc493
movzx r15d, al
movzx eax, byte [0x14018d171]
mov rcx, rdi
mov rdx, r15
call fcn.1400053b0
mov r14, rax
test rax, rax
jne 0x1400bb9c6
mov rcx, r15
mov rdx, rdi
call fcn.1400fc520
jmp 0x1400bc4e6
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x30]
movaps xmm1, xmmword [rbp + 0x40]
movaps xmm2, xmmword [rbp + 0x50]
mov rax, qword [rbp - 0x20]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov dword [rax], 0xa
mov qword [rax + 0x38], r14
mov qword [rax + 0x40], rdi
mov qword [rax + 0x48], rdi
mov rax, qword [rbp - 0x58]
inc qword [rax]
add rsp, 0x148
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rbx
mov rdx, rdi
call fcn.1400ab100
mov dword [rbp + 0x10], eax
cmp eax, 0x7d
jne 0x1400bc4a1
mov rcx, r14
call fcn.1400ab220
mov rbx, qword [rsi + 0x88]
mov rdi, qword [rsi + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x140110d50]
lea rcx, [rbp + 0x30]
mov rdx, rbx
mov r8, rdi
call fcn.1400f3980
cmp qword [rbp + 0x30], 0
mov r14, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x80]
je 0x1400bbbed
mov rsi, qword [rbp + 0x68]
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 0x90]
cmp rsi, 0xffffffffffffffff
je 0x1400bbc41
mov r9, qword [rbp + 0x58]
mov rcx, r9
mov qword [rbp + 0xb8], r9
add r9, rax
dec r9
cmp r9, rdx
jae 0x1400bbf25
lea rcx, [rax - 1]
mov qword [rbp + 0xb0], rcx
mov r13, qword [rbp + 0x50]
mov r15, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x48]
mov r10, rax
mov qword [rbp - 0x30], rcx
sub r10, rcx
mov qword [rbp - 0x28], r10
mov rcx, r15
neg rcx
mov qword [rbp - 0x18], rcx
movzx ecx, byte [r14 + r9]
bt r13, rcx
jae 0x1400bbb45
cmp r15, rsi
mov rcx, rsi
cmova rcx, r15
mov r9, qword [rbp + 0xb8]
lea r10, [r14 + r9]
mov r9, rcx
cmp r9, rax
jae 0x1400bbb71
mov r11, qword [rbp + 0xb8]
lea r12, [r11 + r9]
cmp r12, rdx
jae 0x1400bc1e6
lea r12, [r9 + 1]
movzx r11d, byte [r8 + r9]
cmp r11b, byte [r10 + r9]
mov r9, r12
je 0x1400bbb0a
mov r11, qword [rbp + 0xb8]
add r11, qword [rbp - 0x18]
add r11, r12
jmp 0x1400bbb4f
mov r11, qword [rbp + 0xb8]
add r11, rax
xor esi, esi
mov qword [rbp + 0xb8], r11
mov rcx, qword [rbp + 0xb0]
lea r9, [r11 + rcx]
cmp r9, rdx
jb 0x1400bbae7
jmp 0x1400bbf25
mov r10, r15
mov r11, qword [rbp + 0xb8]
cmp rsi, r10
jae 0x1400bbde0
dec r10
cmp r10, rax
jae 0x1400bc205
lea r9, [r10 + r11]
cmp r9, rdx
jae 0x1400bc21c
movzx ecx, byte [r8 + r10]
cmp cl, byte [r14 + r9]
je 0x1400bbb7b
add r11, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x28]
jmp 0x1400bbb51
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbp + 0x30]
movups xmm1, xmmword [rbp + 0x40]
movups xmm2, xmmword [rbp + 0x50]
mov rax, qword [rbp - 0x20]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov dword [rax], 0x1f
jmp 0x1400bb9f6
cmp byte [rbp + 0x4a], 0
jne 0x1400bbf25
movzx eax, byte [rbp + 0x48]
mov rsi, qword [rbp + 0x38]
mov rcx, rdx
test rsi, rsi
je 0x1400bbd57
mov rcx, rdx
sub rcx, rsi
jbe 0x1400bbd51
cmp byte [r14 + rsi], 0xc0
jge 0x1400bbd57
mov r8, rsi
lea rax, [0x140110240]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r9, rdx
call fcn.1400fcdc0
jmp 0x1400bc4e6
mov r9, qword [rbp + 0x58]
mov rcx, r9
mov qword [rbp + 0xb8], r9
add r9, rax
dec r9
cmp r9, rdx
jae 0x1400bbf25
lea rcx, [rax - 1]
mov qword [rbp + 0xb0], rcx
mov rcx, qword [rbp + 0x50]
mov r10, qword [rbp + 0x38]
lea r11, [r10 - 1]
mov qword [rbp - 0x18], r11
cmp r11, rax
jae 0x1400bc244
mov r11, qword [rbp + 0x48]
mov qword [rbp - 0x28], r11
lea r12, [r14 + r10]
lea r11, [r8 + r10]
dec r11
mov qword [rbp - 0x30], r11
add r8, r10
jmp 0x1400bbcc2
mov r13, qword [rbp + 0xb8]
add r13, rax
mov r9, qword [rbp + 0xb0]
add r9, r13
mov qword [rbp + 0xb8], r13
cmp r9, rdx
jae 0x1400bbf25
movzx r9d, byte [r14 + r9]
bt rcx, r9
jae 0x1400bbc9e
xor r9d, r9d
mov r11, qword [rbp + 0xb8]
lea r13, [r10 + r9]
cmp r13, rax
jae 0x1400bbd04
lea r13, [r10 + r11]
cmp r13, rdx
jae 0x1400bc2ae
movzx r15d, byte [r8 + r9]
lea r13, [r11 + 1]
inc r9
cmp r15b, byte [r12 + r11]
mov r11, r13
je 0x1400bbcd7
jmp 0x1400bbca8
mov r9, qword [rbp + 0xb8]
mov r11, qword [rbp - 0x18]
add r9, r11
mov r13, qword [rbp - 0x30]
mov r11, r10
sub r11, 1
jb 0x1400bbde0
cmp r9, rdx
jae 0x1400bc230
movzx r15d, byte [r13]
dec r13
lea rsi, [r9 - 1]
cmp r15b, byte [r14 + r9]
mov r9, rsi
je 0x1400bbd19
mov r13, qword [rbp + 0xb8]
add r13, qword [rbp - 0x28]
jmp 0x1400bbca8
jne 0x1400bbc22
test rcx, rcx
mov qword [rbp + 0xb8], rsi
je 0x1400bbd75
movzx r10d, byte [r14 + rsi]
movzx ecx, r10b
test cl, cl
js 0x1400bbd7e
mov r8d, ecx
jmp 0x1400bbdd8
test al, al
jne 0x1400bbde0
jmp 0x1400bbf25
mov r8d, ecx
and r8d, 0x1f
movzx r11d, byte [r14 + rsi + 1]
and r11d, 0x3f
cmp cl, 0xe0
jb 0x1400bbdc8
movzx r9d, byte [r14 + rsi + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400bbdd1
movzx ecx, byte [r14 + rsi + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or r8d, ecx
jmp 0x1400bbdd8
shl r8d, 6
or r8d, r11d
jmp 0x1400bbdd8
shl r8d, 0xc
or r8d, r9d
test al, al
je 0x1400bbf18
mov rsi, qword [rbp + 0xb8]
test rsi, rsi
je 0x1400bbe19
cmp rsi, rdi
jae 0x1400bbe20
cmp byte [rbx + rsi], 0xbf
jg 0x1400bbe22
lea rax, [0x140110db8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
mov r9, rsi
call fcn.1400fcdc0
jmp 0x1400bc4e6
mov ecx, 1
jmp 0x1400bbe52
jne 0x1400bbdf7
xor r14d, r14d
test rsi, rsi
setns al
js 0x1400bc4cd
mov r14b, al
movzx eax, byte [0x14018d171]
mov rcx, rsi
mov rdx, r14
call fcn.1400053b0
mov rcx, rax
test rax, rax
je 0x1400bc4d4
mov qword [rbp + 0xb0], rcx
mov rdx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
lea r14, [rsi + 2]
cmp rdi, r14
jbe 0x1400bbe96
cmp byte [rbx + r14], 0xbf
jg 0x1400bbe98
lea rax, [0x140110da0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r14
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
jne 0x1400bbe74
sub rdi, r14
je 0x1400bbed4
setns al
js 0x1400bc4e1
movzx r15d, al
movzx eax, byte [0x14018d171]
mov rcx, rdi
mov rdx, r15
call fcn.1400053b0
mov r12, rax
test rax, rax
jne 0x1400bbeda
mov rcx, r15
mov rdx, rdi
call fcn.1400fc520
jmp 0x1400bc4e6
mov r12d, 1
add rbx, r14
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp - 0x40]
mov qword [rbp], rax
mov al, 2
mov r15, rdi
mov r9, qword [rbp + 0xb8]
mov r14, r9
mov cl, 2
mov rsi, qword [rbp + 0xb0]
jmp 0x1400bb8ca
cmp r8d, 0x110000
jne 0x1400bc16b
xor r13d, r13d
mov rax, rbx
mov r8, rdi
jmp 0x1400bbf3c
lea rax, [rbx + r13]
mov r8, rdi
sub r8, r13
jb 0x1400bbfa1
cmp r8, 0x10
jae 0x1400bbf6b
xor edx, edx
test r8, r8
je 0x1400bbf61
nop dword [rax]
cmp byte [rax + rdx], 0x3a
je 0x1400bbf96
inc rdx
cmp r8, rdx
jne 0x1400bbf50
mov rdx, r8
xor eax, eax
cmp rax, 1
je 0x1400bbf7b
jmp 0x1400bbfa1
mov cl, 0x3a
mov rdx, rax
call fcn.1400f3050
cmp rax, 1
jne 0x1400bbfa1
lea r14, [rdx + r13]
add r13, rdx
inc r13
cmp r14, rdi
jae 0x1400bbf30
cmp byte [rbx + r14], 0x3a
jne 0x1400bbf30
jmp 0x1400bc03f
mov eax, 1
cmp rax, 1
je 0x1400bbf7b
mov rcx, rbx
mov rdx, rdi
mov r8d, 0x3d
call fcn.1400aaae0
cmp rax, 1
jne 0x1400bbffa
mov r14, rdx
test rdx, rdx
je 0x1400bc0a8
cmp r14, rdi
jae 0x1400bc0a2
cmp byte [rbx + r14], 0xbf
jg 0x1400bc0a8
lea rax, [0x140110d70]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
mov r9, r14
call fcn.1400fcdc0
jmp 0x1400bc4e6
mov rcx, rdi
xor edx, edx
call fcn.1400d2aa0
mov qword [rbp + 0xb8], rdx
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp - 0x40]
mov qword [rbp], rax
mov al, 1
xor ecx, ecx
mov r14, rdi
mov r9, qword [rbp + 0xb8]
jmp 0x1400bb8ca
mov rcx, r14
xor edx, edx
call fcn.1400d2aa0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rdx
mov rcx, qword [rbp + 0xb0]
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov r15, rdi
sub r15, r13
jbe 0x1400bc11d
cmp byte [rbx + r13], 0xbf
jg 0x1400bc123
lea rax, [0x140110d88]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r13
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
jne 0x1400bbfd8
mov rcx, r14
xor edx, edx
call fcn.1400d2aa0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rdx
mov rcx, qword [rbp + 0xb0]
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r14
inc rcx
mov rdx, rbx
mov r8, rdi
call fcn.1400aaba0
mov rbx, rax
mov r15, rdx
mov rcx, rdx
xor edx, edx
call fcn.1400d2aa0
mov r12, rax
mov rdi, rdx
mov rcx, rax
mov rdx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp - 0x40]
mov qword [rbp], rax
mov al, 2
xor ecx, ecx
jmp 0x1400bc158
jne 0x1400bc080
mov rcx, r15
xor edx, edx
call fcn.1400d2aa0
mov r12, rax
mov rdi, rdx
add rbx, r13
mov rcx, rax
mov rdx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp - 0x40]
mov qword [rbp], rax
mov cl, 1
mov al, 2
mov r9, qword [rbp + 0xb8]
mov rsi, qword [rbp + 0xb0]
jmp 0x1400bb8ca
mov eax, 1
cmp r8d, 0x80
jb 0x1400bc197
mov eax, 2
cmp r8d, 0x800
jb 0x1400bc197
cmp r8d, 0x10000
mov eax, 4
sbb rax, 0
mov r8, qword [rbp + 0xb8]
add r8, rax
je 0x1400bc1b7
mov rax, rdx
sub rax, r8
jbe 0x1400bc1bc
cmp byte [r14 + r8], 0xc0
jge 0x1400bc1c2
jmp 0x1400bbc25
mov rax, rdx
jmp 0x1400bc1c2
jne 0x1400bbc25
test rax, rax
mov qword [rbp + 0xb8], r8
je 0x1400bbde0
movzx eax, byte [r14 + r8]
test al, al
jns 0x1400bbde0
cmp al, 0xe0
jmp 0x1400bbde0
add rcx, qword [rbp + 0xb8]
cmp rdx, rcx
cmova rcx, rdx
lea r8, [0x140110198]
call fcn.1400fc7e0
jmp 0x1400bc4e6
lea r8, [0x1401101b0]
mov rcx, r10
mov rdx, rax
call fcn.1400fc7e0
jmp 0x1400bc4e6
lea r8, [0x1401101c8]
mov rcx, r9
call fcn.1400fc7e0
jmp 0x1400bc4e6
lea r8, [0x1401101c8]
mov rcx, r9
call fcn.1400fc7e0
jmp 0x1400bc4e6
lea r15, [r14 + r10]
add r8, r10
movzx r9d, byte [r14 + r9]
bt rcx, r9
jae 0x1400bc289
xor r9d, r9d
mov r11, qword [rbp + 0xb8]
lea rsi, [r10 + r9]
cmp rsi, rax
jae 0x1400bc2d0
lea rsi, [r10 + r11]
cmp rsi, rdx
jae 0x1400bc2ae
movzx esi, byte [r8 + r9]
lea r12, [r11 + 1]
inc r9
cmp sil, byte [r15 + r11]
mov r11, r12
je 0x1400bc260
jmp 0x1400bc293
mov r12, qword [rbp + 0xb8]
add r12, rax
mov r9, qword [rbp + 0xb0]
add r9, r12
mov qword [rbp + 0xb8], r12
cmp r9, rdx
jb 0x1400bc24b
jmp 0x1400bbf25
mov rcx, qword [rbp + 0xb8]
add rcx, r10
cmp rdx, rcx
cmova rcx, rdx
lea r8, [0x140110198]
call fcn.1400fc7e0
jmp 0x1400bc4e6
test r10, r10
je 0x1400bbde0
lea r8, [0x1401101b0]
mov rcx, qword [rbp - 0x18]
mov rdx, rax
call fcn.1400fc7e0
jmp 0x1400bc4e6
lea rax, [0x140110d20]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowedC:Userslightning.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea r9, fcn.140001850
lea r8, [rbp + 0x30]
mov edx, 0x10
call fcn.1400fcae0
ud2
lea rax, [0x140110338]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
lea rax, [0x140110338]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
lea rax, [rbp - 0x38]
mov qword [rbp + 0x10], rax
lea rax, [fcn.1400f56d0]
mov qword [rbp + 0x18], rax
lea rax, str.expected_char_at_offset_P
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
mov qword [rbp + 0x50], 0
lea rax, [rbp + 0x10]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 1
lea rdx, [0x140110378]
lea rcx, [rbp + 0x30]
call fcn.1400fc6a0
jmp 0x1400bc4e6
lea rax, [rbp - 0x38]
mov qword [rbp + 0x10], rax
lea rax, [fcn.1400f56d0]
mov qword [rbp + 0x18], rax
lea rax, str.expected_char_at_offset_P
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
mov qword [rbp + 0x50], 0
lea rax, [rbp + 0x10]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 1
lea rdx, [0x140110378]
lea rcx, [rbp + 0x30]
call fcn.1400fc6a0
jmp 0x1400bc4e6
call fcn.1400eef40
jmp 0x1400bc4e6
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, [0x140110d08]
mov edx, 0x3e
call fcn.1400fc740
ud2
lea rax, [0x1401103d8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r9, rdi
call fcn.1400fcdc0
jmp 0x1400bc4e6
lea rcx, [0x140110390]
lea r8, [0x1401103f0]
mov edx, 0x2b
call fcn.1400fc740
jmp 0x1400bc4e6
lea rcx, [0x140110390]
lea r8, [0x1401103c0]
mov edx, 0x2b
call fcn.1400fc740
jmp 0x1400bc4e6
lea rcx, [0x140110390]
lea r8, [0x1401103c0]
mov edx, 0x2b
call fcn.1400fc740
jmp 0x1400bc4e6
call fcn.1400eef40
jmp 0x1400bc4e6
call fcn.1400eef40
jmp 0x1400bc4e6
mov qword [rbp + 0x30], 0
lea rax, [0x140110d38]
mov qword [rsp + 0x20], rax
lea r8, [0x140110b50]
lea rdx, [rbp + 0x10]
lea r9, [rbp + 0x30]
xor ecx, ecx
call fcn.1400faef0
jmp 0x1400bc4e6
call fcn.1400eef40
jmp 0x1400bc4e6
mov rcx, r14
mov rdx, rsi
call fcn.1400fc520
jmp 0x1400bc4e6
call fcn.1400eef40
ud2