Function at 0x70af4a
Capabilities:
Encrypt data using speck

Disassembly:
lea eax, [edx + 0x6c8b9c93]
lea edi, [edi + eax - 0xc24bba9]
bt eax, edx
call fcn.00ba4685
bt edx, ecx
adc cl, 0xbf
xor ebx, eax
jmp 0x8b597c
js 0x8101fb
mov edx, 0x5404bc8b
add edx, edx
mov ecx, dword [ebp]
jg 0x8cb1fa
imul edx, eax
adc ebp, 6
cwde
ror edx, 0xbd
xor cx, bx
sar dx, 0x8f
rol cx, 1
xor dx, dx
imul edx
dec ax
sbb cx, ax
btr ax, 0x2c
and ax, ax
shl eax, 0xc1
ror cx, 1
mul edx
bts edx, 3
not cx
xor al, dh
sal edx, 0x7f
ror cx, 1
xor bx, cx
sub eax, 0x512aaf91
mov word [esi + edx], cx
mov ecx, edx
add edx, edi
jmp edx
xor ebx, edx
call fcn.0083e544
dec edi
int 9
mov ecx, 0xa1b92179
rol byte [ebp + 0x7e], 0x21
stc
and dword [ecx + 0x7e45c0a1], edi
and ecx, edi
mov ecx, 0x217e45f8
inc ecx
cmc
fadd dword [ebp + 0x7e]
and ecx, eax
lds ebp, [eax + 0x11217e45]
adc eax, 0x217e4550
imul eax, ebp, 0x217e45d8
loope 0x89d840
test al, 0x45
jle 0x89d88c
xchg ecx, eax
cmp byte [edx], cl
add dword [ecx + eax*8 + 0x22], 0x61bf4be2
nop
inc ecx
sub dword [eax + 0x48e], ecx
add ah, ch
or al, byte [ecx - 0x1ddd3ebc]
dec ebx
mov edi, 0x29419061
mov byte [esi + 4], cl
in al, dx
aaa
adc al, 5
imul edi, edx, 0xffffff93
sbb eax, 0xf6157085
jg 0x89d8bf
xor al, byte [ebp + 0x7f5e6450]
xor al, byte [ebp + 0x7f66edc8]
xor al, byte [ebp + 0x7fce1550]
xor al, byte [ebp + 0x7f3e645c]
xor al, byte [ebp + 0x7fc64504]
xor al, byte [ebp + 0x7fbe7d5c]
xor al, byte [ebp - 0x3457e3e0]
int1
pop esi
push cs
sbb byte [eax + edi*4 + 0x58042179], dh
test dword [eax + 0x64], edx
pop esi
jg 0x89d8c5
test eax, ecx
in eax, dx
jg 0x89d8cb
test dword [eax + 0x15], edx
into
jg 0x89d8d1
test dword [esp + 0x3e], ebx
jg 0x89d8d7
test dword [eax*2 - 0x7acd803a], eax
pop esp
jge 0x89d86d
jg 0x89d8e3
test dword [eax], esp
sbb al, 0xa8
retf
pop eax
add eax, 0xbc217e44
adc ch, 0x44
jle 0x89d8eb
insb byte es:[edi], dx
add al, 0x7d
inc esp
jle 0x89d8f1
invalid
in al, dx
aad 0x44
jle 0x89d8f7
invalid
mov ah, 0xed
inc esp
jle 0x89d8fd
je 0x89d906
xor eax, 0xc217e44
inc esp
jle 0x89d903
or al, 0x1c
jne 0x89d92a
sbb al, 0x75
inc esp
jle 0x89d909
dec esp
and eax, 0xc14480b7
jg 0x89d8df
add byte [ecx + eax*8 + 0x7f], 0xef
dec edx
mov edi, 0x281c2d61
mov byte [esi + 4], cl
mov es, word [eax + eax]
add byte [eax], al
mov cl, 0x36
adc al, 5
adc al, 5
test bh, 0x92
sbb eax, 0xfb284d85
sub bl, bh
jle 0x89d93c
xor al, byte [ebp + 0x7e53695d]
xor al, byte [ebp + 0x7e03b0ad]
xor al, byte [ebp + 0x7efb89c1]
xor al, byte [ebp + 0x7ed32031]
xor al, byte [ebp + 0x7e2388d9]
xor al, byte [ebp + 0x7ee35819]
test dword [ebp + 0x69], ebx
push ebx
jle 0x89d942
test dword [ebp + 0x327e03b0], ebp
test ecx, eax
mov ebx, edi
jle 0x89d94e
test dword [ecx], esi
and bl, dl
jle 0x89d954
test ecx, ebx
mov byte [ebx], ah
jle 0x89d95a
test dword [ecx], ebx
pop eax
jecxz 0x89d9ab
xor al, byte [ebp - 0x35dabf83]
int1
pop esi
daa
add eax, 0xea416f49
mov dh, 0xeb
loop 0x89d9ae
jmp 0x89d920
mov eax, dword [0xe2436e52]
outsd dx, dword [esi]
inc ebx
loop 0x89d9b4
mov eax, dword [0xe27b16da]
outsd dx, dword [esi]
mov eax, dword [0xe2bb8242]
outsd dx, dword [esi]
mov eax, dword [0xe20b16e2]
mov ebx, 0xe2a16fe2
push ss
or esp, edx
outsd dx, dword [esi]
mov eax, dword [0xe2b3ce52]
mov bl, 0xe2
outsd dx, dword [esi]
mov eax, dword [0xe22b42ea]
outsd dx, dword [esi]
mov eax, dword [0x26914b72]
push ebp
inc ecx
cmp dword [eax], eax
rcr dword [ebx], cl
xchg edi, eax
aas
clc
inc eax
cdq
push esi
cmp bl, byte [ebp + 0x74]
insb byte es:[edi], dx
mov edx, 0x7e9c
add byte [eax], al
lodsd eax, dword [esi]
movsd dword es:[edi], dword [esi]
sbb al, 0x21
mov esi, esp
or eax, 0x69ab63c9
sahf
dec edx
clc
pushal
pushfd
adc dword [edi + 0x10d547ef], edx
invalid
retf
sub dh, bl
movsb byte es:[edi], byte [esi]
pop esp
sub eax, 0xfe23377e
jg 0x89d99f
hlt
dec cx
add esi, eax
sub edx, 0xd2a2ef9b
mov cx, word [edx + edi - 0x2d5d1065]
movsx eax, dx
adc al, 0x95
cdq
mov ax, word [edi + edx + 2]
call fcn.0072f0cc
mov edx, 0xbaa83595
mov edx, dword [esi]
add esi, 4
xor edx, ebx
mov eax, 0xb333562e
bswap edx
mov ecx, eax
add cl, ch
sal eax, cl
inc edx
rol edx, 1
shl ecx, cl
cwde
not al
dec edx
add al, 0xb3
neg edx
or cl, cl
sub ecx, ecx
jns 0x89d834
jmp 0xb778db
or edx, edx
and dx, dx
adc ebp, 4
movsx eax, dl
xor ecx, ebx
neg ecx
call fcn.008e4075
neg word [esp + eax*2 - 0x7dd601]
sal ax, 0x64
or ebp, esi
mov ebx, edx
movzx edx, word [esp + eax - 0x3eb010]
xor al, byte [esp + eax*4 - 0xfac03d]
or edx, edx
mov edx, ebx
xchg word [esp + eax*2 - 0x7d6029], ax
setp al
sal edx, 2
xchg word [esp + eax - 0x3e1eff], ax
shl eax, 0x41
sbb dword [esp + eax - 0x7c0b60], eax
mov eax, ebp
call fcn.00862fb6
inc ebp
pop ebx
stosd dword es:[edi], eax
fist dword [ebx]
jg 0x8e246a
mov eax, 0x177b1967
scasd eax, dword es:[edi]
mov eax, 0x1b771367
scasd eax, dword es:[edi]
mov eax, 0x187b6d67
imul esi, dword [edi + 0xc413a6], 0xffffff80
je 0x8e24bb
imul esp
pushfd
invalid
mov eax, 0x73afbd2c
cbw
mov dx, word [esi + eax - 0x73af002c]
sal eax, 0xae
mov ecx, 0xdfaa6317
mov cl, byte [esi + 2]
ja 0x8e2472
shr dx, cl
btr ax, ax
mov word [esi + 2], dx
mov eax, dword [ebp]
mov ecx, 0x462dd011
xor eax, ebx
mov edx, ecx
lea edx, [edx*8 + 0x77bce912]
inc eax
sub cl, dl
shl cl, 0xa1
dec cx
not eax
sal ecx, cl
btc cx, dx
sbb eax, 0x612fc832
shl edx, 0xf4
lea ecx, [edx + edx*2 + 0x4f05d431]
neg eax
xor ebx, eax
or edx, 0x10052587
not edx
adc edi, eax
imul cx, cx
mov eax, edx
sbb eax, edx
movzx ecx, word [ebp + ecx*2 - 0x37ca62be]
jne 0x7845ba
scasd eax, dword es:[edi]
mov ebp, 0xbebd7420
pop es
xor eax, 0x8e8d2f33
pop es
xor eax, 0xcecd2b33
pop es
xor eax, 0xf9953733
cmpsd dword [esi], dword es:[edi]
sti
xor esi, dword [eax - 0x6b]
push 0x43
jp 0xb779ed
invalid
out dx, eax
and dword [ebx + ecx*4 - 0x6c], 0x7e105d30
wait