Function at 0x140030450
Capabilities:
Encode data using base64

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x148], rbx
mov rax, qword [0x14042b130]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x30], rdx
xor r12d, r12d
mov dword [rsp + 0x24], r12d
movaps xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movaps xmmword [rbp - 0x39], xmm0
movaps xmm1, xmmword [0x140193780]
movaps xmmword [rbp - 0x29], xmm1
movaps xmm0, xmmword [0x140193790]
movaps xmmword [rbp - 0x19], xmm0
movaps xmm1, xmmword [0x1401937a0]
movaps xmmword [rbp - 9], xmm1
movzx eax, byte [0x1401937b0]
mov byte [rbp + 7], al
movaps xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [0x1401937d0]
movaps xmmword [rbp - 0x79], xmm1
movaps xmm0, xmmword [0x1401937e0]
movaps xmmword [rbp - 0x69], xmm0
movaps xmm1, xmmword [0x1401937f0]
movaps xmmword [rbp - 0x59], xmm1
movzx eax, byte [0x140193800]
mov byte [rbp - 0x49], al
and r8d, 1
lea r14, [rsp + 0x40]
lea rax, [rbp - 0x39]
cmove r14, rax
mov esi, r12d
mov rax, qword [rcx]
mov ecx, dword [rax + 4]
add ecx, 2
mov eax, 0x55555556
imul ecx
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
shl ebx, 2
lea r8d, [rbx + 1]
mov r9d, r12d
lea edx, [r12 + 8]
lea ecx, [rdx - 7]
call fcn.14002d450
mov qword [r15], rax
test rax, rax
jne 0x14003055a
call fcn.1400315a0
mov rax, qword [r15]
mov dword [rax + 4], ebx
mov rcx, qword [r15]
movsxd rax, ebx
add rax, qword [rcx + 0x10]
mov byte [rax + rcx], sil
mov r11d, 1
mov dword [rsp + 0x24], r11d
mov edi, r12d
mov rax, qword [r15]
cmp dword [rax], r11d
ja 0x14003058b
cmp qword [rax + 0x10], 0x18
je 0x1400305ac
mov r8d, r12d
cmp dword [rax + 8], 0x80000000
cmovae r8d, r11d
mov edx, dword [rax + 4]
inc edx
mov rcx, r15
call fcn.14002f7d0
mov r11d, 1
mov rcx, qword [r15]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov r8, qword [r13]
mov r10d, dword [r8 + 4]
test r10d, r10d
jle 0x14003069f
mov r9, r12
nop word [rax + rax]
mov rax, qword [r8 + 0x10]
add rax, r9
movzx edx, byte [rax + r8]
shl edx, 0x10
inc edi
inc r9
cmp edi, r10d
jne 0x1400305f0
mov esi, 2
jmp 0x140030623
mov rax, qword [r8 + 0x10]
add rax, r9
movzx ecx, byte [rax + r8]
shl ecx, 8
or edx, ecx
inc edi
inc r9
cmp edi, r10d
jne 0x140030610
mov esi, r11d
jmp 0x140030623
mov rax, qword [r8 + 0x10]
add rax, r9
movzx eax, byte [rax + r8]
or edx, eax
inc edi
inc r9
mov r8d, edx
shr r8d, 6
and r8d, 0x3f
mov r10d, edx
and r10d, 0x3f
mov ecx, edx
mov eax, edx
shr rax, 0x12
movzx eax, byte [rax + r14]
mov byte [rbx], al
shr rcx, 0xc
and ecx, 0x3f
movzx eax, byte [rcx + r14]
mov byte [rbx + 1], al
add rbx, 2
cmp esi, 1
jle 0x140030669
mov eax, dword [rbp + 0x77]
and eax, 2
jne 0x140030673
mov byte [rbx], 0x3d
jmp 0x140030670
movzx ecx, byte [r8 + r14]
mov byte [rbx], cl
inc rbx
test esi, esi
jle 0x140030684
mov eax, dword [rbp + 0x77]
and eax, 2
jne 0x14003068e
mov byte [rbx], 0x3d
jmp 0x14003068b
movzx ecx, byte [r10 + r14]
mov byte [rbx], cl
inc rbx
mov r8, qword [r13]
mov r10d, dword [r8 + 4]
cmp edi, r10d
jl 0x1400305d0
mov eax, dword [rbp + 0x77]
and eax, 2
je 0x1400306e8
mov rax, qword [r15]
cmp dword [rax], 1
ja 0x1400306b6
cmp qword [rax + 0x10], 0x18
je 0x1400306d1
cmp dword [rax + 8], 0x80000000
cmovae r12d, r11d
mov edx, dword [rax + 4]
inc edx
mov r8d, r12d
mov rcx, r15
call fcn.14002f7d0
mov rcx, qword [r15]
sub ebx, dword [rcx + 0x10]
sub ebx, ecx
cmp ebx, dword [rcx + 4]
jge 0x1400306e8
mov edx, ebx
mov rcx, r15
call fcn.14002fe40
mov rax, r15
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14010b650
mov rbx, qword [rsp + 0x148]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret