Function at 0x1400c1c20
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, 0x28
lea rbp, [rsp + 0x20]
mov r14, rdx
mov rsi, rcx
mov eax, dword [0x141dd8450]
add eax, dword [0x141dd8454]
imul eax, eax, 0x67104b4c
or eax, 0xc72aa288
add eax, 0xc47e082f
cmp eax, 0xccf9131c
ja 0x1400c1cb2
mov eax, dword [0x141dd8458]
or eax, dword [0x141dd845c]
and eax, 0x920b920
or eax, 0xc043465e
imul ecx, eax, 0xa0308f68
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r13, rsp
mov eax, 0x40
call fcn.1400f1350
sub rsp, rax
mov rbx, rsp
mov eax, 0x60
call fcn.1400f1350
sub rsp, rax
mov rax, rsp
cmp ecx, 0x9ebda7b5
jbe 0x1400c1cdb
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x40
call fcn.1400f1350
sub rsp, rax
mov eax, 0x60
call fcn.1400f1350
sub rsp, rax
jmp 0x1400c1c5e
mov r12, qword [r14]
mov qword [rbp - 8], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd8460]
add eax, dword [0x141dd8464]
or eax, 0x30150004
and eax, 0x3d150a46
cmp eax, 0x619e0641
ja 0x1400c1cf0
movzx eax, word [r12 + 0x3d2]
mov qword [rbp - 0x18], rax
movzx eax, byte [0x141dde6f8]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.1400c29b0
add rsp, 0x20
test rax, rax
je 0x1400c22c4
mov rdi, rax
mov qword [rax + 0x160], 0
mov qword [rbp - 0x10], r14
mov r15, qword [r14 + 0x10]
mov eax, dword [0x141dd8468]
sub eax, dword [0x141dd846c]
and eax, 0xc4787f74
imul eax, eax, 0x5993b234
add eax, 0xdd2b9994
cmp eax, 0xc0e141a4
jb 0x1400c1e05
mov eax, dword [0x141dd8470]
sub eax, dword [0x141dd8474]
xor eax, 0x67bd32f9
imul eax, eax, 0xeb94847b
movzx ecx, word [r12 + 0x3d2]
mov r14, r15
not r14
add r14, rcx
imul rdx, r15, 0x38
mov word [rdi + 0x3d2], r14w
mov r8, qword [r12 + rdx + 0x198]
mov qword [rbx + 0x30], r8
mov r8, r15
shl r8, 5
movups xmm0, xmmword [r12 + rdx + 0x168]
movups xmm1, xmmword [r12 + rdx + 0x178]
movups xmm2, xmmword [r12 + rdx + 0x188]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
movups xmm0, xmmword [r12 + r8]
movups xmm1, xmmword [r12 + r8 + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
cmp eax, 0x4219aa62
jbe 0x1400c1e73
movzx eax, word [r12 + 0x3d2]
mov ecx, r15d
not ecx
add ecx, eax
mov word [rdi + 0x3d2], cx
imul rax, r15, 0x38
mov rcx, qword [r12 + rax + 0x198]
mov qword [rbx + 0x30], rcx
movups xmm0, xmmword [r12 + rax + 0x168]
movups xmm1, xmmword [r12 + rax + 0x178]
movups xmm2, xmmword [r12 + rax + 0x188]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov rax, r15
shl rax, 5
movups xmm0, xmmword [r12 + rax]
movups xmm1, xmmword [r12 + rax + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
jmp 0x1400c1d7b
cmp r14, 0xb
ja 0x1400c22c4
lea r9, [r12 + 0x168]
mov eax, dword [0x141dd8478]
xor edx, edx
div dword [0x141dd847c]
lea r8, [r15 + 1]
sub rcx, r8
nop word [rax + rax]
mov eax, dword [0x141dd8480]
or eax, dword [0x141dd8484]
imul eax, eax, 0xa9adc35d
cmp eax, 0xf42303c6
je 0x1400c1ea0
mov eax, dword [0x141dd8488]
xor edx, edx
div dword [0x141dd848c]
nop word [rax + rax]
mov eax, dword [0x141dd8490]
or eax, dword [0x141dd8494]
imul rax, rax, 0x521c01cb
shr rax, 0x3e
imul eax, eax, 0x38a882d1
or eax, 0xb43d121d
cmp eax, 0xbabd038c
jb 0x1400c1ed0
mov eax, 0xa3cd6fa1
nop
mov edx, dword [0x141dd8498]
sub edx, dword [0x141dd849c]
xor edx, 0xce6712cd
add edx, 0x998a6d46
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x2d0aae08
je 0x1400c1f00
cmp rcx, r14
jne 0x1400c21af
mov eax, 0x8e075f6b
mov rcx, r8
mov qword [rbp], r8
imul rcx, r8, 0x38
add r9, rcx
lea rcx, [rdi + 0x168]
imul r8, r14, 0x38
nop
mov edx, dword [0x141dd84a0]
or edx, dword [0x141dd84a4]
imul rdx, rax
shr rdx, 0x3e
or edx, 0x81ca7306
imul edx, edx, 0x889a8ea0
cmp edx, 0x6b0596d2
jb 0x1400c1f50
sub rsp, 0x20
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, qword [rbp]
shl rdx, 5
add rdx, r12
shl r14, 5
sub rsp, 0x20
mov rcx, rdi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov word [r12 + 0x3d2], r15w
mov rax, qword [rbx + 0x30]
mov rcx, qword [rbp - 8]
mov qword [rcx + 0x30], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rcx + 0x48], xmm1
movups xmmword [rcx + 0x38], xmm0
movzx ebx, word [rdi + 0x3d2]
cmp rbx, 0xb
ja 0x1400c21c9
lea r8, [rbx + 1]
mov rcx, rdi
add rcx, 0x3d8
mov eax, dword [0x141dd84a8]
xor r9d, r9d
xor edx, edx
div dword [0x141dd84ac]
mov rax, qword [rbp - 0x18]
sub rax, r15
mov r14, qword [rbp - 0x10]
nop word cs:[rax + rax]
test r9b, r9b
jne 0x1400c2030
cmp rax, r8
jne 0x1400c2245
mov rax, qword [rbp]
lea rdx, [r12 + rax*8]
add rdx, 0x3d8
shl r8, 3
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rcx, qword [r14 + 8]
xor eax, eax
xor edx, edx
jmp 0x1400c2078
or r8b, r10b
mov rdx, r9
jne 0x1400c20ea
test al, al
jne 0x1400c20d1
nop dword [rax]
mov r11d, dword [0x141dd84c8]
sub r11d, dword [0x141dd84cc]
add r11d, 0x4c799302
and r11d, 0x816ead84
cmp rdx, rbx
setae r8b
mov r9, qword [rdi + rdx*8 + 0x3d8]
mov qword [r9 + 0x160], rdi
mov word [r9 + 0x3d0], dx
mov r9, rdx
adc r9, 0
cmp r9, rbx
seta r10b
cmp r11d, 0xc5f7fbc8
jbe 0x1400c2070
mov r8, qword [rdi + rdx*8 + 0x3d8]
mov qword [r8 + 0x160], rdi
mov word [r8 + 0x3d0], dx
jmp 0x1400c2080
mov qword [rsi + 0x58], r12
mov qword [rsi + 0x60], rcx
mov rdx, qword [rbp - 8]
mov rax, qword [rdx + 0x50]
mov qword [rsi + 0x50], rax
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov eax, dword [0x141dd84d0]
sub eax, dword [0x141dd84d4]
or eax, 0x1a718c99
imul rax, rax, 0x5ea62033
shr rax, 0x3c
or eax, 0xb99c1f48
cmp eax, 0xe371c35a
jbe 0x1400c2150
mov qword [rsi + 0x68], rdi
mov eax, dword [0x141dd84d8]
mov edx, dword [0x141dd84dc]
add eax, edx
add eax, 0x59cf44ea
or eax, 0x5380b2d6
imul rax, rax, 0x7b0a8473
shr rax, 0x3e
mov qword [rsi + 0x68], rdi
cmp eax, 0x278161a8
je 0x1400c2150
mov eax, dword [0x141dd84e0]
sub eax, dword [0x141dd84e4]
xor eax, 0x7422de1f
add eax, 0xade32792
imul rax, rax, 0x21336e45
shr rax, 0x3d
cmp eax, 0x9a34d832
jne 0x1400c22c6
jmp 0x1400c22e5
ud2
mov eax, dword [0x141dd84f0]
sub eax, dword [0x141dd84f4]
xor eax, 0x568391cd
imul eax, eax, 0xf64a2265
cmp eax, 0x912c747a
jne 0x1400c21f0
ud2
mov eax, dword [0x141dd84f8]
xor eax, dword [0x141dd84fc]
imul eax, eax, 0x6f9c6e7d
xor eax, 0xf1043862
add eax, 0x93048554
ud2
mov eax, dword [0x141dd84b0]
and eax, dword [0x141dd84b4]
imul eax, eax, 0x4d83e67c
xor eax, 0x8468224b
or eax, 0x4b84c930
cmp eax, 0x3487cb82
jae 0x1400c2270
ud2
mov eax, dword [0x141dd84b8]
xor edx, edx
div dword [0x141dd84bc]
imul eax, eax, 0xafd54f09
xor eax, 0x4539fe1e
imul eax, eax, 0x394b772c
ud2
ud2
mov eax, dword [0x141dd84e8]
xor edx, edx
div dword [0x141dd84ec]
imul eax, eax, 0xa9bf137a
mov qword [rsi + 0x70], rcx
cmp eax, 0xb3918c0d
jbe 0x1400c22eb
mov qword [rsi + 0x70], rcx
jmp 0x1400c22c6
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret