Function at 0x404110
Capabilities:
Encrypt data using chaskey
Encrypt data using speck

Disassembly:
bt sp, 6
rol al, 5
test al, 0x8c
clc
dec eax
test ebp, esi
test edi, edi
xor al, 0xf9
test cl, 0x1d
jmp 0x4121bb
mov al, 0xc4
mov al, ch
lodsb al, byte [esi]
jmp 0x411847
dec eax
lea eax, [ebx + eax*4]
jmp 0x40fd51
sub dl, dh
mov dword [ebp - 0x18], eax
dec al
clc
stc
bt di, cx
cmc
xor al, 0x88
bt esi, 0xe
sub al, 0x31
jg fcn.00404110
rol al, 5
clc
stc
xor al, 0xf9
cmc
cmp ah, 0xdc
bt si, si
test ah, dh
add al, 0x13
test bl, bl
shl edi, 8
cmc
test bp, 0x8d9
jmp 0x411ba8
clc
stc
cmc
stc
shl eax, 4
test cx, 0x2114
cmc
jmp 0x40e71e
jmp 0x410d97
call fcn.004128d5
jmp 0x407879
call fcn.004128d5
jmp 0x40f292
call fcn.004128d5
jmp 0x410bae
jb 0x413539
add dh, 0xe0
xchg dh, cl
adc al, bh
dec eax
bsr eax, edi
mov eax, dword [ebp - 0x20]
xor dh, 0x81
setnp dh
dec eax
not eax
cmc
mov cl, byte [eax + edi]
dec eax
not eax
rol dh, cl
cmc
add cl, cl
movsx eax, al
add eax, edx
jmp 0x4149e1
jmp 0x40e444
jne 0x414c33
bswap cx
adc dh, 0xb4
mov dword [ebp - 0x1c], edi
cmc
dec eax
mov edi, dword [ebp + 0x18]
bsf cx, bx
sub eax, eax
bsr dx, dx
adc dx, 0xf514
mov byte [ebp - 2], al
test bx, 0x79a1
mov ecx, eax
shr dh, cl
mov dword [ebp - 0x20], eax
neg dh
adc dx, dx
mov dword [ebp - 0x24], eax
mov dx, 0xb798
setae dh
neg dl
mov dword [ebp - 0x28], eax
test cx, 0x1b1f
bswap edx
shrd dx, bx, 0xc
mov dword [ebp - 0x14], eax
dec eax
shrd edx, eax, 0x1c
movsx dx, bl
rcr dx, 4
clc
sub eax, 1
add al, al
ret 0x8907
inc ebp
call 0xd309eb41
invalid
rol dl, cl
shrd ax, si, 0xf
dec eax
mov edx, edi
movsx ax, cl
dec eax
sub edx, dword [ebp + 0x18]
or ah, bh
sal al, cl
and edx, 3
and eax, esi
mov eax, ecx
bt sp, 0xf
cmc
cmp dx, 0x228
shl eax, 4
clc
stc
add eax, edx
jmp 0x41294f
adc dl, dl
jmp 0x407ef0
jmp 0x40e42b
setl cl
inc cl
dec dh
mov cl, byte [eax + edi]
shld ax, di, cl
xchg al, dh
cmp ax, 0x8d20
clc
add cl, cl
jmp 0x412eee
call fcn.004128d5
jmp 0x441363
jmp 0x41366a
ror al, 7
jmp 0x4107e5
jmp 0x408759
jmp 0x4085c4
jb 0x412232
sub dl, 0x5e
dec eax
bsr eax, esp
test al, 0xcb
movzx eax, byte [ebp - 2]
shrd dx, si, 8
cmp dh, 0x61
shr eax, 5
ror dl, cl
stc
imul eax, eax, 0x300
cmp al, dh
ror dh, cl
dec eax
sbb edx, eax
bsr dx, cx
dec eax
lea eax, [ebx + eax*4 + 0x94d8]
cmp al, ch
stc
movsx dx, dl
neg edx
push ecx
dec eax
bsr edx, edx
mov dx, 0xd018
dec eax
sub edx, 0x270f170e
shrd dx, cx, 5
push ebx
sar bl, cl
sbb dx, 0x5d8f
movzx ebx, al
dec eax
mov ebx, eax
cmc
mov edx, 1
cmp bl, 0xf7
cmp ecx, 7
jmp 0x40e914
jb 0x412232
btr dx, ax
xor ax, 0x7656
bts dx, 6
btc dx, 1
movzx eax, byte [ebp - 2]
not dl
shr eax, 5
ror dh, cl
imul eax, eax, 0x300
clc
cmc
dec eax
movsx edx, cl
dec eax
lea eax, [ebx + eax*4 + 0x94d8]
sbb eax, 0xffffff94
add byte [eax], al
shld edx, eax, 0xd
push ecx
movzx dx, dl
movzx edx, bl
shl dword [esi + 0xf], cl
mov dword [0xf76653c5], eax
fcomi st(5)
dec eax
mov ebx, eax
test cl, 0x7c
dec eax
lea edx, [ebp - 0x3bfa66ac]
clc
mov edx, 1
clc
cmp ecx, 7
pop es
jmp 0x415390
jne 0x414c33
dec ch
mov dword [ebp - 0x1c], edi
sbb ecx, 0x3802091e
setle dl
rcr edi, cl
rcl edi, cl
dec eax
mov edi, dword [ebp + 0x18]
sub cl, dl
xor dl, ch
neg dl
movzx cx, dl
sub eax, eax
movzx ecx, cl
stc
test si, sp
mov byte [ebp - 2], al
xchg dh, ch
mov ecx, eax
or dx, ax
ror dl, cl
dec eax
adc edx, edx
mov dword [ebp - 0x20], eax
jmp 0x4137ea
clc
cmc
jmp 0x41060d
add edi, eax
test al, bh
cmp edi, edi
clc
sub ecx, 1
jb 0x440a0e
jmp 0x4106af
add al, 0x13
clc
clc
cmc
jmp 0x414a1f
jmp 0x406c7f
jmp 0x4092cd
not eax
setb dh
mov al, ah
dec eax
lea eax, [edx*4 - 0x59251336]
jmp 0x415203
bswap ax
dec eax
lea eax, [edx + 0x9381ee4]
dec eax
lea eax, [ebx + edx*4 + 0x400]
jmp 0x408d11
jne 0x414c33
dec eax
lea edx, [edi*4 - 0x3aa1811]
dec dl
mov dword [ebp - 0x1c], edi
shr di, 2
sal di, cl
bsr dx, ax
dec eax
mov edi, dword [ebp + 0x18]
dec edx
rcr dx, cl
shr cl, 1
xor eax, eax
rcr dx, cl
xor ecx, ebp
mov byte [ebp - 2], al
movzx dx, dl
btr dx, si
bt cx, dx
dec eax
shr ecx, 0x1a
mov ecx, eax
ror dl, cl
bsf edx, ebx
cmc
bsf dx, bp
mov dword [ebp - 0x20], eax
add dl, dh
neg dx
sal dl, cl
mov dh, cl
mov dword [ebp - 0x24], eax
or dh, 0x81
cmc
not dl
adc dl, bh
mov dword [ebp - 0x28], eax
rol dl, cl
btc dx, 9
ror dh, cl
mov dword [ebp - 0x14], eax
movzx dx, dl
movzx edx, dl
cmp bh, dh
and dx, cx
add dl, dl
sub eax, 1
test bx, cx
mov dword [ebp - 0x18], eax
clc
xor dx, 0x19b8
dec eax
mov edx, edi
rol eax, 0x17
clc
dec eax
sub edx, dword [ebp + 0x18]
stc
movsx ax, bl
rol al, cl
and edx, 3
shr edx, 1
dec eax
and edx, esp
mov dword [ebp - 0x24], eax
dec eax
lea edx, [edx - 0x2a6793a1]
stc
clc
rcr dx, 0xe
mov dword [ebp - 0x28], eax
sbb dx, 0x13c7
mov dword [ebp - 0x14], eax
sbb dx, 0x1940
dec eax
shrd edx, edi, cl
sub eax, 1
cmp cx, 0x31cb
btr dx, si
jmp 0x40797f
jmp 0x414eeb
shl edi, 8
cmp ah, 0xac
add edi, eax
test dl, 0x5c
sub ecx, 1
jmp 0x410441
jmp 0x4066c0
dec eax
lea eax, [ebx + eax*4]
jmp 0x40f684
dec eax
lea eax, [ebx + edx*4 + 0x400]
jmp 0x412d6e
jb 0x413539
dec eax
bsr eax, esi
shrd eax, edi, 0x15
and dh, 0xfa
mov eax, dword [ebp - 0x20]
and cl, dh
setne cl
sub cl, 0xd9
dec eax
not eax
ror cl, 1
test bh, 0x72
jns 0x40f689
xadd cl, dh
mov cl, byte [eax + edi]
stc
sub dh, 0xa7
add cl, cl
mov dh, bh
xchg dh, ah
mov ax, 0x9f95
setb dh
bswap eax
jmp 0x4134a8
jmp 0x415319
jmp 0x40eb69
jmp 0x41086d