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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov rdi, rdx
mov rdx, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x28]
movzx r9d, word [rdx + 0x3d2]
movzx r13d, word [rsi + 0x3d2]
lea r8, [rdi + r13]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400bd930
cmp r8, 0xc
jae 0x1400bda46
mov rax, r9
sub rax, rdi
jb 0x1400bda3a
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x38], rax
mov word [rdx + 0x3d2], ax
mov qword [rsp + 0x40], r8
mov word [rsi + 0x3d2], r8w
lea r15, [rsi + 0x168]
imul rax, rdi, 0x38
lea rbp, [rsi + rax]
add rbp, 0x168
imul rbx, r13, 0x38
mov eax, dword [0x141dd5bc0]
imul eax, dword [0x141dd5bc4]
imul eax, eax, 0xabfdcd10
cmp eax, 0x2fead688
jne 0x1400bd9b4
mov rcx, rbp
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
mov r12, rdi
shl r12, 5
add r12, rsi
mov qword [rsp + 0x48], r13
shl r13, 5
nop word [rax + rax]
mov r14d, dword [0x141dd5bc8]
add r14d, dword [0x141dd5bcc]
and r14d, 0xa30927f3
add r14d, 0x234aa48b
xor r14d, 0x628c6d25
mov rcx, rbp
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
cmp r14d, 0xc1648bd1
ja 0x1400bd9d0
mov eax, dword [0x141dd5bd0]
or eax, dword [0x141dd5bd4]
and eax, 0x4d092c12
xor eax, 0xef96c3bd
mov ecx, 0x8668f539
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x373125dd
jne 0x1400bdaa6
jmp 0x1400bdad4
ud2
mov eax, dword [0x141dd5bb0]
xor eax, dword [0x141dd5bb4]
add eax, 0xec5b27f1
or eax, 0x5048c28e
shr eax, 1
mov ecx, 0x9269a969
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x9bd95f07
ja 0x1400bda7b
ud2
ud2
mov ebx, dword [0x141dd5bd8]
sub ebx, dword [0x141dd5bdc]
add ebx, 0x1ec2ba6d
and ebx, 0xa8788543
mov rcx, r12
mov rdx, rsi
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
cmp ebx, 0x1955f67
jne 0x1400bdae4
mov rcx, r12
mov rdx, rsi
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
jmp 0x1400bdaa6
mov rax, qword [rsp + 0x38]
lea rbp, [rax + 1]
mov r14, qword [rsp + 0x30]
sub r14, rbp
lea rax, [rdi - 1]
cmp r14, rax
jne 0x1400bddae
mov eax, dword [0x141dd5be8]
sub eax, dword [0x141dd5bec]
cmp eax, 0x655f175f
mov rbx, qword [rsp + 0x28]
jne 0x1400bdb35
imul rax, rbp, 0x38
lea rdx, [rbx + rax]
add rdx, 0x168
imul r8, r14, 0x38
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbx + 0x168]
mov qword [rsp + 0x50], rax
imul rax, rbp, 0x38
lea r13, [rbx + rax]
add r13, 0x168
mov rax, rbx
imul r12, r14, 0x38
mov rbx, rbp
shl rbx, 5
add rbx, rax
shl r14, 5
mov qword [rsp + 0x30], r14
nop word [rax + rax]
mov eax, dword [0x141dd5bf0]
imul eax, dword [0x141dd5bf4]
imul r14d, eax, 0xbbedddc6
xor r14d, 0x392a4cbe
add r14d, 0x80fcf3b6
mov rcx, r15
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
cmp r14d, 0x500811d7
ja 0x1400bdb70
mov rcx, rsi
mov rdx, rbx
mov rbx, qword [rsp + 0x30]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x38]
imul rax, rdx, 0x38
shl rdx, 5
mov rcx, qword [rsp + 0x28]
movups xmm0, xmmword [rcx + rdx]
movups xmm1, xmmword [rcx + rdx + 0x10]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10]
mov rdx, qword [r10 + 0x10]
imul r8, rdx, 0x38
shl rdx, 5
mov r9, qword [rcx + r8 + 0x198]
mov qword [rsp + 0x90], r9
movups xmm0, xmmword [rcx + r8 + 0x168]
movups xmm1, xmmword [rcx + r8 + 0x178]
movups xmm2, xmmword [rcx + r8 + 0x188]
movaps xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov r11, qword [rsp + 0x50]
mov r9, qword [r11 + rax + 0x30]
movups xmm0, xmmword [r11 + rax]
movups xmm1, xmmword [r11 + rax + 0x10]
movups xmm2, xmmword [r11 + rax + 0x20]
movups xmmword [rcx + r8 + 0x168], xmm0
mov qword [rcx + r8 + 0x198], r9
movups xmmword [rcx + r8 + 0x188], xmm2
movups xmmword [rcx + r8 + 0x178], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmm1, xmmword [rcx + rdx + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
mov rax, qword [rsp + 0x90]
mov qword [r15 + r12 + 0x30], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [r15 + r12 + 0x20], xmm2
movups xmmword [r15 + r12 + 0x10], xmm1
movups xmmword [r15 + r12], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsi + rbx + 0x10], xmm1
movups xmmword [rsi + rbx], xmm0
cmp qword [r10 + 0x20], 0
mov rax, qword [r10 + 0x30]
je 0x1400bdd60
nop dword [rax]
mov ecx, dword [0x141dd5c00]
sub ecx, dword [0x141dd5c04]
add ecx, 0x321335a4
and ecx, 0xc361355b
imul ecx, ecx, 0xc6ca94e8
cmp ecx, 0xfd7c7592
je 0x1400bdd00
test rax, rax
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x28]
je 0x1400bdd8f
mov eax, dword [0x141dd5c20]
xor eax, dword [0x141dd5c24]
and eax, 0x93d1dc31
xor eax, 0x6e0ba24a
add eax, 0x769cb88d
cmp eax, 0x5528d7b7
jae 0x1400bde8d
jmp 0x1400bdeef
mov ecx, dword [str._g_.]
and ecx, dword [0x141dd5bfc]
add ecx, 0xc73d076c
xor ecx, 0x90181022
or ecx, 0x4d652e94
cmp ecx, 0xcdcd8e05
ja 0x1400bdd60
test rax, rax
je 0x1400bde60
mov eax, dword [0x141dd5c10]
add eax, dword [0x141dd5c14]
or eax, 0x27520d0
and eax, 0x837760fb
cmp eax, 0xc3282847
jne 0x1400bddee
jmp 0x1400bddf6
ud2
ud2
ud2
test al, 3
je 0x1400bde60
add dil, r15b
inc dil
movzx eax, dil
and eax, 3
nop dword [rax]
mov rdx, qword [rsi + rcx*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], cx
inc rcx
dec rax
jne 0x1400bde40
nop
mov eax, dword [0x141dd5c08]
sub eax, dword [0x141dd5c0c]
imul eax, eax, 0x84ada613
cmp eax, 0x599665c6
je 0x1400bde60
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14d, dword [0x141dd5c28]
add r14d, dword [0x141dd5c2c]
xor r14d, 0xcca13e87
add r14d, 0xc3d1f20a
lea rbx, [rsi + 0x3d8]
lea rcx, [rsi + rdi*8]
add rcx, 0x3d8
lea r8, [r15*8 + 8]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rdx, [r12 + rbp*8]
add rdx, 0x3d8
lea r8, [rdi*8]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp r14d, 0xe7fe1811
jbe 0x1400bdf31
lea rbx, [rsi + 0x3d8]
lea rcx, [rsi + rdi*8]
add rcx, 0x3d8
lea r8, [r15*8 + 8]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rdx, [r12 + rbp*8]
add rdx, 0x3d8
lea r8, [rdi*8]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400bde8d
lea rax, [r15 + rdi]
inc rax
nop dword [rax + rax]
mov ecx, dword [0x141dd5c30]
mov edx, dword [str._br_5]
add ecx, edx
add ecx, 0x657c954b
shr ecx, 2
imul rcx, rcx, 0x576b9cd5
shr rcx, 0x3c
add ecx, 0xcb07351d
cmp ecx, 0xe76ea851
ja 0x1400bdf40
mov ecx, dword [0x141dd5c38]
imul ecx, dword [0x141dd5c3c]
and ecx, 0xcdce42c3
imul ecx, ecx, 0xbb3f868d
imul rcx, rcx, 0x22a0ae7f
shr rcx, 0x3d
cmp ecx, 0x7dad50ff
je 0x1400bdf70
cmp qword [rsp + 0x40], 3
jae 0x1400bdfab
xor ecx, ecx
jmp 0x1400bde2c
mov rdx, rax
and rdx, 0xfffffffffffffffc
nop word cs:[rax + rax]
mov ecx, dword [0x141dd5c40]
add ecx, dword [0x141dd5c44]
and ecx, 0x3e57da7f
xor ecx, 0x5b8cfc4e
imul ecx, ecx, 0x5371fd13
cmp ecx, 0x8c15c2d3
ja 0x1400bdfc0
xor ecx, ecx
mov r8d, 0xb1de658b
nop
mov r9d, dword [0x141dd5c48]
and r9d, dword [0x141dd5c4c]
imul r10, r9, 0x3203eae5
shr r10, 0x20
sub r9d, r10d
shr r9d, 1
add r9d, r10d
shr r9d, 0x1e
or r9d, 0x7360be5c
cmp r9d, 0xb5ff8915
jbe 0x1400be0a0
mov r9, rcx
or r9, 1
mov r10, qword [rsi + rcx*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], cx
mov r10, rcx
or r10, 2
mov r11, qword [rsi + r9*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r9w
mov r9, rcx
or r9, 3
mov r11, qword [rsi + r10*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r10w
mov r10, qword [rsi + r9*8 + 0x3d8]
mov qword [r10 + 0x160], rsi
mov word [r10 + 0x3d0], r9w
nop word [rax + rax]
mov r9d, dword [0x141dd5c50]
sub r9d, dword [0x141dd5c54]
and r9d, 0x560ea0fe
add r9d, 0x6c4b8f89
imul r9, r8
shr r9, 0x3f
mov r10, rcx
or r10, 1
mov r11, rcx
or r11, 2
mov rbx, qword [rsi + rcx*8 + 0x3d8]
mov qword [rbx + 0x160], rsi
mov word [rbx + 0x3d0], cx
mov rbx, qword [rsi + r10*8 + 0x3d8]
mov qword [rbx + 0x160], rsi
mov word [rbx + 0x3d0], r10w
mov r10, rcx
or r10, 3
mov rbx, qword [rsi + r11*8 + 0x3d8]
mov qword [rbx + 0x160], rsi
mov word [rbx + 0x3d0], r11w
mov r11, qword [rsi + r10*8 + 0x3d8]
mov qword [r11 + 0x160], rsi
mov word [r11 + 0x3d0], r10w
cmp r9d, 0x364ce323
je 0x1400be0a0
add rcx, 4
cmp rcx, rdx
jne 0x1400bdff0
jmp 0x1400bde2c