Function at 0x581540
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x5817d5
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x58], 0
movups xmmword [rsp + 0x78], xmm15
jmp 0x58158b
jmp 0x58158d
mov rcx, qword [rsp + 0xd0]
test byte [rcx], al
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x30]
call rcx
mov qword [rsp + 0x68], rax
test byte [rax], al
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
call sym.math_big._Int_.BitLen
mov qword [rsp + 0x50], rax
lea rcx, [rax + 7]
sar rcx, 0x3f
shr rcx, 0x3d
lea rcx, [rax + rcx]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x40], rcx
lea rax, [0x005dd240]
mov rbx, rcx
call sym.runtime.makeslice
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rdx
movups xmmword [rsp + 0x98], xmm15
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xb8]
nop
call sym.io.ReadFull
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x38], rdx
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rcx
test rbx, rbx
jne 0x581690
jmp 0x58169e
mov rax, qword [rsp + 0x58]
add rsp, 0xc0
pop rbp
ret
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x50], rcx
mov rax, qword [rsp + 0x60]
call sym.math_big._Int_.BitLen
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x50]
shl rcx, 3
sub rcx, rax
mov qword [rsp + 0x30], rcx
test rcx, rcx
jg 0x5816d2
jmp 0x581722
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
test rdx, rdx
ja 0x5816ec
jmp 0x5817ca
movzx edx, byte [rbx]
test rcx, rcx
jge 0x5816f9
jmp 0x5817c5
mov rbx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
shr dl, cl
cmp rcx, 8
sbb edi, edi
and edx, edi
test rbx, rbx
ja 0x58171d
jmp 0x5817b8
mov byte [rsi], dl
nop
jmp 0x581724
jmp 0x581724
lea rax, [0x005ea300]
call sym.runtime.newobject
mov qword [rsp + 0x70], rax
mov rbx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
call sym.math_big._Int_.SetBytes
mov qword [rsp + 0x58], rax
call sym.math_big._Int_.Sign
mov qword [rsp + 0x48], rax
test rax, rax
setne byte [rsp + 0x2f]
jne 0x58176d
jmp 0x58178b
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
call sym.math_big._Int_.Cmp
mov qword [rsp + 0x50], rax
test rax, rax
setl byte [rsp + 0x2f]
jmp 0x58178d
jmp 0x58178d
cmp byte [rsp + 0x2f], 0
jne 0x581796
jmp 0x5817b1
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
add rsp, 0xc0
pop rbp
ret
jmp 0x5817b3
jmp 0x58158b
xor eax, eax
mov rcx, rbx
nop dword [rax]
call sym.runtime.panicIndex
call sym.runtime.panicshift
xor eax, eax
mov rcx, rdx
call sym.runtime.panicIndex
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
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]
jmp sym.crypto_ecdsa.randFieldElement