Function at 0x1402d35b8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rdi
push r15
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rdi, rdx
mov rbx, rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
and qword [rbp - 0x28], 0
mov rsi, qword [rdx + 0x10]
test rsi, rsi
jne 0x1402d3602
and qword [rcx], rsi
and qword [rcx + 8], rsi
and qword [rcx + 0x10], rsi
jmp 0x1402d37e3
xor r8d, r8d
mov rdx, rsi
test sil, 3
jne 0x1402d3813
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1402d361f
mov rax, qword [rdi]
mov r9d, 0x80
lea r15, [0x140387a60]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1402d3639
mov rcx, qword [rdi]
lea rcx, [rcx + rsi*2]
cmp rax, rcx
je 0x1402d3690
movzx ecx, word [rax]
cmp rcx, r9
jae 0x1402d3876
cmp byte [rcx + r15], 0xff
je 0x1402d3876
cmp byte [rcx + r15], 0xfe
jne 0x1402d3687
inc r8
cmp rdx, 2
ja 0x1402d3855
jne 0x1402d3687
movzx ecx, word [rax + 2]
cmp rcx, r9
jae 0x1402d3834
cmp byte [rcx + r15], 0xfe
jne 0x1402d3834
add rax, 2
dec rdx
jmp 0x1402d362c
cmp qword [rdi + 0x18], 8
jb 0x1402d369a
mov rdi, qword [rdi]
mov rax, rsi
shr rax, 2
lea rdx, [rax + rax*2]
sub rdx, r8
lea rcx, [rbp - 0x38]
call fcn.1400657b4
xor r11d, r11d
cmp rsi, 4
jbe 0x1402d373f
add rsi, 0xfffffffffffffffb
shr rsi, 2
inc rsi
xor eax, eax
mov word [rbp + 0x28], ax
movzx eax, word [rdi]
mov dl, byte [rax + r15]
movzx eax, word [rdi + 2]
mov r8b, byte [rax + r15]
movzx eax, word [rdi + 4]
mov r9b, byte [rax + r15]
movzx eax, word [rdi + 6]
mov r10b, byte [rax + r15]
mov cl, r8b
shr cl, 4
and cl, 3
shl dl, 2
or cl, dl
mov rax, qword [rbp - 0x38]
mov byte [rax + r11], cl
mov cl, r9b
shr cl, 2
and cl, 0xf
shl r8b, 4
xor cl, r8b
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 1], cl
and r10b, 0x3f
shl r9b, 6
xor r10b, r9b
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 2], r10b
add rdi, 8
add r11, 3
sub rsi, 1
jne 0x1402d36c9
xor r10d, r10d
mov word [rbp + 0x28], r10w
movzx eax, word [rdi]
mov dl, byte [rax + r15]
movzx eax, word [rdi + 2]
mov r9b, byte [rax + r15]
movzx eax, word [rdi + 4]
mov r8b, byte [rax + r15]
movzx eax, word [rdi + 6]
mov dil, byte [rax + r15]
mov cl, r9b
shr cl, 4
and cl, 3
shl dl, 2
or cl, dl
mov rax, qword [rbp - 0x38]
mov byte [rax + r11], cl
shl r9b, 4
mov al, byte [rbp + 0x29]
and al, 0xf
or r9b, al
cmp r8b, 0xfe
je 0x1402d3807
mov cl, r8b
shr cl, 2
xor cl, r9b
and cl, 0xf
xor cl, r9b
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 1], cl
shl r8b, 6
and r10b, 0x3f
or r8b, r10b
cmp dil, 0xfe
je 0x1402d37fb
mov cl, r8b
xor cl, dil
and cl, 0x3f
xor cl, r8b
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 2], cl
mov rax, qword [rbp - 0x38]
mov qword [rbx], rax
mov rax, qword [rbp - 0x30]
mov qword [rbx + 8], rax
mov rax, qword [rbp - 0x28]
mov qword [rbx + 0x10], rax
mov rax, rbx
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret
cmp r8b, 0x40
jae 0x1402d3897
jmp 0x1402d37cc
test r9b, 0xf0
jne 0x1402d38b8
jmp 0x1402d37cc
lea rdx, str.length_of_base64_string_is_not_an_even_multiple_of_4
lea rcx, [rbp - 0x20]
call fcn.140087a9c
lea rdx, [0x14047c0d8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, str.invalid_padding_character_found_in_base64_string
lea rcx, [rbp - 0x20]
call fcn.140087a9c
lea rdx, [0x14047c0d8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, str.invalid_padding_character_found_in_base64_string
lea rcx, [rbp - 0x20]
call fcn.140087a9c
lea rdx, [0x14047c0d8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, str.invalid_character_found_in_base64_string
lea rcx, [rbp - 0x20]
call fcn.140087a9c
lea rdx, [0x14047c0d8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, str.Invalid_end_of_base64_string
lea rcx, [rbp - 0x20]
call fcn.140087a9c
lea rdx, [0x14047c0d8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, str.Invalid_end_of_base64_string
lea rcx, [rbp - 0x20]
call fcn.140087a9c
lea rdx, [0x14047c0d8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3