Function at 0x4ba680
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0xd8]
cmp r12, qword [r14 + 0x10]
jbe 0x4bb04c
push rbp
mov rbp, rsp
sub rsp, 0x150
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x170], rcx
mov rdx, rbx
mov rsi, rax
mov rdi, rcx
nop
jmp 0x4ba6e3
mov rdx, qword [rsp + 0x168]
mov rbx, rsi
mov rax, rdi
mov rcx, r8
mov rsi, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x170]
mov r9, qword [0x006f9fa8]
cmp r9, 1
jb 0x4bb03f
dec r9
mov r10, qword [str._n_____BEGIN]
mov r11, qword [0x006f9fb0]
dec r11
neg r11
sar r11, 0x3f
and r11d, 1
add r10, r11
cmp rbx, r9
jge 0x4ba722
xor r8d, r8d
nop
jmp 0x4ba76c
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xf8], rax
mov rbx, r10
mov rcx, r9
call sym.runtime.memequal
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x170]
mov r8d, eax
mov rax, qword [rsp + 0xf8]
test r8b, r8b
je 0x4ba7a9
mov r8, qword [0x006f9fa8]
lea r9, [r8 - 1]
nop dword [rax]
cmp rbx, r9
jb 0x4bb034
sub rcx, r8
sub rbx, r8
lea r8, [rcx + 1]
mov r10, r8
neg r8
sar r8, 0x3f
and r8, r9
add r8, rax
lea r9, [rbx + 1]
jmp 0x4ba7d7
mov rdi, qword [str._n_____BEGIN]
mov rsi, qword [0x006f9fa8]
mov r8, qword [0x006f9fb0]
nop
call sym.bytes.Cut
test r9b, r9b
je 0x4bad8e
mov r10, r8
mov r9, rsi
mov r8, rdi
mov rax, r8
mov rbx, r9
mov rcx, r10
call sym.encoding_pem.getLine
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x148], rdi
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xe8], rax
mov rdx, qword [0x006f9fe8]
cmp rbx, rdx
jl 0x4ba899
mov r9, rbx
sub rbx, rdx
nop dword [rax + rax]
cmp r9, rbx
jb 0x4bb029
mov r10, r9
sub r9, rbx
mov r11, rbx
sub rbx, rcx
sar rbx, 0x3f
and rbx, r11
lea r11, [rbx + rax]
cmp rdx, r9
je 0x4ba849
xor edx, edx
jmp 0x4ba8a0
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x58], rcx
mov rbx, qword [str._____]
mov rax, r11
mov rcx, r9
call sym.runtime.memequal
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x148]
mov r8, qword [rsp + 0xd8]
mov r10, qword [rsp + 0xc8]
mov edx, eax
mov rax, qword [rsp + 0xe8]
jmp 0x4ba8a0
mov r10, rbx
xor edx, edx
nop
test dl, dl
je 0x4ba6c2
mov rbx, qword [0x006f9fe8]
sub r10, rbx
cmp rcx, r10
jb 0x4bb01e
mov qword [rsp + 0x50], r10
call sym.runtime.makemap_small
mov qword [rsp + 0x140], rax
lea rax, [0x00524500]
call sym.runtime.newobject
cmp dword [0x00758f60], 0
jne 0x4ba8ec
mov rdx, qword [rsp + 0x140]
jmp 0x4ba8fc
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x140]
mov qword [r11], rdx
mov qword [rsp + 0x138], rax
mov qword [rax + 0x10], rdx
mov rbx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x50]
xor eax, eax
call sym.runtime.slicebytetostring
mov rdx, qword [rsp + 0x138]
mov qword [rdx + 8], rbx
cmp dword [0x00758f60], 0
je 0x4ba940
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rax
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x148]
nop dword [rax + rax]
jmp 0x4badd4
mov rdx, qword [rsp + 0x138]
mov r9, qword [rdx + 0x10]
test r9, r9
je 0x4ba97b
mov r9, qword [r9]
jmp 0x4ba980
xor r9d, r9d
nop
test r9, r9
jne 0x4ba9f5
mov rcx, qword [0x006f9fc8]
cmp rcx, 1
jb 0x4bb012
mov r9, qword [0x006f9fc0]
mov r10, qword [0x006f9fd0]
dec rcx
dec r10
neg r10
sar r10, 0x3f
and r10d, 1
lea rbx, [r10 + r9]
mov r9, qword [rsp + 0x60]
nop
cmp r9, rcx
jge 0x4ba9c9
xor eax, eax
jmp 0x4ba9e3
mov rax, qword [rsp + 0xf0]
call sym.runtime.memequal
mov rdx, qword [rsp + 0x138]
mov r9, qword [rsp + 0x60]
test al, al
je 0x4ba9fa
mov r10, qword [0x006f9fc8]
dec r10
xor eax, eax
jmp 0x4baa40
mov r9, qword [rsp + 0x60]
mov rdi, qword [0x006f9fc0]
mov rsi, qword [0x006f9fc8]
mov r8, qword [0x006f9fd0]
mov rax, qword [rsp + 0xf0]
mov rbx, r9
mov rcx, qword [rsp + 0x70]
nop
call sym.bytes.Index
mov rdx, qword [0x006f9fc8]
lea r10, [rdx + rax]
mov rdx, qword [rsp + 0x138]
mov r9, qword [rsp + 0x60]
nop dword [rax]
test rax, rax
jge 0x4baa60
mov r8, qword [rsp + 0x70]
mov rsi, r9
mov rdi, qword [rsp + 0xf0]
jmp 0x4ba6c2
cmp r10, r9
ja 0x4bb007
mov rcx, r9
sub rcx, r10
mov r11, qword [rsp + 0x70]
mov r12, r11
sub r11, r10
mov r13, r11
neg r11
sar r11, 0x3f
and r11, r10
mov r10, qword [0x006f9fe8]
mov r15, qword [rsp + 0x50]
add r10, r15
mov rbx, rdx
mov rdx, qword [rsp + 0xf0]
add r11, rdx
cmp rcx, r10
jge 0x4baab7
mov r8, r12
mov rsi, r9
mov rdi, rdx
jmp 0x4ba6c2
jb 0x4bafff
mov qword [rsp + 0xb8], rax
mov rsi, r13
sub r13, r10
mov qword [rsp + 0x88], r13
mov rdi, r13
neg r13
sar r13, 0x3f
and r13, r10
sub rcx, r10
mov qword [rsp + 0x80], rcx
add r13, r11
mov qword [rsp + 0x100], r13
cmp r15, r10
jle 0x4bab05
xor r8d, r8d
nop
jmp 0x4bab85
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0x118], r11
mov qword [rsp + 0xb0], r10
mov rax, r11
mov rbx, qword [rsp + 0xe8]
mov rcx, r15
call sym.runtime.memequal
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x138]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x88]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0x118]
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x100]
mov r8d, eax
mov rax, qword [rsp + 0xb8]
test r8b, r8b
je 0x4bac39
mov r15, qword [0x006f9fe8]
cmp r15, r10
jg 0x4bac2d
mov r8, r10
sub r10, r15
cmp r10, r8
ja 0x4baff4
mov qword [rsp + 0xd8], r10
sub r8, r10
sub r10, rsi
sar r10, 0x3f
mov rsi, r13
mov r13, qword [rsp + 0xd8]
and r13, r10
lea r10, [r13 + r11]
cmp r15, r8
je 0x4babdc
xor r8d, r8d
jmp 0x4bac33
mov rbx, qword [str._____]
mov rax, r10
mov rcx, r8
call sym.runtime.memequal
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x88]
mov r9, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r8d, eax
mov rax, qword [rsp + 0xb8]
jmp 0x4bac33
mov rsi, r13
xor r8d, r8d
xor r8d, 1
jmp 0x4bac42
mov rsi, r13
mov r8d, 1
test r8b, r8b
je 0x4bac55
mov r8, r12
mov rsi, r9
mov rdi, rdx
jmp 0x4ba6c2
mov rax, rsi
mov rbx, rcx
mov rcx, rdi
nop
call sym.encoding_pem.getLine
test rbx, rbx
je 0x4bac85
mov r8, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0xf0]
nop dword [rax]
jmp 0x4ba6c2
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
ja 0x4bafef
mov rax, qword [rsp + 0xf0]
mov rbx, rcx
mov rcx, rdx
call sym.encoding_pem.removeSpacesAndTabs
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xc0], rcx
mov rdx, qword [0x00704290]
cmp dword [rdx + 0x140], 0xffffffff
jne 0x4bacf2
lea rdx, [rbx + rbx*2]
mov rsi, rdx
shl rdx, 1
sar rdx, 0x3f
shr rdx, 0x3d
lea rdx, [rdx + rsi*2]
sar rdx, 3
jmp 0x4bacfa
shr rbx, 2
lea rdx, [rbx + rbx*2]
mov qword [rsp + 0x38], rdx
lea rax, [0x00514ca0]
mov rbx, rdx
mov rcx, rbx
call sym.runtime.makeslice
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x138]
mov qword [rdx + 0x20], rdi
mov qword [rdx + 0x28], rdi
cmp dword [0x00758f60], 0
je 0x4bad3f
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r10, qword [rdx + 0x18]
mov qword [r11 + 8], r10
mov qword [rdx + 0x18], rax
mov rax, qword [0x00704290]
mov rbx, qword [rdx + 0x18]
mov rcx, rdi
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xc0]
call sym.encoding_base64._Encoding_.Decode
test rbx, rbx
je 0x4baf2c
mov r8, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0xf0]
jmp 0x4ba6c2
xor eax, eax
mov rbx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x170]
add rsp, 0x150
pop rbp
ret
mov qword [rax], rdx
mov rdx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x108]
test rax, rax
je 0x4bafbf
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xf0], rbx
mov rdx, rax
mov rax, rbx
mov rbx, rdx
call sym.encoding_pem.getLine
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], r8
mov rdx, qword [0x006fa000]
mov r9, qword [0x006fa008]
mov r10, qword [0x006fa010]
mov rdi, rdx
mov rsi, r9
mov r8, r10
call sym.bytes.Cut
nop dword [rax + rax]
test r9b, r9b
je 0x4ba965
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0xe0], rdi
nop dword [rax + rax]
call sym.bytes.TrimSpace
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xa8], rbx
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x40]
call sym.bytes.TrimSpace
mov rcx, rbx
mov rbx, rax
xor eax, eax
call sym.runtime.slicebytetostring
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0x138]
mov rsi, qword [rdx + 0x10]
mov qword [rsp + 0x128], rsi
mov rcx, qword [rsp + 0xa8]
xor eax, eax
mov rbx, qword [rsp + 0x110]
call sym.runtime.slicebytetostring
mov rcx, rax
mov rdi, rbx
lea rax, [0x0051b220]
mov rbx, qword [rsp + 0x128]
call sym.runtime.mapassign_faststr
mov rdx, qword [rsp + 0xd8]
mov qword [rax + 8], rdx
cmp dword [0x00758f60], 0
jne 0x4baf10
mov rdx, qword [rsp + 0x130]
jmp 0x4badb1
call sym.runtime.gcWriteBarrier2
mov rdx, qword [rsp + 0x130]
mov qword [r11], rdx
mov rsi, qword [rax]
mov qword [r11 + 8], rsi
jmp 0x4badb1
mov rsi, qword [rsp + 0x138]
mov rdx, qword [rsi + 0x28]
nop dword [rax + rax]
cmp rax, rdx
ja 0x4bafe7
mov qword [rsi + 0x20], rax
mov rdx, qword [0x006f9fc8]
mov rdi, qword [rsp + 0xb8]
lea rax, [rdi + rdx]
lea rax, [rax - 1]
add rdx, rdi
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
jb 0x4bafe2
sub rcx, rdx
mov rsi, qword [rsp + 0x70]
sub rsi, rdx
lea rdx, [rsi + 1]
mov rsi, rdx
neg rdx
lea rbx, [rcx + 1]
sar rdx, 0x3f
and rax, rdx
mov rdx, qword [rsp + 0xf0]
add rax, rdx
mov rcx, rsi
nop
call sym.encoding_pem.getLine
mov rax, qword [rsp + 0x138]
mov rbx, rdi
mov rcx, rsi
mov rdi, r8
add rsp, 0x150
pop rbp
ret
xor eax, eax
mov rbx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x170]
add rsp, 0x150
pop rbp
ret
call sym.runtime.panicSliceB
mov rcx, rax
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
mov rax, r10
mov rcx, r8
call sym.runtime.panicSliceB
mov rax, r10
call sym.runtime.panicSliceB
mov rax, r10
mov rcx, r9
call sym.runtime.panicSliceB
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
mov rdx, rcx
mov rcx, r10
call sym.runtime.panicSliceAcap
mov rax, rbx
mov rcx, r9
call sym.runtime.panicSliceB
mov rax, r9
mov rcx, rbx
call sym.runtime.panicSliceB
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
nop dword [rax + rax]
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.encoding_pem.Decode