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

Disassembly:
jmp ebp
jb 0xe7b54d
lea ecx, [ecx + edx + 0x2a92772c]
and eax, 0x771c2e18
sub eax, eax
lea edi, [edi + eax*8 + 4]
xor edx, ebx
bts eax, eax
lea ecx, [eax + eax*8 + 0xe38dda5]
rol edx, 3
not edx
btc ax, 0x15
shr ax, cl
dec edx
rol edx, 1
dec edx
not edx
inc cl
inc edx
shr ax, cl
neg eax
shl cl, 0x87
xor ebx, edx
call fcn.00f794a1
push 0xac8f9d29
mul ecx
mov dword [ebp], edx
mov edx, dword [esp]
xadd word [esp + 1], dx
mov dword [ebp + 4], eax
add byte [esp + 1], 0xb0
inc edx
sbb edi, 3
xchg word [esp + 1], dx
pop ecx
movzx eax, cx
mov eax, dword [edi + ecx + 0x537061d7]
shr edx, cl
sete cl
btr ecx, 0x98
xor eax, ebx
not cl
rol cl, 0xc6
adc cx, dx
dec eax
bswap ecx
neg eax
shl edx, 0x25
lea eax, [eax + edx + 0x83bf048]
jnp 0x121c5f6
bswap eax
sete cl
push ecx
bt ecx, ecx
xor ebx, eax
jmp 0xef76bf
btc ax, 3
cwde
lea ebp, [ebp + eax*2 - 0xe]
mov dword [esp + eax*8 - 0x40], eax
idiv al
shl edx, cl
call fcn.011b366b
xor edx, ebx
shl eax, 0x83
xor edx, 0x83a43020
movzx ecx, al
btr eax, 0xb0
ror edx, 1
call fcn.00dd82b2
xor eax, ebx
or edx, 0x1e95f89b
push ecx
seto byte [esp]
bswap eax
sub cx, dx
inc eax
or edx, 0x3a38342c
ror eax, 1
shl dword [esp], 0x9f
dec eax
and cl, dl
call fcn.00d6561b
mov ecx, dword [esi]
mov eax, 0xa32a45ab
lea edx, [eax + eax + 0x618c4426]
jmp 0xe80521
sal eax, 0x30
adc ebp, edx
shr al, 0x25
not eax
jmp ebp
mov ecx, 0xe615c1ab
mov edx, dword [edx + esi - 0xe2c6b46]
pop ecx
push eax
cwde
movzx cx, byte ss:[eax + edx - 0x6fff]
dec eax
lea esi, [esi + eax*8 - 0x37fee]
mov word [esi + eax*4 - 0x1bff8], cx
call fcn.01131c7a
bswap ecx
bswap edx
jmp 0x1109e55
xor edi, eax
push 0x231bc329
shr word [esp + 1], 0x44
and edi, 0xff
push 0xef122612
mov edi, dword [edi*4 + 0xedb954]
jmp 0x10fe7f9
mov al, byte [esi + 4]
add esi, 6
mov byte ss:[ecx], al
shl edx, 0xad
mov edx, dword [edi + edx*2 - 0x33df0000]
mov eax, 0xcb0b4880
jne 0xd0d549
mov eax, 0x513cd11e
push eax
mov dword [esp + eax - 0x513cd11e], 0x84aef89f
movzx edx, byte [ebp + eax - 0x513cd11e]
push eax
shl dword [esp + eax - 0x513cd11a], 0x8b
movsx ecx, byte [esp + eax - 0x513cd11a]
lea ebp, [ebp + ecx*8 + 1]
xor dl, bl
btc eax, 3
or byte [esp + eax - 0x513cd114], 0x85
ror byte [esp + eax - 0x513cd115], 0x42
neg dl
shl ax, 0x8a
not dl
dec dl
rol dl, 1
bswap eax
call fcn.01a29f12
not dl
bt cx, cx
shl cl, 0xc2
mov word [esi + ecx - 0x4000], dx
jne 0x102d83e
inc cl
mov eax, dword [edi + ecx*2 - 0x8002]
shr ecx, 1
lea ecx, [ecx*2 + 0x553e649a]
lea edi, [edi + ecx - 0x553ea496]
lea edx, [ecx + ecx + 0x5d822ea9]
xor eax, ebx
bt ecx, ecx
btc dx, dx
xor eax, 0x7f0f4cbd
lea ecx, [ecx + 0x741e309f]
lea eax, [edx + eax - 0x3996c21a]
btc cx, cx
bswap eax
sub dx, dx
lea eax, [eax + ecx - 0x6ab7b6a8]
cmove cx, dx
xor eax, 0x74a1141e
inc eax
sal cx, 5
bswap eax
rol cl, 0xe1
jae 0x11b4de6
mov edx, 0x75a44e83
lea edi, [edi + edx - 0x75a44e87]
movzx ecx, dl
xor cl, dl
adc ecx, dword [edx + edi - 0x75a44e83]
jmp 0x1110da8
not eax
mov ecx, 0xe9111a9d
imul cx, cx
mov dword [ebp], eax
jmp edi
mov ecx, dword [edi]
add ax, ax
btc ax, ax
jb 0x1142d74
mov ecx, 0x45b52daa
call fcn.00d22881
sysenter
push esi
mov esi, 0x958d7c9c
mov esi, dword [esp + esi + 0x6a728364]
mov dword [esp], 0x351e3041
call fcn.00edf3f6
mov dword [esp + ecx*4 - 0x7403fc90], ebp
ret 8
rol dl, 0x47
ror eax, 2
xor ebx, eax
shl edx, 0xa9
add ebp, eax
jmp ebp
jae 0x1143748
call fcn.0117064f
xor eax, eax
rol byte [esp + 3], 0x46
test ecx, ecx
lea esp, [esp + 8]
je 0xe8a574
push 0x90b24faf
mov dword [esp], edi
mov edi, 0x781ef8a5
bt edi, edi
movzx edi, byte [edx + edi - 0x781ef8a5]
jb 0xcf2f4c
syscall
call fcn.0107e47b
mov edx, 0x483baca7
xor edx, 0x7a3ba199
mov edx, dword ss:[eax + edx*2 - 0x64001a7c]
mov dword [esi], edx
sbb edi, 4
mov ecx, 0xf013278e
lea edx, [ecx*8 - 0x5264d6de]
ror ecx, 0x1e
mov edx, dword [edi + edx*2 - 0x5c68cb24]
xor edx, ebx
mov eax, ecx
shr al, 5
ror edx, 2
or ax, cx
sbb edx, 0xf4881130
dec ecx
xor edx, 0x45be3da5
shl cx, 0xc5
bts eax, eax
sbb al, ch
bswap edx
sbb cl, 0x89
shr eax, cl
sbb edx, 0xcc9e148f
dec al
add eax, ecx
not edx
call fcn.00e8b668
mov word [ebp + eax*8 - 0x590], dx
movzx ecx, al
lea edi, [edi + eax*2 - 0x168]
call fcn.00ea9f70
neg edx
cwde
not cl
inc eax
add edx, eax
or al, ah
jne 0x19dbc63
sub esi, 4
mov edx, 0x8d3ded3c
mov ecx, dword [esi]
mov eax, 0x6a9eb804
xor ecx, ebx
not ecx
rol ecx, 2
neg ecx
dec al
rol ecx, 3
sub al, dl
sal al, 0x64
mul al
sbb ecx, 0xb5064c3b
not al
lea edx, [eax + edx - 0x1153517d]
xor ebx, ecx
btc eax, edx
add ebp, ecx
mov ecx, edx
mov ax, word [edi + eax*2 - 0x553c63fe]
bt ecx, edx
ror cl, 4
not dl
mov cl, byte [edi + 2]
lea edx, [edx + 0x3e32a9ae]
jae 0xfed459
lea edi, [edi + edx*2 - 0x4976eddc]
xor dx, dx
adc dx, 0xf3ad
btr dx, dx
shr ax, cl
lea ecx, [edx + 0xc0f7e30]
xadd dx, cx
sar edx, cl
mov word [edi + edx*8 - 0x92ec8], ax
jns 0xced69e
mov eax, 0xfd2f4a8c
jmp 0xfd6ab0
push eax
add ebp, ecx
jmp 0xe2a53e
ror byte [esp + 2], 0xe6
and dword [esp + 4], 0x360d55ae
shr eax, 8
ror byte [esp + 1], 0x64
call fcn.00f7096b
mov eax, 0x331c63a0
mov edx, 0x26847fb8
lea edi, [eax + edi - 0x331c63a4]
mov ecx, dword [eax + edi - 0x331c63a0]
shr eax, 0xb9
mul edx
mul dl
xor ecx, ebx
push edx
inc ecx
dec al
bswap ecx
imul dl
not word [esp + edx - 1]
idiv dword [esp + edx*8 - 0x18]
dec ecx
pop edx
shl eax, 0x35
ja 0x1189cc8
bswap ecx
ror ecx, 1
btr eax, 0xbc
neg edx
xor ebx, ecx
jmp fcn.011a47b2
xor ebx, edx
add edi, edx
push ecx
mov edx, dword [ecx + ebp - 0x5810930f]
mov ecx, dword [ebp + ecx - 0x5810930b]
add ebp, 4
not dword [esp]
push 0xd2307a93
jmp 0x104c6a9
inc dl
xor ecx, ebx
lea eax, [edx + edx*4 - 0x4e40f559]
inc ecx
bts eax, edx
neg eax
lea edx, [eax*4 + 0x2b3c74aa]
neg ecx
or dx, ax
add eax, 0x1429c3b6
cmovle eax, edx
dec ecx
xchg edx, eax
dec edx
rol ecx, 2
rol dx, 0xcc
push eax
rol edx, 0xd9
xor ebx, ecx
jmp 0x10bb222
adc edi, 3
inc eax
dec eax
xor ecx, ebx
bswap ecx
call fcn.00e15b8d
syscall
push edi
dec eax
mov dword [esp], 0x7082b304
call fcn.01189bc7
fisttp dword [edx + edx*4]
jo 0x1142d7a
xor dword [esi + 4], ebp
add bl, bl
or al, 0x92
mov ebx, 0x107d2f85
inc dword [ebp - 0x7a216b91]
mov ebx, 0x7a1da433
fisttp qword [ebp - 0x7a7d2fdf]
mov al, byte [0x85b7585d]
popfd
popal
push ebp
jg 0x1142e33
imul ebp, ebp, 0xd1017a61
or ecx, ebx
push esi
test cl, bl
jg 0x1142e3a
jnp 0x1142e14
push esp
ret
test edi, ebp
push edi
pop ebx
sub edi, dword [edx - 0x47]
cdq
int 0x2f
mov ah, 0x85
dec esp
jno 0x1142d90
add dword [ebp + 0x49aacdb1], 0xf6b5e57a
in al, dx
lds esi, [edi]
ret
ror byte [ebx], 1
pop ebx
adc ecx, edx
wait
push ecx
in eax, 0xd1
sub eax, 0xe9d4324e
rcr dword [ebx + 0x65d1e551], 1
sub eax, 0xe9d4324e
jnp 0x1142dda
cmp byte [ebp - 0x1f], al
leave
pop esi
jp 0x1142dfc
fld qword [eax - 0x3f7e9c78]
frstor dword [eax - 0x231d05eb]
add eax, 0xfa15a0dd
loop 0x1142df8
mov ebp, 0x8ef75f15
pop esp
ljmp 0x5fea
aaa
iretd
cmp eax, 0x6569ea23
ljmp 0x15c4
sal ecx, cl
mov cl, byte [ecx + esi - 0x55d8defe]
xor dword [esp + 4], 0xb2bd34a9
adc esi, 4
shrd ax, dx, cl
mov word [esi], ax
mov ecx, dword [esp + 2]
mov dword [esp + ecx - 0x54f65514], ebp
ret 4
dec eax
jmp 0x1014d07
neg edx
xor cx, ax
lea ecx, [ecx + ecx*8 - 0x5bd1e8f8]
xor ebx, edx
bts ecx, 0xb0
jb 0xd4b6dd