# trinary function .LC0: .string "trinary" .text .globl trinary .type trinary, @function trinary: # Start param passing pushl %ebp movl %esp, %ebp pushl %ebx subl $52, %esp call __i686.get_pc_thunk.bx addl $_GLOBAL_OFFSET_TABLE_, %ebx movl __guard@GOT(%ebx), %eax movl (%eax), %eax movl %eax, -24(%ebp) # End param passing cmpl $0, 8(%ebp) # var setne %al movzbl %al, %eax movl %eax, -28(%ebp) # to_return movl -28(%ebp), %eax # to_return movl __guard@GOT(%ebx), %edx movl (%edx), %edx cmpl %edx, -24(%ebp) je .L2 movl -24(%ebp), %eax movl %eax, 4(%esp) leal .LC0@GOTOFF(%ebx), %eax movl %eax, (%esp) call __stack_smash_handler@PLT .L2: addl $52, %esp popl %ebx popl %ebp ret .size trinary, .-trinary .globl __stack_smash_handler .section .rodata # ifelse function .LC1: .string "ifelse" .text .globl ifelse .type ifelse, @function ifelse: # Start param passing pushl %ebp movl %esp, %ebp pushl %ebx subl $52, %esp call __i686.get_pc_thunk.bx addl $_GLOBAL_OFFSET_TABLE_, %ebx movl __guard@GOT(%ebx), %eax movl (%eax), %eax movl %eax, -24(%ebp) # End param passing cmpl $0, 8(%ebp) # var je .L4 movl $1, -28(%ebp) # to_return jmp .L5 .L4: movl $0, -28(%ebp) # to_return .L5: movl -28(%ebp), %eax # to_return movl __guard@GOT(%ebx), %edx movl (%edx), %edx cmpl %edx, -24(%ebp) je .L6 movl -24(%ebp), %eax movl %eax, 4(%esp) leal .LC1@GOTOFF(%ebx), %eax movl %eax, (%esp) call __stack_smash_handler@PLT .L6: addl $52, %esp popl %ebx popl %ebp ret .size ifelse, .-ifelse .globl __stack_smash_handler .section .rodata