What exactly is going on here? I can tell that it wants to numbers and the rutrn from the recursive function needs to be 8, but I do not see how to do that.
I also know the second input number after subtracting two needs to be less than or equal to 2.
Can someone explain or solve this so I can understand it?
Dump of assembler code for function sub lea lea phase 4: 0 0x0000000000400f56 0x0000000000400f5b : 0x0000000000400f60 : mov 0xeO 0 0 0 0 0 0 0 0 0 4 0065 : mov 0x0000000000400f6a : 0xeO 0 0 0 0 0 0 0 0 0 4 0 0f6f : cmp 0x0000000000400f72 : OseO 0 0 0 0 0 0 0 0 0 4 0074 : mov OseO 0 0 0 0 0 0 0 0 0 4 0078 +38>: 0x0000000000400f7b :cmp 0x0000000000400f7e : 0x0000000000400f80 : OseO 0 0 0 0 0 0 0 0 0 4 0 0 f85 : mov OseO 0 0 0 0 0 0 0 0 0 4 0 0 f89 : mov 0xeO 0 0 0 0 0 0 0 0 0 40 0f8e : 0x000000000040093 : cmp 0x0000000000400f97 0x0000000000400f99 : OseO 0 0 0 0 0 0 0 0 0 40 0f9e : $0x18,%rsp 0xc ( %rsp ) ,%rcx 0x8 ( %rsp ) ,trax $0x4025e3 , %esi $0x0,%eax 0x4 0 0b50 $0x2 , %eax 0x4 00f80 0xc(%rsp ) ,%eax $0x2,%eax $0x2, Beax => 0 0 0 0 0 0 0 0 0 4 0 0 f52 : callg -soc99-sscanf@plt> ne phase 4+46> sub jbe 0x400f85
callg 0x4013ee 0xc(%rsp ) ,%esi $0x5,%edi callq 0x400f17 0x8 ( %rsp ) ,%eax 0x400f9e callq 0x4013ee $0x18,%rsp retg End of assembler dump. Dump of assembler code for function func4: %edi , %edi 0x400f46 %esi, %eax $0x1 , %edi 0x400f50 0x0000000000400f17 : 0x0000000000400f19 : 0x0000000000400f1b : 0x0000000000400fld : 0x0000000000400f20 : 0x0000000000400f22 : 0x0000000000400f24 : 0x0000000000400f25 : 0x0000000000400f26 : 0x0000000000400f28 : 0x0000000000400f2a : 0x0000000000400f2d : 0x0000000000400f32 : 0x0000000000400f37 : 0x0000000000400f3a 0x0000000000400f3c : 0x0000000000400f41 : 0x0000000000400f44 : 0x0000000000400f46 : 0x0000000000400f4b : 0x0000000000400f4c : 0x0000000000400f4d 0x0000000000400f4e : 0x0000000000400f50 : test jle mov cmp push %r12 push %rbp push %rbx mov mov lea callq 0x400f17 lea 0x0 ( %rbp , %rax , 1),8r12d lea mov callq 0x400f17 add jmp mov $0x0,%eax retq pop pop pop repz retg %esi, %ebp %edi , %ebx -0x1 ( %rdi ) , %edi -0x2 ( %rbx) , %edi %ebp, %esi tr12d, %eax 0x400f4c %rbp %r12 Dump of assembler code for function sub lea lea phase 4: 0 0x0000000000400f56 0x0000000000400f5b : 0x0000000000400f60 : mov 0xeO 0 0 0 0 0 0 0 0 0 4 0065 : mov 0x0000000000400f6a : 0xeO 0 0 0 0 0 0 0 0 0 4 0 0f6f : cmp 0x0000000000400f72 : OseO 0 0 0 0 0 0 0 0 0 4 0074 : mov OseO 0 0 0 0 0 0 0 0 0 4 0078 +38>: 0x0000000000400f7b :cmp 0x0000000000400f7e : 0x0000000000400f80 : OseO 0 0 0 0 0 0 0 0 0 4 0 0 f85 : mov OseO 0 0 0 0 0 0 0 0 0 4 0 0 f89 : mov 0xeO 0 0 0 0 0 0 0 0 0 40 0f8e : 0x000000000040093 : cmp 0x0000000000400f97 0x0000000000400f99 : OseO 0 0 0 0 0 0 0 0 0 40 0f9e : $0x18,%rsp 0xc ( %rsp ) ,%rcx 0x8 ( %rsp ) ,trax $0x4025e3 , %esi $0x0,%eax 0x4 0 0b50 $0x2 , %eax 0x4 00f80 0xc(%rsp ) ,%eax $0x2,%eax $0x2, Beax => 0 0 0 0 0 0 0 0 0 4 0 0 f52 : callg -soc99-sscanf@plt> ne phase 4+46> sub jbe 0x400f85 callg 0x4013ee 0xc(%rsp ) ,%esi $0x5,%edi callq 0x400f17 0x8 ( %rsp ) ,%eax 0x400f9e callq 0x4013ee $0x18,%rsp retg End of assembler dump. Dump of assembler code for function func4: %edi , %edi 0x400f46 %esi, %eax $0x1 , %edi 0x400f50 0x0000000000400f17 : 0x0000000000400f19 : 0x0000000000400f1b : 0x0000000000400fld : 0x0000000000400f20 : 0x0000000000400f22 : 0x0000000000400f24 : 0x0000000000400f25 : 0x0000000000400f26 : 0x0000000000400f28 : 0x0000000000400f2a : 0x0000000000400f2d : 0x0000000000400f32 : 0x0000000000400f37 : 0x0000000000400f3a 0x0000000000400f3c : 0x0000000000400f41 : 0x0000000000400f44 : 0x0000000000400f46 : 0x0000000000400f4b : 0x0000000000400f4c : 0x0000000000400f4d 0x0000000000400f4e : 0x0000000000400f50 : test jle mov cmp push %r12 push %rbp push %rbx mov mov lea callq 0x400f17 lea 0x0 ( %rbp , %rax , 1),8r12d lea mov callq 0x400f17 add jmp mov $0x0,%eax retq pop pop pop repz retg %esi, %ebp %edi , %ebx -0x1 ( %rdi ) , %edi -0x2 ( %rbx) , %edi %ebp, %esi tr12d, %eax 0x400f4c %rbp %r12