Function at 0x478400
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4789e4
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov rdx, qword [r11]
add rdx, 0xffffffffffffffc4
neg rdx
shlx r11, r9, rdx
test r9, r9
mov r9d, 0
cmove r10, r9
cmp rdx, 0x40
sbb rdx, rdx
and r11, rdx
jmp 0x478448
shl r11, 1
dec r10
test r11, r11
je 0x478454
bt r11, 0x3c
jae 0x478442
cmp rdi, 0xf
jae 0x4784cc
mov rdx, rdi
shl rdi, 2
shlx r9, r11, rdi
lea r12, [rdi - 0x3c]
neg r12
shrx r11, r11, r12
cmp rdi, 0x40
sbb r13, r13
and r9, r13
movabs r13, 0xfffffffffffffff
and r13, r9
cmp r12, 0x40
sbb r9, r9
and r11, r9
mov r15, r11
and r11d, 1
or r13, r11
movabs r11, 0x800000000000000
cmp r11, r13
jae 0x4784b2
lea r11, [r15 + 1]
jmp 0x4784b5
mov r11, r15
shlx r11, r11, r12
and r11, r9
bt r11, 0x3d
jae 0x4784cf
shr r11, 1
inc r10
jmp 0x4784cf
mov rdx, rdi
cmp sil, 0x58
jne 0x4784de
lea rdi, [0x004e69c8]
jmp 0x4784e5
lea rdi, [0x004e6768]
mov qword [rsp + 0x68], rdx
mov byte [rsp + 0xa8], sil
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x58], r11
test r8b, r8b
je 0x478540
inc rbx
cmp rcx, rbx
jae 0x47853b
mov edi, 1
lea rsi, [0x004c78c0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x68]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov byte [rbx + rax - 1], 0x2d
add rbx, 3
cmp rcx, rbx
jae 0x478576
mov edi, 3
lea rsi, [0x004c78c0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x68]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov byte [rbx + rax - 3], 0x30
mov byte [rbx + rax - 2], sil
mov r8, r11
shr r11, 0x3c
and r11d, 1
lea r9d, [r11 + 0x30]
mov byte [rbx + rax - 1], r9b
shl r8, 4
mov qword [rsp + 0x58], r8
nop dword [rax]
test rdx, rdx
jge 0x4785e9
test r8, r8
je 0x4785e6
inc rbx
cmp rcx, rbx
jae 0x4785dc
mov edi, 1
lea rsi, [0x004c78c0]
nop
call sym.runtime.growslice
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
mov byte [rbx + rax - 1], 0x2e
jmp 0x478981
test rdx, rdx
jle 0x47862b
inc rbx
cmp rcx, rbx
jae 0x478621
mov edi, 1
lea rsi, [0x004c78c0]
nop
call sym.runtime.growslice
mov rdx, qword [rsp + 0x68]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
mov byte [rbx + rax - 1], 0x2e
jmp 0x478910
mov edx, esi
or esi, 0x20
cmp dl, sil
jne 0x47863c
mov edx, 0x70
jmp 0x478641
mov edx, 0x50
inc rbx
cmp rcx, rbx
jae 0x478668
mov byte [rsp + 0x46], dl
mov edi, 1
lea rsi, [0x004c78c0]
call sym.runtime.growslice
movzx edx, byte [rsp + 0x46]
mov r10, qword [rsp + 0x60]
mov byte [rbx + rax - 1], dl
test r10, r10
jge 0x47867b
neg r10
mov edx, 0x2d
jmp 0x478680
mov edx, 0x2b
inc rbx
cmp rcx, rbx
jae 0x4786af
mov qword [rsp + 0x68], r10
mov byte [rsp + 0x46], dl
mov edi, 1
lea rsi, [0x004c78c0]
nop dword [rax]
call sym.runtime.growslice
movzx edx, byte [rsp + 0x46]
mov r10, qword [rsp + 0x68]
mov byte [rbx + rax - 1], dl
cmp r10, 0x64
jge 0x47872f
add rbx, 2
mov rdx, rax
movabs rax, 0xcccccccccccccccd
mov rsi, rdx
imul r10
mov r8, r10
sar r10, 0x3f
add rdx, r8
sar rdx, 3
sub rdx, r10
lea r9, [rdx + rdx*4]
shl r9, 1
sub r8, r9
cmp rcx, rbx
jae 0x47871b
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], r8
mov rax, rsi
mov edi, 2
lea rsi, [0x004c78c0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov rsi, rax
add edx, 0x30
mov byte [rbx + rsi - 2], dl
lea edx, [r8 + 0x30]
mov byte [rbx + rsi - 1], dl
jmp 0x4788f7
cmp r10, 0x3e8
jge 0x4787fe
add rbx, 3
mov rdx, rax
movabs rax, 0xa3d70a3d70a3d70b
mov rsi, rdx
imul r10
movabs rax, 0xcccccccccccccccd
mov rdi, rdx
imul r10
add rdx, r10
mov r8, rdx
sar rdx, 3
movabs rax, 0xcccccccccccccccd
mov r9, rdx
imul rdx
add rdx, r9
sar rdx, 3
sar r8, 0x3f
sub rdx, r8
lea rdx, [rdx + rdx*4]
shl rdx, 1
lea r8, [r9 + r9*4]
shl r8, 1
lea r11, [r10 + rdi]
sub r9, rdx
sub r10, r8
cmp rcx, rbx
jae 0x4787dd
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x50], r11
mov rax, rsi
mov edi, 3
lea rsi, [0x004c78c0]
call sym.runtime.growslice
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov rsi, rax
sar r11, 6
lea edx, [r11 + 0x30]
mov byte [rbx + rsi - 3], dl
lea edx, [r9 + 0x30]
mov byte [rbx + rsi - 2], dl
lea edx, [r10 + 0x30]
mov byte [rbx + rsi - 1], dl
jmp 0x4788f7
add rbx, 4
mov rdx, rax
movabs rax, 0xa3d70a3d70a3d70b
mov rsi, rdx
imul r10
add rdx, r10
sar rdx, 6
movzx r8d, dl
imul r8d, r8d, 0x19a
shr r8d, 0xc
lea r8d, [r8 + r8*4]
shl r8d, 1
movabs rax, 0xcccccccccccccccd
mov rdi, rdx
imul r10
add rdx, r10
mov r9, rdx
sar rdx, 3
movabs rax, 0xcccccccccccccccd
mov r11, rdx
imul rdx
add rdx, r11
sar rdx, 3
sar r9, 0x3f
sub rdx, r9
lea rdx, [rdx + rdx*4]
shl rdx, 1
lea r9, [r11 + r11*4]
shl r9, 1
movabs rax, 0x4189374bc6a7ef9e
mov r12, rdx
imul r10
sub edi, r8d
sub r11, r12
sub r10, r9
cmp rcx, rbx
jae 0x4788d5
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x50], r10
mov byte [rsp + 0x47], dil
mov rax, rsi
mov edi, 4
lea rsi, [0x004c78c0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x68]
movzx edi, byte [rsp + 0x47]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov rsi, rax
sar rdx, 8
add edx, 0x30
mov byte [rbx + rsi - 4], dl
lea edx, [rdi + 0x30]
mov byte [rbx + rsi - 3], dl
lea edx, [r11 + 0x30]
mov byte [rbx + rsi - 2], dl
lea edx, [r10 + 0x30]
mov byte [rbx + rsi - 1], dl
mov rax, rsi
add rsp, 0x78
pop rbp
nop
ret
mov byte [rbx + rax - 1], r8b
dec rdx
shl r9, 4
mov r8, r9
test rdx, rdx
jle 0x47862b
inc rbx
mov r9, r8
shr r8, 0x3c
and r8d, 0xf
movzx r8d, byte [rdi + r8]
cmp rcx, rbx
jae 0x478901
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x47], r8b
mov qword [rsp + 0x58], r9
mov edi, 1
lea rsi, [0x004c78c0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x48]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
movzx r8d, byte [rsp + 0x47]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
jmp 0x478901
mov byte [rbx + rax - 1], r8b
shl rdx, 4
mov r8, rdx
test r8, r8
je 0x47862b
inc rbx
mov rdx, r8
shr r8, 0x3c
and r8d, 0xf
movzx r8d, byte [rdi + r8]
nop dword [rax]
cmp rcx, rbx
jae 0x478975
mov qword [rsp + 0x58], rdx
mov byte [rsp + 0x47], r8b
mov edi, 1
lea rsi, [0x004c78c0]
nop dword [rax + rax]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x58]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
movzx r8d, byte [rsp + 0x47]
mov r10, qword [rsp + 0x60]
jmp 0x478975
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
jmp sym.strconv.fmtX