Function at 0x7a1ed1
Capabilities:
Encrypt data using speck

Disassembly:
mov dword [esp], eax
call fcn.007a1ed1
mov dword [esp], 0x248da1be
dec ebx
lea esp, [esp + 4]
jne 0x7ad3b0
mov eax, 0xf7032f19
call fcn.008745f4
inc ecx
mov esi, 0x5bb0f788
dec edx
lea edi, [edi + esi - 0x5bb0f78c]
inc ecx
movzx ebp, dh
mov esi, ebp
inc ebp
mov ebp, dword [esi + edi - 0x5bb0f788]
inc ecx
sar dh, 0x82
inc ebp
mov eax, esi
inc ebp
xor ebp, esp
imul esi, esi
inc ebp
movsx ebx, si
inc eax
shr ch, 0xe1
inc ecx
neg ebp
jmp 0x86bc36
bts edx, eax
adc edi, ecx
movzx ecx, al
or ax, 0x2e33
movzx edx, byte [ebp + ecx*2 - 0x180]
not al
lea ebp, [ebp + ecx*2 - 0x17f]
bts cx, ax
xor dl, bl
inc dl
cbw
not dl
xor eax, 0x9aa1519a
lea ecx, [eax + ecx*8 + 0x5f8e4a85]
dec dl
shl ax, 0x49
push eax
rol word [esp + ecx - 0x639d2219], 0x48
ror dl, 1
mov byte [esp + eax - 0x40e2bfe], ah
xadd dword [esp + eax - 0x40e2c00], eax
bswap eax
dec dl
shr ax, 0x88
xor bl, dl
add dword [esp + eax - 0x2c002c], 0x2629842b
cwde
setne byte [esp + eax*2 - 0x58]
lea edx, [esp + edx + 4]
rol ecx, 0x81
lea ecx, [ecx*2 + 0x5997023]
setge byte [esp + eax - 0x2a]
mov ax, word [edx + eax - 0x2c]
add ecx, ecx
sar cl, 0xa2
xor cx, cx
lea esi, [esi + ecx*2 - 0x50360002]
shl word [esp + ecx - 0x281afffe], 0xa1
movsx edx, cx
mov word [esi + ecx - 0x281b0000], ax
lea eax, [ecx + edx - 0x7d5be170]
pop eax
jns fcn.00b6be0d
mov edx, 0xd6bc5b10
movsx eax, dl
mov eax, dword [esi + eax*8 - 0x80]
mov cl, byte [esi + 4]
jmp 0x81fbcc
mov eax, 0x33b7182f
mov eax, dword [ebp + ebx*4]
push 0x58bf5706
inc dword [esp]
jnp 0x7553f3
mov edx, 0xba08be8a
mov eax, edx
lea edx, [edx*2 - 0x5c478ec6]
mov ecx, dword [ebp + edx - 0x17c9ee4e]
inc dl
sub al, dh
lea ebp, [edx + ebp - 0x17c9ee4b]
sal dx, 0x49
xor ecx, ebx
sal eax, 0x81
mul eax
rol ecx, 1
neg ax
add dx, dx
neg ax
neg ecx
jmp 0x8290df
neg edx
jno 0x82a301
mov ecx, 0xc9842eb3
movsx eax, cx
mov eax, dword [edi + eax*2 - 0x5d66]
add edi, 4
mov edx, 0x1b242612
xor eax, ebx
xadd cl, dl
neg edx
push ecx
lea eax, [ecx + eax - 0x3eea9936]
pop edx
call fcn.0082b025
neg al
bswap ecx
not ecx
setg dl
xor ebx, ecx
neg edx
jb 0x7a8f13
lea esi, [esi + edx*2 - 0x528749de]
sbb dl, dl
setge dl
not dl
shr eax, cl
inc edx
sub dx, dx
mov dword [esi + edx*2 - 0x52860000], eax
shr edx, 0x1c
not dl
or edx, edx
mov eax, dword [ebp + edx*8 - 0x7e8]
rol dl, 0x67
lea ebp, [ebp + edx - 0xfa]
lea ecx, [edx + edx*8 - 0x2ef13cf2]
dec ecx
call fcn.00861b7d
mov eax, dword [ebp]
add ebp, 4
mov ecx, 0x4b91dd90
movzx edx, cl
not dx
xor eax, ebx
inc edx
bswap eax
push ecx
xor eax, 0x3a198423
neg dword [esp + ecx - 0x4b91dd90]
lea eax, [eax + ecx*2 - 0x6c75f878]
pop ecx
bswap eax
or ecx, 0x7f8e43b3
imul edx, ecx
xor ebx, eax
add esi, eax
shr edx, 0x78
mov edx, dword [edi + edx - 0x6d]
call fcn.007efbc3
mov ecx, 0x830ac288
movzx edx, word [ebp]
lea eax, [ecx - 0x5150ee5c]
xor dx, bx
dec ecx
add dx, 0x8a92
btc ecx, ecx
xadd ecx, eax
not dx
setns al
ror dx, 1
neg ecx
not dx
bswap eax
shl ecx, 0xf5
xor dx, 0x780f
btc ecx, 0x31
xor bx, dx
shl ecx, 4
neg ax
imul ecx, ecx
mov word [esi + eax - 0xc2f57f], dx
lea eax, [eax + ecx*4 + 0x322417be]
mov eax, dword [ecx + ebp + 2]
mov edx, ecx
add cl, 0xbb
xor eax, ebx
neg ecx
lea edx, [ecx + ecx*2 - 0x7f5047]
dec eax
rol dx, 0xa7
bswap ecx
shr dl, 0xe6
rol eax, 3
bts edx, ecx
sub dl, ch
bswap edx
xor eax, 0xdbcd6bd
ror edx, cl
lea ecx, [edx + edx*8 - 0x785047d3]
bswap eax
imul dx, cx
rol edx, cl
neg eax
xor ebx, eax
btc edx, 0xbe
bswap edx
jae 0x8c4214
add edi, eax
and edx, ecx
movzx eax, word [ebp + edx*2 - 0x1000101a]
sub cl, 0xb1
rol dl, 0xe5
lea ebp, [ebp + edx*2 - 0x10000ffc]
imul ecx, edx
bswap edx
sal edx, 0xc2
xor ax, bx
not ax
inc ecx
ror edx, cl
xor ax, 0xe487
call fcn.00826fa4
call fcn.00bcf2f4
mov ecx, 0xd8b5c916
mov ax, word [esi]
add esi, 2
movzx ecx, byte [ebp]
call fcn.00709bb8
rol edx, 0xd9
mov ecx, dword [esi + 4]
sbb edx, edx
call fcn.00c6c643
dec eax
xor eax, 0x8866618
ror eax, 3
bts edx, 0x31
lea ecx, [edx + edx*4 + 0xcac1322]
neg eax
shr dl, cl
btr ecx, 0x3f
not dl
xor ebx, eax
add ebp, eax
call fcn.00749c4e