Function at 0xe4a001
Capabilities:
Encrypt data using speck

Disassembly:
mov ecx, dword [edi + 0x24]
not ebx
mov ebx, dword [edi + 0x38]
test eax, eax
cmp ecx, ebx
jae 0xe4ebd1
mov eax, dword [edi + 0x28]
jmp 0xe4ebd3
sub edx, ecx
cmp bl, bh
test ebp, edx
sub esi, ecx
cmp bx, si
cmp dh, 0x32
lea edi, [edi + edi + 1]
test bx, bp
stc
test ebp, 0xc8b057d
and dword [ebp - 8], eax
cmp edi, 0x100
jae 0xe45bb4
mov ecx, dword [ebp - 0x18]
jmp 0xe4ec15
mov eax, dword [ebp - 0xc]
bt di, 0xf9
movzx edi, sp
movzx edi, word [eax + ecx*2]
clc
cmp edx, 0x1000000
jae 0xe45b68
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jae 0xb713c7
movzx ebx, byte [eax]
clc
cmp al, 0x1b
shl esi, 8
cmp ebx, ebp
shl edx, 8
cmp esp, ecx
test dx, sp
or esi, ebx
inc eax
cmp bp, di
test dx, 0x733
mov dword [ebp + 8], eax
mov eax, edx
clc
test ebp, 0x5415466c
shr eax, 0xb
stc
imul eax, edi
cmp esi, eax
jae 0xe45b8b
mov edx, eax
cmp al, 0x60
add ecx, ecx
jmp 0xe45ba8
sub edx, eax
cmp edi, 0x390936f2
test si, cx
sub esi, eax
test si, di
clc
cmc
lea ecx, [ecx + ecx + 1]
stc
test si, bp
test cl, 0x48
cmp ecx, 0x100
jb 0xe45b1f
mov eax, 1
jmp 0xb713a7
push ebp
add dx, 0x6dca
bt bp, 0xc7
mov bp, 0x47fd
mov ebp, esp
sub dx, 0x578d
sbb edx, esi
sub esp, 0x18
push ebx
bt bx, 0x7e
push esi
setae dh
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
cmova ebx, esi
ror edx, 0x7b
mov edx, dword [edi + 0x1c]
bts bx, ax
mov esi, dword [edi + 0x20]
bswap bx
movsx ebx, bp
add ecx, eax
rcl ax, 0x52
and eax, 0x1036605f
bt bx, cx
mov eax, dword [edi + 0x10]
bswap ebx
mov dword [ebp - 4], ecx
bt cx, 0xab
mov ecx, dword [edi + 0x34]
clc
mov dword [ebp - 0xc], ecx
cmc
mov ecx, dword [edi + 8]
dec bx
add ebx, ecx
mov ebx, 1
stc
cmc
shl ebx, cl
sbb ch, 0x22
mov ecx, dword [ebp - 0xc]
cmp ax, 0x1801
shl ecx, 4
mov dword [ebp - 8], eax
dec ebx
clc
cmc
and ebx, dword [edi + 0x2c]
cmp esp, ebp
lea ecx, [ecx + ebx]
test esp, 0x37867045
movzx eax, word [eax + ecx*2]
test ebp, 0x6dc86ed1
cmp esp, esi
mov dword [ebp - 0x10], eax
test cl, 0x74
cmc
cmp edx, 0x1000000
jae 0xe4a0ea
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jae 0xb713c7
movzx ecx, byte [eax]
cmp si, dx
clc
shl esi, 8
clc
cmp bp, 0x39ff
shl edx, 8
or esi, ecx
inc eax
stc
cmp bx, 0x613
mov dword [ebp + 8], eax
sub ax, di
add al, bl
inc ax
mov eax, edx
cmc
shr eax, 0xb
test esp, ebp
cmp eax, eax
imul eax, dword [ebp - 0x10]
stc
test ax, bp
cmp esi, eax
jae 0xe4adbe
mov edx, eax
mov eax, dword [ebp - 8]
test ebp, 0x1cb7315e
cmp ebp, 0x3cca2727
lea eax, [eax + 0xe6c]
stc
cmp dword [edi + 0x30], 0
mov dword [ebp - 0xc], eax
jne 0xe4a133
cmp dword [edi + 0x2c], 0
je 0xe4a1c1
mov ecx, dword [edi + 0x24]
cmp dh, ah
stc
cmp si, 0x63fd
test ecx, ecx
jne 0xe4a155
mov ecx, dword [edi + 0x28]
bt ax, dx
shld bx, cx, 0xba
xor bh, 0xe4
mov ebx, dword [edi + 0x14]
movzx ebx, byte [ebx + ecx - 1]
sar cx, cl
mov eax, dword [edi]
btc ecx, eax
mov ecx, 8
sub cl, al
mov eax, 0x1d31712a
clc
and ax, sp
shr ebx, cl
shl ax, 0xc1
mov ecx, dword [edi + 4]
bswap eax
movsx eax, si
test di, bp
mov eax, 1
cmc
shl eax, cl
xchg cl, ch
mov ecx, dword [edi]
dec eax
cmp sp, 0x9e5
test bx, 0x205a
and eax, dword [edi + 0x2c]
stc
shl eax, cl
cmp ebx, 0x706e72dc
test edi, 0x2e154fc1
lea ebx, [ebx + eax]
cmp edi, 0x6d6f326e
imul ebx, ebx, 0x600
add dword [ebp - 0xc], ebx
cmp dword [edi + 0x34], 7
jae 0xac66e3
mov ecx, 1
jmp 0xe45b1f
mov ecx, dword [ebp - 0xc]
cmp esp, 0x6eba03ea
test edi, 0x567e7f70
sub edx, eax
sub esi, eax
shr al, cl
mov eax, dword [ebp - 8]
clc
test edi, edx
stc
movzx ecx, word [eax + ecx*2 + 0x180]
cmp edx, 0x1000000
jae 0xe4ae0f
mov eax, dword [ebp + 8]
cmp eax, edi
cmc
cmp eax, dword [ebp - 4]
jae 0xb713c7
movzx edi, byte [eax]
cmp esi, esp
shl esi, 8
clc
shl edx, 8
or esi, edi
inc eax
mov dword [ebp + 8], eax
mov eax, edx
stc
clc
shr eax, 0xb
imul eax, ecx
cmc
cmp esi, eax
jae 0xe55697
mov edi, dword [ebp - 8]
clc
mov edx, edi
ror dl, 0
mov edx, eax
ror al, 0x42
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], 0
clc
cmc
cmp dx, 0x6a81
add edi, 0x664
mov dword [ebp - 0x18], 2
jmp 0xdef118
sub eax, eax
mov edi, dword [edi + 0x14]
cmp si, dx
cmp esp, 0x22527896
sub edi, ebx
lea edi, [edi + ecx]
or bx, si
movzx ecx, byte [edi + eax]
mov dword [ebp - 8], 0x100
shrd eax, ecx, 0xe1
rol bh, cl
shld ax, cx, 0x22
mov edi, 1
sar eax, cl
shrd bx, di, 0xf8
mov edi, edi
clc
bt bx, dx
adc eax, 0x79f87451
mov ebx, dword [ebp - 8]
bts ax, dx
bts ax, ax
btc eax, 0x89
add ecx, ecx
mov eax, ebx
test ecx, 0x71507d98
and eax, ecx
mov dword [ebp - 0x18], ecx
bsf ecx, edi
add cl, 0x7d
lea ecx, [eax + edi]
cmp ebx, edi
clc
lea ecx, [ecx + ebx]
rcr bx, cl
mov ebx, dword [ebp - 0xc]
cmp ecx, 0x1abd09d9
movzx ecx, word [ebx + ecx*2]
mov dword [ebp - 0x10], ecx
clc
cmp edx, 0x1000000
jae 0xe4ec88
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 4]
jae 0xb713c7
movzx ebx, byte [ecx]
shl esi, 8
stc
shl edx, 8
cmc
or esi, ebx
inc ecx
cmp ebp, ebp
mov dword [ebp + 8], ecx
not ch
mov ch, bl
cmove ecx, edi
mov ecx, edx
test esp, edx
cmp cx, 0x715c
shr ecx, 0xb
cmc
imul ecx, dword [ebp - 0x10]
test dl, 0x48
cmc
cmp esi, ecx
jae 0xb67efa
mov edx, ecx
cmc
test edx, eax
add edi, edi
not eax
jmp 0xb67f16
mov ecx, dword [ebp - 8]
sub edx, eax
xadd di, di
test di, si
xor di, dx
sub esi, eax
test sp, di
rcl eax, 0x1b
mov eax, dword [ebp - 0xc]
movzx edi, word [ecx + eax*2 + 0x198]
rol ax, cl
sal ax, cl
xor al, 0x34
mov eax, dword [ebp + 8]
cmp ecx, ebp
mov dword [ebp - 0x18], 3
cmp edx, 0x1000000
jae 0xe55705
cmp eax, dword [ebp - 4]
jae 0xb713c7
movzx ecx, byte [eax]
test dx, bp
clc
shl esi, 8
clc
cmc
shl edx, 8
or esi, ecx
mov cl, 0x5e
dec ecx
inc eax
test di, 0x3ff8
bswap cx
mov dword [ebp + 8], eax
rcl ch, 0x9d
mov ecx, edx
clc
cmc
test dl, 0xb
shr ecx, 0xb
cmp si, bp
imul ecx, edi
cmp esi, ecx
jae 0xe4e70c
mov eax, dword [ebp - 0xc]
cmp ax, 0x5447
btc di, sp
mov edi, dword [ebp - 8]
lea eax, [eax + 0xf]
xadd edx, edx
cmp si, ax
and dl, 0x6d
shl eax, 4
lea eax, [eax + ebx]
btc dx, 0xf8
movzx edi, word [edi + eax*2]
mov eax, dword [ebp + 8]
rcl dx, 0x22
rcr edx, cl
mov edx, ecx
cmp ecx, 0x1000000
jae 0xe55785
cmp eax, dword [ebp - 4]
jae 0xb713c7
shl ecx, 8
mov edx, ecx
stc
test edi, 0x789e6f23
inc ch
movzx ecx, byte [eax]
shl esi, 8
or esi, ecx
inc eax
and cl, cl
cmp ch, 0xd2
mov dword [ebp + 8], eax
mov ecx, edx
stc
cmp cl, 0xbe
shr ecx, 0xb
imul ecx, edi
cmp esi, ecx
jae 0xdef0f3
cmp ecx, 0x1000000
jae 0xe557ae
cmp eax, dword [ebp - 4]
jae 0xb713c7
pop edi
bswap si
xchg esi, ebx
pop esi
cmovle ebx, eax
cbw
mov ebx, 0x48b50345
mov eax, 3
bswap ebx
movzx ebx, cx
pop ebx
mov esp, ebp
pop ebp
ret