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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x10
lea rbp, [rsp + 0x10]
mov eax, dword [0x140220bf0]
xor eax, dword [0x140220bf4]
mov ecx, 0xa9e2c715
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xbafdbddc
cmp ecx, 0x228f0caa
jne 0x14016c8c0
mov eax, 0x30
call fcn.1401516e0
sub rsp, rax
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x50], 1
nop dword [rax + rax]
mov eax, dword [0x140220bf8]
add eax, dword [0x140220bfc]
xor eax, 0x3490916
or eax, 0x74a4e649
imul edx, eax, 0x9006a12a
mov eax, 0x30
call fcn.1401516e0
sub rsp, rax
mov r8, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rcx, rsp
mov eax, dword [0x14022cb7c]
mov r9, qword gs:[0x58]
mov rax, qword [r9 + rax*8]
mov r10, qword [rax + 0x50]
mov r9, qword [rax + 0x58]
mov qword [rax + 0x50], 1
cmp edx, 0x90541805
ja 0x14016c8c0
mov eax, dword [0x140220c00]
mov edx, dword [0x140220c04]
mov r11d, eax
xor r11d, edx
not r11d
or eax, edx
and eax, r11d
mov edx, 0xe08f3743
imul rdx, rax
shr rdx, 0x3e
imul eax, edx, 0x2d54032b
xor eax, 0x8bdc1fb7
cmp eax, 0xe243b26c
ja 0x14016c9ac
mov eax, dword [0x140220c08]
xor edx, edx
div dword [0x140220c0c]
mov edx, dword [0x14022cb7c]
mov r11, qword gs:[0x58]
mov rdx, qword [r11 + rdx*8]
add eax, 0x932e5cdb
or eax, 0xeee9e195
imul eax, eax, 0xff17ab4d
mov qword [rdx + 0x58], 0
cmp eax, 0x9031a7de
jbe 0x14016c9cc
mov eax, dword [0x14022cb7c]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov qword [rax + 0x58], 0
jmp 0x14016c969
test r10, r10
je 0x14016cbb5
mov eax, dword [0x140220c88]
xor edx, edx
div dword [0x140220c8c]
nop word cs:[rax + rax]
cmp r10d, 1
setne al
mov ecx, dword [0x140220c90]
mov edx, dword [0x140220c94]
xor edx, ecx
not edx
and edx, ecx
add edx, 0x53506fb1
and edx, 0x8675136
test r9, r9
sete cl
cmp edx, 0x23ca75be
ja 0x14016c9f0
or al, cl
mov ecx, 0x85772c65
nop word [rax + rax]
mov r8d, dword [0x140220c98]
mov r10d, dword [0x140220c9c]
mov edx, r8d
not edx
mov r11d, r10d
not r11d
mov esi, edx
and esi, 0xb8731072
and r8d, 0x478cef8d
or r8d, esi
or edx, r11d
and r11d, 0xb8731072
and r10d, 0x478cef8d
or r10d, r11d
xor r10d, r8d
not edx
or edx, r10d
mov r8d, edx
not r8d
and r8d, 0x843cb32f
mov r10d, edx
and r10d, 0x7bc34cd0
imul r10d, r8d
mov r8d, edx
and r8d, 0x843cb32f
or edx, 0x843cb32f
imul edx, r8d
add edx, r10d
imul rdx, rcx
shr rdx, 0x3e
or edx, 0x719701a4
cmp edx, 0xeb0f6bd2
ja 0x14016ca30
test al, al
jne 0x14016d11c
mov rcx, 0xffffffffffffffff
lock xadd qword [r9], rcx
mov eax, dword [0x140220ca0]
xor edx, edx
div dword [0x140220ca4]
mov eax, 0xfc029d9f
nop word [rax + rax]
mov edx, dword [0x140220ca8]
and edx, dword [0x140220cac]
mov r8d, edx
not r8d
mov r10d, edx
and r10d, 0x4e7e9c6a
and r8d, 0xb1816395
imul r8d, r10d
mov r10d, edx
and r10d, 0xb1816395
or edx, 0xb1816395
imul edx, r10d
add edx, r8d
add edx, 0xeae50d54
imul rdx, rax
shr rdx, 0x38
cmp edx, 0xa8b55f82
ja 0x14016caf0
cmp rcx, 1
jne 0x14016d11c
sub rsp, 0x20
mov rcx, r9
call fcn.140099c90
add rsp, 0x20
nop
mov ecx, dword [0x140220cb0]
mov eax, dword [0x140220cb4]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x38dc3613
and ecx, 0x4723c9ec
imul ecx, edx
mov edx, eax
and edx, 0x4723c9ec
or eax, 0x4723c9ec
imul eax, edx
add eax, ecx
or eax, 0x1207ace
and eax, 0x41217ece
cmp eax, 0x7a79dc50
je 0x14016cb60
jmp 0x14016d11c
mov eax, 0xf67d3849
mov edx, 0xa7e8e1cb
nop
mov r9d, dword [0x140220c10]
mov r10d, dword [0x140220c14]
not r9d
not r10d
and r10d, r9d
not r10d
imul r10, rax
shr r10, 0x3f
add r10d, 0xdc3f7abd
imul r10, rdx
shr r10, 0x3d
cmp r10d, 0x489c13ac
je 0x14016cbc0
mov eax, dword [0x14022cb7c]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov r9, qword [rax + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x140220c18]
xor edx, edx
div dword [0x140220c1c]
lea edx, [rax - 0x853628c]
not edx
or edx, 0x8c3de670
add eax, edx
add eax, 0xf7ac9d75
and eax, 0x9512cdd6
cmp eax, 0x2e0bf09e
jb 0x14016cc20
test r9, r9
jne 0x14016cf30
mov ecx, dword [0x140220c20]
sub ecx, dword [0x140220c24]
mov eax, ecx
xor eax, 0xee81b261
xor ecx, 0x10124104
and ecx, 0xd2935364
mov edx, eax
and edx, 0x2d6cac9b
imul edx, ecx
mov ecx, eax
and ecx, 0xd2935364
or eax, 0xd2935364
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0x59867cfb
mov edx, eax
and edx, 0xa6798304
imul edx, ecx
mov ecx, eax
and ecx, 0x59867cf8
or eax, 0x59867cfb
imul eax, ecx
add eax, edx
cmp eax, 0x192d4a64
jae 0x14016cce7
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x30], 0xffffffffffffffff
mov rax, qword [0x140179598]
mov eax, 0xb8636175
nop dword [rax]
mov ecx, dword [0x140220c28]
and ecx, dword [0x140220c2c]
mov edx, dword [0x14022cb7c]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
xor ecx, 0x24049090
or ecx, 0xdaf36f64
imul rcx, rax
shr rcx, 0x3f
mov qword [rdx + 0x30], 0xffffffffffffffff
mov rdx, qword [0x140179598]
cmp ecx, 0xfa39e5c1
ja 0x14016ccf0
nop dword [rax]
mov eax, dword [0x140220c30]
xor eax, dword [0x140220c34]
mov ecx, eax
not ecx
and ecx, 0x5689a69b
mov edx, eax
and edx, 0xa9765964
imul edx, ecx
mov ecx, eax
and ecx, 0x5689a69b
or eax, 0x5689a69b
imul eax, ecx
add eax, edx
or eax, 0x190a002
and eax, 0xe3dbf782
cmp eax, 0xad54393e
ja 0x14016cd40
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x48]
nop
mov eax, dword [0x140220c38]
xor eax, dword [0x140220c3c]
or eax, 0xefdfffd5
imul rax, rax, 0x707116c3
shr rax, 0x3c
cmp eax, 0x9f5c0c60
ja 0x14016cda0
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp rsi, qword [rax + 0x38]
jne 0x14016cef2
mov eax, dword [0x140220c50]
or eax, dword [0x140220c54]
mov ecx, eax
and ecx, 0x6905b98
xor eax, 0x86905b98
lea eax, [rax + rcx*2]
add eax, 0xc25030a2
imul rax, rax, 0x43517d57
shr rax, 0x3e
cmp eax, 0x796d0b77
jne 0x14016ce30
sub rsp, 0x20
call fcn.1401503f0
add rsp, 0x20
nop word cs:[rax + rax]
mov edi, dword [0x140220c58]
sub edi, dword [0x140220c5c]
and edi, 0x7beaff5b
add edi, 0x8f8bd0e7
or edi, 0x7ab94cd9
sub rsp, 0x20
call fcn.1400b61a0
add rsp, 0x20
cmp edi, 0xbcc69d55
jb 0x14016ce30
nop word cs:[rax + rax]
mov eax, dword [0x140220c64]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x140220c60]
xor ecx, eax
add ecx, 0x13208e77
cmp ecx, 0x24aeefc
jb 0x14016ce70
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x30]
mov eax, dword [0x140220c68]
xor edx, edx
div dword [0x140220c6c]
inc rcx
nop dword [rax]
mov eax, dword [0x140220c70]
and eax, dword [0x140220c74]
mov edx, eax
xor edx, 0x6f0a02ca
add edx, eax
and eax, 0x90f5fd35
sub edx, eax
or edx, 0x1a5461b0
imul eax, edx, 0x788fe0af
cmp eax, 0xd47a9382
ja 0x14016cec0
jmp 0x14016cef4
xor ecx, ecx
mov eax, dword [0x140220c78]
and eax, dword [0x140220c7c]
mov edx, eax
not edx
and eax, 0x37830314
or edx, 0x244801
and edx, 0x2ccc61
or edx, eax
not edx
add edx, 0x1a78fd16
cmp edx, 0x6d3d2e38
jbe 0x14016d02a
jmp 0x14016d0c2
mov eax, dword [0x140220c40]
or eax, dword [0x140220c44]
mov edx, eax
or edx, 0x9e84fd24
mov r9d, eax
not r9d
and r9d, 0x41290291
mov r10d, edx
and r10d, 0x20d66c4e
imul r10d, r9d
and edx, 0xdf2993b1
or eax, 0xdfadffb5
imul eax, edx
add eax, r10d
xor eax, 0x699427c0
cmp eax, 0x1787eee3
jb 0x14016cfdb
mov edx, dword [0x140220c48]
mov eax, dword [0x140220c4c]
not edx
not eax
or eax, edx
not eax
add eax, 0x3b7f79c2
mov edx, eax
not edx
and edx, 0x7c916b67
mov r9d, eax
and r9d, 0x836e9498
imul r9d, edx
mov edx, eax
and edx, 0x7c916b67
or eax, 0x7c916b67
imul eax, edx
add eax, r9d
mov edx, 0xaf6d2619
imul rdx, rax
shr rdx, 0x3e
mov dword [rcx], 0
cmp edx, 0xf9452005
jne 0x14016cfe3
mov dword [rcx], 0
jmp 0x14016cf7c
mov byte [rcx + 4], 0
lea rax, str.8v__
mov qword [r8], rax
mov qword [r8 + 8], 1
lea rax, [rbp - 8]
mov qword [r8 + 0x10], rax
xorps xmm0, xmm0
movups xmmword [r8 + 0x18], xmm0
sub rsp, 0x20
mov rdx, r8
call fcn.1400b2630
mov rcx, rax
call fcn.1400b2ce0
add rsp, 0x20
mov ecx, 7
int 0x29
ud2
mov eax, dword [0x140220c80]
xor edx, edx
div dword [0x140220c84]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x79608119
and edx, 0x69f7ee6
imul edx, r8d
mov r8d, eax
and r8d, 0x69f7ee6
or eax, 0x69f7ee6
imul eax, r8d
add eax, edx
and eax, 0x706d21a6
imul eax, eax, 0x346fef00
mov rdx, rsi
shl rdx, 4
mov r8d, dword [0x14022cb7c]
mov r9, qword gs:[0x58]
mov r8, qword [r9 + r8*8]
mov r9, qword [r8 + 0x40]
lea r10, [r8 + 0x50]
mov qword [r9 + rdx], r10
lea r10, [0x1400d2330]
mov qword [r9 + rdx + 8], r10
lea rdx, [rsi + 1]
mov qword [r8 + 0x48], rdx
mov qword [r8 + 0x30], rcx
cmp eax, 0x14ebd910
jb 0x14016d11c
mov eax, dword [0x14022cb7c]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov rdx, qword [rax + 0x40]
mov r8, rsi
shl r8, 4
lea r9, [rax + 0x50]
mov qword [rdx + r8], r9
lea r9, [0x1400d2330]
mov qword [rdx + r8 + 8], r9
mov edx, esi
and edx, 1
mov r8, rsi
or r8, 1
add r8, rdx
mov qword [rax + 0x48], r8
mov qword [rax + 0x30], rcx
jmp 0x14016d02a
xor eax, eax
nop
test al, al
jne 0x14016d120
mov rsp, rbp
pop rdi
pop rsi
pop rbp
ret