Function at 0x14008a3f0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, rcx
mov r13, qword [rcx + 0x28]
mov rbx, qword [rcx + 0x158]
and ebx, 0x3f
mov r12, r13
mov ecx, ebx
shr r12, cl
test r12, r12
je 0x14008a5fe
mov rax, r12
shr rax, 0x3d
jne 0x14008a5fe
lea r14, [r12*4]
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, r14
call fcn.1400e65f0
test rax, rax
je 0x14008a5fe
mov rsi, rax
cmp r12, 8
jae 0x14008a45e
xor eax, eax
jmp 0x14008a4b0
mov rax, r12
and rax, 0xfffffffffffffff8
movdqa xmm0, xmmword [0x14010ffd0]
xor ecx, ecx
movdqa xmm1, xmmword [0x14010ffe0]
movdqa xmm2, xmmword [0x14010fff0]
nop
movdqa xmm3, xmm0
paddd xmm3, xmm1
movdqu xmmword [rsi + rcx*4], xmm0
movdqu xmmword [rsi + rcx*4 + 0x10], xmm3
add rcx, 8
paddd xmm0, xmm2
cmp rax, rcx
jne 0x14008a480
cmp r12, rax
je 0x14008a4bf
nop word cs:[rax + rax]
mov dword [rsi + rax*4], eax
lea rcx, [rax + 1]
mov rax, rcx
cmp r12, rcx
jne 0x14008a4b0
movabs r11, 0x1fffffffffffffff
mov rbp, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x160]
mov r8, r12
mov r9d, r12d
dec r9d
lea rax, [r8 - 0x80000000]
nop word cs:[rax + rax]
sub r8, 1
jb 0x14008a5db
cmp rax, 0xffffffff80000001
jb 0x14008a5fe
mov r10, r8
mov ecx, ebx
shl r10, cl
add r10, rdx
cmp r10, r13
jae 0x14008a5fe
mov rcx, qword [rbp + r10*8]
shr rcx, 0x2a
cmp ecx, 0x3fffff
jae 0x14008a4f0
cmp r9d, r8d
je 0x14008a5c9
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rdi
mov r10d, r9d
mov r15, r10
mov ecx, ebx
shl r15, cl
mov eax, r8d
mov r11, rax
shl r11, cl
mov r14d, 1
nop dword [rax + rax]
cmp r15, r13
jae 0x14008a5fe
cmp r11, r13
jae 0x14008a5fe
mov rcx, qword [rbp + r15*8]
mov rdi, qword [rbp + r11*8]
mov qword [rbp + r15*8], rdi
mov qword [rbp + r11*8], rcx
mov rdi, r14
mov ecx, ebx
shr rdi, cl
inc r11
inc r15
inc r14
test rdi, rdi
je 0x14008a560
cmp r12, r10
jbe 0x14008a5fe
cmp rax, r12
jae 0x14008a5fe
mov ecx, dword [rsi + r10*4]
mov r11d, dword [rsi + rax*4]
mov dword [rsi + r10*4], r11d
mov dword [rsi + rax*4], ecx
mov rdi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
movabs r11, 0x1fffffffffffffff
mov dword [rdi + 0x170], r9d
test r9d, r9d
jne 0x14008a4da
jmp 0x14008a5fe
test r12, r12
je 0x14008a600
cmp r12, r11
ja 0x14008a5fe
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, r14
call fcn.1400e65f0
mov r15, rax
test rax, rax
jne 0x14008a609
ud2
mov r15d, 4
xor r14d, r14d
mov rcx, r15
mov rdx, rsi
mov r8, r14
call sub.msvcrt.dll_memcpy
xor eax, eax
jmp 0x14008a62b
mov dword [rsi + rax*4], ecx
inc rax
cmp rax, r12
je 0x14008a653
cmp rax, r12
je 0x14008a5fe
mov edx, dword [r15 + rax*4]
cmp edx, eax
je 0x14008a623
nop dword [rax + rax]
mov ecx, edx
mov edx, edx
cmp r12, rdx
jbe 0x14008a5fe
mov edx, dword [r15 + rdx*4]
cmp edx, eax
jne 0x14008a640
jmp 0x14008a620
mov rax, qword [rdi + 0x150]
test rax, rax
je 0x14008a6be
xor edx, edx
movabs r8, 0x7ffffffffff
nop dword [rax + rax]
mov r9, rdx
inc rdx
mov ecx, ebx
shl r9, cl
mov rcx, rax
nop
cmp r9, r13
jae 0x14008a5fe
mov r10, qword [rbp + r9*8]
mov r11, r10
shr r11, 0x2b
cmp r11, r12
jae 0x14008a5fe
mov r11d, dword [rsi + r11*4]
shl r11, 0x2b
and r10, r8
or r10, r11
mov qword [rbp + r9*8], r10
inc r9
dec rcx
jne 0x14008a680
cmp rdx, r12
jne 0x14008a670
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x14008a6ef
mov rcx, qword [rdi + 0x38]
xor edx, edx
nop dword [rax]
mov r8d, dword [rcx + rdx*4]
cmp r12, r8
jbe 0x14008a5fe
mov r8d, dword [rsi + r8*4]
mov dword [rcx + rdx*4], r8d
inc rdx
cmp rax, rdx
jne 0x14008a6d0
jmp 0x14008a6f4
test r12, r12
je 0x14008a705
mov rcx, qword [0x1419340f0]
xor edx, edx
mov r8, r15
call fcn.1401034d0
mov rcx, qword [0x1419340f0]
xor edx, edx
mov r8, rsi
call fcn.1401034d0
nop
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret