Function at 0x14003a150
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
pxor xmm0, xmm0
mov rbp, qword [r8 + 0x18]
mov r11d, r9d
mov r10, rdx
mov edx, dword [r8 + 0x10]
mov byte [rcx + 0x11], 0
shr r11d, 0xc
mov rbx, rcx
movups xmmword [rcx], xmm0
and r11d, 1
mov byte [rcx + 0x10], r11b
cmp edx, 1
je 0x14003a4e8
mov eax, r9d
mov rsi, qword [r10 + 0x520]
and eax, 0xf00
cmp eax, 0x400
je 0x14003a1d8
cmp eax, 0x200
je 0x14003a578
cmp eax, 0x800
je 0x14003a530
mov r8, rbp
mov r13d, 0xa
mov edi, 0xa
mov r12, 0xfffffffffffffff7
jmp 0x14003a1ee
lea r8, [rbp + 1]
mov r13d, 8
mov edi, 8
mov r12, 0xfffffffffffffff9
mov rax, 0xffffffffffffffff
cmp rsi, 0x3f
ja 0x14003a205
mov ecx, 0x40
sub ecx, esi
shr rax, cl
lea r15, [rbp + rdx]
add rax, r12
xor edx, edx
div r13
add rax, 1
cmp r8, r15
jae 0x14003a282
mov rbp, r13
xor r12d, r12d
xor edx, edx
xor r14d, r14d
mov r13, r15
movzx r11d, byte [r8]
mov r15, qword [0x1400ff4a0]
mov rcx, r11
movzx r11d, word [r15 + r11*2]
test r11b, 4
jne 0x14003a350
cmp edi, 0x10
je 0x14003a4a0
cmp ecx, 0x27
jne 0x14003a262
cmp byte [r10 + 0x4e2], 0
jne 0x14003a33b
test r12b, r12b
je 0x14003a26b
mov qword [rbx + 8], rdx
test r14b, r14b
je 0x14003a27d
and r9d, 0x1000000
je 0x14003a598
movzx r11d, byte [rbx + 0x10]
test r11b, r11b
jne 0x14003a2db
cmp byte [r10 + 0x4dc], 0
jne 0x14003a510
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
cmp rsi, 0x40
ja 0x14003a550
sub esi, 1
bt rax, rsi
setae al
test al, al
jne 0x14003a2db
cmp edi, 0xa
jne 0x14003a2d7
xor edx, edx
cmp byte [r10 + 0x4d4], 0
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
mov rcx, r10
setne dl
add edx, edx
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__::_
mov byte [rbx + 0x10], 1
mov rax, rbx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
je 0x14003a520
mov ecx, esi
mov r11, 0xffffffffffffffff
shl r11, cl
mov rcx, r11
not r11
test rcx, rdx
setne cl
and rdx, r11
xor r11d, r11d
cmp r11, r12
jne 0x14003a31d
test cl, cl
je 0x14003a322
mov eax, 1
movzx ecx, byte [rsp + 0x2f]
mov qword [rbx], r11
or r14d, eax
mov r12d, 1
mov byte [rbx + 0x11], al
xor eax, eax
mov byte [rbx + 0x10], cl
add r8, 1
cmp r13, r8
jne 0x14003a229
jmp 0x14003a262
mov r15, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
movzx r11d, byte [r15 + rcx]
cmp rdx, rax
jb 0x14003a430
movzx ecx, byte [rbx + 0x10]
mov rax, qword [rbx]
mov byte [rsp + 0x2f], cl
cmp edi, 2
je 0x14003a450
cmp edi, 0x10
je 0x14003a560
mov rcx, rax
mov r12, rdx
shr rcx, 0x3d
lea rcx, [rdx*8]
setne byte [rsp + 0x2e]
mov r15, rcx
shr r12, 0x3d
lea rcx, [rax*8]
or r12, rcx
cmp edi, 0xa
jne 0x14003a489
mov rcx, rdx
add rdx, rdx
shr rcx, 0x3f
add rdx, r11
lea rax, [rcx + rax*2]
mov rcx, r15
adc rax, 0
add rcx, rdx
mov rdx, rcx
setb cl
movzx ecx, cl
cmp rcx, 1
sbb rax, 0xffffffffffffffff
add rax, r12
movzx ecx, byte [rsp + 0x2e]
mov r12, rax
mov eax, 1
cmovae eax, ecx
cmp rsi, 0x40
jbe 0x14003a2f0
lea rcx, [rsi - 0x40]
mov r11, r12
cmp rcx, 0x3f
ja 0x14003a322
mov r11, 0xffffffffffffffff
shl r11, cl
xor ecx, ecx
not r11
and r11, r12
jmp 0x14003a314
imul rdx, rbp
add r8, 1
mov r12d, 1
add rdx, r11
cmp r13, r8
jne 0x14003a229
jmp 0x14003a262
mov dword [rsp + 0x28], 1
mov r12d, 0x3f
mov ecx, r12d
mov r15, rax
shr r15, cl
movzx ecx, byte [rsp + 0x28]
test r15, r15
mov r15, rdx
setne byte [rsp + 0x2e]
shl rax, cl
shl r15, cl
mov ecx, r12d
shr rdx, cl
mov r12, rdx
or r12, rax
movzx edx, r11b
add rdx, r15
jae 0x14003a500
mov eax, 1
jmp 0x14003a3e3
test r11w, 0x100
je 0x14003a24f
mov r11, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
movzx r11d, byte [r11 + rcx]
cmp rdx, rax
jb 0x14003a430
movzx ecx, byte [rbx + 0x10]
mov rax, qword [rbx]
mov dword [rsp + 0x28], 4
mov r12d, 0x3c
mov byte [rsp + 0x2f], cl
jmp 0x14003a45e
movzx eax, byte [rbp]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x14003a2db
movzx eax, byte [rsp + 0x2e]
jmp 0x14003a3f6
cmp byte [r10 + 0x10], 0
jne 0x14003a2db
jmp 0x14003a295
xor ecx, ecx
xor r11d, r11d
jmp 0x14003a314
lea r8, [rbp + 2]
mov r13d, 2
mov edi, 2
mov r12, 0xffffffffffffffff
jmp 0x14003a1ee
sub esi, 0x41
bt rdx, rsi
setae al
jmp 0x14003a2b0
mov dword [rsp + 0x28], 4
mov r12d, 0x3c
jmp 0x14003a45e
lea r8, [rbp + 2]
mov r13d, 0x10
mov edi, 0x10
mov r12, 0xfffffffffffffff1
jmp 0x14003a1ee
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, r10
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__::_
jmp 0x14003a2db