Function at 0x408500
Capabilities:
Encrypt data using speck

Disassembly:
bt dx, bx
sub ecx, eax
jmp 0x40f5a5
jb 0x411389
setp al
neg eax
test ah, al
mov eax, ecx
cmc
clc
jmp 0x41036c
sbb ecx, ecx
jmp 0x40fd3b
jmp 0x40eb44
sbb ecx, ecx
jmp 0x406aa8
sbb al, 0x37
xor eax, 0xdae1ce70
cmp ecx, 4
dec eax
lea eax, [eax - 0x72e92913]
not al
dec eax
movsx eax, bl
mov eax, ecx
jmp 0x40ec10
mov byte [ebp - 2], al
jmp 0x407984
call dword [eax]
dec eax
lea edx, [edx - 0xdfdc26]
and dh, 0xf2
dec eax
add esp, 0x20
btr di, 9
xor cx, 0x7a7c
sub bh, ah
pop edx
shl ch, 3
pop edi
shr si, cl
cmc
movzx bp, bl
pop esi
btc bx, 9
sar ebp, 0x1b
pop ecx
cmc
pop ebx
bsr bp, cx
test cx, 0x5c38
dec eax
add esp, 0x28
not bp
jmp 0x41528a
sbb ecx, ecx
jmp 0x40f2d8
jb 0x40f08e
rcr eax, cl
btr eax, 1
and eax, 0x63c26757
xor ax, 0x79cf
mov eax, 6
bt sp, dx
sub ecx, eax
seto al
seto al
not al
mov al, byte [ebp - 2]
jmp 0x4084fb
mov al, byte [ebp - 2]
jmp 0x407068
je 0x40934d
not eax
not al
mov ah, 0x91
dec eax
lea eax, [ebp + 0x10f28ec9]
dec eax
lea eax, [ebx + edx*4]
jmp 0x440f51
cmp bh, bl
bt si, sp
cmp ecx, 7
jmp 0x40e890
jmp 0x4132fa
call fcn.00409176
bt cx, ax
clc
cmp edi, eax
push eax
cmp dx, ax
bt ax, ax
cmc
stc
push ecx
bt dx, di
cmp eax, 4
jmp 0x41337b
call fcn.00440daa
cmc
stc
add dword [ebp - 0x20], eax
test sp, 0x2204
test bx, 0x2451
cmc
jns 0x41146c
cmp dword [ebp - 0x20], 0xffffffff
jmp 0x408d60
lea ecx, [ecx + ecx*2 + 0xa]
jmp 0x40eaf9
jmp 0x412c00
jmp 0x40e725
call fcn.004128d5
jmp 0x4075af
jmp 0x41528f
lea ecx, [ecx + ecx*2 + 0xa]
jmp 0x40eaf9
pop ecx
dec eax
xchg ebx, ebp
not bp
cmp cl, ch
adc bl, ch
pop ebx
dec eax
bsr ebp, ecx
dec eax
add esp, 0x28
dec eax
lea ebp, [esi*2 + 0x27cc5e9c]
jb 0x440dd7
pop ebp
ret
jmp 0x40fc5d
sub edx, eax
mov eax, ebp
mov al, 0xd2
mov ah, dh
dec eax
lea eax, [ebx + edx*4 + 0xabc]
jmp 0x4093a1
jmp 0x40f936
cmc
cmc
add dword [ebp - 0x20], eax
movzx eax, cl
mov al, 0xdf
dec eax
lea eax, [ebx + 0xc88]
jmp 0x443edf
rep movsb byte es:[edi], byte [esi]
setg al
pop esi
jmp 0x40f93f
jmp 0x40fbd3
jmp 0x4146c9
rcl al, cl
cmp ecx, 4
movsx eax, bl
mov eax, ecx
jmp 0x440e69
call dword [eax]
xadd di, dx
shld cx, ax, cl
dec eax
movsx edx, dl
dec eax
add esp, 0x20
sets bh
sal edx, cl
pop edx
btc cx, dx
bts di, 1
mov edi, 0x21de024a
mov si, 0x1862
pop edi
clc
pop esi
setge bh
clc
shl ebp, 4
clc
pop ecx
sub ebx, 0x60c8d846
cmc
stc
bsr ebx, ebx
pop ebx
shr ebp, cl
neg bp
dec eax
add esp, 0x28
dec eax
lea ebp, [ebp - 0x1e415261]
movzx bp, bl
movsx bp, cl
movzx bp, al
pop ebp
ret
mov byte [ebp - 2], al
jmp 0x407984
jmp 0x40f6fc
cmp eax, 4
jmp 0x407e74
jb 0x41394f
btr ax, ax
bsr ax, di
bswap ax
shld eax, eax, 0x19
cmp ecx, 7
dec eax
lea eax, [eax*2 + 0x1a7752e]
dec eax
lea eax, [esi*8 + 0x3f707de3]
setp ah
sbb ecx, ecx
movzx ax, al
jmp 0x44112d
bt ecx, esi
cmp ecx, 7
jmp 0x440e37
cmp ecx, 7
jmp 0x4139e8
call fcn.004128d5
jmp 0x413cc2
stosb byte es:[edi], al
jmp 0x407984
mov dword [ebp - 0x14], eax
bswap eax
dec eax
lea eax, [ebx + 0xcc8]
jmp 0x40ef54
jmp 0x411da0
call fcn.00409176
jg 0x411486
cmp ecx, 7
jmp 0x412ce9
cmp eax, 4
jmp 0x41041e
lea ecx, [ecx + ecx*2 + 0xa]
jmp 0x40eaf9
jae 0x413539
dec eax
shl ebx, 0xc
dec eax
shld eax, esi, 0x38
dec eax
xor eax, 0x3b5b1d00
inc ebx
pop ebx
rol cx, cl
and cx, dx
sar ah, cl
dec eax
bt ecx, 0x27
pop ecx
stc
btc ax, di
sal al, 6
mov byte [ebp - 2], dl
sar ah, 7
cmp ecx, 4
setnp ah
mov eax, ecx
jmp 0x4133e0
adc dl, dl
jmp 0x409247
mov eax, 3
jmp 0x408041
jmp 0x408b24
jmp 0x413a63
jb 0x4146df
jmp 0x4149dc
jmp 0x406eeb
call fcn.004128d5
jmp 0x4066e2
jb 0x412232
cmp dx, si
shl dh, 2
movzx eax, byte [ebp - 2]
bts dx, bp
cmc
or dh, 0x33
shr eax, 5
bswap dx
dec eax
lea edx, [edx*4 - 0x444c044c]
bt bx, cx
btc edx, 9
imul eax, eax, 0x300
sbb dh, al
not dl
dec eax
lea eax, [ebx + eax*4 + 0x94d8]
bt si, 0xb
clc
btr edx, esi
push ecx
setnp dh
push ebx
setae bh
mov bh, dh
dec eax
mov ebx, eax
rol dl, 6
mov edx, 1
stc
stc
cmp ch, ch
cmp ecx, 7
jmp 0x407659
jb 0x407a83
cmp cl, 0xfe
jmp 0x40fdcf
jne 0x4146df
not ecx
bswap ax
movzx ax, bl
pop ecx
seta al
pop eax
mov cx, di
movzx cx, al
dec eax
mov ecx, ebx
jmp 0x4086d7
jmp 0x40f891
jb 0x407758
bswap ecx
not ch
mov eax, 3
rcr cx, 9
not cl
mov ecx, 6
bt eax, eax
stc
stc
shl eax, cl
jmp 0x443ed2
dec eax
lea eax, [ebx + edx*4 + 0xabc]
jmp 0x408cce
jmp 0x4075be
jmp 0x410f29
adc edx, edx
stc
clc
sub ecx, 1
cmc
cmp esp, ebp
jmp 0x4112c8
lea ecx, [ecx + ecx*2 + 0xb]
bt di, 8
cmp bx, cx
cmc
push ecx
movzx ecx, dl
btr cx, sp
dec ch
not cl
push esi
movzx ecx, bl
adc esi, edx
adc ch, dh
seto ch
lea ecx, [eax + 2]
jmp 0x413dff
jmp 0x408865
call dword [eax]
rcl dh, cl
dec eax
add esp, 0x20
bsr edi, edi
movzx edx, al
pop edx
sar si, 9
dec eax
btr ebx, ecx
sub bh, cl
pop edi
dec eax
neg ebp
pop esi
btc ecx, esp
rcl cl, cl
bt dx, 2
ror bp, cl
pop ecx
setne bh
rcr ebp, cl
adc bp, 0xc750
pop ebx
dec eax
or ebp, 0xbe07bc86
dec eax
add esp, 0x28
bswap ebp
movzx ebp, bl
jmp 0x412c11
dec eax
lea eax, [esp - 0x3dd9bd7]
dec eax
mov ecx, ebx
setp al
dec eax
lea eax, [0xffffd38b]
jmp 0x4086b7
jo 0x409314
mov byte [ebp - 2], al
jmp 0x407984
jb 0x40f08e
bsf ax, dx
sal ah, 5
clc
mov eax, 6
clc
sub ecx, eax
setle al
mov al, 0xab
mov al, bh
setb al
mov al, byte [ebp - 2]
jmp 0x412605
jmp 0x407ec8
jmp 0x408615
jo 0x40fded
jb 0x4146df
rol cl, cl
mov ecx, eax
movzx dx, bl
rcl dx, cl
mov edx, 1
jmp 0x40f726
mov ecx, eax
bts dx, 4
add dh, ah
test al, al
or dl, 0xc7
mov edx, 1
dec eax
cmp eax, ebx
shr ecx, 1
jmp 0x40e421
mov byte [ebp - 2], al
jmp 0x407984
jmp 0x40e6ee
call fcn.00440daa
dec eax
bt esp, ebx
cmp di, 0xe88b
bt esi, 0xd
cmp al, 0x16
add dword [ebp - 0x20], eax
jmp 0x412b15
mov byte [ebp - 2], al
jmp 0x407984
jmp 0x406573
jmp 0x412afb
jae 0x412c16
cmp eax, 0xbcd29872
test dx, dx
jmp 0x406a78
jmp 0x40e61f
bswap ax
dec eax
lea eax, [0xffffd161]
jmp 0x412271
jmp 0x414f13
jb 0x40f08e
or ah, bl
mov eax, 6
test eax, 0x2580e216
cmc
cmp edi, edi
cmc
sub ecx, eax
jmp 0x41377e
jae 0x413539
rol cl, cl
shr ecx, 0xc
pop ebx
bsf eax, ebx
pop ecx
shl ax, cl
cmp ebp, 0xf55e2380
mov byte [ebp - 2], dl
jmp 0x406c39
jmp 0x408392
sbb ecx, ecx
jmp 0x40eaf5
jae 0x412c16
bt di, bp
clc
cmc
sub edx, eax
movzx ax, cl
dec eax
movsx eax, bl
dec eax
lea eax, [ebx - 0x1a50b5fe]
dec eax
lea eax, [ebx + edx*4 + 0xabc]
jmp 0x415096
stosb byte es:[edi], al
jmp 0x407984
dec ax
mov byte [ebp - 2], dl
bt dx, 6
sar al, 6
xor ah, al
and eax, 0x7ef4a4a1
cmp ecx, 4
jmp 0x410814
call fcn.00408429
jmp 0x41522c
lea ecx, [ecx + ecx*2 + 0xa]
jmp 0x40eaf9
stosb byte es:[edi], al
jmp 0x407984
jmp 0x441368
adc dl, dl
jmp 0x414f0e
dec eax
lea eax, [ebx + eax*4 + 0x6c0]
jmp 0x407e6f
call fcn.00408429
cmp bl, 0x30
invalid
invalid
xchg ecx, eax