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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
mov r10, rcx
mov rax, qword [rcx + 0x30]
mov ecx, dword [0x141dc22f0]
add ecx, dword [0x141dc22f4]
and ecx, 0xeaa2ef34
xor ecx, 0xa84968fb
imul rdx, rcx, 0x39266e9
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
cmp ecx, 0xaa4aa5c4
ja 0x14001bbbe
mov ecx, dword [0x141dc22f8]
and ecx, dword [0x141dc22fc]
add ecx, 0xc6798427
xor ecx, 0x4119a125
lea rdx, [rax + r8]
mov qword [r10 + 0x30], rdx
cmp ecx, 0x7c11c3f0
jae 0x14001bbc8
lea rcx, [rax + r8]
mov qword [r10 + 0x30], rcx
jmp 0x14001bb96
mov rsi, qword [r10 + 0x40]
test rsi, rsi
je 0x14001bc80
mov edi, 8
sub rdi, rsi
nop dword [rax]
mov eax, dword [0x141dc2300]
or eax, dword [0x141dc2304]
xor eax, 0xc0d2403
or eax, 0x5192997c
add eax, 0x4c776082
cmp eax, 0x9ef369c1
ja 0x14001bbe0
cmp rdi, r8
mov r14, r8
cmovb r14, rdi
nop dword [rax]
mov eax, dword [0x141dc2308]
add eax, dword [0x141dc230c]
or eax, 0xc7399e80
imul eax, eax, 0x56a6b6b1
add eax, 0x11a25fd9
cmp eax, 0x1a517d15
jb 0x14001bc10
cmp r14, 4
jb 0x14001bc87
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x14001bc40
mov ebx, dword [r9]
mov eax, 0xc91e1663
nop dword [rax]
mov ecx, dword [0x141dc2310]
and ecx, dword [0x141dc2314]
imul ecx, ecx, 0xd39a57fc
or ecx, 0xd49b42f4
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xb3480e18
je 0x14001bc50
mov r15d, 4
jmp 0x14001bc8c
xor edi, edi
jmp 0x14001bea1
xor ebx, ebx
xor r15d, r15d
mov eax, dword [0x141dc2318]
xor edx, edx
div dword [0x141dc231c]
mov rax, r15
or rax, 1
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2320]
or ecx, dword [0x141dc2324]
and ecx, 0xc77ad8d9
imul ecx, ecx, 0x6195cbbd
add ecx, 0x332bb96b
cmp ecx, 0x6bb677c0
jb 0x14001bcb0
cmp rax, r14
jae 0x14001bd59
movzx eax, word [r9 + r15]
mov ecx, 0xf7a12e7f
nop word cs:[rax + rax]
mov edx, dword [0x141dc2328]
and edx, dword [0x141dc232c]
xor edx, 0x6184af50
imul rdx, rcx
shr rdx, 0x36
and edx, 3
cmp edx, 0x7dbb1b68
ja 0x14001bcf0
mov r11, r15
or r11, 2
nop dword [rax]
mov ebp, dword [0x141dc2330]
xor ebp, dword [0x141dc2334]
add ebp, 0xca89e628
or ebp, 0x5a3f3f32
add ebp, 0x70f7e2c2
lea ecx, [r15*8]
mov rdx, rax
shl rdx, cl
cmp ebp, 0xe8eb7329
ja 0x14001bd20
or rbx, rdx
jmp 0x14001bd60
mov r11, r15
nop dword [rax]
mov eax, dword [0x141dc2338]
and eax, dword [0x141dc233c]
or eax, 0x64da106e
add eax, 0xd1735ed7
cmp eax, 0x8973fe39
ja 0x14001bd60
cmp r11, r14
jae 0x14001bdcf
movzx r14d, byte [r9 + r11]
mov eax, dword [0x141dc2340]
xor edx, edx
div dword [0x141dc2344]
shl r11, 3
nop dword [rax]
mov eax, dword [0x141dc2348]
xor eax, dword [0x141dc234c]
xor eax, 0x80010200
or eax, 0x3bde2cf6
and eax, 0xbfdf6efe
cmp eax, 0xcfde6356
je 0x14001bda0
and r11b, 0x38
mov ecx, r11d
shl r14, cl
or rbx, r14
lea ecx, [rsi*8]
shl rbx, cl
or rbx, qword [r10 + 0x38]
mov qword [r10 + 0x38], rbx
cmp rdi, r8
jbe 0x14001be4d
add rsi, r8
nop dword [rax]
mov eax, dword [0x141dc2350]
or eax, dword [0x141dc2354]
imul rax, rax, 0x3628bdd5
shr rax, 0x3d
or eax, 0x13611438
imul eax, eax, 0xda3c59
cmp eax, 0x5ffdb9f8
jb 0x14001bdf0
mov eax, 0xf7c18b73
nop
mov ecx, dword [0x141dc2358]
xor ecx, dword [0x141dc235c]
imul rcx, rax
shr rcx, 0x3b
add ecx, 0xf1e63b56
and ecx, 0x20e61a48
cmp ecx, 0x9cd3f8b9
je 0x14001be20
jmp 0x14001c171
mov rax, qword [r10 + 0x18]
xor rax, rbx
mov rdx, qword [r10 + 0x10]
mov rcx, qword [r10]
add rcx, rdx
mov r11, qword [r10 + 8]
add r11, rax
rol rdx, 0xd
xor rdx, rcx
rol rax, 0x10
rol rcx, 0x20
xor rax, r11
add r11, rdx
rol rdx, 0x11
add rcx, rax
xor rdx, r11
rol rax, 0x15
mov qword [r10 + 0x10], rdx
xor rax, rcx
rol r11, 0x20
mov qword [r10 + 0x18], rax
mov qword [r10 + 8], r11
xor rcx, rbx
mov qword [r10], rcx
sub r8, rdi
mov esi, r8d
and esi, 7
and r8, 0xfffffffffffffff8
cmp rdi, r8
jae 0x14001bf8b
mov rax, qword [r10]
mov rcx, qword [r10 + 8]
mov rdx, qword [r10 + 0x18]
mov r11, qword [r10 + 0x10]
nop word cs:[rax + rax]
mov rbx, qword [r9 + rdi]
xor rdx, rbx
add rax, r11
rol r11, 0xd
add rcx, rdx
xor r11, rax
rol rdx, 0x10
xor rdx, rcx
rol rax, 0x20
add rcx, r11
add rax, rdx
rol r11, 0x11
xor r11, rcx
rol rdx, 0x15
rol rcx, 0x20
xor rdx, rax
xor rax, rbx
add rdi, 8
cmp rdi, r8
jb 0x14001bed0
mov r8d, dword [0x141dc2360]
or r8d, dword [0x141dc2364]
imul r8d, r8d, 0x939c65bd
add r8d, 0x55dac732
and r8d, 0x7990014d
cmp r8d, 0xffb56194
ja 0x14001bf7a
mov r8d, dword [0x141dc2368]
and r8d, dword [0x141dc236c]
imul r8d, r8d, 0x63e5723d
add r8d, 0xc5a8bbcc
and r8d, 0x1504036f
mov qword [r10 + 0x18], rdx
mov qword [r10 + 0x10], r11
mov qword [r10 + 8], rcx
mov qword [r10], rax
cmp r8d, 0x4b96ec3e
jbe 0x14001bf8b
mov qword [r10 + 0x18], rdx
mov qword [r10 + 0x10], r11
mov qword [r10 + 8], rcx
mov qword [r10], rax
jmp 0x14001bf3f
cmp esi, 4
jb 0x14001bfed
mov eax, dword [0x141dc2370]
sub eax, dword [0x141dc2374]
cmp eax, 0xe92738e7
je 0x14001bf90
mov r8d, dword [r9 + rdi]
nop word [rax + rax]
mov eax, dword [0x141dc2378]
xor edx, edx
div dword [0x141dc237c]
imul eax, eax, 0x8d2788fc
and eax, 0xa08678c
xor eax, 0x3119dc42
cmp eax, 0xc394f031
ja 0x14001bfb0
mov r11d, 4
mov rax, r11
or rax, 1
cmp rax, rsi
jae 0x14001c0a0
jmp 0x14001c003
xor r8d, r8d
xor r11d, r11d
mov rax, r11
or rax, 1
cmp rax, rsi
jae 0x14001c0a0
mov eax, dword [0x141dc2380]
xor edx, edx
div dword [0x141dc2384]
lea rax, [r11 + rdi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2388]
sub ecx, dword [0x141dc238c]
xor ecx, 0x957ced0c
imul ecx, ecx, 0x56c328c8
cmp ecx, 0x1f991b97
je 0x14001c020
movzx ebx, word [r9 + rax]
mov eax, dword [0x141dc2390]
xor edx, edx
div dword [0x141dc2394]
mov r14d, 0x80e1ecfb
nop dword [rax]
mov eax, dword [0x141dc2398]
xor edx, edx
div dword [0x141dc239c]
fiadd dword [rcx]
imul edx, eax, 0x3aec61ac
and edx, 0xf13f447c
imul rdx, r14
shr rdx, 0x3e
lea ecx, [r11*8]
mov rax, rbx
shl rax, cl
cmp edx, 0x1ab3ee4f
ja 0x14001c060
or r8, rax
or r11, 2
nop
mov eax, dword [0x141dc23a0]
or eax, dword [0x141dc23a4]
add eax, 0xa8bcae06
or eax, 0xa208fae0
imul eax, eax, 0x704105ee
cmp eax, 0xcb53ab74
je 0x14001c0a0
cmp r11, rsi
jae 0x14001c11b
add rdi, r11
movzx eax, byte [r9 + rdi]
movzx eax, byte [rcx + rdi]
shl r11, 3
nop word cs:[rax + rax]
mov r9d, dword [0x141dc23a8]
sub r9d, dword [0x141dc23ac]
xor r9d, 0xb8220
and r9d, 0x515bb278
add r9d, 0x2f355e6b
mov ecx, r11d
and cl, 0x38
mov rdx, rax
shl rdx, cl
cmp r9d, 0x73cd98f7
jb 0x14001c0e0
or r8, rdx
mov eax, dword [0x141dc23b0]
xor edx, edx
div dword [0x141dc23b4]
or eax, 0x5d94931e
xchg esp, eax
pop rbp
xor eax, 0x1112fed4
add eax, 0xd8c97f6
cmp eax, 0x897ed07b
jbe 0x14001c150
mov qword [r10 + 0x38], r8
nop word cs:[rax + rax]
mov eax, dword [str.W_Ad5CSO]
and eax, dword [0x141dc23bc]
add eax, 0x9fadf25e
or eax, 0x206b69ef
mov qword [r10 + 0x38], r8
cmp eax, 0xe9781e7e
invalid
js 0x14001c158
ja 0x14001c150
mov qword [r10 + 0x40], rsi
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret