Function at 0x1400f7c37
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, r9
mov rbx, r8
mov r12, rdx
mov rsi, rcx
test r8, r8
je 0x1400f7c5f
cmp byte [r12], 0
je 0x1400f7caa
lea rcx, [rbx + 7]
shr rcx, 3
call fcn.1400f80ee
mov r15, rax
mov r14, rdx
mov rcx, r12
mov rdx, rbx
mov r8, rax
mov r9, r14
call fcn.1400f5e24
mov ebx, 0xf
lea r12, [0x14056143d]
test al, al
jne 0x1400f7cf1
cmp r14, 0x80
jbe 0x1400f7cb8
mov ebx, 8
lea r12, [0x1405613ef]
jmp 0x1400f7cf1
mov ebx, 0xf
lea r12, [0x1405613bc]
jmp 0x1400f7cfc
cmp r14, 4
jb 0x1400f7cf1
mov rcx, r15
mov rdx, r14
call fcn.140192510
test rax, rax
je 0x1400f7cdc
mov ebx, 0x10
lea r12, [0x1405613ac]
jmp 0x1400f7cf1
mov edx, 3
mov rcx, r15
mov r8, r14
call fcn.140192ac0
test rax, rax
je 0x1400f7d19
mov rcx, r15
mov rdx, r14
call fcn.140100317
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], rbx
and qword [rsi], 0
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r15]
call fcn.140192b90
mov r12, rax
mov rcx, r15
mov rdx, r14
call fcn.1400f8026
mov rbx, rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x48], r12
and qword [rsp + 0x50], 0
lea rbp, [rax - 1]
mov rcx, r14
call fcn.1400f80ee
mov r13, rax
mov rax, rbp
shr rax, 6
mov qword [rsp + 0x28], rdx
cmp rax, rdx
jae 0x1400f7f1a
lea r8, [rbx + 0x3f]
mov edx, 1
mov ecx, ebp
shl rdx, cl
and r8, 0xffffffffffffffc0
mov qword [r13 + rax*8], rdx
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x20], r8
lea r12, [r8 + 3]
cmp rbx, r12
je 0x1400f7db0
mov rcx, r13
mov rdx, r13
mov r8, rbp
mov r9, r14
call fcn.1401928c0
dec r12
jmp 0x1400f7d95
mov r8, qword [rsp + 0x20]
shr r8, 1
lea rbp, [rsp + 0x38]
mov rcx, r13
mov rdx, qword [rsp + 0x28]
mov r9, rbp
call fcn.1400f88d2
mov qword [rbp], r15
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rdx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x20], rax
and qword [rbp + 0x28], 0
mov r8, qword [rsp + 0xd8]
cmp r8, 0x3ff
jbe 0x1400f7f1a
mov eax, ebx
shr eax, 1
mov edx, ebx
shr edx, 2
or edx, eax
or edx, ebx
and edx, 1
mov rcx, rbx
shr rcx, 3
add rcx, rdx
mov rax, rcx
shr rax, 0x3d
mov r14, qword [rsp + 0xd0]
jne 0x1400f7e45
shl rcx, 3
mov eax, 8
lea rdx, [0x1405613e7]
cmp rcx, r8
jae 0x1400f7e6c
mov rcx, rdx
jmp 0x1400f7e51
lea rcx, [0x14056143d]
mov eax, 0xf
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rax
and qword [rsi], 0
lea rcx, [rsp + 0x38]
call fcn.1400f7f1e
jmp 0x1400f7d08
lea rcx, [0x1405613ef]
cmp rbx, qword [rsp + 0xe0]
ja 0x1400f7e51
cmp r14, 5
ja 0x1400f7e51
test r14, r14
je 0x1400f7e8d
cmp byte [rdi], 0
je 0x1400f7ecc
xor r9d, r9d
lea r10, [0x1405613bc]
xor r8d, r8d
test r14, r14
je 0x1400f7ec7
movzx r11d, byte [rdi + r9]
inc r9
shl r8, 8
or r8, r11
cmp r14, r9
jne 0x1400f7e9a
test r11b, 1
jne 0x1400f7ed8
mov eax, 0x10
lea rcx, [0x1405613ac]
jmp 0x1400f7e51
mov rcx, r10
jmp 0x1400f7e4c
lea rcx, [0x1405613bc]
jmp 0x1400f7e4c
cmp r8, qword [rsp + 0xe8]
jb 0x1400f7e40
mov rdx, r8
shr rdx, 0x21
jne 0x1400f7e51
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movups xmm2, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rsi + 0x30], r8
mov qword [rsi + 0x38], rbx
jmp 0x1400f7d08
ud2