Function at 0x616951
Capabilities:
Encrypt data using speck

Disassembly:
mov ebx, dword [ebp + 0xc]
jmp 0x5d349f
cmp dword [ebp + 0xc], 3
jmp 0x615e83
jmp 0x615df9
push si
jmp 0x5d34a7
lea esp, [esp + 2]
push 0x3e
mov eax, esp
pop eax
jmp 0x615d7e
push ebx
jmp 0x615e35
cmp dword [ebp + 0xc], 2
mov edx, edi
mov dx, word [esp]
jmp 0x5d351c
mov edx, dword [ebp + 8]
push dx
lea esp, [esp + 2]
jmp 0x615f1f
cmp esi, 0x34
pushal
jmp 0x615f5e
pushal
mov word [esp + 7], bx
push word [esp + 0xb]
lea esp, [esp + 2]
jmp 0x615e9d
pushfd
cmp esi, eax
lea esp, [esp + 4]
jmp 0x615eea
jmp 0x616055
pushfd
jmp 0x616893
mov cl, byte [ecx + 3]
jmp 0x61671f
cmp dword [ebp + 0xc], 3
pushal
mov dword [esp + 0xc], eax
jmp 0x61603f
cmp ebx, 0x1a
jae 0x615b1d
xchg cl, ch
jmp 0x616074
call 0x61620c
adc dword [ecx + reloc.mscoree.dll__CorExeMain], ecx
mov cl, 0x2a
mov eax, 0xcb952adf
bound ebx, qword [ebp - 0x76630014]
xor al, 0x24
pushfd
mov dword [esp], esi
pop word [esp]
lea esp, [esp + 2]
jmp 0x61605e
call fcn.006160ce
cmp ebx, eax
call fcn.006160ab
lahf
add eax, 0xbd0ffc95
das
mov dh, 0x24
inc ebx
mov esi, 0xd94e2700
mov byte [edx + 3], 0x3d
jmp fcn.00615b64
cmp ecx, 0x1a
jmp 0x615e4e
and eax, edx
mov ebx, eax
jmp 0x5d349f
cmp ecx, 0x34
call fcn.00615db3
cmp ecx, eax
lea esp, [esp + 4]
setne dl
push eax
mov byte [esp + 1], cl
jmp 0x615e25
lea esp, [esp + 4]
lea edx, [edx*4 + 0x2b]
jmp 0x5d34f6
mov ebx, ebp
lea ebx, [ebx + 8]
mov ecx, dword [ebx]
pop ebx
jmp 0x615e60
jae 0x5d3489
mov edx, esi
xchg dh, dl
lea edx, [ecx + 0x41]
jmp 0x5d34f6
push sp
lea esp, [esp + 2]
mov byte [ecx], dl
cmp esi, 0x1a
jmp 0x616111
jne 0x5d345d
neg bx
bswap ebx
mov ebx, ebp
jmp 0x615d94
xor ecx, ecx
call 0x615ea5
ljmp 0x1deb
jae 0x5d354c
not cx
setg cl
call fcn.00615ebe
lea esp, [esp + 0x28]
setne cl
jmp 0x615f35
lea ecx, [esi + 0x47]
jmp 0x5d350c
mov byte [edx + 1], cl
pushfd
jmp 0x615f41
lea ecx, [ecx*4 + 0x2b]
jmp 0x5d350c
lea esp, [esp + 4]
jb 0x5d35ac
call fcn.00615fd5
cmp al, 0xa9
cmp dword [eax - 0x55], ebx
sbb dword [esi - 0x36], ebx
pop eax
aas
retf 0xeb74
lea esp, [esp + 0x20]
jae 0x5d3562
not ecx
bswap ecx
jmp 0x615f17
lea ecx, [esi + 0x41]
jmp 0x5d350c
lea esp, [esp + 0x20]
jne 0x615b4e
stc
jmp 0x615ae0
mov byte [edx + 2], 0x3d
jmp 0x615ad2
cmp ebx, 0x34
jmp 0x61607c
lea ecx, [ebx + 0x41]
jmp 0x615b07
jae 0x615b33
setnp cl
lea ecx, [ebx + 0x47]
jmp 0x615b07
jae 0x5d3536
not cx
mov cl, 0xa9
lea ecx, [edx*4]
jmp 0x61600c
lea esp, [esp + 4]
mov byte [edx + 3], cl
jmp fcn.00615b64
call 0x61683d
scasd eax, dword es:[edi]
and dword [ecx - reloc.mscoree.dll__CorExeMain], esi
invalid
cmp cl, 0x61
jmp 0x616772
cmp bl, 0x2b
jmp 0x6166c1
cmp cl, 0x30
jb 0x6161f2
jmp 0x6167d7
call fcn.006167c1
add bl, byte [edi + 0x18996a0f]
push 0xf00166f0
inc eax
jbe 0x6161f2
jge 0x61620b
test dword [ebx + 0x7c], reloc.mscoree.dll__CorExeMain
invalid
salc
jmp 0x616164
jmp 0x61696f
mov byte [0xc19a6313], al
out dx, eax
push es
pushfd
and edi, edx
lea esp, [esp + 8]
jmp 0x5d3473
call fcn.0061697e
cld
jne 0x6162b0
invalid
pop esi
jmp fcn.006162f3
jmp 0x6166ec
je 0x5d36af
jne 0x616735
cmpsd dword [esi], dword es:[edi]
and dword [ecx - reloc.mscoree.dll__CorExeMain], esi
invalid
sub esp, 0xe
push word [esp + 9]
lea esp, [esp + 0x14]
cmp bl, 0x39
call fcn.006166bf
lea esp, [esp + 4]
jbe 0x5d36af
ja 0x6161a1
lodsb al, byte [esi]
mov ah, 0xd3
lahf
ficomp word [ebx - 0x35]
scasb al, byte es:[edi]
pop ebp
in eax, 0x34
mov esp, 0x72c43552
or dword [eax + reloc.mscoree.dll__CorExeMain], ebp
or byte [eax + 0x52fffffa], 0x88
xor al, 0x24
jmp 0x6166d8
sub esp, 0x19
push dword [esp + 1]
lea esp, [esp + 1]
jmp 0x616744
cmp bl, 0x2f
jne 0x5d35f8
je 0x5d36af
lea esp, [esp + 0x1c]
cmp cl, 0x41
jb 0x616186
push si
jmp 0x61682a
pushal
lea esp, [esp + 0x17]
lea esp, [esp + 1]
jmp 0x6167b2
jbe 0x616170
ja 0x6161b7
or ebx, dword [edi + reloc.mscoree.dll__CorExeMain]
jb 0x61681d
jl 0x616801
lea esp, [esp + 8]
jb 0x6161b7
cmp cl, 0x7a
jmp 0x61679c
cmp cl, 0x39
jbe 0x616170
ja 0x6161f2
imul edi, eax, 0x4af8096e
inc ecx
aad 0x45
sub al, 0xdf
outsd dx, dword [esi]
rol dword [esi - 0x2c], 1
mov bl, 0x4e
invalid
das
jmp 0x616945
jge 0xeb628c87
xlatb
cmp eax, 0x11e69f0c
nop
pushfd
lea esp, [esp + 2]
lea esp, [esp + 4]
cmp cl, 0x5a
push ax
call fcn.006167f9
jmp 0x616874
mov bh, 0x53
lea ebx, [ecx + ebp]
lea esp, [esp + 4]
pop ebx
ret
lea esp, [esp + 4]
cmp al, 0x2b
call fcn.0061685e
mov dword [eax], edx
xchg cl, ah
adc byte [esi + 0x641d8d11], ch
xchg edi, eax
push ebx
sbb dword [esi], 0x9926eb8c
out dx, eax
idiv byte [eax + 0x347bbf6a]
mov eax, 0x347bbf6a
lea eax, reloc.mscoree.dll__CorExeMain
setl bh
mov ebx, dword [esp]
jmp 0x616853
je 0x616170
jne 0x5d35f8
pushfd
pop dword [esp]
jmp 0x616994
cmp dl, 0x2f
jne 0x6162c3
push edx
mov dword [esp], ebx
jmp 0x6169bb
lea esp, [esp + 4]
jne 0x616285
push 0x3e
jmp 0x6162dd
lea esp, [esp + 4]
push 0x3f
jmp 0x6162dd