Function at 0x6f5f6600
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
lea r12d, [r9 + 1]
mov r14, rcx
mov qword [rbp + 0x98], rdx
mov qword [rbp + 0xa0], r8
mov dword [rbp + 0xa8], r9d
movsxd rax, r12d
lea rdi, [rax*8]
shl rax, 7
add rax, 0x10
call fcn.6f6380d0
mov ebx, 0x10
mov edx, r9d
sub rsp, rax
add edx, edx
lea r13, [rsp + 0x20]
mov dword [rbp + 0x34], edx
call sym.dv_zero
mov rcx, rdi
mov rsi, r13
shr rcx, 3
mov qword [rbp - 0x48], rcx
nop word [rax + rax]
mov rcx, rsi
mov edx, r12d
add rsi, rdi
call sym.dv_zero
sub ebx, 1
jne 0x6f5f6680
mov r9d, dword [rbp + 0xa8]
mov r8d, dword [rbp + 0xa8]
test r9d, r9d
jle 0x6f5f6c9c
lea r11, [r13 + rdi]
sub r8d, 1
mov dword [rbp - 0x4c], r12d
lea r10, [r8*8 + 8]
mov qword [rbp + 0x90], r14
mov dword [rbp + 0x30], r8d
lea r15, [r11 + rdi]
xor ecx, ecx
xor edx, edx
mov qword [rbp + 0x38], r10
mov qword [rbp - 0x58], rdi
mov r14, r11
lea rax, [r15 + rdi]
mov qword [rbp - 0x40], r15
mov r15, qword [rbp + 0xa0]
mov qword [rbp - 0x38], rax
add rax, rdi
mov qword [rbp - 0x30], rax
add rax, rdi
mov qword [rbp - 0x28], rax
add rax, rdi
mov qword [rbp - 0x20], rax
add rax, rdi
mov qword [rbp - 0x18], rax
add rax, rdi
mov qword [rbp - 0x10], rax
add rax, rdi
mov qword [rbp - 8], rax
add rax, rdi
mov r12, qword [rbp - 8]
mov qword [rbp], rax
add rax, rdi
mov qword [rbp + 8], rax
add rax, rdi
mov qword [rbp + 0x10], rax
add rax, rdi
mov qword [rbp + 0x18], rax
add rax, rdi
mov qword [rbp + 0x20], rax
add rax, rdi
mov qword [rbp + 0x28], rax
nop dword [rax + rax]
mov r9, qword [r15 + rcx]
mov rdi, rdx
mov rsi, rdx
shr rdx, 0x3d
shr rdi, 0x3f
mov rbx, qword [rbp - 0x38]
mov r11, qword [rbp - 0x30]
mov qword [r13 + rcx], 0
shr rsi, 0x3e
lea rax, [r9*8]
lea r10, [r9 + r9]
lea r8, [r9*4]
mov qword [r14 + rcx], r9
or rax, rdx
mov rdx, qword [rbp - 0x40]
or r10, rdi
or r8, rsi
mov rdi, qword [rbp - 0x28]
mov rsi, r9
xor rsi, r8
mov qword [rdx + rcx], r10
mov rdx, r9
xor rdx, r10
mov qword [rbx + rcx], rdx
mov qword [r11 + rcx], r8
mov rbx, r10
mov r11, qword [rbp - 0x20]
mov qword [rdi + rcx], rsi
xor rbx, r8
mov rdi, qword [rbp - 0x18]
xor r10, rax
xor rsi, rax
mov qword [r11 + rcx], rbx
mov r11, rdx
xor rdx, rax
xor r11, r8
xor r8, rax
xor rbx, rax
mov qword [rdi + rcx], r11
mov rdi, qword [rbp - 0x10]
mov qword [rdi + rcx], rax
mov rdi, r9
xor rdi, rax
xor rax, r11
mov qword [r12 + rcx], rdi
mov rdi, qword [rbp]
mov qword [rdi + rcx], r10
mov r10, qword [rbp + 8]
mov qword [r10 + rcx], rdx
mov rdx, qword [rbp + 0x10]
mov qword [rdx + rcx], r8
mov r8, qword [rbp + 0x18]
mov rdx, r9
mov qword [r8 + rcx], rsi
mov rsi, qword [rbp + 0x20]
mov qword [rsi + rcx], rbx
mov rbx, qword [rbp + 0x28]
mov qword [rbx + rcx], rax
add rcx, 8
cmp qword [rbp + 0x38], rcx
jne 0x6f5f6750
test r9, r9
mov r12d, dword [rbp - 0x4c]
mov rdi, qword [rbp - 0x58]
mov r14, qword [rbp + 0x90]
je 0x6f5f6956
mov r15, qword [rbp - 0x48]
movsxd rcx, dword [rbp + 0xa8]
mov r10, r9
mov r8, r9
shr r10, 0x3f
shr rdx, 0x3d
shr r8, 0x3e
lea rsi, [r15 + r15]
lea rbx, [r15*4]
lea r9, [rcx + r15]
lea rax, [rsi + r15]
add rsi, rcx
mov qword [r13 + r9*8], 0
mov qword [r13 + rcx*8], 0
lea r11, [rax + rcx]
mov qword [r13 + r11*8], r10
mov qword [r13 + rsi*8], r10
lea rsi, [rbx + r15]
mov r11, r15
add rbx, rcx
lea r9, [rsi + rcx]
mov qword [r13 + r9*8], r8
lea r9, [r15*8]
mov qword [r13 + rbx*8], r8
mov rbx, r10
xor r10, rdx
mov r15, r9
xor rbx, r8
xor r8, rdx
sub r15, r11
lea r11, [r15 + rcx]
mov qword [r13 + r11*8], rbx
lea r11, [rcx + rax*2]
shl rax, 2
mov qword [r13 + r11*8], rbx
mov r11, qword [rbp - 0x48]
add r11, r9
add r9, rcx
add r11, rcx
mov qword [r13 + r11*8], rdx
mov qword [r13 + r9*8], rdx
lea r9, [rsi + rsi]
mov rsi, qword [rbp - 0x48]
xor rdx, rbx
lea r11, [r9 + rsi]
add r9, rcx
add r11, rcx
mov qword [r13 + r11*8], r10
mov qword [r13 + r9*8], r10
lea r10, [rax + rsi]
add rax, rcx
add r10, rcx
mov qword [r13 + r10*8], r8
mov qword [r13 + rax*8], r8
mov r8, rsi
shl r8, 4
sub r8, rsi
add r8, rcx
lea rcx, [rcx + r15*2]
mov qword [r13 + r8*8], rdx
mov qword [r13 + rcx*8], rdx
mov edx, dword [rbp + 0x30]
mov esi, 0x3c
lea rax, [rdx*8 + 8]
mov qword [rbp + 0x20], rax
add rax, qword [rbp + 0x98]
mov qword [rbp + 0x38], rax
mov r9d, dword [rbp + 0xa8]
mov rbx, r14
mov r15, qword [rbp + 0x98]
test r9d, r9d
jle 0x6f5f6af7
mov r11, qword [rbp + 0x38]
sub r11, r15
sub r11, 8
shr r11, 3
add r11, 1
and r11d, 3
je 0x6f5f6a4c
cmp r11, 1
je 0x6f5f6a18
cmp r11, 2
je 0x6f5f69ed
mov rbx, qword [r15]
mov ecx, esi
mov r9d, r12d
mov rdx, r14
mov qword [rbp + 0x28], rbx
shr rbx, cl
mov rcx, r14
and ebx, 0xf
imul rbx, rdi
lea r8, [r13 + rbx]
lea rbx, [r14 + 8]
call sym.fb_addd_low
mov r10, qword [rbp + 0x98]
lea r15, [r10 + 8]
mov r8, qword [r15]
mov ecx, esi
mov rdx, rbx
mov r9d, r12d
add r15, 8
shr r8, cl
mov rcx, rbx
add rbx, 8
and r8d, 0xf
imul r8, rdi
lea r8, [r13 + r8]
call sym.fb_addd_low
mov rdx, qword [r15]
mov ecx, esi
mov r9d, r12d
add r15, 8
shr rdx, cl
mov rcx, rbx
and edx, 0xf
imul rdx, rdi
lea r8, [r13 + rdx]
mov rdx, rbx
add rbx, 8
call sym.fb_addd_low
cmp r15, qword [rbp + 0x38]
je 0x6f5f6af7
mov rax, qword [r15]
mov ecx, esi
mov rdx, rbx
mov r9d, r12d
add r15, 0x20
shr rax, cl
mov rcx, rbx
and eax, 0xf
imul rax, rdi
lea r8, [r13 + rax]
call sym.fb_addd_low
mov r10, qword [r15 - 0x18]
mov ecx, esi
lea r11, [rbx + 8]
mov r9d, r12d
mov rdx, r11
shr r10, cl
mov rcx, r11
and r10d, 0xf
imul r10, rdi
lea r8, [r13 + r10]
call sym.fb_addd_low
mov r8, qword [r15 - 0x10]
mov ecx, esi
lea r11, [rbx + 0x10]
mov r9d, r12d
mov rdx, r11
shr r8, cl
mov rcx, r11
and r8d, 0xf
imul r8, rdi
lea r8, [r13 + r8]
call sym.fb_addd_low
mov rdx, qword [r15 - 8]
mov ecx, esi
lea r10, [rbx + 0x18]
mov r9d, r12d
add rbx, 0x20
shr rdx, cl
mov rcx, r10
and edx, 0xf
imul rdx, rdi
lea r8, [r13 + rdx]
mov rdx, r10
call sym.fb_addd_low
cmp r15, qword [rbp + 0x38]
jne 0x6f5f6a4c
mov r8d, dword [rbp + 0x34]
mov r9d, 4
mov rdx, r14
mov rcx, r14
call sym.bn_lshb_low
sub esi, 4
jne 0x6f5f6975
mov r15, qword [rbp + 0x20]
mov esi, dword [rbp + 0xa8]
add r15, r14
test esi, esi
jle 0x6f5f6c8b
mov r9, r15
sub r9, r14
sub r9, 8
shr r9, 3
add r9, 1
and r9d, 3
je 0x6f5f6bf8
cmp r9, 1
je 0x6f5f6bbb
cmp r9, 2
je 0x6f5f6b86
mov rbx, qword [rbp + 0x98]
mov rdx, r14
mov rcx, r14
mov r9d, r12d
add r14, 8
mov rax, qword [rbx]
mov qword [rbp + 0x38], rax
and eax, 0xf
imul rax, rdi
lea r8, [r13 + rax]
call sym.fb_addd_low
add qword [rbp + 0x98], 8
mov r11, qword [rbp + 0x98]
mov rdx, r14
mov rcx, r14
mov r9d, r12d
add r14, 8
mov r8, qword [r11]
mov qword [rbp + 0x38], r8
and r8d, 0xf
imul r8, rdi
lea r8, [r13 + r8]
call sym.fb_addd_low
add qword [rbp + 0x98], 8
mov r10, qword [rbp + 0x98]
mov rcx, r14
mov r9d, r12d
mov rdx, qword [r10]
mov qword [rbp + 0x38], rdx
and edx, 0xf
imul rdx, rdi
lea r8, [r13 + rdx]
mov rdx, r14
add r14, 8
call sym.fb_addd_low
add qword [rbp + 0x98], 8
cmp r14, r15
je 0x6f5f6c8b
mov rsi, qword [rbp + 0x98]
mov rcx, qword [rsi]
mov rdx, r14
mov r9d, r12d
add rsi, 0x20
and ecx, 0xf
imul rcx, rdi
lea r8, [r13 + rcx]
mov rcx, r14
call sym.fb_addd_low
mov rbx, qword [rsi - 0x18]
lea rcx, [r14 + 8]
mov r9d, r12d
mov rdx, rcx
and ebx, 0xf
imul rbx, rdi
lea r8, [r13 + rbx]
call sym.fb_addd_low
mov rax, qword [rsi - 0x10]
lea rcx, [r14 + 0x10]
mov r9d, r12d
mov rdx, rcx
and eax, 0xf
imul rax, rdi
lea r8, [r13 + rax]
call sym.fb_addd_low
mov r11, qword [rsi - 8]
lea rcx, [r14 + 0x18]
mov r9d, r12d
add r14, 0x20
mov rdx, rcx
and r11d, 0xf
imul r11, rdi
lea r8, [r13 + r11]
call sym.fb_addd_low
cmp r14, r15
jne 0x6f5f6bff
lea rsp, [rbp + 0x48]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub r8d, 1
mov dword [rbp + 0x30], r8d
jmp 0x6f5f6956