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

Disassembly:
lea edx, [eax + edx + 0x18075390]
rol cl, 1
mul byte [esp + eax - 0x2c]
adc cl, 0x3d
cbw
idiv byte [esp + eax*4 - 0x10b]
rol cl, 1
sub cl, al
xor cl, 0x9c
not cl
sar eax, 0xed
bts ax, dx
xor bl, cl
ror dl, 0xa1
mov dword [esp + eax - 0x800], ebp
jno 0x10e351d7
mov edx, 0xc326f18c
movzx ecx, dl
mov eax, ecx
lea ebp, [ebp + ecx*2 - 0x11c]
call fcn.11998ba0
not word [esp + ecx - 0x7a26b797]
xor bl, al
sal dword [esp + edx - 0x2274fff0], cl
lea eax, [esp + eax + 0x14]
sar word [esp + edx*2 - 0x44e9fff7], 0xc1
mov cx, word [eax + edx*2 - 0x44ea0000]
neg dx
lea ebp, [ebp + edx*2 - 0x44ea0002]
lea eax, [edx + edx*4 - 0x1b622c7d]
xor dx, 0x2721
ja 0x11a8c01d
dec ebp
ljmp 0xbb1d
sbb dword [ebx + 0x1984bb1d], 0xd18d12fe
inc esp
push esi
lds ebx, [0x11e697a6]
dec edi
push eax
aad 0x4d
push ecx
out dx, al
sti
cld
lodsb al, byte [esi]
aad 0xe7
sti
xchg esi, eax
cdq
sbb dword [ebp + 0x302287dc], esp
pop edi
sbb eax, dword [esi + 0x2850ad1a]
imul esp, dword [edx + 0x7f], 0x10f268b1
jecxz 0x10dad5cc
inc edx
ret
movsx ebp, ax
mul edx
push edi
push ebx
sal bp, 0xa
shl al, 6
lea eax, [edx + eax + 0x37bd50a3]
add ebp, esi
mov ebx, 0x70186887
mov ebx, ecx
mov edx, ebx
rol eax, 0xb4
setb al
push eax
sal edx, 2
sub eax, 0x77102d22
add al, ah
bts eax, eax
mov eax, ebp
ror dword [esp], 0x58
add eax, edx
mov dword [ebp - 4], eax
shl dword [esp], 0x39
test ebx, ebx
call fcn.1194d8ad
sysenter
call fcn.10cff472
ror cx, 0xae
not eax
neg cl
xadd dword [esp + edx*2 - 0x67b0d0f2], edx
lea ecx, [ecx + edx*4 + 0x202e638d]
xor ebx, eax
neg ecx
je 0x11a5fce8
add edi, eax
shl cl, 0x83
mov ebp, dword [ecx + ebp - 0x119c0a18]
movsx eax, cl
js 0x11a08851
and eax, edx
pop edx
jns fcn.11cf5004
push 0x59127c0f
mov eax, dword [esi]
add esi, 4
jmp 0x11d30f11
push edx
mov ecx, ebp
xadd eax, edx
sbb ebp, 2
mov word [ebp], cx
mov ecx, dword [edi]
add edi, 4
add dx, ax
rol eax, 0xd5
inc dx
xor ecx, ebx
neg ecx
shl eax, 0x4c
not ecx
adc ecx, 0xe171629
bts dx, 0x9d
setae byte [esp]
sbb dword [esp], edx
bswap ecx
jb 0x11c15173
adc esi, eax
sub cl, cl
inc dx
mov edx, dword [edi]
or ecx, ecx
mov al, byte [edi + 4]
adc edi, 6
mov byte es:[edx], al
movzx eax, cx
movzx edx, cx
mov word [ebp + edx - 0x22752721], cx
mul ax
dec ax
jnp 0x11c92d93
jge 0x11c5fe89
adc edi, 4
xor edx, edx
sar dword [esp], 0xfb
call fcn.119e4ab9
mov edx, 0x831adf22
mov ebp, 0xed1d0987
lea eax, [ebp*4 - 0x5bdc52e2]
mov esp, edi
movsx edi, ax
pop edi
movsx esi, al
pop esi
push eax
sar dword [esp + eax - 0x5897d33a], 0x84
push ebp
mov eax, dword [esp + eax - 0x5897d332]
lea ebx, [edx + 0xa37aa3f]
mov dword [esp + 8], 0xe49ecf9b
xadd dword [esp + 8], ebx
push dword [esp + 0xc]
popfd
mov ecx, ebx
not ebx
pop ecx
mov ecx, dword [esp + ebx*2 - 0x36c260bc]
call fcn.11c21315
inc ecx
shld eax, edi, cl
cwde
dec esi
lea esp, [0xe93e9faf]
inc esp
mov dword [ebx + eax - 0x104], eax
inc ebp
mov edi, dword [esi + eax*4 - 0x410]
mov ecx, 0x3786f923
btc ecx, ecx
inc cl
dec ebp
lea esi, [esi + eax - 0x100]
inc ebp
mov ebp, esp
dec eax
cdq
inc ecx
btc ecx, edx
inc ebp
xor edi, edx
inc esp
mov eax, ecx
inc eax
dec eax
lea ebp, [edx + edx*8 + 0x34223fa1]
inc ecx
inc edi
inc ecx
ror edi, 2
dec ecx
div ecx
inc ecx
mov edi, eax
inc ecx
inc edi
inc ecx
xor edi, 0x8b10f090
dec eax
rol ecx, 0x61
dec eax
xor edx, ebp
not edx
inc ecx
push edx
je 0x10cbdac6
cdq
inc eax
ror bh, 0xa1
inc esp
xor dword [esp + edx], edi
inc ecx
pop edx
dec eax
imul ebp
dec ebp
arpl di, di
jno 0x11cce015
rol ecx, 2
dec esp
xor ebp, dword [esp + 8]
dec ecx
add ebp, 0x268b4
inc ecx
jmp ebp
lea edi, [edi + edx*2 - 0x44eb5d86]
lea ecx, [edx + eax*2 - 0x2dee256f]
inc dx
mov ecx, dword [edi + edx - 0x2275aec2]
mov dword [esp + edx - 0x2275aec2], eax
xor ecx, ebx
xor ecx, 0xdfb00eab
idiv dword [esp + edx*2 - 0x44eb5d78]
shr edx, 8
ror edx, 0x46
neg ecx
dec edx
cwde
bswap ecx
call fcn.11d027ce
mov ax, word [esi]
add esi, 2
mov ecx, 0xa72a0321
sub ebp, 1
movsx edx, cl
mov dl, byte [edx + ebp - 0x21]
call fcn.11c8b78a
jbe 0x11c5af1f
lea esi, [esi + ecx*2 + 6]
inc dword [esp + ecx*2 - 2]
mov dword [edx + ecx - 1], eax
mov eax, 0x20918eb6
shl eax, 0xdd
call fcn.118999a9
call fcn.118ace3e
mov ecx, 0x17961d
lea edx, [ecx + 0x18b09910]
btr edx, ecx
lea ebp, [ebp + ecx*2 - 0x2f2c3b]
movsx eax, dl
neg dl
bts edx, ecx
movzx ecx, byte [ecx + ebp - 0x17961d]
bts eax, edx
xor cl, bl
cwde
neg cl
not cl
push edx
sub cl, 4
shl dl, 0x61
adc dx, 0xba37
btc edx, edx
neg cl
bts dx, ax
jb 0x10cd7334
inc ecx
mov edi, 0x94228f15
inc ecx
push edi
inc ecx
mov ebp, dword [esi]
dec esp
or dword [esp], edi
call fcn.10d22b6e
shrd ax, dx, cl
mov ecx, 0x74b129b6
add ecx, ecx
mov word [edi], ax
xor byte [esp + 3], 0x2a
push ecx
movzx edx, cx
mov ecx, dword [esi + edx*4 - 0x14db0]
call fcn.118c669d
shr word [esp + 2], 0xe
call fcn.1188a6e1