Function at 0x140347dd4
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 0x140347e1e
and qword [rcx], rsi
and qword [rcx + 8], rsi
and qword [rcx + 0x10], rsi
jmp 0x140347ffd
xor r8d, r8d
mov rdx, rsi
test sil, 3
jne 0x140348086
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x140347e3b
mov rax, qword [rdi]
mov r9d, 0x80
lea r15, [0x14041c8f0]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140347e55
mov rcx, qword [rdi]
lea rcx, [rcx + rsi*2]
cmp rax, rcx
je 0x140347eac
movzx ecx, word [rax]
cmp rcx, r9
jae 0x140348023
cmp byte [rcx + r15], 0xff
je 0x140348023
cmp byte [rcx + r15], 0xfe
jne 0x140347ea3
inc r8
cmp rdx, 2
ja 0x1403480c8
jne 0x140347ea3
movzx ecx, word [rax + 2]
cmp rcx, r9
jae 0x1403480a7
cmp byte [rcx + r15], 0xfe
jne 0x1403480a7
add rax, 2
dec rdx
jmp 0x140347e48
cmp qword [rdi + 0x18], 8
jb 0x140347eb6
mov rdi, qword [rdi]
mov rax, rsi
shr rax, 2
lea rdx, [rax + rax*2]
sub rdx, r8
lea rcx, [rbp - 0x38]
call fcn.1400708ec
xor r11d, r11d
cmp rsi, 4
jbe 0x140347f5b
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 r10b, byte [rax + r15]
movzx eax, word [rdi + 6]
mov r9b, 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, r10b
shr cl, 2
and cl, 0xf
shl r8b, 4
xor cl, r8b
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 1], cl
and r9b, 0x3f
shl r10b, 6
xor r9b, r10b
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 2], r9b
add rdi, 8
add r11, 3
sub rsi, 1
jne 0x140347ee5
xor r9d, r9d
mov word [rbp + 0x28], r9w
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 r10b, byte [rax + r15]
movzx eax, word [rdi + 6]
mov dil, 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 al, byte [rbp + 0x29]
and al, 0xf
shl r8b, 4
or al, r8b
cmp r10b, 0xfe
je 0x14034801d
mov cl, r10b
shr cl, 2
xor cl, al
and cl, 0xf
xor cl, al
mov rax, qword [rbp - 0x38]
mov byte [rax + r11 + 1], cl
and r9b, 0x3f
shl r10b, 6
or r9b, r10b
cmp dil, 0xfe
je 0x140348015
mov cl, r9b
xor cl, dil
and cl, 0x3f
xor cl, r9b
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 r9b, 0x40
jae 0x140348044
jmp 0x140347fe6
test al, 0xf0
jne 0x140348065
jmp 0x140347fe6
lea rdx, str.invalid_character_found_in_base64_string
lea rcx, [rbp - 0x20]
call fcn.14009679c
lea rdx, [0x1405139f8]
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.14009679c
lea rdx, [0x1405139f8]
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.14009679c
lea rdx, [0x1405139f8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3
lea rdx, str.length_of_base64_string_is_not_an_even_multiple_of_4
lea rcx, [rbp - 0x20]
call fcn.14009679c
lea rdx, [0x1405139f8]
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.14009679c
lea rdx, [0x1405139f8]
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.14009679c
lea rdx, [0x1405139f8]
lea rcx, [rbp - 0x20]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3