Function at 0xfd45e3
Capabilities:
Encrypt data using speck

Disassembly:
and ecx, 0xc010c2bd
mov eax, dword [esi]
not ecx
lea edx, [ecx + ecx*8 - 0x73eeb0eb]
mov ecx, dword [esi + ecx*2 - 0x7fde7f9a]
jno 0x175037e
sub edi, 4
mov eax, 0xec28ff84
rol eax, 0xd9
mov eax, dword [edi + eax - 0x9d851ff]
xor eax, ebx
mov ecx, 0xfb0ff11b
neg eax
xor eax, 0xb63f6db4
call fcn.00f3fca3
lea edx, [ecx + edx - 0x33feb21f]
xor edx, 0x59720a4
shl ecx, 0x65
not eax
xchg dword [esp + ecx - 0x66337400], ecx
inc edx
sub cx, 0xca83
push eax
rol word [esp + eax - 0x4ac0dfff], 0x8b
xor edx, 0xcd2f8092
xchg byte [esp + eax - 0x4ac0dffb], cl
sal dword [esp + eax - 0x4ac0dffc], 0x66
cmovs cx, ax
not edx
xor ebx, edx
lea eax, [ecx*8 + 0x393039ad]
add ebp, edx
movzx ax, byte [edi]
mov dl, byte [edi + 2]
inc dword [esp + 1]
dec cl
xor al, cl
sub ecx, ecx
jle 0x1641484
pop ecx
pop eax
jmp esi
sar al, 0x62
mov eax, dword [ebp + ebx*4]
jae 0x1754ee3
xchg ecx, eax
xor ebx, edx
sal ax, 0xe7
add ebp, edx
jmp 0xd14043
inc edx
lea eax, [eax + edx*8 - 0x798d5e45]
xchg dword [esp + ebx - 0x582b003e], ebx
call fcn.00e9f04e
neg byte [esp + eax*2 - 0x508f02d5]
neg cl
sub eax, eax
dec eax
dec eax
xor bl, cl
sub al, byte [esp + 3]
lea ecx, [esp + ecx + 4]
shl al, 0x84
mov dword [ecx], edx
movsx ecx, byte [esp]
mov ecx, dword [esi + 1]
rol word [esp], 0x8a
xor ecx, ebx
neg ecx
push eax
sar eax, 0xe6
lea edx, [eax + 0x508439a6]
inc ecx
sal byte [esp + edx - 0x508439a1], 0x47
not al
xor ecx, 0xebd3384
jmp 0x18061b1
ja 0x16b9076
bswap ecx
not dl
and al, dl
xor cl, 0x2c
dec dword [esp + ecx*4 - 0xac]
mov word [edi + ecx - 0x2a], ax
xor dword [esp + ecx - 0x28], ecx
ja 0x1772522
ror dword [esp + eax - 0x7d2e1388], 0xb4
xor ebx, edx
bswap eax
shl cl, 0xa2
add esi, edx
mov edx, dword [ebp]
neg byte [esp + 3]
mov ecx, dword [ebp + 4]
mov dword ss:[edx], ecx
bswap eax
sbb al, byte [esp + eax - 0x7d2e1388]
movsx edx, ax
lea eax, [eax + ebp - 0x7d2e13df]
neg dx
mov dword [ebp + edx*8 - 0x760c4], eax
movsx ecx, dx
lea ebp, [edx + ebp - 0xec15]
or edx, ecx
add cx, 0x1fb0
jne 0x17309de
xor bl, al
sal ecx, 0xfc
lea eax, [esp + eax + 0x10]
mov edx, ecx
inc dl
xor dx, cx
mov dl, byte [eax + ecx*2 - 0x20000000]
or cx, dx
call fcn.00d48e0e
lea ebp, [ebp + eax - 0x20007149]
neg edx
xor cx, bx
rol cx, 1
ror eax, 0x7a
neg dword [esp + eax*8 - 0xe29640]
inc edx
not cx
add dl, dl
and dword [esp + eax - 0x1c52c8], edx
sbb cx, 0x3e2f
xchg byte [esp + eax - 0x1c52c5], al
sal edx, 0xc5
neg cx
add dl, dl
sbb dword [esp + eax - 0x1c52ef], edx
xchg dword [esp + eax*4 - 0x714bbc], eax
add cx, 0x2a97
not cx
not dx
and ax, ax
xor bx, cx
sub edi, 2
mov word [edi], cx
push eax
pop ecx
pop eax
jmp fcn.016eef86
push eax
call 0x18061c8
call fcn.0163e4f3
pop eax
jmp esi
not eax
setg dl
or edx, edx
not ecx
push edx
or eax, ecx
call fcn.00fe004c
lea edx, [edx + ecx + 0x2bfdf5ce]
neg edx
not edx
rol ecx, cl
xchg word [esp + ecx*2 - 0x715565a8], cx
neg ecx
sub edx, 0x8e136319
and dword [esp + eax - 0x7d2e1388], 0x2a392692
jg 0x167f8ba
mov dword [esp + eax*2 - 0x74507116], eax
add ebp, edx
push eax
mov edx, dword [esp + eax*2 - 0x745070fd]
mov dword [esp + eax - 0x3a28388d], ebp
ret 0x20
jns 0x1637ea8
mov eax, 0xe0985b13
movzx ecx, al
mov ecx, dword [ecx + ebp - 0x13]
add ebp, 4
mov edx, eax
xchg edx, eax
xchg edx, eax
xor ecx, ebx
sub al, ah
not ecx
sal eax, 0xda
or edx, eax
dec ax
ror ecx, 2
rol dl, 0xc7
and eax, 0x201c9334
xor ecx, 0x712bf22c
xchg dx, ax
inc eax
and edx, eax
not ecx
rol ax, 0xa5
neg al
sub edx, eax
dec ecx
push eax
rol dword [esp + eax - 0x200071b5], 0x7a
xor ebx, ecx
neg edx
xor dl, byte [esp + eax - 0x200071b5]
shl dx, 0x47
add esi, ecx
movzx ecx, word [ebp + eax - 0x200071b5]
and word [esp + eax*2 - 0x4000e368], dx
neg al
jbe 0x168501c
jmp 0xf83700
lea edi, [edi + ecx*2 - 0x56]
mov dword [esp + ecx*2 - 0x58], ebp
ret 4
dec ebx
lea esp, [esp + 4]
jne 0x188fea5
mov eax, 0x27119129
bswap eax
mov eax, dword [ebp + eax*2 - 0x5322224e]
call fcn.00f5114f
mov edx, 0xc19d8dbf
movzx eax, byte [edi - 1]
call fcn.01761b22
sub eax, 0xb21c55ba
sub byte [ebp - 0x3a], dl
push ecx
push 0x1a43eb04
inc esp
loop 0x17a9b29
test byte [eax + ebx*8], al
mov dword [ecx + 0xd], esp
hlt
int3
not dx
lea eax, [eax + edx*4 + 0x32123425]
inc ecx
not dword [esp + eax - 0x74254c9a]
call fcn.00e72c66
mov dword [esp], 0x3939a990
jne 0x17a9a6c
push ecx
mov dword [esi], eax
sub esi, 4
mov ecx, dword [ebp + 1]
jmp 0x185f177
shl dword [esp + 1], 0xe3
sub ebp, 0xfffffffb
mov edx, 0xa10fcfbd
or edx, 0xb2276503
xor ecx, ebx
bswap edx
inc word [esp + 2]
call fcn.017d5f5d
setb byte [esp + 2]
shl word [esp + 1], 0x6b
ror eax, 1
call fcn.01672ca9
mov eax, 0x28bbc711
jmp 0xfafdda