Function at 0x14005ff50
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 ebx, ebx
mov r14d, 0xffffffff
mov r15, qword [rsp + 0xb0]
mov rsi, rcx
mov qword [rsp + 0x28], rdx
mov edi, r9d
lea r13, [rsp + 0x30]
mov rcx, qword [0x140207460]
lea r12, [rdx + 0xb0]
mov edx, dword [rsi + 0xc]
mov dword [rsp + 0xa0], r8d
mov rax, qword [rcx]
mov qword [rsp + 0x38], rax
xor eax, eax
test edx, edx
jg 0x14005ffd1
jmp 0x1400600cf
mov r8, rcx
mov rdx, r12
mov rcx, rax
call fcn.14005fdc0
test eax, eax
jne 0x14006001c
nop word [rax + rax]
add rbx, 1
cmp dword [rsi + 0xc], ebx
jle 0x140060038
mov rdx, qword [rsi]
lea rax, [rbx + rbx*2]
lea rdx, [rdx + rax*8]
movzx eax, byte [rdx]
test al, 0x10
jne 0x14005ffc8
mov ebp, ebx
test al, 4
je 0x14005fff3
cmp r14d, 0xffffffff
je 0x140060028
test al, 1
jne 0x140060028
test al, 2
je 0x14005ffc8
mov rcx, qword [rdx + 0x10]
mov rax, qword [rdx + 8]
mov r9, r13
test rcx, rcx
cmove rcx, rax
test edi, edi
je 0x14005ffb0
mov r8, rax
mov rdx, r12
call fcn.14005fdc0
test eax, eax
je 0x14005ffc8
mov r14d, ebp
jmp 0x140060042
mov r14d, ebx
add rbx, 1
cmp dword [rsi + 0xc], ebx
jg 0x14005ffd1
nop dword [rax]
cmp r14d, 0xffffffff
je 0x1400600cf
mov rax, qword [rsi]
movsxd r10, r14d
lea rdx, [r10 + r10*2]
lea rbx, [rax + rdx*8]
test byte [rbx], 4
jne 0x140060088
mov rax, qword [rsp + 0x30]
test r15, r15
je 0x140060062
mov qword [r15], rbx
mov rdi, qword [0x140207460]
mov rdx, qword [rsp + 0x38]
sub rdx, qword [rdi]
jne 0x1400600d3
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x1400600b0
mov rax, qword [rsp + 0x28]
lea rbp, [rax + 0xb0]
mov rcx, rbp
call fcn.1400a5f80
jmp 0x14006005a
mov rbp, qword [rsp + 0x28]
lea rdx, [0x1401d4f96]
add rbp, 0xb0
mov rcx, rbp
call fcn.14007d6d0
test eax, eax
jne 0x14006009f
xor eax, eax
jmp 0x140060062
call fcn.1401be670
nop
nop dword [rax]
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [rsp + 0x80]
movsxd rax, dword [rdx + 0x20]
mov rcx, qword [rbx]
mov rdi, r9
test eax, eax
jne 0x1400601c0
mov rax, qword [0x140207cf0]
lea r9, [rcx + 4]
mov rax, qword [rax]
mov rax, qword [rax + 0x100]
cmp qword [rax + 0x10], 0x20
mov rax, qword [rdx]
je 0x1400601e5
mov r8, qword [rdx + 8]
xor rax, qword [rcx + 4]
xor r8, qword [rcx + 0xc]
or rax, r8
je 0x140060228
mov rax, qword [0x140207cf0]
mov rcx, qword [rax]
call fcn.1400f55a0
mov rsi, rax
test rax, rax
je 0x1400601ab
mov rbp, qword [rbx + 8]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
lea rcx, [rdx + 1]
cmp rax, rcx
jae 0x140060240
lea rdx, [rax + rax*2 + 0x30]
shr rdx, 1
cmp rdx, rcx
cmovb rdx, rcx
mov rax, rdx
mov qword [rbp + 0x10], rdx
shr rax, 0x3d
jne 0x140060251
mov rcx, qword [rbp]
shl rdx, 3
call fcn.1400a61c0
mov rdx, qword [rbp + 8]
mov qword [rbp], rax
lea rcx, [rdx + 1]
mov qword [rbp + 8], rcx
mov qword [rax + rdx*8], rsi
cmp rdi, qword [rbx + 0x10]
sbb eax, eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea r8, [rax + rax*2]
lea r9, [rcx + 4]
lea r8, [rax + r8*4]
mov rax, qword [0x1402079b0]
lea rax, [rax + r8*8]
cmp qword [rax + 0x10], 0x20
mov rax, qword [rdx]
jne 0x140060125
mov r8, qword [rdx + 8]
xor rax, qword [rcx + 4]
xor r8, qword [rcx + 0xc]
or rax, r8
jne 0x14006013a
mov rax, qword [rdx + 0x10]
mov rcx, qword [rdx + 0x18]
xor rax, qword [r9 + 0x10]
xor rcx, qword [r9 + 0x18]
or rax, rcx
jne 0x14006013a
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov eax, dword [r9 + 0x10]
cmp dword [rdx + 0x10], eax
jne 0x14006013a
jmp 0x140060213
mov rax, qword [rbp]
mov qword [rbp + 8], rcx
mov qword [rax + rdx*8], rsi
jmp 0x1400601ab
mov r8, rdx
lea rcx, [0x1401d4e60]
mov edx, 8
call fcn.1400a08a0
nop
nop word cs:[rax + rax]