Function at 0x14023a580
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, 0x18
lea rbp, [rsp + 0x10]
mov r8, rdx
mov rsi, rcx
mov eax, dword [0x14159dd68]
mov ecx, dword [0x14159dd6c]
mov edx, eax
or edx, ecx
not eax
not ecx
and ecx, eax
not ecx
and ecx, edx
or ecx, 0x37d11625
imul rax, rcx, 0x4fde05ff
shr rax, 0x3d
or eax, 0x5b6107a4
cmp eax, 0xd197dc92
jne 0x14023a5e0
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
nop
mov eax, dword [0x14159dd70]
sub eax, dword [0x14159dd74]
mov ecx, eax
and ecx, 0xc0ee64b7
mov edx, ecx
not edx
and edx, 0x257a370d
mov r9d, eax
and r9d, 0xc08440b2
imul r9d, edx
and eax, 0x6a2405
or ecx, 0x257a370d
imul ecx, eax
add ecx, r9d
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x727ca7c
je 0x14023a5e0
nop word cs:[rax + rax]
mov eax, dword [str.Tox9]
xor edx, edx
div dword [0x14159dd7c]
imul rax, rax, 0x16eb5f1d
shr rax, 0x3c
or eax, 0x6e57db7e
cmp eax, 0xb8df39d7
ja 0x14023a640
cmp r8, 0xffffffffffffffff
je 0x14023aa82
mov eax, r8d
and eax, 1
or r8, 1
add r8, rax
movabs rax, 0x249249249249249
mov edx, 4
nop dword [rax + rax]
mov ecx, dword [0x14159dd80]
imul ecx, dword [0x14159dd84]
imul r9, rcx, 0x4c786f83
shr r9, 0x3e
or r9d, 0x20c6a9be
mov rcx, qword [rsi]
lea r15, [rcx + rcx]
cmp r15, r8
cmovbe r15, r8
cmp r15, 5
cmovb r15, rdx
cmp r9d, 0xcc79f0b6
je 0x14023a690
mov edx, r15d
not edx
mov r8, r15
and r8, 0xffffffffffffffc7
and edx, 0x38
imul rdx, r8
mov r8d, r15d
and r8d, 0x38
mov rbx, r15
or rbx, 0x38
imul rbx, r8
add rbx, rdx
mov r8d, dword [0x14159dd88]
mov edx, dword [0x14159dd8c]
mov r9d, r8d
and r9d, edx
or r8d, edx
not r8d
or r8d, r9d
mov edx, r8d
not edx
and r8d, 0xbf824dc0
mov r9d, edx
and r9d, 0x407db23f
or r9d, r8d
xor r9d, 0xd9b2468
and edx, 0xb21969a8
or edx, r9d
add edx, 0x37f4d0f5
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0xaac58608
and r8d, 0x553a79f7
imul r8d, r9d
mov r9d, edx
and r9d, 0x553a79f7
or edx, 0x553a79f7
imul edx, r9d
add edx, r8d
cmp edx, 0xe7766b99
nop dword [rax]
xor r14d, r14d
cmp r15, rax
setbe dl
mov r8d, dword [0x14159dd90]
add r8d, dword [0x14159dd94]
mov r9d, 0xc174c2eb
imul r9, r8
shr r9, 0x3f
cmp r9d, 0x352564c1
je 0x14023a780
mov r14b, dl
test rcx, rcx
je 0x14023a83f
imul rax, rcx, 0x38
nop
mov ecx, dword [0x14159dd98]
or ecx, dword [0x14159dd9c]
imul ecx, ecx, 0x128308eb
cmp ecx, 0xd088ace2
je 0x14023a7c0
nop word [rax + rax]
mov ecx, dword [0x14159dda0]
mov edx, dword [0x14159dda4]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
or ecx, 0x63d67022
and ecx, 0xebff737b
imul ecx, ecx, 0x657b4e90
cmp ecx, 0x9848b839
je 0x14023a7e0
mov rcx, qword [rsi + 8]
mov qword [rbp - 0x10], rcx
mov qword [rbp], rax
mov r12d, 8
jmp 0x14023a842
xor r12d, r12d
mov eax, dword [0x14159dda8]
imul eax, dword [0x14159ddac]
shl r14, 3
and eax, 0x868318ba
xor eax, 0x602181a
cmp eax, 0x24e9336c
je 0x14023a8bd
mov eax, dword [0x14159ddb0]
mov r13d, dword [0x14159ddb4]
mov ecx, r13d
not ecx
and ecx, eax
xor r13d, eax
add r13d, eax
sub r13d, ecx
xor r13d, 0xf0abf6f6
add r13d, 0x82feb93d
xor r13d, 0xc9d1a01b
mov qword [rbp - 8], r12
sub rsp, 0x20
lea r9, [rbp - 0x10]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14020b2a0
add rsp, 0x20
cmp r13d, 0x40133f7
jae 0x14023a8dd
mov qword [rbp - 8], r12
sub rsp, 0x20
lea r9, [rbp - 0x10]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14020b2a0
add rsp, 0x20
jmp 0x14023a864
cmp qword [rdi], 0
jne 0x14023a9e9
mov rax, qword [rdi + 8]
nop dword [rax + rax]
mov ecx, dword [0x14159ddd8]
mov edx, dword [0x14159dddc]
add ecx, edx
add ecx, 0x17153fe8
mov edx, ecx
not edx
mov r8d, ecx
or r8d, 0x43c49d3c
mov r9d, r8d
and r9d, 0xd70067e
and edx, 0xb00b6081
imul edx, r9d
and r8d, 0xf28ff981
or ecx, 0xf3cffdbd
imul ecx, r8d
add ecx, edx
cmp ecx, 0xe35739d0
ja 0x14023a8f0
mov ecx, dword [0x14159dde0]
sub ecx, dword [0x14159dde4]
or ecx, 0xc52da8ec
lea edx, [rcx + 0x451f359b]
not edx
or edx, 0xfdbd20ac
add ecx, edx
add ecx, 0x451f359c
cmp ecx, 0xc8a1ddd5
jbe 0x14023a980
mov qword [rsi + 8], rax
mov qword [rsi], r15
nop dword [rax + rax]
mov ecx, dword [0x14159dde8]
and ecx, dword [0x14159ddec]
imul rcx, rcx, 0x3c6244ed
shr rcx, 0x3d
imul ecx, ecx, 0x9374362a
mov edx, ecx
not edx
and edx, 0xdfc19486
mov r8d, ecx
and r8d, 0x203e6b78
imul r8d, edx
mov edx, ecx
and edx, 0xdfc19486
or ecx, 0xdfc19486
imul ecx, edx
add ecx, r8d
mov qword [rsi + 8], rax
mov qword [rsi], r15
cmp ecx, 0x134dcc28
je 0x14023a980
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, 0xe6552197
nop
mov ecx, dword [0x14159ddb8]
mov edx, dword [0x14159ddbc]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
imul rcx, rax
shr rcx, 0x3b
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xa
and edx, 0x9e032514
imul edx, r8d
and ecx, 0xfffffff4
or r8d, 0x9e032514
imul r8d, ecx
add r8d, edx
cmp r8d, 0xe0e60c8d
je 0x14023a9f0
nop dword [rax + rax]
mov eax, dword [0x14159ddc0]
and eax, dword [0x14159ddc4]
and eax, 0xaf26c3ad
xor eax, 0xeabba4c1
add eax, 0x31ec05b0
cmp eax, 0xb78011b8
jb 0x14023aa60
mov eax, dword [0x14159ddc8]
xor edx, edx
div dword [0x14159ddcc]
mov ecx, eax
or ecx, 0x4001482
not eax
and eax, 0xe0156048
and ecx, 0x1ca29f93
or ecx, eax
cmp ecx, 0xed3614a1
je 0x14023aaec
mov eax, dword [0x14159ddd0]
mov ecx, dword [0x14159ddd4]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
imul rax, rcx, 0x5c73fa7b
shr rax, 0x3e
mov ecx, eax
xor ecx, 0x5773ed05
xor eax, 0x4442c901
and eax, ecx
ud2
ud2