Function at 0xbaa0e0
Capabilities:
Encrypt data using speck

Disassembly:
not dword [esp + 5]
dec dword [esp + 0xa]
mov dword [esi + 0xc], eax
mov dword [esi + 8], ebx
call fcn.00773e6c
inc ecx
mov esi, 0x290f9bbc
inc esi
mov ebx, dword [edi + esi*2 - 0x521f377c]
inc ebp
movsx ebp, dh
inc ecx
movsx esi, si
dec edx
lea edi, [edi + esi*2 - 0x521f377c]
dec eax
lea ebp, [esi + esi*4 + 0x58a2f73b]
inc eax
ror dh, 0x87
inc ebp
xor ebx, esp
jmp 0xc42eac
mov ecx, dword [esi]
call fcn.0084456f
movzx ecx, bp
inc ecx
neg ebx
inc esp
mov edi, ecx
inc bp
btc esi, ebp
inc esp
movsx eax, ch
inc ecx
inc ebx
inc ecx
xor ebx, 0x3a880b8e
inc ecx
push esp
inc esi
xor dword [esp + esi - 0x290f8bbc], ebx
inc ecx
pop esp
dec eax
inc ecx
inc ecx
movzx edx, bh
inc eax
dec ch
dec ebp
arpl bx, bx
and ebp, esi
dec ecx
adc ebx, ebx
dec edi
lea edx, [esi + esi*8 - 0x475b9973]
inc bx
mov edx, dword [ecx + esi*2 - 0x521f1778]
inc ebp
imul ebp, edx
inc di
mov edx, dword [esi + ecx - 0x290f8bba]
not dx
inc ecx
setno bh
inc cx
not edx
inc ecx
dec ch
inc cx
or edx, edx
inc esp
movsx edx, cl
inc ecx
or ebp, esi
inc ecx
mov ebx, 0x722e4007
inc bx
mov dword [ecx + esi - 0x290f8bba], edx
movzx edx, cl
dec ebx
mov esi, dword [esi + ecx - 0x290f8bba]
inc ebx
mov cl, byte [ecx + esi - 0x290f8bb2]
sar dx, 0x6b
xchg ebp, edx
inc ecx
adc bl, 0
dec eax
shl esi, cl
dec edx
lea ecx, [ebx*4 - 0x2f56b37f]
dec ecx
ror ebp, cl
dec ebx
mov dword [ecx + esi*2 - 0x521f1774], esi
dec ecx
not ebx
inc esp
and eax, ebp
dec esi
lea ecx, [ebp + ecx + 4]
inc ecx
push esi
dec ecx
lea esi, [ebp + 0x31b0240c]
call fcn.00c29b96
shr word [esp + 2], 0x29
shld eax, edx, cl
mov ecx, 0x850b8a16
lea edx, [ecx + ecx*2 + 0x6e8adba6]
mov dword [ebp], eax
sub esi, 4
inc ecx
jne 0x7da6a2
mov edx, 0x45271b8d
mov ecx, 0x5390f112
mov ecx, dword [edx + ebp - 0x45271b8d]
lea eax, [edx + 0x68ebd36]
shl al, 0x41
lea ebp, [ebp + edx - 0x45271b89]
add eax, edx
idiv dl
btc eax, edx
xor ecx, ebx
or al, dl
sub eax, 0x20aaf12a
inc ecx
add eax, 0x4dbe9795
cwde
sbb ax, ax
not ecx
adc al, ah
xor eax, edx
rol ecx, 2
div al
sar ax, 0xe1
xchg dl, al
sbb ecx, 0xf81cf301
xor ebx, ecx
push eax
bswap eax
add edi, ecx
ror dx, 0xae
push edx
movzx ecx, ax
movzx dx, byte [esi + ecx*2 - 0x1b174]
mov al, byte [esi + ecx*4 - 0x362e6]
inc cl
not dword [esp + ecx - 0xd8ba]
sub ecx, dword [esp + ecx*8 - 0x6c5d7]
adc esi, 1
imul ecx, dword [esp + 2]
add dl, al
mov word [esi + ecx - 0x4be2a770], dx
movsx edx, word [esp + ecx - 0x4be2a76c]
or dx, dx
mov dword [esp + edx - 0x172], edi
ret 4
imul edx, eax
neg ecx
shl dx, 0x23
sal ax, 0x41
xor ebx, ecx
rol ax, 0x4a
rol eax, 0x6b
add edi, ecx
movzx ecx, ax
cwd
mov esi, dword [esi + edx - 0xffff]
sub cl, al
setp al
adc al, dl
jle fcn.00b6be0d
mov edx, 0x8091d5ae
mov cx, word [ebp]
call fcn.00c2297f
movsx ecx, dl
shl dx, 0xc7
adc ebp, 4
xor eax, ebx
push ecx
push ecx
dec dword [esp]
sub eax, 0xa1bb853a
or cx, 0x70b7
rol eax, 2
neg eax
and edx, edx
add cx, cx
sub edx, 0xb50b1915
rol eax, 1
inc eax
rol cx, 0x8e
shl dl, 0x21
mov dword [esp + edx*2 - 0x4773a4], edx
xor ebx, eax
or edx, 0x7f1abf3e
and edx, 0x88968c27
adc edi, eax
lea eax, [ecx + edx + 0x11af8aa4]
ror eax, cl
shl edx, cl
mov eax, dword [edx + esi - 0x30000000]
xadd dl, dh
sub byte [esp + edx*2 - 0x5ffffff6], 0x99
mov ecx, dword [esi + edx*2 - 0x5ffffffc]
xadd dl, dh
push edx
jl 0xb915bc
mov dword [esp + edx*2 - 0x5ffffff4], ebx
cpuid
push 0x450e01ab
push 0x5e049225
sbb esi, 8
jmp 0x706b0d
inc ecx
bswap ebx
jmp 0x892a55