Function at 0x4fb350
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, r9
mov r14, rdx
mov r15, rcx
mov r12, qword [rsp + 0x80]
test r8, r8
je 0x4fb4ab
mov rsi, r8
test rdi, rdi
je 0x4fb4c9
mov rax, rsi
shr rax, 0x2f
jne 0x4fb3be
mov rdx, rsi
shr rdx, 0x20
mov rax, qword [r15 + rdx*8 + 8]
test rax, rax
je 0x4fb3be
mov rbx, rsi
shr rbx, 0x14
mov rax, qword [r15 + rdx*8 + 8]
test rax, rax
je 0x4fb633
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x4fb3d6
lea rcx, [r15 + 0x40dc0]
mov rdx, rsi
call fcn.00505d40
test rax, rax
je 0x4fb60f
mov rcx, r15
mov rdx, rsi
call fcn.004fb740
mov rbx, rax
cmp rax, rdi
cmova rbx, rdi
mov rcx, r15
mov rdx, r14
mov r8, rdi
mov r9, r12
call fcn.004fba90
mov rdi, rax
test rax, rax
je 0x4fb49b
test rbx, rbx
je 0x4fb49b
cmp rbx, 8
jb 0x4fb431
lea rax, [rsi + rbx]
cmp rdi, rax
jae 0x4fb4ea
lea rax, [rdi + rbx]
cmp rax, rsi
jbe 0x4fb4ea
xor eax, eax
mov r8, rax
not r8
add r8, rbx
mov rdx, rbx
and rdx, 3
je 0x4fb461
nop word cs:[rax + rax]
nop
movzx ecx, byte [rsi + rax]
mov byte [rdi + rax], cl
add rax, 1
add rdx, 0xffffffffffffffff
jne 0x4fb450
cmp r8, 3
jb 0x4fb49b
nop word [rax + rax]
movzx ecx, byte [rsi + rax]
mov byte [rdi + rax], cl
movzx ecx, byte [rsi + rax + 1]
mov byte [rdi + rax + 1], cl
movzx ecx, byte [rsi + rax + 2]
mov byte [rdi + rax + 2], cl
movzx ecx, byte [rsi + rax + 3]
mov byte [rdi + rax + 3], cl
add rax, 4
cmp rbx, rax
jne 0x4fb470
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.004fb260
jmp 0x4fb4d9
mov rcx, r15
mov rdx, r14
mov r8, rdi
mov r9, r12
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.004fba90
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.004fb260
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
cmp rbx, 0x20
jae 0x4fb4f7
xor eax, eax
jmp 0x4fb5df
mov rax, rbx
and rax, 0xffffffffffffffe0
lea rcx, [rax - 0x20]
mov rdx, rcx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 3
cmp rcx, 0x60
jae 0x4fb51e
xor ecx, ecx
jmp 0x4fb588
and rdx, 0xfffffffffffffffc
xor ecx, ecx
nop word cs:[rax + rax]
nop
movups xmm0, xmmword [rsi + rcx]
movups xmm1, xmmword [rsi + rcx + 0x10]
movups xmmword [rdi + rcx], xmm0
movups xmmword [rdi + rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + rcx + 0x20]
movups xmm1, xmmword [rsi + rcx + 0x30]
movups xmmword [rdi + rcx + 0x20], xmm0
movups xmmword [rdi + rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + rcx + 0x40]
movups xmm1, xmmword [rsi + rcx + 0x50]
movups xmmword [rdi + rcx + 0x40], xmm0
movups xmmword [rdi + rcx + 0x50], xmm1
movups xmm0, xmmword [rsi + rcx + 0x60]
movups xmm1, xmmword [rsi + rcx + 0x70]
movups xmmword [rdi + rcx + 0x60], xmm0
movups xmmword [rdi + rcx + 0x70], xmm1
sub rcx, 0xffffffffffffff80
add rdx, 0xfffffffffffffffc
jne 0x4fb530
test r8, r8
je 0x4fb5cd
lea r9, [rdi + rcx]
add r9, 0x10
add rcx, rsi
add rcx, 0x10
shl r8, 5
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
movups xmm0, xmmword [rcx + rdx - 0x10]
movups xmm1, xmmword [rcx + rdx]
movups xmmword [r9 + rdx - 0x10], xmm0
movups xmmword [r9 + rdx], xmm1
add rdx, 0x20
cmp r8, rdx
jne 0x4fb5b0
cmp rbx, rax
je 0x4fb49b
test bl, 0x18
je 0x4fb433
mov rcx, rax
mov rax, rbx
and rax, 0xfffffffffffffff8
nop dword [rax]
mov rdx, qword [rsi + rcx]
mov qword [rdi + rcx], rdx
add rcx, 8
cmp rax, rcx
jne 0x4fb5f0
cmp rbx, rax
je 0x4fb49b
jmp 0x4fb433
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_allocator_combined.h
lea r8, str.__PointerIsMine_p_______0_
mov edx, 0x69
xor r9d, r9d
call fcn.004b9330
mov rcx, r15
call fcn.00505960
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x4fb3d6
jmp 0x4fb3be