Function at 0x56aa20
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x56ad2e
push rbp
mov rbp, rsp
sub rsp, 0x38
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rcx
nop dword [rax]
test rbx, rbx
je 0x56ab1d
cmp rbx, 0x14
jae 0x56ad1a
mov rdx, qword [0x00946ee8]
nop word [rax + rax]
cmp rbx, rdx
jae 0x56ad0f
mov rdx, qword [0x00946ee0]
movzx edx, byte [rdx + rbx]
cmp rdi, rdx
jne 0x56aae8
mov qword [rsp + 0x48], rax
mov rdx, qword [0x00951f38]
lea rax, [0x006b6340]
mov rcx, rbx
mov rbx, rdx
call sym.runtime.mapaccess2_fast64
test bl, bl
je 0x56aab3
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
jmp 0x56ab22
lea rax, [0x006bf8e0]
call sym.runtime.newobject
mov qword [rax + 8], 0x25
lea rcx, [0x007120de]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00788740]
mov rsi, rax
xor eax, eax
add rsp, 0x38
pop rbp
ret
lea rax, [0x006bf8e0]
call sym.runtime.newobject
mov qword [rax + 8], 0x28
lea rcx, [0x00713482]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00788740]
mov rsi, rax
xor eax, eax
add rsp, 0x38
pop rbp
ret
xor r8d, r8d
xor edx, edx
mov r9, qword [rax]
mov r10, qword [r9 + 0x10]
lea r11, [r10 - 1]
nop
test r11, r11
jl 0x56ab94
mov r9, qword [r9 + 8]
mov r9, qword [r9 + r10*8 - 8]
mov r10, r9
shr r9, 1
or r9, r10
mov r10, r9
shr r9, 2
or r9, r10
mov r10, r9
shr r9, 4
or r9, r10
mov r10, r9
shr r9, 8
or r9, r10
mov r10, r9
shr r9, 0x10
or r9, r10
mov r10, r9
shr r9, 0x20
or r9, r10
shl r11, 6
bsr r9, r9
mov r10, 0xffffffffffffffff
cmove r9, r10
lea r9, [r9 + r11]
lea r9, [r9 + 1]
jmp 0x56ab97
xor r9d, r9d
lea r10, [r8 + rdi]
lea r10, [r10 + 0xb]
lea r11, [r9 + 7]
sar r11, 0x3f
shr r11, 0x3d
lea rbx, [r11 + r9]
lea rbx, [rbx + 7]
sar rbx, 3
cmp r10, rbx
jg 0x56abff
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
lea rax, [0x006a4040]
mov rcx, rbx
call sym.runtime.makeslice
mov rcx, qword [rsp + 0x18]
nop
cmp rcx, 1
jbe 0x56ad05
mov byte [rax + 1], 1
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x20]
mov ebx, 2
jmp 0x56ac21
mov rdi, qword [0x00944e80]
mov rsi, qword [0x00944e88]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x38
pop rbp
ret
mov byte [rax + rbx], 0xff
inc rbx
mov r9, rcx
sub r9, r8
sub r9, rdx
lea r10, [r9 - 1]
cmp rbx, r10
jge 0x56ac40
cmp rbx, rcx
jb 0x56ac1a
jmp 0x56acf8
cmp rcx, r9
jb 0x56acf0
mov qword [rsp + 0x30], rax
mov rbx, rcx
sub rcx, r9
mov r10, r9
sub r9, rbx
sar r9, 0x3f
and r10, r9
lea r9, [r10 + rax]
cmp r8, rcx
cmovl rcx, r8
mov r8, qword [rsp + 0x28]
cmp r8, r9
je 0x56ac94
mov rax, r9
mov rbx, r8
nop dword [rax]
call sym.runtime.memmove
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x18]
mov rcx, rbx
sub rbx, rdx
cmp rcx, rbx
jb 0x56ace8
mov r8, rcx
sub r8, rbx
mov r9, rbx
sub rbx, rcx
sar rbx, 0x3f
and r9, rbx
add r9, rax
cmp rdx, r8
cmovl r8, rdx
mov rbx, qword [rsp + 0x58]
cmp rbx, r9
je 0x56acdb
mov rax, r9
mov rcx, r8
call sym.runtime.memmove
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x18]
mov rbx, rcx
xor edi, edi
xor esi, esi
add rsp, 0x38
pop rbp
ret
mov rax, rbx
call sym.runtime.panicSliceB
mov rax, r9
call sym.runtime.panicSliceB
mov rax, rbx
nop dword [rax + rax]
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov rax, rbx
mov rcx, rdx
call sym.runtime.panicIndexU
lea rax, [0x006a3fc0]
lea rbx, [0x00787a70]
call sym.runtime.gopanic
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
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]
mov rsi, qword [rsp + 0x28]
jmp sym.crypto_rsa.pkcs1v15ConstructEM