Function at 0x47c940
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x47d4b0
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0xd0], sil
mov byte [rsp + 0xd1], r8b
mov qword [rsp + 0xd8], r9
mov qword [rsp + 0xe0], r10
mov qword [rsp + 0xe8], r11
mov qword [rsp + 0x88], 0
movups xmmword [rsp + 0x90], xmm15
cmp qword [rsp + 0xd8], 0
je 0x47c9c4
jmp 0x47c9d2
mov qword [rsp + 0xe0], 0
jmp 0x47c9d4
jmp 0x47c9d4
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe8]
test byte [r8], al
mov rcx, qword [r8]
add rcx, 0xffffffffffffffc4
neg rcx
shl rdx, cl
cmp rcx, 0x40
sbb r8, r8
and rdx, r8
mov qword [rsp + 0xd8], rdx
jmp 0x47ca08
cmp qword [rsp + 0xd8], 0
setne byte [rsp + 0x4f]
jne 0x47ca1a
jmp 0x47ca2e
mov rdx, qword [rsp + 0xd8]
bt rdx, 0x3c
setae byte [rsp + 0x4f]
jmp 0x47ca30
jmp 0x47ca30
cmp byte [rsp + 0x4f], 0
jne 0x47ca39
jmp 0x47ca58
mov rdx, qword [rsp + 0xd8]
shl rdx, 1
mov qword [rsp + 0xd8], rdx
dec qword [rsp + 0xe0]
jmp 0x47ca56
jmp 0x47ca08
cmp qword [rsp + 0xc8], 0
setge byte [rsp + 0x4f]
jge 0x47ca6a
jmp 0x47ca7a
cmp qword [rsp + 0xc8], 0xf
setl byte [rsp + 0x4f]
jmp 0x47ca7c
jmp 0x47ca7c
cmp byte [rsp + 0x4f], 0
jne 0x47ca88
jmp 0x47cb64
mov rcx, qword [rsp + 0xc8]
shl rcx, 2
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0xd8]
shl rdx, cl
cmp rcx, 0x40
sbb r8, r8
and rdx, r8
movabs r8, 0xfffffffffffffff
and rdx, r8
mov qword [rsp + 0x60], rdx
mov r8, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffc4
neg rcx
shr r8, cl
cmp rcx, 0x40
sbb r9, r9
and r8, r9
mov qword [rsp + 0xd8], r8
mov r9, r8
and r8d, 1
or rdx, r8
movabs r8, 0x800000000000000
nop dword [rax]
cmp r8, rdx
jb 0x47cb07
jmp 0x47cb15
lea rdx, [r9 + 1]
mov qword [rsp + 0xd8], rdx
jmp 0x47cb17
jmp 0x47cb17
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffc4
neg rcx
shl rdx, cl
cmp rcx, 0x40
sbb r8, r8
and rdx, r8
mov qword [rsp + 0xd8], rdx
bt rdx, 0x3d
jb 0x47cb49
jmp 0x47cb60
shr rdx, 1
mov qword [rsp + 0xd8], rdx
inc qword [rsp + 0xe0]
jmp 0x47cb62
jmp 0x47cb62
jmp 0x47cb66
jmp 0x47cb66
lea rdx, [0x005cc43d]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], 0x10
cmp byte [rsp + 0xd0], 0x58
je 0x47cb8a
jmp 0x47cba4
lea rdx, [0x005cc44d]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], 0x10
jmp 0x47cba6
jmp 0x47cba6
cmp byte [rsp + 0xd1], 0
jne 0x47cbb2
jmp 0x47cc0e
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
cmp rcx, rbx
jae 0x47cbd4
jmp 0x47cbd6
jmp 0x47cbe9
mov edi, 1
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47cbe9
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
mov byte [rdx], 0x2d
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
jmp 0x47cc10
jmp 0x47cc10
mov rdx, qword [rsp + 0xd8]
shr rdx, 0x3c
and edx, 1
add edx, 0x30
mov byte [rsp + 0x4d], dl
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
add rbx, 3
cmp rcx, rbx
jae 0x47cc49
jmp 0x47cc4b
jmp 0x47cc5e
mov edi, 3
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47cc5e
lea rdx, [rbx + rax]
lea rdx, [rdx - 3]
lea r8, [rbx + rax]
lea r8, [r8 - 2]
lea r9, [rbx + rax]
lea r9, [r9 - 1]
movzx r10d, byte [rsp + 0xd0]
movzx r11d, byte [rsp + 0x4d]
mov byte [rdx], 0x30
mov byte [r8], r10b
mov byte [r9], r11b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov rdx, qword [rsp + 0xd8]
shl rdx, 4
mov qword [rsp + 0xd8], rdx
cmp qword [rsp + 0xc8], 0
setl byte [rsp + 0x4f]
jl 0x47cccc
jmp 0x47ccdc
cmp qword [rsp + 0xd8], 0
setne byte [rsp + 0x4f]
jmp 0x47ccde
jmp 0x47ccde
cmp byte [rsp + 0x4f], 0
jne 0x47cce7
jmp 0x47cd46
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
cmp rcx, rbx
jae 0x47cd09
jmp 0x47cd0b
jmp 0x47cd1e
mov edi, 1
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47cd1e
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
mov byte [rdx], 0x2e
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
jmp 0x47d3de
cmp qword [rsp + 0xc8], 0
jg 0x47cd53
jmp 0x47cdbb
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
cmp rcx, rbx
jae 0x47cd75
jmp 0x47cd77
jmp 0x47cd8a
mov edi, 1
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47cd8a
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
mov byte [rdx], 0x2e
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x58], 0
jmp 0x47d307
jmp 0x47cdbd
jmp 0x47cdbf
mov byte [rsp + 0x41], 0x50
movzx eax, byte [rsp + 0xd0]
call sym.strconv.lower
mov byte [rsp + 0x4e], al
cmp byte [rsp + 0xd0], al
je 0x47cde2
nop
jmp 0x47cde9
mov byte [rsp + 0x41], 0x70
jmp 0x47cdeb
jmp 0x47cdeb
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
cmp rcx, rbx
jae 0x47ce0d
jmp 0x47ce0f
jmp 0x47ce27
mov edi, 1
lea rsi, [0x005aa7a0]
nop dword [rax + rax]
call sym.runtime.growslice
jmp 0x47ce27
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
movzx r8d, byte [rsp + 0x41]
mov byte [rdx], r8b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
cmp qword [rsp + 0xe0], 0
jl 0x47ce5d
jmp 0x47ce77
mov byte [rsp + 0x41], 0x2d
mov rdx, qword [rsp + 0xe0]
neg rdx
mov qword [rsp + 0xe0], rdx
jmp 0x47ce7e
mov byte [rsp + 0x41], 0x2b
jmp 0x47ce7e
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
cmp rcx, rbx
jae 0x47cea2
nop
jmp 0x47cea4
jmp 0x47ceb7
mov edi, 1
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47ceb7
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
movzx r8d, byte [rsp + 0x41]
mov byte [rdx], r8b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
cmp qword [rsp + 0xe0], 0x64
jl 0x47cef0
jmp 0x47cfd0
jmp 0x47cef2
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
sar rcx, 0x3f
sub rdx, rcx
add edx, 0x30
mov byte [rsp + 0x4a], dl
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x49], dl
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
add rbx, 2
cmp rcx, rbx
jae 0x47cf7d
jmp 0x47cf7f
jmp 0x47cf92
mov edi, 2
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47cf92
lea rdx, [rbx + rax]
lea rdx, [rdx - 2]
lea rsi, [rbx + rax]
lea rsi, [rsi - 1]
movzx edi, byte [rsp + 0x4a]
movzx r8d, byte [rsp + 0x49]
mov byte [rdx], dil
mov byte [rsi], r8b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
jmp 0x47d2ce
cmp qword [rsp + 0xe0], 0x3e8
jl 0x47cfe5
nop
jmp 0x47d132
jmp 0x47cfe7
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xa3d70a3d70a3d70b
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 6
sar rcx, 0x3f
sub rdx, rcx
add edx, 0x30
mov byte [rsp + 0x48], dl
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
sar rcx, 0x3f
sub rdx, rcx
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x47], dl
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x46], dl
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
add rbx, 3
cmp rcx, rbx
jae 0x47d0cb
jmp 0x47d0cd
jmp 0x47d0e2
mov edi, 3
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
nop
jmp 0x47d0e2
lea rdx, [rbx + rax]
lea rdx, [rdx - 3]
lea rsi, [rbx + rax]
lea rsi, [rsi - 2]
lea rdi, [rbx + rax]
lea rdi, [rdi - 1]
movzx r8d, byte [rsp + 0x48]
movzx r9d, byte [rsp + 0x47]
movzx r10d, byte [rsp + 0x46]
mov byte [rdx], r8b
mov byte [rsi], r9b
mov byte [rdi], r10b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
jmp 0x47d2ce
jmp 0x47d134
mov rdx, qword [rsp + 0xe0]
movabs rax, 0x4189374bc6a7ef9e
mov rcx, rdx
imul rdx
sar rdx, 8
sar rcx, 0x3f
sub rdx, rcx
add edx, 0x30
mov byte [rsp + 0x45], dl
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xa3d70a3d70a3d70b
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 6
sar rcx, 0x3f
sub rdx, rcx
movzx r8d, dl
imul r8d, r8d, 0x19a
shr r8d, 0xc
lea r8d, [r8 + r8*4]
shl r8d, 1
sub edx, r8d
add edx, 0x30
mov byte [rsp + 0x44], dl
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
sar rcx, 0x3f
sub rdx, rcx
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x43], dl
mov rdx, qword [rsp + 0xe0]
movabs rax, 0xcccccccccccccccd
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov r8, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rdx, [rdx + rdx*4]
shl rdx, 1
sub r8, rdx
lea edx, [r8 + 0x30]
mov byte [rsp + 0x42], dl
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
add rbx, 4
cmp rcx, rbx
jae 0x47d25b
jmp 0x47d25d
jmp 0x47d270
mov edi, 4
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47d270
lea rdx, [rbx + rax]
lea rdx, [rdx - 4]
lea rsi, [rbx + rax]
lea rsi, [rsi - 3]
lea rdi, [rbx + rax]
lea rdi, [rdi - 2]
lea r8, [rbx + rax]
lea r8, [r8 - 1]
movzx r9d, byte [rsp + 0x45]
movzx r10d, byte [rsp + 0x44]
movzx r11d, byte [rsp + 0x43]
movzx r12d, byte [rsp + 0x42]
mov byte [rdx], r9b
mov byte [rsi], r10b
mov byte [rdi], r11b
mov byte [r8], r12b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
jmp 0x47d2ce
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rcx
add rsp, 0xa0
pop rbp
ret
mov rdx, qword [rsp + 0x58]
cmp qword [rsp + 0xc8], rdx
jg 0x47d31b
jmp 0x47d3d4
mov rax, qword [rsp + 0xd8]
shr rax, 0x3c
and eax, 0xf
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
nop dword [rax]
cmp rcx, rax
ja 0x47d34a
jmp 0x47d3d9
add rdx, rax
movzx edx, byte [rdx]
mov byte [rsp + 0x4b], dl
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
cmp rcx, rbx
jae 0x47d376
jmp 0x47d378
jmp 0x47d38b
mov edi, 1
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47d38b
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
movzx r8d, byte [rsp + 0x4b]
mov byte [rdx], r8b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov rdx, qword [rsp + 0xd8]
shl rdx, 4
mov qword [rsp + 0xd8], rdx
jmp 0x47d3ca
inc qword [rsp + 0x58]
jmp 0x47d307
jmp 0x47cdbd
call sym.runtime.panicIndexU
cmp qword [rsp + 0xd8], 0
jne 0x47d3ee
jmp 0x47d4a5
mov rax, qword [rsp + 0xd8]
shr rax, 0x3c
and eax, 0xf
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
cmp rcx, rax
ja 0x47d419
jmp 0x47d4aa
add rdx, rax
movzx edx, byte [rdx]
mov byte [rsp + 0x4c], dl
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
inc rbx
nop
cmp rcx, rbx
jae 0x47d447
jmp 0x47d449
jmp 0x47d45c
mov edi, 1
lea rsi, [0x005aa7a0]
call sym.runtime.growslice
jmp 0x47d45c
lea rdx, [rbx + rax]
lea rdx, [rdx - 1]
movzx r8d, byte [rsp + 0x4c]
mov byte [rdx], r8b
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov rdx, qword [rsp + 0xd8]
shl rdx, 4
mov qword [rsp + 0xd8], rdx
jmp 0x47d49b
nop dword [rax + rax]
jmp 0x47d3de
jmp 0x47cdbf
call sym.runtime.panicIndexU
nop
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
nop dword [rax]
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