Function at 0x50d760
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x448]
cmp r12, qword [r14 + 0x10]
jbe 0x50ddee
push rbp
mov rbp, rsp
sub rsp, 0x4c0
mov qword [rsp + 0x4e8], rdi
mov qword [rsp + 0x4f0], rsi
mov qword [rsp + 0x4d0], rax
mov qword [rsp + 0x4e0], rcx
mov qword [rsp + 0x508], r10
mov qword [rsp + 0x500], r9
mov qword [rsp + 0x4f8], r8
mov qword [rsp + 0x4d8], rbx
mov rdx, qword [rax + 8]
mov rax, rdx
mov rcx, rdi
mov rdi, rsi
call sym.crypto_ecdsa.randomPoint_go.shape.uint8_
test rcx, rcx
jne 0x50d94d
mov qword [rsp + 0x450], rbx
nop
lea rdi, [rsp + 0x340]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00463f94
mov rbp, qword [rbp]
mov qword [rsp + 0x4a8], 0
movups xmmword [rsp + 0x4b0], xmm15
mov qword [rsp + 0x4b0], 0
mov qword [rsp + 0x4b8], 0x20
lea rdx, [rsp + 0x340]
mov qword [rsp + 0x4a8], rdx
mov rdx, qword [rsp + 0x4d0]
mov rsi, qword [rdx + 0x10]
mov rbx, qword [rsp + 0x4d8]
lea rcx, [rsp + 0x4a8]
mov rdi, rax
mov rax, rsi
nop dword [rax + rax]
call sym.crypto_ecdsa.inverse_go.shape.uint8_
mov rdx, qword [rsp + 0x4d0]
mov rsi, qword [rdx]
mov rax, qword [rsp + 0x450]
call rsi
nop word [rax + rax]
test rdi, rdi
jne 0x50d93d
lea rdi, [rsp + 0x240]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00463f94
mov rbp, qword [rbp]
mov qword [rsp + 0x490], 0
movups xmmword [rsp + 0x498], xmm15
mov qword [rsp + 0x498], 0
mov qword [rsp + 0x4a0], 0x20
lea rdx, [rsp + 0x240]
mov qword [rsp + 0x490], rdx
mov rdx, qword [rsp + 0x4d8]
mov rsi, qword [rdx + 0x18]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x490]
call sym.crypto_internal_bigmod._Nat_.SetOverflowingBytes
test rbx, rbx
jne 0x50d927
mov rdx, qword [rax]
mov r9, qword [rax + 8]
xor ecx, ecx
mov ebx, 1
jmp 0x50d98d
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
mov r10, qword [rdx + rcx*8]
inc rcx
mov r11, r10
sub r10, 0
sbb r10, r10
neg r10
xor r12d, r12d
sub r12, r11
sbb r11, r11
neg r11
or r11, r10
xor r11, 1
and rbx, r11
cmp rcx, r9
jl 0x50d963
cmp rbx, 1
je 0x50db7b
mov qword [rsp + 0x448], rax
nop
lea rdi, [rsp + 0x140]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00463f94
mov rbp, qword [rbp]
mov qword [rsp + 0x478], 0
movups xmmword [rsp + 0x480], xmm15
mov qword [rsp + 0x480], 0
mov qword [rsp + 0x488], 0x20
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x478], rdx
mov rdx, qword [rsp + 0x4d0]
mov rax, qword [rdx + 0x18]
mov rbx, qword [rsp + 0x4d8]
lea rcx, [rsp + 0x478]
mov rdi, qword [rsp + 0x4f8]
mov rsi, qword [rsp + 0x500]
mov r8, qword [rsp + 0x508]
call sym.crypto_ecdsa.hashToNat_go.shape.uint8_
lea rdi, [rsp + 0x40]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00463f94
mov rbp, qword [rbp]
mov qword [rsp + 0x460], 0
movups xmmword [rsp + 0x468], xmm15
mov qword [rsp + 0x468], 0
mov qword [rsp + 0x470], 0x20
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x460], rdx
mov rdx, qword [rsp + 0x4e0]
mov rax, qword [rdx + 0x20]
call sym.math_big._Int_.Bytes
mov rdx, qword [rsp + 0x4d8]
mov rsi, qword [rdx + 0x18]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x460]
nop dword [rax + rax]
call sym.crypto_internal_bigmod._Nat_.SetBytes
test rbx, rbx
jne 0x50db65
mov qword [rsp + 0x440], rax
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rbx, qword [rsp + 0x448]
call sym.crypto_internal_bigmod._Nat_.Mul
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x440]
lea rbx, [rsp + 0x478]
call sym.crypto_internal_bigmod._Nat_.Add
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x440]
lea rbx, [rsp + 0x4a8]
call sym.crypto_internal_bigmod._Nat_.Mul
mov rdx, qword [rsp + 0x440]
mov rsi, qword [rdx]
mov rdi, qword [rdx + 8]
xor eax, eax
mov ecx, 1
jmp 0x50dbe0
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
lea rax, [0x0054edc0]
call sym.runtime.newobject
mov qword [rax + 8], 0x20
lea rcx, [0x00574343]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x005ba080]
mov rsi, rax
xor eax, eax
add rsp, 0x4c0
pop rbp
ret
mov r8, qword [rsi + rax*8]
inc rax
mov r9, r8
sub r8, 0
sbb r8, r8
neg r8
xor r10d, r10d
sub r10, r9
sbb r9, r9
neg r9
or r9, r8
xor r9, 1
and rcx, r9
nop dword [rax]
cmp rax, rdi
jl 0x50dbb3
cmp rcx, 1
je 0x50dc4e
mov rdx, qword [rsp + 0x4d8]
mov rsi, qword [rdx + 0x18]
mov rdi, qword [rsi]
mov rdi, qword [rdi + 8]
shl rdi, 6
sub rdi, qword [rsi + 8]
lea rsi, [rdi + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rcx, [rdi + rsi]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x38], rcx
nop
lea rax, [0x00543620]
mov rbx, rcx
call sym.runtime.makeslice
mov rdx, qword [rsp + 0x448]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
xor ebx, ebx
jmp 0x50dc8c
lea rax, [0x0054edc0]
call sym.runtime.newobject
mov qword [rax + 8], 0x20
lea rcx, [0x00574363]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x005ba080]
mov rsi, rax
xor eax, eax
add rsp, 0x4c0
pop rbp
ret
inc rbx
mov rdi, r10
cmp rbx, rdx
jge 0x50dcaf
mov r8, qword [rsi + rbx*8]
xor r9d, r9d
jmp 0x50ddb4
test r8, r8
je 0x50dc86
jmp 0x50ddd2
mov r10, rdi
jmp 0x50dc86
mov qword [rsp + 0x458], rax
mov rdx, qword [rsp + 0x4d8]
mov rdx, qword [rdx + 0x18]
mov rsi, qword [rdx]
mov rsi, qword [rsi + 8]
shl rsi, 6
sub rsi, qword [rdx + 8]
lea rdx, [rsi + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rcx, [rsi + rdx]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x30], rcx
nop
lea rax, [0x00543620]
mov rbx, rcx
call sym.runtime.makeslice
mov rdx, qword [rsp + 0x440]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
xor ebx, ebx
jmp 0x50dd20
inc rbx
mov rdi, r10
cmp rbx, rdx
jge 0x50dd3a
mov r9, qword [rsi + rbx*8]
xor r8d, r8d
jmp 0x50dd70
test r9, r9
je 0x50dd1a
jmp 0x50dd87
mov r10, rdi
jmp 0x50dd1a
mov rbx, qword [rsp + 0x38]
mov rdi, rax
mov rsi, rcx
mov r8, rsi
mov rax, qword [rsp + 0x458]
mov rcx, rbx
call sym.crypto_ecdsa.encodeSignature
add rsp, 0x4c0
pop rbp
ret
mov byte [rdi + rax - 1], r9b
inc r8
shr r9, 8
mov rdi, r10
cmp r8, 8
jge 0x50dd35
lea r10, [rdi - 1]
test r10, r10
jl 0x50dd2e
nop
cmp rcx, r10
ja 0x50dd61
jmp 0x50dd9a
lea rax, [0x005432e0]
lea rbx, [0x005b92b0]
call sym.runtime.gopanic
mov rax, r10
nop dword [rax]
call sym.runtime.panicIndex
mov byte [rdi + rax - 1], r8b
inc r9
shr r8, 8
mov rdi, r10
cmp r9, 8
jge 0x50dcaa
lea r10, [rdi - 1]
test r10, r10
jl 0x50dca0
cmp rcx, r10
ja 0x50dda5
jmp 0x50dde5
lea rax, [0x005432e0]
lea rbx, [0x005b92b0]
call sym.runtime.gopanic
mov rax, r10
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
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
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]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
jmp sym.crypto_ecdsa.signNISTEC_go.shape.uint8_