Function at 0x2829f75
Capabilities:
Encrypt data using speck

Disassembly:
xor ecx, ebx
imul dx
dec edx
ror eax, 0x2e
dec ecx
dec edx
btc eax, 0x9b
rol ecx, 1
dec ecx
xor ecx, 0x4536570c
xor ebx, ecx
push eax
imul dx, word [esp + eax*2 - 0x7dc8f8cd]
add ebp, ecx
mov dword [esp + eax - 0x3ee47c67], ebp
ret
xor edx, ebx
lea eax, [eax + eax*2 + 0xc1f6b90]
mov dword [esp], eax
neg edx
mov ecx, eax
xchg dword [esp], ecx
bswap edx
pop eax
sub edx, 0xb79bcaae
dec ecx
sets cl
neg edx
bt cx, ax
xor ebx, edx
shr cl, 0xa1
add esi, edx
add cx, cx
mov ecx, dword [ebp]
movsx edx, al
jl 0x2616992
lea esi, [esi + eax*8 - 0x7c656444]
bt cx, cx
movzx edx, cl
mov ecx, dword [esi + eax*2 - 0x1f195910]
lea edx, [eax + edx*8 - 0x6d6cc7ff]
adc eax, eax
ja 0x15743eb
dec edi
lea eax, [edi + eax - 0x9f]
dec edx
lea edx, [edi*8 + 0x3c27771a]
inc edx
xchg dword [esp + edi*8 - 0x50d], esi
inc esp
mov ebx, edx
inc ecx
xor ebp, ecx
sub edx, esi
inc ecx
sete bl
ja 0x272ff21
mov ecx, 0xc48c963f
mov edx, 0x89878435
btc dx, 0x92
sbb esi, 3
push ecx
mov eax, dword [esi]
dec word [esp + 2]
btc ecx, edx
imul edx, ecx
xor eax, ebx
pop ecx
rol eax, 2
lea edx, [ecx - 0x3460a8fd]
jmp 0x27a5858
mov ax, word [ecx]
adc ebp, 1
rol dl, 0xc1
movzx ecx, dl
rol cx, cl
mov word [ebp + ecx*4 - 0x5280], ax
jmp esi
rol ebp, 1
add word [esp + esi - 0x38], 0x1d0a
lea ebp, [ebp + esi*8 + 0x19319af8]
bswap ebp
dec esi
inc ebp
inc ecx
movzx eax, di
inc ecx
mov ebp, 0xa2ad108b
xor dword [esp + esi*2 - 0x87], 0x8f85f398
dec esp
mov dword [esp + esi*2 - 0x80], ecx
inc ecx
mov esp, 0x76855b32
je 0x27fc559
inc ecx
not ebp
xor dword [esp + esi*4 - 0x108], ebp
dec esp
mov ecx, dword [esp + esi*2 - 0x80]
dec ecx
sub esi, edi
inc bp
btr esp, ebp
dec eax
arpl bp, bp
dec ecx
or edi, 0x5ea3829f
dec eax
adc ebx, ebp
dec esp
mov esi, dword [edi + esi*2 + 0xbe]
dec esp
mov dword [esp + edx*2 - 0x784ef7d2], esp
inc esp
mov esp, dword [edi + esi*4 + 0x184]
inc ecx
mov edx, 0xef1702b8
dec eax
lea edi, [edi + esi*4 + 0x188]
call fcn.024fc73c
sub eax, 0x3291642b
lea ecx, [ecx + edx + 0x52b2e79b]
xor edx, ecx
rol eax, 1
inc eax
ror eax, 3
dec eax
inc edx
ror eax, 3
or ecx, ecx
rol cx, 7
ror cl, 0xc7
neg eax
bswap eax
sub edx, edx
xor ebx, eax
inc cx
push edx
xor byte [esp + edx], cl
adc ebp, eax
mov eax, dword [esp + edx*2]
or word [esp + edx + 2], dx
mov ecx, dword [edi + edx*2]
xor edx, dword [edi + eax*2 - 0xd2]
xor ax, ax
add word [esp + eax + 1], ax
setge byte [esp + eax]
lea edi, [edi + eax + 8]
mov dword fs:[eax + ecx], edx
shr word [esp + eax*2 + 2], 0xa8
mov dword [esp + eax*8], ebp
ret
dec edi
lea eax, [esi + eax + 4]
dec ebp
or edi, edx
inc ecx
shl ebp, 0xa2
inc bp
sbb edi, ebx
inc ecx
xor eax, ecx
inc cx
shl cl, 0xa1
and bp, 0xf79e
not eax
inc esp
sbb bl, ch
inc esi
xchg dword [esp + esi*2 + 0x18], edi
ror eax, 3
inc esi
and esi, dword [esp + esi + 0x18]
inc ecx
sub dl, bl
inc ecx
adc eax, esi
call fcn.026204f3
jecxz 0x27fc59c
mov al, byte [0x2f556cdc]
iretd
xor dword [ecx - 0x459f8d1c], ebp
mov ebx, dword [eax + 0x178b4ca4]
mov ebp, 0xed1d1f04
inc ecx
mov ebx, 0x8126310e
dec eax
mov edx, dword [edi + 8]
dec eax
add edi, 8
inc ecx
movsx esi, bx
inc ecx
mov esp, 0x28aa7602
inc ecx
movsx ecx, ah
dec ecx
not edx
btr cx, bp
dec eax
not edx
inc ecx
push esp
and byte [esp + esi - 0x310d], ch
dec eax
inc dword [esp + esi*2 - 0x621c]
dec esp
and edx, edx
dec eax
lea eax, [esi*8 + 0x6102b408]
sub byte [esp + esi*2 - 0x6217], 0x35
and byte [esp + esi - 0x310a], 0x3a
dec esp
mov dword [edi + esi*4 - 0xc438], edx
inc ecx
mov edx, dword [eax + esi*4 - 0xc438]
dec ebp
btr ebx, ebx
shl dword [esp + esi*2 - 0x6218], cl
dec esi
lea eax, [esi + eax - 0x310a]
inc ecx
xor edx, ecx
not edx
inc ecx
push ebx
inc esp
or byte [esp + esi - 0x310e], bl
inc eax
and dh, cl
neg edx
sar byte [esp + esi*2 - 0x61f6], 0xa3
dec edx
not dword [esp - 0x28aa75fc]
inc edx
not edx
dec esp
add dword [esp + esi*2 - 0x61fc], ebx
rol edx, 1
bswap edx
mov word [esp + esi*2 - 0x61fa], 0x98a6
dec esp
mov dword [esp + esi*2 - 0x61fc], ecx
xor dword [esp + esi - 0x30fa], edx
inc ecx
mov edx, 0x690440b3
dec ecx
inc edx
inc ebp
movsx edi, bx
dec esp
mov ecx, dword [esp + esi - 0x30fa]
dec eax
dec eax
dec eax
arpl dx, dx
sub eax, 0xa119ae27
dec eax
cwde
dec ecx
dec eax
add ebx, edx
inc cx
rol edi, cl
ror byte [esp + esi*8 - 0x1880d], cl
dec ebp
cmovae edi, edx
dec eax
mov dword [esp + esi*2 - 0x6204], ebx
ret 8
movsx edx, al
mov edx, dword [edi + eax - 0x4124d3b6]
lea edi, [edi + eax - 0x4124d3b2]
shr al, 0x43
btr eax, eax
jae 0x15d0dfc
and ax, 0xc707
lea edi, [edi + eax*4 - 0x31c0c]
mov eax, dword [edi + ecx*2 - 0x391d63e6]
xor eax, ebx
jmp 0x28a1cc4
lea edx, [ecx + ecx*2 + 0x3fa1c891]
bswap eax
ror eax, 1
neg eax
sub ecx, edx
dec ecx
push edx
dec eax
push edx
xor ebx, eax
xor dl, ch
adc ebp, eax
shl word [esp + 6], 0x87
bts ecx, ecx
movsx eax, word [esp]
pop edx
pop eax
jmp ebp