Function at 0x4547f0
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 r10, qword [r8 + 0x18]
mov r11, rdx
mov edx, dword [r8 + 0x10]
mov edi, r9d
mov rbx, rcx
shr edi, 0xc
movups xmmword [rcx], xmm0
and edi, 1
mov byte [rcx + 0x11], 0
mov byte [rcx + 0x10], dil
cmp edx, 1
je 0x454b98
mov eax, r9d
mov rsi, qword [r11 + 0x528]
and eax, 0xf00
cmp eax, 0x400
je 0x454878
cmp eax, 0x200
je 0x454c00
cmp eax, 0x800
je 0x454bd0
mov r8, r10
mov rbp, 0xfffffffffffffff7
mov r14d, 0xa
mov r15d, 0xa
jmp 0x45488f
lea r8, [r10 + 1]
mov rbp, 0xfffffffffffffff9
mov r14d, 8
mov r15d, 8
cmp rsi, 0x3f
mov rax, 0xffffffffffffffff
ja 0x4548a6
mov ecx, 0x40
sub ecx, esi
shr rax, cl
add r10, rdx
add rax, rbp
xor edx, edx
div r14
add rax, 1
cmp r8, r10
jae 0x45491b
xor r12d, r12d
xor edx, edx
xor edi, edi
movzx ebp, byte [r8]
mov r13, qword [0x0058b0e0]
mov rcx, rbp
movzx ebp, word [r13 + rbp*2]
test bpl, 4
jne 0x4549f8
cmp r15d, 0x10
je 0x454b30
cmp ecx, 0x27
jne 0x4548fc
cmp byte [r11 + 0x4e3], 0
jne 0x4549df
test r12b, r12b
je 0x454905
mov qword [rbx + 8], rdx
test dil, dil
je 0x454917
and r9d, 0x1000000
je 0x454c20
movzx edi, byte [rbx + 0x10]
test dil, dil
jne 0x454975
cmp byte [r11 + 0x4dc], 0
jne 0x454bb0
cmp rsi, 0x40
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
ja 0x454bf0
sub esi, 1
bt rax, rsi
setae al
test al, al
jne 0x454975
cmp r15d, 0xa
jne 0x454971
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
xor edx, edx
mov rcx, r11
cmp byte [r11 + 0x4d4], 0
setne dl
add edx, edx
call fcn.004524d0
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 0x454bc0
mov ecx, esi
mov rbp, 0xffffffffffffffff
shl rbp, cl
mov rcx, rbp
not rbp
test rcx, rdx
setne cl
and rdx, rbp
xor ebp, ebp
cmp rbp, rax
jne 0x4549bc
test cl, cl
je 0x4549c2
mov r13d, 1
movzx eax, byte [rsp + 0x27]
mov ecx, r13d
mov qword [rbx], rbp
mov r12d, 1
mov ah, cl
mov word [rbx + 0x10], ax
or dil, byte [rbx + 0x11]
xor eax, eax
add r8, 1
cmp r10, r8
jne 0x4548c1
jmp 0x4548fc
mov rbp, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
cmp rdx, rax
movzx ecx, byte [rbp + rcx]
jb 0x454ad0
movzx eax, byte [rbx + 0x10]
cmp r15d, 2
mov r12, qword [rbx]
mov byte [rsp + 0x27], al
je 0x454af0
cmp r15d, 0x10
je 0x454b5e
mov rax, r12
shr rax, 0x3d
test rax, rax
lea rax, [rdx*8]
setne r13b
mov qword [rsp + 0x28], rax
mov rax, rdx
shrd rax, r12, 0x3d
cmp r15d, 0xa
jne 0x454b0b
mov rbp, rdx
add rdx, rdx
shr rbp, 0x3f
add rdx, rcx
mov rcx, qword [rsp + 0x28]
lea r12, [rbp + r12*2]
adc r12, 0
add rdx, rcx
setb cl
movzx ecx, cl
cmp rcx, 1
sbb r12, 0xffffffffffffffff
add r12, rax
mov rax, r12
mov r12d, 1
cmovb r13d, r12d
cmp rsi, 0x40
jbe 0x454990
lea rcx, [rsi - 0x40]
mov rbp, rax
cmp rcx, 0x3f
ja 0x4549c2
mov rbp, 0xffffffffffffffff
shl rbp, cl
xor ecx, ecx
not rbp
and rbp, rax
jmp 0x4549b3
imul rdx, r14
add r8, 1
mov r12d, 1
add rdx, rcx
cmp r10, r8
jne 0x4548c1
jmp 0x4548fc
mov rax, r12
shr rax, 0x3f
mov r13, rax
lea rax, [rdx + rdx]
shrd rdx, r12, 0x3f
mov qword [rsp + 0x28], rax
mov rax, rdx
mov rdx, qword [rsp + 0x28]
add rcx, rdx
mov rdx, rcx
jae 0x454a98
mov r12d, 1
jmp 0x454a88
test bp, 0x100
je 0x4548e9
mov rbp, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
cmp rdx, rax
movzx ecx, byte [rbp + rcx]
jb 0x454ad0
movzx eax, byte [rbx + 0x10]
mov r12, qword [rbx]
mov byte [rsp + 0x27], al
mov rax, r12
mov rbp, rdx
shr rax, 0x3c
test rax, rax
setne r13b
shrd rdx, r12, 0x3c
shl rbp, 4
mov rax, rdx
mov qword [rsp + 0x28], rbp
mov rdx, qword [rsp + 0x28]
add rcx, rdx
mov rdx, rcx
jb 0x454b1c
jmp 0x454a98
movzx eax, byte [r10]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x454975
cmp byte [r11 + 0x10], 0
jne 0x454975
jmp 0x45492e
xor ecx, ecx
xor ebp, ebp
jmp 0x4549b3
lea r8, [r10 + 2]
mov rbp, 0xffffffffffffffff
mov r14d, 2
mov r15d, 2
jmp 0x45488f
sub esi, 0x41
bt rdx, rsi
setae al
jmp 0x454949
lea r8, [r10 + 2]
mov rbp, 0xfffffffffffffff1
mov r14d, 0x10
mov r15d, 0x10
jmp 0x45488f
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, r11
call fcn.004524d0
jmp 0x454975