Function at 0x6ece50
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor r12d, r12d
mov rax, rcx
mov qword [rsp + 0x90], rcx
mov ecx, dword [rcx]
mov qword [rsp + 0xa0], r8
lea r8, [rax + 8]
mov qword [rsp + 0x98], rdx
test ecx, ecx
jle 0x6ece97
movsxd rax, ecx
cmp byte [r8 + rax - 1], 0x3d
je 0x6ed1f0
mov edx, dword [rsp + 0xb0]
xor r13d, r13d
test edx, edx
je 0x6ed068
mov rax, qword [rsp + 0x90]
lea r15, [0x007e05a0]
test byte [rax + 0x5c], 2
lea rax, [0x007e0520]
cmovne r15, rax
mov eax, dword [rsp + 0xb0]
test eax, eax
jle 0x6ed262
movsxd rax, dword [rsp + 0xb0]
mov dword [rsp + 0xb0], 0
add rax, r9
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
add rax, 0x48
mov qword [rsp + 0x30], rax
lea eax, [r8 + 0x40]
mov dword [rsp + 0x3c], eax
jmp 0x6ecf3d
test r12d, r12d
je 0x6ecf78
or eax, 0x13
cmp al, 0xf3
jne 0x6ed062
cmp r10d, 0xf2
je 0x6ed218
cmp ecx, 0x40
je 0x6ecfa4
cmp qword [rsp + 0x28], r9
je 0x6ed020
movzx edx, byte [r9]
add r9, 1
test dl, dl
js 0x6ed062
movzx eax, dl
movzx r10d, byte [r15 + rax]
mov eax, r10d
cmp r10d, 0xff
je 0x6ed062
cmp dl, 0x3d
jne 0x6ecf10
add r12d, 1
cmp r12d, 3
je 0x6ed062
cmp r10d, 0xf2
je 0x6ed218
or eax, 0x13
cmp al, 0xf3
je 0x6ecf2d
cmp ecx, 0x3f
jg 0x6ed062
movsxd rax, ecx
add ecx, 1
mov byte [r8 + rax], dl
cmp ecx, 0x40
jne 0x6ecf32
mov rax, qword [rsp + 0x90]
lea rbx, [0x007e05a0]
mov r10, qword [rsp + 0x30]
mov rcx, r8
mov edx, dword [rsp + 0x3c]
test byte [rax + 0x5c], 2
lea rax, [0x007e0520]
cmovne rbx, rax
nop
movzx eax, byte [rcx]
mov edi, edx
sub edi, ecx
test al, al
js 0x6ed0a0
cmp byte [rbx + rax], 0xe0
jne 0x6ed0a0
add rcx, 1
cmp r10, rcx
jne 0x6ecfd0
test r12d, r12d
jne 0x6ed060
xor r13d, r13d
sub r13d, r12d
xor ecx, ecx
add dword [rsp + 0xb0], r13d
movsxd r13, r13d
add qword [rsp + 0x98], r13
cmp qword [rsp + 0x28], r9
jne 0x6ecf3d
nop dword [rax]
test ecx, ecx
jle 0x6ed029
test cl, 3
je 0x6ed03e
test ecx, ecx
setne r13b
test r12d, r12d
sete al
or r13d, eax
movzx r13d, r13b
jmp 0x6ed068
mov r9d, ecx
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call sym.evp_decodeblock_int
cmp r12d, eax
jle 0x6ed272
nop
xor ecx, ecx
mov r13d, 0xffffffff
mov rax, qword [rsp + 0xa0]
mov esi, dword [rsp + 0xb0]
mov dword [rax], esi
mov rax, qword [rsp + 0x90]
mov dword [rax], ecx
mov eax, r13d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp edi, 3
jle 0x6ed0ce
movsxd rax, edi
lea rdx, [rcx + rax - 1]
jmp 0x6ed0c7
movzx eax, byte [rbx + rax]
or eax, 0x13
cmp al, 0xf3
jne 0x6ed0ce
sub edi, 1
sub rdx, 1
cmp edi, 3
je 0x6ed060
movzx eax, byte [rdx]
test al, al
jns 0x6ed0b0
test dil, 3
jne 0x6ed060
test edi, edi
je 0x6ecff2
mov rsi, qword [rsp + 0x98]
xor ebp, ebp
xor r13d, r13d
jmp 0x6ed188
movzx eax, byte [rbx + rax]
movzx edx, byte [rcx + 1]
mov r14d, eax
test dl, dl
js 0x6ed1b0
movzx r10d, byte [rcx + 2]
movzx edx, byte [rbx + rdx]
test r10b, r10b
js 0x6ed1c8
add rcx, 4
movzx r11d, byte [rbx + r10]
movzx r10d, byte [rcx - 1]
test r10b, r10b
js 0x6ed1e0
movzx r10d, byte [rbx + r10]
test r14b, r14b
js 0x6ed060
test dl, dl
js 0x6ed060
test r11b, r11b
js 0x6ed060
test r10b, r10b
js 0x6ed060
shl edx, 0xc
shl eax, 0x12
add rsi, 3
add ebp, 4
or eax, edx
shl r11d, 6
add r13d, 3
or eax, r11d
mov byte [rsi - 2], ah
mov edx, eax
or r10d, eax
shr edx, 0x10
mov byte [rsi - 3], dl
mov byte [rsi - 1], r10b
cmp ebp, edi
jge 0x6ecffa
movzx eax, byte [rcx]
test al, al
jns 0x6ed0f0
movzx edx, byte [rcx + 1]
mov r14d, 0xffffffff
mov eax, 0xff
test dl, dl
jns 0x6ed103
nop word [rax + rax]
movzx r10d, byte [rcx + 2]
mov edx, 0xff
test r10b, r10b
jns 0x6ed115
nop dword [rax + rax]
movzx r10d, byte [rcx + 3]
add rcx, 4
mov r11d, 0xff
test r10b, r10b
jns 0x6ed12c
mov r10d, 0xff
jmp 0x6ed131
mov r12d, 1
cmp ecx, 1
je 0x6ece97
xor r12d, r12d
cmp byte [r8 + rax - 2], 0x3d
sete r12b
add r12d, 1
jmp 0x6ece97
xor r13d, r13d
test ecx, ecx
jle 0x6ed068
mov r13d, ecx
and r13d, 3
jne 0x6ed062
mov r9d, ecx
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call sym.evp_decodeblock_int
cmp r12d, eax
jg 0x6ed060
sub eax, r12d
xor ecx, ecx
add dword [rsp + 0xb0], eax
jmp 0x6ed068
mov dword [rsp + 0xb0], 0
jmp 0x6ed020
sub eax, r12d
xor ecx, ecx
add dword [rsp + 0xb0], eax
jmp 0x6ed029