Function at 0x14f079b
Capabilities:
Encode data using base64
Encrypt data using speck

Disassembly:
neg edx
sar eax, cl
bt ecx, eax
cwde
lea edx, [edx + eax - 0x6595359a]
shr cl, 0x21
add eax, 0xc08821ab
sal eax, cl
xor edx, 0x7791341b
bswap edx
imul eax, ecx
xor ebx, edx
add edi, edx
mov dx, word [ebp + eax*2 - 0x5e8ad868]
btr ecx, ecx
mov ax, word [eax + ebp - 0x2f456c32]
not cx
lea ebp, [ebp + ecx*2 - 0x3ed0597a]
or cl, cl
shl cl, 0x23
adc ecx, ecx
and dx, ax
not dx
btc ecx, ecx
mov word [ecx + ebp - 0x3ed059e3], dx
btr ecx, ecx
jmp edi
not ax
jmp 0x12e58ff
btc ecx, ecx
sbb byte [esp + ecx*4 - 0x485c0006], cl
lea edx, [esp + edx + 0xc]
btr ecx, ecx
mov dword [esp + ecx - 0x1216fffb], 0xbbab3310
neg cl
mov dword [edx + ecx*4 - 0x485c03f4], eax
movzx ecx, byte [ebp + ecx*4 - 0x485c03f6]
mov eax, dword [esp + 8]
movsx edx, word [esp + 8]
mov dword [esp + edx - 0x3310], 0x100879be
xor cl, bl
or dx, 0xda38
push edx
shl edx, 0xd6
adc cl, 0xa5
xor cl, 0x32
lea edx, [edx + eax*4 - 0x64d63def]
mul edx
div al
ror cl, 1
inc dword [esp + eax - 0x76de007a]
not cl
jne 0x152ef10
sub ecx, 0xa1ac5c3a
adc edi, 1
bt ecx, 0x21
and al, dl
movzx edx, cl
dec dx
bt ecx, edx
not al
xor dx, cx
mov word [edx + edi - 0xf601], ax
mov eax, dword [esi + edx*4 - 0x3d804]
lea esi, [edx + esi - 0xf5fd]
xor eax, ebx
inc eax
shr dx, 0x2f
sar cl, 0x47
call fcn.014c67a0
sub ebp, 4
mov eax, 0xe19dae87
mov ecx, eax
movzx edx, al
mov edx, dword [ebp + edx - 0x87]
neg eax
bts ecx, 0x10
xor edx, ebx
btc cx, 0xae
inc eax
bt ecx, 0x33
neg edx
neg cx
btc eax, 0xad
adc ecx, ecx
xor edx, 0xdfbf8a9f
xor ax, ax
cwde
or ecx, 0x600bb9a1
bswap edx
adc eax, 0xddbc5ca8
rol edx, 1
dec ecx
inc edx
add ecx, eax
neg edx
rol ecx, cl
xor ebx, edx
cbw
shl cx, 0xa7
bts cx, 0x8a
lea esi, [esi + ecx - 0x6b033504]
mov dword [ecx + esi - 0x6b033500], edx
sbb eax, ecx
lea ebp, [eax + ebp - 0x72b9caac]
mov edx, dword [ecx + ebp - 0x6b033500]
xor edx, ebx
or ecx, ecx
ror ecx, 0x22
ror cx, 0x25
inc edx
bswap edx
xor edx, 0x620fa188
and eax, eax
sbb edx, 0x8c3f7f33
bswap edx
inc ecx
neg ecx
lea edx, [ecx + edx - 0x3e085aeb]
sbb eax, eax
xor edx, 0x5806cf87
xor ebx, edx
add edi, edx
movzx edx, ax
cwde
sal ax, 0x2f
jbe fcn.013c73b8
mov ecx, 0x81aab86
mov ecx, dword [esi + ecx*2 - 0x1035570c]
mov eax, 0x151996b2
push eax
add al, ah
lea esi, [eax + esi - 0x15199644]
bt eax, 0x29
xor ecx, ebx
lea ecx, [ecx + eax*8 + 0x3e446b78]
pop eax
ror ecx, 1
bswap eax
call fcn.01502adb
or al, ah
neg cl
mul dl
sub dword [esp + edx - 0x406477bf], 0x83a3faab
rol cl, 1
sub al, al
xchg dword [esp + edx - 0x406477bf], edx
pop edx
neg cl
shl dword [esp + eax - 0x76de65fd], 0x13
imul edx
shl dword [esp + eax - 0xea84ffb], 0x46
xor bl, cl
imul eax, dword [esp + eax - 0xea84ff8]
jb 0x15796dd
mov edx, 0xc8a173ac
lea eax, [edx + edx*8 + 0x11bbc235]
movzx ecx, al
mov edx, dword [eax + esi - 0x1f68d341]
xor al, ch
and cx, cx
lea esi, [eax + esi - 0x1f68d33d]
xadd ecx, eax
xor edx, ebx
jmp 0x14b77c1
neg word [esp + edx*4 - 0x1d290]
lea ecx, [esp + ecx + 0xc]
movzx dx, byte [ecx + edx - 0x74a6]
add word [esp + 6], ax
rol byte [esp + 7], 0xc6
lea ecx, [eax*8 + 0x1c9b3428]
mov word [esi + 2], dx
xor ax, ax
pop ecx
jg 0x13850c0
adc esi, 2
jmp fcn.00b8bb31