Function at 0x1400c2fa0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov r13, rdx
mov eax, dword [0x141f427d8]
or eax, dword [0x141f427dc]
add eax, 0x232362e8
xor eax, 0x1a1427a6
cmp eax, 0xabe5a97a
ja 0x1400c301a
mov eax, dword [0x141f427e0]
xor eax, dword [0x141f427e4]
or eax, 0x4ef865a7
imul edx, eax, 0xc6c0bc2
or edx, 0x6f287c5d
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r8, rsp
cmp edx, 0xff444bd0
jbe 0x1400c3036
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x1400c2fd5
mov rsi, qword [rcx + 0x28]
movzx ebx, word [rsi + 0x3d2]
lea r12, [rbx + r13]
cmp r12, 0xc
jae 0x1400c35dc
mov r11, qword [rcx + 0x18]
movzx eax, word [r11 + 0x3d2]
mov qword [rbp], rax
nop
mov eax, dword [0x141f427f0]
add eax, dword [0x141f427f4]
imul eax, eax, 0x69b33730
add eax, 0xdf1eaea0
cmp eax, 0xe9b26d65
ja 0x1400c3060
mov r10, qword [rbp]
sub r10, r13
jb 0x1400c35ff
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x20], rcx
mov eax, dword [0x141f42800]
mov ecx, dword [0x141f42804]
add eax, ecx
add eax, 0x3035453a
and eax, 0x126010a
cmp eax, 0xb3eeecdb
jne 0x1400c311d
mov rax, qword [rbp]
sub eax, r13d
mov word [r11 + 0x3d2], ax
mov word [rsi + 0x3d2], r12w
lea rdx, [rsi + 0x168]
imul rax, r13, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
imul r8, rbx, 0x38
sub rsp, 0x20
mov r15, r10
mov r14, r11
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rcx, r13
shl rcx, 5
add rcx, rsi
mov r8, rbx
shl r8, 5
sub rsp, 0x20
mov rdx, rsi
call sub.VCRUNTIME140.dll_memmove
mov r11, r14
mov r10, r15
add rsp, 0x20
lea r8, [rsi + 0x168]
imul rax, r13, 0x38
add rax, rsi
add rax, 0x168
mov qword [rbp - 0x18], rax
imul rax, rbx, 0x38
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x40], r13
shl r13, 5
add r13, rsi
mov qword [rbp - 8], r13
mov qword [rbp - 0x70], rbx
mov r15, rbx
shl r15, 5
lea rax, [r10 + 1]
mov qword [rbp - 0x38], rax
mov r13, r12
mov qword [rbp - 0x28], r8
nop word cs:[rax + rax]
mov r12d, dword [0x141f42808]
imul r12d, dword [0x141f4280c]
xor r12d, 0x35830054
mov eax, 0x8e00c415
imul r12, rax
shr r12, 0x3f
add r12d, 0xc9ab986d
mov word [r11 + 0x3d2], r10w
mov word [rsi + 0x3d2], r13w
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov rdx, r8
mov r8, qword [rbp - 0x10]
mov rbx, r10
mov r14, r11
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [rbp - 8]
mov rdx, rsi
mov r8, r15
call sub.VCRUNTIME140.dll_memmove
mov r11, r14
mov r8, qword [rbp - 0x28]
mov r10, rbx
add rsp, 0x20
cmp r12d, 0x13f236de
jb 0x1400c3170
mov qword [rbp - 0x68], r13
mov r12, qword [rbp - 0x38]
mov r9, qword [rbp]
sub r9, r12
mov rax, qword [rbp - 0x40]
dec rax
mov ecx, dword [0x141f42810]
sub ecx, dword [0x141f42814]
or ecx, 0x32a0c24
and ecx, 0x132a4f24
cmp ecx, 0x321480f2
ja 0x1400c3200
cmp r9, rax
jne 0x1400c35da
xor eax, eax
test al, al
je 0x1400c3394
imul rax, r12, 0x38
lea rdx, [r11 + rax]
add rdx, 0x168
mov qword [rbp], r9
imul r15, qword [rbp], 0x38
sub rsp, 0x20
mov rcx, r8
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, r12
shl rdx, 5
add rdx, r14
mov r13, qword [rbp]
shl r13, 5
sub rsp, 0x20
mov rcx, rsi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov r11, r14
mov r10, rbx
add rsp, 0x20
mov rax, rbx
shl rax, 5
movups xmm0, xmmword [r14 + rax]
movups xmm1, xmmword [r14 + rax + 0x10]
mov r9, qword [rbp - 0x30]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
imul rdx, rcx, 0x38
mov r8, qword [rax + rdx + 0x198]
mov qword [rdi + 0x30], r8
imul r8, rbx, 0x38
movups xmm0, xmmword [rax + rdx + 0x168]
movups xmm1, xmmword [rax + rdx + 0x178]
movups xmm2, xmmword [rax + rdx + 0x188]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
movups xmm0, xmmword [r14 + r8 + 0x168]
movups xmm1, xmmword [r14 + r8 + 0x178]
movups xmm2, xmmword [r14 + r8 + 0x188]
mov r8, qword [r14 + r8 + 0x198]
mov qword [rax + rdx + 0x198], r8
mov r8, qword [rbp - 0x28]
movups xmmword [rax + rdx + 0x178], xmm1
movups xmmword [rax + rdx + 0x188], xmm2
movups xmmword [rax + rdx + 0x168], xmm0
shl rcx, 5
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movaps xmmword [rbp - 0x50], xmm1
movaps xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov rax, qword [rdi + 0x30]
mov qword [r8 + r15 + 0x30], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [r8 + r15 + 0x20], xmm2
movups xmmword [r8 + r15 + 0x10], xmm1
movups xmmword [r8 + r15], xmm0
mov r9, qword [rbp]
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
movups xmmword [rsi + r13], xmm0
movups xmmword [rsi + r13 + 0x10], xmm1
imul rax, r12, 0x38
add rax, r11
add rax, 0x168
mov qword [rbp - 0x18], rax
imul r13, r9, 0x38
shl r12, 5
add r12, r11
mov qword [rbp - 0x10], r12
shl r9, 5
mov qword [rbp], r9
imul rax, r10, 0x38
mov qword [rbp - 8], rax
shl r10, 5
mov r14, r11
mov r12, qword [rbp - 0x30]
mov rbx, qword [rbp]
nop word cs:[rax + rax]
sub rsp, 0x20
mov rcx, r8
mov rdx, qword [rbp - 0x18]
mov r8, r13
mov r15, rdi
mov rdi, r10
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
mov rdx, qword [rbp - 0x10]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r10, rdi
mov rdi, r15
add rsp, 0x20
movups xmm0, xmmword [r14 + r10]
movups xmm1, xmmword [r14 + r10 + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
imul rdx, rcx, 0x38
mov r8, qword [rax + rdx + 0x198]
mov qword [r15 + 0x30], r8
movups xmm0, xmmword [rax + rdx + 0x168]
movups xmm1, xmmword [rax + rdx + 0x178]
movups xmm2, xmmword [rax + rdx + 0x188]
movups xmmword [r15 + 0x20], xmm2
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
mov r9, qword [rbp - 8]
mov r8, qword [r14 + r9 + 0x198]
movups xmm0, xmmword [r14 + r9 + 0x168]
movups xmm1, xmmword [r14 + r9 + 0x178]
movups xmm2, xmmword [r14 + r9 + 0x188]
mov qword [rax + rdx + 0x198], r8
mov r8, qword [rbp - 0x28]
movups xmmword [rax + rdx + 0x178], xmm1
movups xmmword [rax + rdx + 0x188], xmm2
movups xmmword [rax + rdx + 0x168], xmm0
shl rcx, 5
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movaps xmmword [rbp - 0x50], xmm1
movaps xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov rax, qword [r15 + 0x30]
mov qword [r8 + r13 + 0x30], rax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmmword [r8 + r13 + 0x20], xmm2
movups xmmword [r8 + r13 + 0x10], xmm1
movups xmmword [r8 + r13], xmm0
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
movups xmmword [rsi + rbx + 0x10], xmm1
movups xmmword [rsi + rbx], xmm0
xor eax, eax
test al, al
jne 0x1400c33e0
mov r12, qword [rbp - 0x20]
mov rax, qword [r12 + 0x20]
nop dword [rax]
mov ecx, dword [0x141f42818]
and ecx, dword [0x141f4281c]
xor ecx, 0x22bb6426
add ecx, 0x6c464b3b
and ecx, 0x37e32392
cmp ecx, 0x3f43928d
je 0x1400c3530
mov rbx, qword [rbp - 0x70]
nop word [rax + rax]
mov ecx, dword [0x141f42820]
and ecx, dword [0x141f42824]
imul rdx, rcx, 0x14d03271
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1c
and ecx, 0xfffffffa
cmp ecx, 0xd34ebec7
je 0x1400c3560
mov rcx, qword [r12 + 0x30]
test rax, rax
je 0x1400c35d1
test rcx, rcx
je 0x1400c35da
mov eax, dword [0x141f42838]
or eax, dword [0x141f4283c]
or eax, 0x660f6f34
mov ecx, 0xe56704d1
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x1d158223
mov r15, qword [rbp - 0x38]
mov r12, qword [rbp - 0x40]
jne 0x1400c36d0
jmp 0x1400c3700
test rcx, rcx
je 0x1400c36a0
ud2
ud2
mov eax, dword [0x141f427f8]
imul eax, dword [0x141f427fc]
imul eax, eax, 0xe8a8ea3c
add eax, 0xd04b2010
imul rax, rax, 0x11bdeb99
shr rax, 0x39
cmp eax, 0x28a0fb6f
jbe 0x1400c362b
ud2
xor eax, eax
nop dword [rax]
ud2
mov edx, 0xf2302c0d
nop dword [rax]
mov r8d, dword [0x141f42828]
xor r8d, dword [0x141f4282c]
and r8d, 0xbc599140
imul r8d, r8d, 0x8e5e92d
imul r8, rdx
shr r8, 0x3e
cmp r8d, 0xfe216ccb
ja 0x1400c3640
test rax, rax
je 0x1400c36a0
nop word cs:[rax + rax]
mov rdx, qword [rsi + rcx*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], cx
inc rcx
dec rax
jne 0x1400c3680
nop
mov eax, dword [0x141f42830]
xor edx, edx
div dword [0x141f42834]
add eax, 0x76351ca3
or eax, 0xd649e442
cmp eax, 0x40fc22d
jb 0x1400c36a0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rdi, [rsi + 0x3d8]
lea rcx, [rsi + r12*8]
add rcx, 0x3d8
lea r8, [rbx*8 + 8]
sub rsp, 0x20
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
xor eax, eax
test al, al
je 0x1400c3729
lea rdx, [rsi + 0x3d8]
lea rcx, [rsi + r12*8]
add rcx, 0x3d8
lea r8, [rbx*8 + 8]
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
jmp 0x1400c36d0
lea rdx, [r14 + r15*8]
add rdx, 0x3d8
lea r8, [r12*8]
sub rsp, 0x20
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
lea rdx, [rbx + r12]
inc rdx
mov eax, edx
and eax, 3
cmp qword [rbp - 0x68], 3
jae 0x1400c3766
xor ecx, ecx
jmp 0x1400c3638
and rdx, 0xfffffffffffffffc
nop word [rax + rax]
mov ecx, dword [0x141f42840]
imul ecx, dword [0x141f42844]
add ecx, 0xb9444bf3
imul rcx, rcx, 0x37712f1b
shr rcx, 0x3b
imul ecx, ecx, 0x9ec1ec92
cmp ecx, 0x598e0130
jb 0x1400c3770
nop dword [rax]
mov ecx, dword [0x141f42848]
sub ecx, dword [0x141f4284c]
imul ecx, ecx, 0x86cf6754
and ecx, 0x9b3ab86c
cmp ecx, 0x4a347c40
jb 0x1400c37a0
xor r9d, r9d
jmp 0x1400c37dc
inc r9
cmp r9, rdx
je 0x1400c390e
mov rcx, r9
mov r8d, dword [0x141f42850]
sub r8d, dword [0x141f42854]
xor r8d, 0xf016e5a1
imul r8, r8, 0x54bed66d
shr r8, 0x3d
and r8d, 0xfffffffe
cmp r8d, 0xc50a9c6b
je 0x1400c38a1
mov r8d, dword [0x141f42858]
or r8d, dword [0x141f4285c]
add r8d, 0x656de80b
or r8d, 0x27b20631
lea r9d, [rcx + 1]
lea r10d, [rcx + 2]
mov r11, qword [rsi + rcx*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], cx
mov r11, qword [rsi + rcx*8 + 0x3e0]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r9w
lea r9, [rcx + 3]
mov r11, qword [rsi + rcx*8 + 0x3e8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r10w
mov r10, qword [rsi + rcx*8 + 0x3f0]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], r9w
cmp r8d, 0xb63fe030
jbe 0x1400c37d0
mov r8, qword [rsi + rcx*8 + 0x3d8]
mov qword [r8 + 0x160], rsi
mov word [r8 + 0x3d0], cx
mov r8, qword [rsi + rcx*8 + 0x3e0]
mov qword [r8 + 0x160], rsi
lea r9d, [rcx + 1]
mov word [r8 + 0x3d0], r9w
mov r8, qword [rsi + rcx*8 + 0x3e8]
mov qword [r8 + 0x160], rsi
lea r9d, [rcx + 2]
mov word [r8 + 0x3d0], r9w
mov r8, qword [rsi + rcx*8 + 0x3f0]
mov qword [r8 + 0x160], rsi
lea r9d, [rcx + 3]
mov word [r8 + 0x3d0], r9w
jmp 0x1400c3810
add rcx, 4
jmp 0x1400c3638