Function at 0x428200
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 0x4285a8
mov eax, r9d
mov rsi, qword [r11 + 0x528]
and eax, 0xf00
cmp eax, 0x400
je 0x428288
cmp eax, 0x200
je 0x428610
cmp eax, 0x800
je 0x4285e0
mov r8, r10
mov rbp, 0xfffffffffffffff7
mov r14d, 0xa
mov r15d, 0xa
jmp 0x42829f
lea r8, [r10 + 1]
mov rbp, 0xfffffffffffffff9
mov r14d, 8
mov r15d, 8
cmp rsi, 0x3f
mov rax, 0xffffffffffffffff
ja 0x4282b6
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 0x42832b
xor r12d, r12d
xor edx, edx
xor edi, edi
movzx ebp, byte [r8]
mov r13, qword [0x004db060]
mov rcx, rbp
movzx ebp, word [r13 + rbp*2]
test bpl, 4
jne 0x428408
cmp r15d, 0x10
je 0x428540
cmp ecx, 0x27
jne 0x42830c
cmp byte [r11 + 0x4e3], 0
jne 0x4283ef
test r12b, r12b
je 0x428315
mov qword [rbx + 8], rdx
test dil, dil
je 0x428327
and r9d, 0x1000000
je 0x428630
movzx edi, byte [rbx + 0x10]
test dil, dil
jne 0x428385
cmp byte [r11 + 0x4dc], 0
jne 0x4285c0
cmp rsi, 0x40
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
ja 0x428600
sub esi, 1
bt rax, rsi
setae al
test al, al
jne 0x428385
cmp r15d, 0xa
jne 0x428381
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.00425ee0
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 0x4285d0
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 0x4283cc
test cl, cl
je 0x4283d2
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 0x4282d1
jmp 0x42830c
mov rbp, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
cmp rdx, rax
movzx ecx, byte [rbp + rcx]
jb 0x4284e0
movzx eax, byte [rbx + 0x10]
cmp r15d, 2
mov r12, qword [rbx]
mov byte [rsp + 0x27], al
je 0x428500
cmp r15d, 0x10
je 0x42856e
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 0x42851b
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 0x4283a0
lea rcx, [rsi - 0x40]
mov rbp, rax
cmp rcx, 0x3f
ja 0x4283d2
mov rbp, 0xffffffffffffffff
shl rbp, cl
xor ecx, ecx
not rbp
and rbp, rax
jmp 0x4283c3
imul rdx, r14
add r8, 1
mov r12d, 1
add rdx, rcx
cmp r10, r8
jne 0x4282d1
jmp 0x42830c
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 0x4284a8
mov r12d, 1
jmp 0x428498
test bp, 0x100
je 0x4282f9
mov rbp, qword [str.cccccccccccccccccccccccccccccccccccccccccccccccc]
movsxd rcx, ecx
cmp rdx, rax
movzx ecx, byte [rbp + rcx]
jb 0x4284e0
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 0x42852c
jmp 0x4284a8
movzx eax, byte [r10]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x428385
cmp byte [r11 + 0x10], 0
jne 0x428385
jmp 0x42833e
xor ecx, ecx
xor ebp, ebp
jmp 0x4283c3
lea r8, [r10 + 2]
mov rbp, 0xffffffffffffffff
mov r14d, 2
mov r15d, 2
jmp 0x42829f
sub esi, 0x41
bt rdx, rsi
setae al
jmp 0x428359
lea r8, [r10 + 2]
mov rbp, 0xfffffffffffffff1
mov r14d, 0x10
mov r15d, 0x10
jmp 0x42829f
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, r11
call fcn.00425ee0
jmp 0x428385