IP Firewall Filter

Hello
Can anyone explain me this filter in depth?
Step by step, please :smiley:
IN details

/ip firewall filter
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input comment="Port Scanners to list " protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list=“port scanners” address-list-timeout=2w chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
add action=drop chain=input src-address-list=“port scanners”
add action=drop chain=input comment=“Filter FTP to Box” dst-port=21 protocol=tcp src-address-list=ftp_blacklist
add chain=output content=“530 Login incorrect” dst-limit=1/1m,9,dst-address/1m protocol=tcp
add action=add-dst-to-address-list address-list=ftp_blacklist address-list-timeout=3h chain=output content=“530 Login incorrect” protocol=tcp
add chain=icmp comment=“Limited Ping Flood” icmp-options=0 limit=5,5 protocol=icmp
add chain=icmp icmp-options=3:3 limit=5,5 protocol=icmp
add chain=icmp icmp-options=3:4 limit=5,5 protocol=icmp
add chain=icmp icmp-options=8 limit=5,5 protocol=icmp
add chain=icmp icmp-options=11 limit=5,5 protocol=icmp
add action=drop chain=icmp protocol=icmp
add chain=input comment=“Connection State” connection-state=established
add chain=input connection-state=related
add action=drop chain=input connection-state=invalid

I know what they are doing, but I don’t know how they do this