Function at 0x4be59a
Capabilities:
Encrypt data using speck

Disassembly:
movzx eax, ax
sub ebx, eax
mov al, byte [edx + 0xba]
mov dword [ebp - 0x20], ebx
cmp al, 1
mov bp, bp
jne 0x4bdb71
je 0x4a7fb9
nop
cpuid
ret 0xd239
cmp edx, edx
stc
shl bp, 0x20
jb 0x4a7fc6
cpuid
ret
jb 0x4d252b
add esp, 4
inc eax
jmp 0x4a8236
push eax
mov di, di
push esi
mov esi, dword [ebp + 0xc]
push esi
shl eax, 0x20
call fcn.004afc16
add esp, 0xc
jmp 0x4a8250
push esi
call int.004cc524
add esp, 4
add eax, 0x17
cmp eax, 0x104
jb 0x4c29fc
jae 0x4a8273
lahf
jmp 0x4a82a9
and dh, dh
xor eax, eax
jb 0x4ac507
pop edi
mov cx, cx
pop esi
jmp 0x4c29f6
add byte [eax], ah
add byte [eax], al
add byte fs:[eax], al
add byte [ecx + 0x4c1d], bh
popal
add byte [eax + 0x54], al
add byte [ecx], ah
add byte [eax], al
mov edx, 0
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
push eax
add byte [eax], al
add dh, al
retf 0x4b
jne 0x4b3847
je 0x4a9656
push 8
add edx, 0x24
jmp 0x4a9e73
push edx
lea eax, [ebp - 0x3c]
xchg si, di
xchg di, si
push eax
call fcn.004afc16
add esp, 0xc
jmp 0x4c726a
lea eax, [ebp - 0x3c]
jmp 0x4c7259
xor eax, eax
jb 0x4d1de6
pop edi
mov ah, ah
pop esi
mov bx, bx
mov esp, ebp
pop ebp
ret
add byte [esi - 0x78], 0xed
mov ebx, ebx
lea eax, [ebp - 0x238]
push eax
call fcn.004afe63
movzx ebx, ax
shl ebx, 3
cmc
add esp, 4
mov ch, ch
lea eax, [ebp - 0x238]
push eax
call fcn.004d59c8
add esp, 4
mov edx, dword [esi]
mov al, al
jmp 0x4a7f9a
jl 0x4c728c
jge 0x4ad7e7
xor byte [edi], dl
das
jmp fcn.004c1599
test eax, 0x8765c94e
test al, al
jb 0x4ba7ff
jno 0x4a964c
lea edi, [edi]
jo 0x4ad808
xor bh, al
and ecx, dword [edi]
cmp byte [esi], 0xbe
invalid
jo 0x4a964c
fld1
lea esi, [esi + 8]
not dword [ebp + ebx]
jmp dword [esi]
shr eax, 0x40
lea eax, [ebp - 0x34]
ja 0x4b9f23
jbe 0x4b3857
invalid
jbe 0x4b9f23
invalid
lahf
jnp 0x5ed6a099
or byte [esi - 0x3f], ah
out dx, al
inc eax
lea esi, [esi + 0xc]
and word [ebp + ebx], ax
jb 0x4a6d9a
mov cx, cx
js 0x4cb44a
jns 0x4b9c73
int3
jns 0x4cb44a
call fcn.004d9190
add esp, 0xc
mov ebx, eax
call fcn.004ae23e
invalid
mov dword [eax], 0xd4d4d4d4
mov dword [eax + 4], 0xd4d4d4d4
jno 0x4c1595
jo 0x4b9f3c
jo 0x4c1595
invalid
push 0xfdb89ce
or byte [edi], 0
add byte [eax], al
jno 0x4ba7d6
inc si
shl dl, 0x20
shl dl, 0x20
lea esi, [esi + 8]
jmp dword [esi]
jnp 0x4ba856
mov esi, dword [esi + 4]
mov esi, dword [ebp + esi]
mov ax, ax
mov esi, dword [esi]
jno 0x4ac979
mov ebp, ebp
jo 0x4ba7f9
and dword [ebx], esp
jb 0x4ba809
jo 0x4ac979
cmp byte [edx + 0x21], 0xff
push dword [ecx + eax*8]
xor al, 0xc1
pop esi
add dword [eax], eax
jl 0x4d2533
mov bx, bx
mov di, di
jge 0x4bdb6a
popfd
hlt
jmp 0x4c726a
test al, al
jb 0x4ba7d3
jne 0x4a9e92
je 0x4bdb83
mov byte [0xe1880fb8], al
ret 0xfffe
js 0x4a9e6a
jns 0x4bdb8f
cpuid
ret
jns 0x4a9e6a
xor eax, 0xc1f773
add byte [eax], al
or byte [edi], 0x82
mov dword [ecx + 1], ebx
add byte [edi], cl
test dword [ebp - 0x2f], ebp
invalid
pop dword [esp - 4]
push 0x69256b
test dh, 0xa2
xor esi, esi
jb 0x4ca0c8
call int.004cc524
add esp, 4
test eax, eax
jb 0x4ca0d0
jle 0x4cddfa
jg 0x4be5cd
wait
invalid
mov bl, byte [ebp + 8]
add di, 0
cmp byte [esi + 0x69256f], bl
ja 0x4c502a
jbe 0x4be5e7
cpuid
ret
jbe 0x4c502a
fisubr dword [ebx]
cmp dword [ebp + ebx], eax
mov bp, bp
jmp dword [esi]
mov edi, 0xdb89665e
shl dx, 0x20
mov esp, ebp
pop ebp
ret
push 0x17
push str.hlrus_license_file.alf
jmp fcn.004ac1dc
test edi, edi
jb 0x4d2250
xchg bl, dl
xchg dl, bl
je 0x4c2bc0
jne 0x4c2b85
or byte [edi - 0x15], ah
jmp 0x4c2b86
push edi
call int.004cc524
add esp, 4
inc eax
mov esi, dword [ebp + 0xc]
shl ch, 0x20
push eax
mov ebp, ebp
push edi
push esi
call fcn.004afc16
or bp, bp
add esp, 0xc
mov eax, esi
pop edi
shr bh, 0x40
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x10], 0
je 0x4ac209
jne 0x4c2bd2
js 0x4c2bb0
or bl, ch
jmp 0x4c2bd3
push esi
shl bp, 0x20
call int.004cc524
and edx, edx
jae 0x4c2be4
sub dword [edx], edx
jae 0x4a822e
invalid
je 0x4cde0a
jne 0x4c5036
sbb eax, 0x46bd106b
inc esi
push 0x69256b
call int.004cc524
add esp, 4
add cx, 0
cmp eax, esi
jg 0x4be5d0
jle 0x4c5059
rcr byte [eax], 0x5e
jne 0x4cddfa
mov al, al
je 0x4c5065
retf 0xfb7
je 0x4cddfa
add eax, 0xed09663a
sub cl, 2
mov bh, bh
inc ebx
xor al, cl
jb 0x4ba7c7
add al, 0x80
add cx, 0
cmp ebx, 8
mov byte [ebp + ebx - 0x3d], al
jno 0x4bdb58
jo 0x4c5b91
cpuid
ret
jo 0x4bdb58
add eax, 0xa26ff87
int1
lea esi, [esi + 4]
mov edx, dword [ebp + 0x58]
in eax, dx
shr ebp, 0x40
mov dword [ebp + 0x50], eax
mov bx, bx
shl dh, 0x20
jmp dword [esi]
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax]
lea esi, [esi + 8]
mov dword [eax], 0x2020202
mov dword [eax + 4], 0x2020202
shr si, 0x40
mov ebx, dword [esi]
mov al, byte [ebx + 0xba]
cmp al, 1
jne 0x4ad7ee
xchg ecx, esi
xchg esi, ecx
je 0x4c7284
pop esp
lds ebp, [ebx + 0xfd2318c]
adc byte [edx + 0x35], 0xff
jmp dword [esi - 0x75]
xor edx, edx
jb 0x4ba7de
mov cx, word [ebx + 0xbc]
mov al, byte [ebx + edx + 0x2c]
sub cl, 0x34
inc edx
xor al, cl
jb 0x4ba7f6
add al, 0x58
sub eax, 0
cmp edx, 8
mov byte [ebp + edx - 0x35], al
jne 0x4ad7dc
je 0x4c72c0
nop
cpuid
ret
je 0x4ad7dc
invalid
cmp bl, bl
xor eax, eax
jb 0x4b9c4c
pop esi
pop ebx
pop ebp
ret
mov eax, 1
jne 0x4c6712
xchg ecx, ebp
xchg ebp, ecx
je 0x4cde1d
jge 0x4cde7b
je 0x4c6712
xor al, 0x2e
mov ebp, esp
sub esp, 0x210
mov ecx, ecx
jmp 0x4cde86
push esi
shr bl, 0x40
test al, 0xeb
inc eax
lea eax, [ebp - 0x108]
push edi
mov edi, dword [ebp + 0x14]
push edi
push 0x105
jmp 0x4cde9c
push eax
call fcn.004ad8fd
cmc
add esp, 0xc
mov esi, eax
test esi, esi
jb 0x4d29bc
je 0x4ac209
xchg bh, bl
xchg bl, bh
jne 0x4cdec4
cpuid
je 0x4cde87
push edi
xchg cl, dl
xchg dl, cl
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 8]
push esi
mov ax, ax
push ecx
shl edx, 0x20
call fcn.004bd180
test cx, 0x8f7c
add esp, 0x10
mov edi, eax
jmp 0x4c2b6f
push esp
jmp 0x4c636c
invalid
xor ebx, ebx
jb 0x4c0607
mov cx, word [edx + 0xbc]
shr eax, 0x40
mov al, byte [edx + ebx + 0x24]
test eax, eax
jno 0x4d2547
or ch, ch
jno 0x4c5b66
xchg bx, dx
xchg dx, bx
mov ebx, dword [esi + 4]
lea esi, [esi + 8]
push 0x4cbcb7
ret
xor eax, 0x558b662b
adc byte [edi], cl
xchg edi, esp
cmp edi, edi
push dword [esi + 4]
jo 0x4d2a47
das
sub byte [edi], cl
xchg bl, bl
cmp edi, edi
inc edi
cmp ch, al
cmp edx, edx
std
inc dword [ebp - 0x163e9934]
inc eax
jno 0x4d29e5
stc
int 0xf
sbb dword [ebx - 0x3b], 0xa105fffe
lea esp, [esp + 4]
mov eax, dword [esi + 4]
xchg ecx, eax
jno 0x4bef46
add eax, 0x24648da1
add al, 0x8b
inc esi
add al, 0x91
xchg ecx, eax
mov ebx, dword [esi + 8]
mov eax, dword [ebp + eax]
mov ebx, dword [ebp + ebx]
lea esi, [esi + 0xc]
cmp dword [ebx], eax
jmp dword [esi]
shr cl, 0x40
jmp fcn.004b69f6
pop ebx
mov esp, ebp
pop ebp
ret