# Puzzle 2
#
# NOTE: CA and CB are labels we added by hand to support this homework.
# The compiler created only the .L2, function2, and function1 labels.
#
# C structures used: TODO
#
# Possible order of labels (#1): TODO
# Possible order of labels (#2): TODO
# Possible order of labels (#3): TODO
#
# Registers and sizes for function1's parameters: TODO

function2:
    movl %esi, %eax
    cmpl %esi, %edi
    jge .L2             # Next: TODO
CA:
    movl %edi, %eax
.L2:
    ret
function1:
    pushq %rbx
    movl %edx, %ebx
    call function2      # Next: TODO
CB:
    movl %eax, %edi
    movl %ebx, %esi
    call function2      # Next: TODO
CC:
    popq %rbx
    ret
