Function at 0x41f5bd
Capabilities:
Encrypt data using speck

Disassembly:
push ecx
call 0x588439
add byte [edi + 0x51], dl
call 0xf583340
test dword [ebp + 0x3a], edi
push es
push ecx
call 0xc057a14a
pop esi
inc eax
add byte [eax], cl
push edi
cmp ebx, 0x20
jb 0x3f0dfa83
add byte [esi], al
cmp eax, dword [edx]
je 0x48173b
sub eax, 0xfffffff8
movzx eax, byte [edx]
sub edi, eax
je 0x41f60c
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x89b850f]
push es
add byte [ebx + 0xf017ee8], al
sub eax, 0x7e
add dword [edi], ecx
mov dh, 0x42
add dword [ebx], ebp
clc
je 0x41f62e
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x879850f]
push es
add byte [ebx + 0xf027ee8], al
sub eax, 0x7e
add cl, byte [edi]
mov dh, 0x42
add ch, byte [ebx]
clc
je 0x41f650
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x857850f]
push es
add byte [ebx + 0xf034ee8], al
sub eax, 0x4e
add ecx, dword [edi]
mov dh, 0x42
add ebp, dword [ebx]
enter 0x1274, 0x33
sar byte [ebx], 0xbe
setg al
lea ecx, [eax*2 - 0x36ebc]
jmp 0x41f66e
cmp edi, dword [esi + 0x831850f]
test byte [eax + 0x21], bl
push es
add byte [ebx + 0x7f740442], al
sub eax, 0xfffffff8
movzx eax, byte [edx + 4]
sub edi, eax
je 0x41f69d
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x80a850f]
push es
add byte [ebx + 0xf057ee8], al
mov dh, 0x42
add eax, 0x1674f82b
sub eax, 0x7e
add eax, 0x542b60f
sub edi, eax
je 0x41f6bf
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x7e8850f]
push es
add byte [ebx + 0xf067ee8], al
mov dh, 0x42
push es
sub eax, 0x7e
push es
movzx eax, byte [edx + 6]
sub edi, eax
je 0x41f6e1
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x7c6850f]
push es
add byte [ebx + 0xf074ee8], al
mov dh, 0x42
pop es
sub eax, 0x4e
pop es
movzx eax, byte [edx + 7]
sub ecx, eax
je 0x41f6ff
xor eax, eax
cmp edi, dword [esi - 0x723f60f1]
or al, 0x45
inc esp
xchg ecx, eax
cld
invalid
cmp edi, dword [esi + 0x7a0850f]
jne 0x3b4830eb
inc edx
or byte [edi + edi*2 - 0x7d], dh
call 0x42f8070d
or byte [ebx], ch
clc
je 0x41f72e
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x779850f]
push es
add byte [ebx + 0xf097ee8], al
cld
invalid
sub eax, 0x7e
or dword [edi], ecx
mov dh, 0x42
or dword [ebx], ebp
clc
je 0x41f750
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x757850f]
push es
add byte [ebx + 0xf0a7ee8], al
sub eax, 0x7e
or cl, byte [edi]
mov dh, 0x42
or ch, byte [ebx]
clc
je 0x41f772
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x735850f]
push es
add byte [ebx + 0xf0b4ee8], al
sub eax, 0x4e
or ecx, dword [edi]
mov dh, 0x42
or ebp, dword [ebx]
enter 0x1274, 0x33
sar byte [ebx], 0xbe
setg al
lea ecx, [eax*2 - 0x36ebc]
jmp 0x41f790
cmp edi, dword [esi + 0x70f850f]
jne 0x3b4e317c
inc edx
or al, 0x74
jg 0x41f724
call 0x42f8079e
or al, 0x2b
clc
je 0x41f7bf
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x6e8850f]
push es
add byte [ebx + 0xf0d7ee8], al
mov dh, 0x42
or eax, 0x1674f82b
sub eax, 0x7e
or eax, 0xd42b60f
sub edi, eax
je 0x41f7e1
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x6c6850f]
push es
add byte [ebx + 0xf0e7ee8], al
mov dh, 0x42
push cs
sub eax, 0x7e
push cs
movzx eax, byte [edx + 0xe]
sub edi, eax
je 0x41f803
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x36ebc]
cmp edi, dword [esi + 0x6a4850f]
push es
add byte [ebx + 0xf0f4ee8], al
mov dh, 0x42
invalid
sub eax, 0x4e
invalid
dec ebp
sub al, 0x83
mov dword [esi + edi*4], 0x24244480
mov dword [ebp - 4], edi
jmp 0x4082bb