Question
Dump of assembler code for function Cipher: 0x080490a2 : push %ebp 0x080490a3 : mov %esp,%ebp 0x080490a5 : sub $0x18,%esp => 0x080490a8 : mov 0x8(%ebp),%eax 0x080490ab
Dump of assembler code for function Cipher:
0x080490a2 <+0>: push %ebp
0x080490a3 <+1>: mov %esp,%ebp
0x080490a5 <+3>: sub $0x18,%esp
=> 0x080490a8 <+6>: mov 0x8(%ebp),%eax
0x080490ab <+9>: mov %eax,(%esp)
0x080490ae <+12>: call 0x8048730
0x080490b3 <+17>: cmp $0x6,%eax
0x080490b6 <+20>: je 0x80490c4
0x080490b8 <+22>: movl $0x4,(%esp)
0x080490bf <+29>: call 0x8048c32
0x080490c4 <+34>: mov 0x8(%ebp),%eax
0x080490c7 <+37>: movzbl (%eax),%eax
0x080490ca <+40>: movsbl %al,%eax
0x080490cd <+43>: mov %eax,(%esp)
0x080490d0 <+46>: call 0x8049056
0x080490d5 <+51>: cmp $0x66,%al
0x080490d7 <+53>: je 0x80490e5
0x080490d9 <+55>: movl $0x4,(%esp)
0x080490e0 <+62>: call 0x8048c32
0x080490e5 <+67>: mov 0x8(%ebp),%eax
0x080490e8 <+70>: add $0x1,%eax
0x080490eb <+73>: movzbl (%eax),%eax
0x080490ee <+76>: movsbl %al,%eax
0x080490f1 <+79>: mov %eax,(%esp)
0x080490f4 <+82>: call 0x8049056
0x080490f9 <+87>: cmp $0x75,%al
0x080490fb <+89>: je 0x8049109
0x080490fd <+91>: movl $0x4,(%esp)
0x08049104 <+98>: call 0x8048c32
0x08049109 <+103>: mov 0x8(%ebp),%eax
0x0804910c <+106>: add $0x2,%eax
0x0804910f <+109>: movzbl (%eax),%eax
0x08049112 <+112>: movsbl %al,%eax
0x08049115 <+115>: mov %eax,(%esp)
0x08049118 <+118>: call 0x8049056
0x0804911d <+123>: cmp $0x65,%al
0x0804911f <+125>: je 0x804912d
0x08049121 <+127>: movl $0x4,(%esp)
0x08049128 <+134>: call 0x8048c32
0x0804912d <+139>: mov 0x8(%ebp),%eax
0x08049130 <+142>: add $0x3,%eax
0x08049133 <+145>: movzbl (%eax),%eax
0x08049136 <+148>: movsbl %al,%eax
0x08049139 <+151>: mov %eax,(%esp)
0x0804913c <+154>: call 0x8049056
0x08049141 <+159>: cmp $0x76,%al
0x08049143 <+161>: je 0x8049151
0x08049145 <+163>: movl $0x4,(%esp)
0x0804914c <+170>: call 0x8048c32
0x08049151 <+175>: mov 0x8(%ebp),%eax
0x08049154 <+178>: add $0x4,%eax
0x08049157 <+181>: movzbl (%eax),%eax
0x0804915a <+184>: movsbl %al,%eax
0x0804915d <+187>: mov %eax,(%esp)
0x08049160 <+190>: call 0x8049056
0x08049165 <+195>: cmp $0x79,%al
0x08049167 <+197>: je 0x8049175
0x08049169 <+199>: movl $0x4,(%esp)
0x08049170 <+206>: call 0x8048c32
0x08049175 <+211>: mov 0x8(%ebp),%eax
0x08049178 <+214>: add $0x5,%eax
0x0804917b <+217>: movzbl (%eax),%eax
0x0804917e <+220>: movsbl %al,%eax
0x08049181 <+223>: mov %eax,(%esp)
0x08049184 <+226>: call 0x8049056
0x08049189 <+231>: cmp $0x79,%al
0x0804918b <+233>: je 0x8049199
0x0804918d <+235>: movl $0x4,(%esp)
0x08049194 <+242>: call 0x8048c32
0x08049199 <+247>: mov 0x8(%ebp),%eax
0x0804919c <+250>: mov %eax,0x4(%esp)
0x080491a0 <+254>: movl $0x4,(%esp)
0x080491a7 <+261>: call 0x8048cb1
0x080491ac <+266>: leave
0x080491ad <+267>: ret
Could you explain what the above function do in assembly language?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started