Function at 0x18010f500
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.1801003c0
cmp eax, 0x70
je 0x18010f54a
mov rcx, r14
call fcn.1801003c0
cmp eax, 0x50
jne 0x180110178
mov rax, qword [r14]
cmp qword [rax + 0x80], 0
jne 0x180110151
mov qword [rax + 0x80], 0xffffffffffffffff
mov qword [rbp + 0x60], rax
mov qword [rax + 0x98], 0
mov rcx, r14
call fcn.1801003c0
mov dword [rbp - 0x38], eax
mov rcx, r14
call fcn.1801004e0
test al, al
je 0x18010f6b6
mov rcx, r14
call fcn.180100640
mov r12, qword [rbp + 0x60]
mov r15, qword [r12 + 0xa0]
mov rbx, qword [r14 + 0x10]
cmp r15, rbx
je 0x18010f6be
mov rcx, r14
call fcn.1801003c0
mov rcx, qword [rbp + 0x60]
lea rdi, [rcx + 0xa0]
mov rdx, qword [rdi]
mov qword [rbp + 0x48], rdx
cmp eax, 0x7b
jne 0x18010f780
mov rcx, r14
call fcn.1801003c0
mov ecx, 1
cmp eax, 0x80
jb 0x18010f602
mov ecx, 2
cmp eax, 0x800
jb 0x18010f602
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
mov rax, qword [rbp + 0x48]
add rax, rcx
mov rcx, rax
mov rax, qword [rbp + 0x60]
jb 0x18011021c
mov qword [rbp + 0x48], rcx
mov r12, qword [rax + 0xb0]
cmp r12, 0xffffffffffffffff
je 0x18011022d
mov rax, qword [rax + 0xa8]
mov qword [rbp + 0x58], rax
mov rcx, r14
call fcn.1801003c0
mov rcx, qword [rbp + 0x60]
lea r15, [rcx + 0x88]
inc r12
xor ecx, ecx
cmp eax, 0xa
sete cl
mov eax, 1
cmovne rax, r12
mov qword [rbp - 0x48], rax
add qword [rbp + 0x58], rcx
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1801004e0
test al, al
je 0x18010f8c0
mov rcx, r14
call fcn.180100640
cmp qword [rdi], rbx
je 0x18010f8c0
mov rcx, r14
call fcn.1801003c0
cmp eax, 0x7d
je 0x18010f8c0
mov rcx, r14
call fcn.1801003c0
mov rcx, r15
mov edx, eax
call fcn.1800b27b0
jmp 0x18010f670
mov r15, qword [r14 + 0x10]
mov r12, qword [rbp + 0x60]
mov rax, qword [r12 + 0xb0]
mov qword [rbp + 8], rax
movups xmm0, xmmword [r12 + 0xa0]
movups xmmword [rbp - 8], xmm0
mov rax, qword [r12 + 0xb0]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [r12 + 0xa0]
movaps xmmword [rbp - 0x20], xmm0
mov rdi, qword [r14 + 8]
test r15, r15
je 0x18010f727
js 0x180110190
movzx eax, byte [0x1804af301]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.18005c260
test rax, rax
je 0x180110193
mov rbx, rax
jmp 0x18010f72c
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movaps xmm2, xmmword [rbp]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], r15
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov dword [rsi + 0x18], 0xa
mov rax, qword [rcx + 0xa8]
mov qword [rbp + 0x58], rax
mov rax, qword [rcx + 0xb0]
mov qword [rbp - 0x48], rax
mov rcx, r14
call fcn.1801003c0
mov r13d, eax
mov rax, r13
cmp eax, 0x5c
jne 0x18010f929
mov r13, qword [rdi]
mov rcx, r14
call fcn.1801003c0
mov ecx, 1
cmp eax, 0x80
jb 0x18010f7de
mov ecx, 2
cmp eax, 0x800
jb 0x18010f7de
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
mov rax, qword [rbp + 0x60]
jb case.0x180107229.375
mov r15, qword [rax + 0xb0]
cmp r15, 0xffffffffffffffff
je 0x18011024f
mov r12, qword [rax + 0xa8]
mov rcx, r14
call fcn.1801003c0
mov qword [rbp - 0x38], r13
inc r15
mov rcx, rdi
xor r13d, r13d
cmp eax, 0xa
sete dl
mov edi, 1
cmove r15, rdi
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp - 0x20], xmm0
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x18010f875
mov byte [rbp + 0x48], dl
js 0x18011028c
movzx eax, byte [0x1804af301]
mov eax, 1
mov qword [rbp + 0x58], rax
mov edx, 1
mov rcx, rbx
call fcn.18005c260
test rax, rax
je 0x180110294
mov rdi, rax
movzx edx, byte [rbp + 0x48]
mov r13b, dl
add r12, r13
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rbp - 0x10]
mov qword [rsi + 0x60], rax
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0x1f
mov rax, qword [rbp - 0x38]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], r12
mov qword [rsi + 0x78], r15
jmp 0x180110082
cmp qword [rdi], rbx
jne 0x18010f94c
mov rax, qword [rdi + 0x10]
mov qword [rbp + 8], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 8], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rbp - 0x20], xmm0
mov rdi, qword [r14 + 8]
test rbx, rbx
mov r12, qword [rbp + 0x60]
je 0x18010fb21
js 0x1801102a2
movzx eax, byte [0x1804af301]
mov r15d, 1
mov edx, 1
mov rcx, rbx
call fcn.18005c260
test rax, rax
je 0x1801102a5
mov r14, rax
jmp 0x18010fb27
mov rcx, r14
call fcn.1801004e0
movabs r15, 0x8000000000000000
test al, al
je 0x18010f947
mov rcx, r14
call fcn.180100640
jmp 0x180110028
mov rcx, r14
call fcn.1801003c0
mov dword [rbp - 0x3c], eax
cmp eax, 0x7d
jne 0x180110260
mov rcx, r14
call fcn.1801004e0
mov rax, qword [rbp + 0x60]
mov r14, qword [rax + 0x90]
mov rbx, qword [rax + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1803c7aa8]
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r8, rbx
call fcn.1802b1ab0
mov qword [rbp + 0x68], r14
test byte [rbp - 0x20], 1
mov qword [rbp + 0x50], rbx
je 0x18010fa00
mov r12, qword [rbp + 0x18]
mov r8, qword [rbp + 0x28]
mov rax, qword [rbp + 0x40]
lea rcx, [rax - 1]
mov rdx, qword [rbp + 0x30]
mov r15, qword [rbp + 0x38]
cmp r12, 0xffffffffffffffff
mov qword [rbp + 0x78], rdi
mov qword [rbp + 0x70], rcx
je 0x18010fc2d
mov r10, qword [rbp + 8]
add rcx, r10
cmp rcx, rdx
jae 0x18010fd1d
mov rbx, qword [rbp]
mov r13, qword [rbp - 0x18]
mov r9, qword [rbp - 8]
mov r11, rax
mov qword [rbp - 0x30], r9
sub r11, r9
mov qword [rbp - 0x28], r11
jmp 0x18010fb73
cmp byte [rbp - 6], 0
jne 0x18010fd1d
mov r10, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x28]
mov r12, qword [rbp + 0x30]
movzx eax, byte [rbp - 8]
mov r14, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x50]
jmp 0x18010fa35
xor al, 1
add r10, r8
test r10, r10
je 0x18010fa51
cmp r10, r12
jae 0x18010fa4b
cmp byte [rcx + r10], 0xbf
jg 0x18010fa51
jmp 0x1801101e9
jne 0x1801101e9
cmp r10, r12
je 0x18010fe58
movzx r9d, byte [rcx + r10]
movzx edx, r9b
test dl, dl
jns 0x18010fad0
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rcx + r10 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x18010faba
movzx edx, byte [rcx + r10 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
cmp r9b, 0xf0
jb 0x18010fb11
movzx r9d, byte [rcx + r10 + 3]
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
test al, 1
je 0x18010fad8
jmp 0x18010fed2
shl r8d, 6
or r8d, r11d
mov edx, r8d
nop word cs:[rax + rax]
test al, 1
jne 0x18010fed2
mov r8d, 1
cmp edx, 0x80
jb 0x18010fa30
mov r8d, 2
cmp edx, 0x800
jb 0x18010fa30
cmp edx, 0x10000
mov r8d, 4
sbb r8, 0
jmp 0x18010fa30
shl r8d, 0xc
or edx, r8d
test al, 1
je 0x18010fad8
jmp 0x18010fed2
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movaps xmm2, xmmword [rbp]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
jmp 0x18010f75d
add r10, rax
xor r12d, r12d
mov rcx, qword [rbp + 0x70]
add rcx, r10
cmp rcx, rdx
jae 0x18010fd1d
movzx ecx, byte [r8 + rcx]
bt rbx, rcx
jae 0x18010fb5d
cmp r13, r12
mov rcx, r12
mov rdi, r13
cmova rcx, r13
lea r9, [r8 + r10]
mov r13, rcx
nop word cs:[rax + rax]
cmp r13, rax
jae 0x18010fbd6
lea r14, [r10 + r13]
cmp r14, rdx
jae 0x18011015d
lea r14, [r13 + 1]
movzx r11d, byte [r15 + r13]
cmp r11b, byte [r9 + r13]
mov r13, r14
je 0x18010fba0
mov r13, rdi
sub r10, rdi
add r10, r14
xor r12d, r12d
mov rdi, qword [rbp + 0x78]
jmp 0x18010fb63
mov r11, rbx
mov r13, rdi
mov rcx, rdi
mov rdi, qword [rbp + 0x78]
mov rbx, qword [rbp + 0x50]
nop word [rax + rax]
cmp r12, rcx
jae 0x18010fe52
dec rcx
cmp rcx, rax
jae 0x1801101d5
lea r9, [rcx + r10]
cmp r9, rdx
jae 0x1801101c1
movzx r14d, byte [r15 + rcx]
cmp r14b, byte [r8 + r9]
je 0x18010fbf0
add r10, qword [rbp - 0x30]
mov r12, qword [rbp - 0x28]
mov rbx, r11
jmp 0x18010fb63
mov r10, qword [rbp + 8]
lea r9, [r10 + rcx]
cmp r9, rdx
jae 0x18010fd1d
mov r11, qword [rbp]
mov rbx, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
mov qword [rbp - 0x50], rcx
lea rcx, [rbx - 1]
mov qword [rbp - 0x30], rcx
mov rcx, r11
lea r11, [r8 + rbx]
lea rdi, [r15 + rbx]
dec rdi
mov qword [rbp - 0x28], rdi
add r15, rbx
jmp 0x18010fc8a
add r10, rax
mov r13, r10
mov r9, qword [rbp + 0x70]
add r9, r13
mov r10, r13
cmp r9, rdx
mov rdi, qword [rbp + 0x78]
jae 0x18010fd1d
movzx r9d, byte [r8 + r9]
bt rcx, r9
jae 0x18010fc6d
xor r9d, r9d
mov r12, r10
nop dword [rax + rax]
lea r14, [rbx + r9]
cmp r14, rax
jae 0x18010fcce
lea rdi, [rbx + r12]
cmp rdi, rdx
jae 0x1801101a3
movzx edi, byte [r15 + r9]
lea r13, [r12 + 1]
inc r9
cmp dil, byte [r11 + r12]
mov r12, r13
je 0x18010fca0
jmp 0x18010fc73
mov rdi, rcx
mov rcx, qword [rbp - 0x30]
cmp rcx, rax
jae 0x180110128
lea r9, [rcx + r10]
mov r13, qword [rbp - 0x28]
mov r12, rbx
mov rcx, rdi
sub r12, 1
jb 0x18010fec6
cmp r9, rdx
jae 0x180110208
movzx r14d, byte [r13]
dec r13
lea rdi, [r9 - 1]
cmp r14b, byte [r8 + r9]
mov r9, rdi
je 0x18010fcec
add r10, qword [rbp - 0x50]
jmp 0x18010fc70
mov r14, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x50]
xor r15d, r15d
jmp 0x18010fd33
cmp rbx, r15
jb 0x18010fdd6
mov r8, rbx
sub r8, r15
lea rax, [r14 + r15]
cmp r8, 0xf
ja 0x18010fd60
cmp rbx, r15
je 0x18010fdd6
xor edx, edx
nop
cmp byte [rax + rdx], 0x3a
je 0x18010fd70
inc rdx
cmp r8, rdx
jne 0x18010fd50
jmp 0x18010fdd6
mov cl, 0x3a
mov rdx, rax
call fcn.1802b0e50
cmp rax, 1
jne 0x18010fdd6
lea r12, [rdx + r15]
add r15, rdx
inc r15
cmp r12, rbx
jae 0x18010fd2a
cmp byte [r14 + r12], 0x3a
jne 0x18010fd2a
test r12, r12
je 0x18011008b
js 0x1801102d2
movzx eax, byte [0x1804af301]
mov r14d, 1
mov edx, 1
mov rcx, r12
call fcn.18005c260
test rax, rax
je 0x1801102d5
mov qword [rbp + 0x78], rax
mov rcx, rax
mov r14, qword [rbp + 0x68]
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov r13d, r12d
jmp 0x180110097
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3d
call fcn.1800b25c0
cmp rax, 1
jne 0x18010fe23
mov r15, rdx
test rdx, rdx
je 0x18010fe64
cmp r15, rbx
jae 0x18010fe62
cmp byte [r14 + r15], 0xbf
jg 0x18010fe64
lea rax, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.180337ff0
jmp 0x1801102f0
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r8, rbx
call fcn.1800b2660
mov r13d, dword [rbp - 0x20]
mov eax, dword [rbp - 0x1c]
mov r9, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
movabs r15, 0x8000000000000001
xor ecx, ecx
jmp 0x180110028
mov r14, qword [rbp + 0x68]
jmp 0x18010fed2
test al, 1
je 0x18010fd25
jmp 0x18010fed5
jne 0x18010fe01
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r8, r15
call fcn.1800b2660
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp - 0x10]
inc r15
je 0x18010ffee
cmp rbx, r15
jbe 0x18010ffe8
cmp byte [r14 + r15], 0xbf
jg 0x18010ffee
lea rax, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, r15
mov r9, rbx
call fcn.180337ff0
jmp 0x1801102f0
mov rdi, qword [rbp + 0x78]
mov r14, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x50]
mov r12, r10
test r12, r12
je 0x18010ff08
cmp r12, rbx
jae 0x18010ff0f
cmp byte [r14 + r12], 0xbf
jg 0x18010ff11
lea rax, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r12
call fcn.180337ff0
jmp 0x1801102f0
mov ecx, 1
jmp 0x18010ff40
jne 0x18010fee6
test r12, r12
js 0x1801102b2
movzx eax, byte [0x1804af301]
mov r15d, 1
mov edx, 1
mov rcx, r12
call fcn.18005c260
mov rcx, rax
test rax, rax
je 0x1801102b5
mov qword [rbp + 0x78], rcx
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
lea r15, [r12 + 2]
cmp rbx, r15
mov qword [rbp + 0x70], r12
jbe 0x18010ff86
cmp byte [r14 + r15], 0xbf
jg 0x18010ff88
lea rax, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, r15
mov r9, rbx
call fcn.180337ff0
jmp 0x1801102f0
jne 0x18010ff64
sub rbx, r15
je 0x18010ffbb
js 0x1801102c2
movzx eax, byte [0x1804af301]
mov r14d, 1
mov edx, 1
mov rcx, rbx
call fcn.18005c260
test rax, rax
je 0x1801102c5
mov r12, rax
jmp 0x18010ffc1
mov r12d, 1
mov rdx, qword [rbp + 0x68]
add rdx, r15
mov rcx, r12
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rbp + 0x70]
mov rax, r8
shr rax, 0x20
mov cl, 2
mov r13d, r8d
jne 0x18010fea4
mov qword [rbp + 0x70], rax
sub rbx, r15
sub ebx, edi
mov eax, 1
mov qword [rbp + 0x78], rax
xor r13d, r13d
cmp rbx, r15
mov qword [rbp + 0x70], r12
jbe 0x1801100c9
cmp byte [r14 + r15], 0xbf
jg 0x1801100cb
lea rax, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, r15
mov eax, edi
mov r9, rbx
call fcn.180337ff0
jmp 0x1801102f0
jne 0x1801100a7
sub rbx, r15
test rbx, rbx
mov rdi, qword [rbp + 0x78]
js 0x18011017c
mov esi, dword [rbp + 0x68]
mov rbx, qword [rbp + 0x50]
je 0x18010fed2
lea r8, [0x1803c6ff0]
mov rdx, rax
call fcn.180337a80
jmp 0x1801102f0
add dword [rax], eax
invalid
lea rcx, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
call fcn.180337810
add r10, rbx
cmp rdx, r10
cmova r10, rdx
lea r8, [0x1803c7020]
mov rcx, r10
call fcn.180337a80
jmp 0x1801102f0
add dword [rax], eax
invalid
lea r8, [0x1803c7008]
lea r8, [0x1803c6ff0]
mov rdx, rax
ret 0x9ce8
js 0x180110205
add cl, ch
invalid
add dword [rax], eax
invalid
lea rax, [0x1803c7090]
mov qword [rsp + 0x20], rax
lea r8, [0x1803c7008]
mov rcx, r9
lea rcx, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea rcx, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
call fcn.1803378d0
jbe 0x18011025a
add cl, ch
mov dl, 0
add byte [rax], al
lea rcx, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
call fcn.1803378d0
jmp 0x1801102f0
add byte [rax], al
mov qword [rbp - 0x20], 0
lea rax, str.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rbp + 0x58], 0
mov rcx, qword [rbp + 0x58]
mov rdx, rbx
call fcn.180337670
jmp 0x1801102f0
xor r15d, r15d
xor r15d, r15d
mov rcx, r15
mov rdx, r12
call fcn.180337670
jmp 0x1801102f0
xor r14d, r14d
mov rcx, r14
mov rdx, rbx
call fcn.180337670
jmp 0x1801102f0
xor r14d, r14d
mov rcx, r14
mov rdx, r12
call fcn.180337670
jmp 0x1801102f0