Function at 0x53f008
Capabilities:
Encrypt data using speck

Disassembly:
bt bp, bx
xchg dword [esp], esi
test eax, edx
stc
btr si, 0xc
push edi
shld si, dx, 0xd
push ebx
shl di, 2
mov esi, eax
shr al, cl
shld di, bp, 0xa
push 0xac1487f2
mov edi, edx
sar dl, 6
shl al, 1
shr dl, 2
bt edx, edx
mov dl, 0x80
rcr al, cl
pushal
rol al, 2
xor ebx, ebx
setp al
call fcn.004e6a21
pushal
pushal
pushfd
push 0x45f577cc
lea esp, [esp + 0x48]
jae 0x4fcf1c
pushal
mov bl, 2
setae al
setb al
pushal
jmp 0x4ea49c
lea esp, [esp + 0x44]
call fcn.004efa1e
pushal
adc al, al
pushfd
pushfd
call fcn.004e709c
sbb dword [eax + 8], ecx
sub byte [esi - 0xd], dh
xor eax, ebx
pop edx
imul dword [ebx + 0x1ab8d300]
leave
jno 0x4ea0f2
mov word [edx - 4], fs
test al, 0xd0
ja 0x4ea14e
push dword [ebx]
mov cl, ah
pop esp
lea ebp, [ecx - 0x36]
mov ecx, 0x3e5d88e9
push esi
cmp dword [ebx + 0x791ab42c], eax
mov dword [0xd36bf90f], eax
lea ebx, [edx + 0x792ae239]
dec esp
cmp edx, esp
sub bh, byte [ecx + 0x4c]
pop eax
add dword [ecx], ebp
dec ebx
pop edx
invalid
scasd eax, dword es:[edi]
invalid
dec ebp
popal
jo 0x4ea1a5
je 0x4ea1c6
imul ebp, dword [esi + 0x67], 0x43680041
jecxz 0x4ea0fd
or al, 0xe8
cmp eax, 0xe4000578
imul eax, dword [ecx], 0x60602b9c
pushal
pushal
outsd dx, dword [esi]
imul ebp, dword [esi + 0x74], 0x413233
add byte [eax], al
push edx
push ebx
je 0x4ea20c
popal
insb byte es:[edi], dx
jne 0x4ea21f
inc ebp
js 0x4ea1fe
add al, ch
nop
int 0xff
inc dword [eax]
add byte [esp + ebp*2 + 0x73], dl
inc ecx
insb byte es:[edi], dx
jae 0x4ea20a
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
and al, 0xc
call fcn.004efa1e
push 0x68e79970
jmp 0x53efb8
dec ebp
add eax, 0xe3486800
shl byte [edi - 0x18], 0x68
cwde
add eax, 0x88d5ed00
add byte [eax + 0x48], ch
jecxz 0x4ea1d1
call fcn.00543a7f
in eax, dx
aad 0x88
aam 0
add byte [ebx + eax*2 + 0x4d], cl
dec ebp
popal
jo 0x4ea276
je 0x4ea297
imul ebp, dword [esi + 0x67], 0xc0100057
push edi
jmp 0x4ea63b
add byte [edi + 0x65], al
je 0x4ea2be
insb byte es:[edi], dx
popal
jae 0x4ea2f2
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
inc ecx
add byte [eax], al
add byte [edi + 0x65], al
je 0x4ea2e2
imul ebp, dword [esi + 0x64], 0x6c50776f
popal
arpl word [ebp + 0x6d], sp
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x4ea29a
test byte [ecx + 0xf000125], bl
cmp dword [edx - 0x3c], 0xf9f9ffff
cmp al, 0x2a
add dword [eax], eax
bts ebx, 9
pushal
dec bl
bsf dx, bx
mov ebx, eax
sar dh, cl
adc dh, dh
btr dx, 7
mov edx, dword [ebx + 0x3c]
cmc
cmc
push dword [esp + 0xc]
pushal
ret
inc ecx
pushfd
mov al, 0x10
jmp 0x4ea0ab
lea esp, [esp + 8]
jae 0x4fce93
pushfd
pushfd
lea esp, [esp + 8]
jne 0x541864
jmp fcn.004efc2e
pushfd
lea esp, [esp + 8]
jae 0x4e95cf
push 0x4558817
sub ecx, ecx
call fcn.005416f9
add byte [eax], al
inc esi
imul ebp, dword [esp + ebp*2 + 0x52], 0x746365
add byte [eax], al
push ebx
je 0x53f030
outsd dx, dword [esi]
insb byte es:[edi], dx
jns 0x53f02a
imul ebp, dword [esp + ebp*2 + 0x4d], 0x65646f
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
je 0x53f020
add al, 0xb3
add cl, byte [ebp - 0x17c7db9c]
pop esi
adc edi, ebx
jmp dword [esi - 0x39]
invalid
invalid
add byte fs:[eax], al