user: Please show me the C implementation that matches the assembly code listed below:

```asm
<print_instructions>:
  endbr64
  push   %rbx
  lea    D29(%rip),%rdi
  call   <puts@plt>
  lea    D38(%rip),%rdi
  call   <puts@plt>
  lea    D34(%rip),%rbx
  mov    %rbx,%rdi
  call   <getlet@plt>
  lea    D31(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rdi
  call   <getlet@plt>
  pop    %rbx
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D29
type_guessed: string
name: disassemble_data
arguments: tag: D38
type_guessed: string
name: disassemble_data
arguments: tag: D34
type_guessed: string
name: disassemble_data
arguments: tag: D31
type_guessed: string

tool: D29: 	Welcome to 'Hunt the Wumpus'

  The Wumpus lives in a cave of 20 rooms. Each room has 3 tunnels
leading to other rooms. (look at a dodecahedron to see how this works.
If you don't know what a dodecahedron is, ask someone)


tool: D38:      HAZARDS:
 Bottomless Pits - Two rooms have bottomless pits in them. If you go
     there, you fall into the pit (& lose!)
 Super Bats - Two other rooms have super bats. If you go there a bat
     grabs you and takes you to some other room at random. (Which may be
     troublesome)

     THE WUMPUS:
 The wumpus is not bothered by hazards (he has sucker feet and is too
 big for a bat to lift). Usually he is asleep. Two things wake him up:
 you shooting an arrow or you entering his room. If the wumpus wakes he
 moves (P=.75) one room or stays still (P=.25). After that, if he is
 where you are he eats you up and you lose!


tool: D34: Type an E then RETURN 

tool: D31:      YOU:
 Each turn you may move or shoot a crooked arrow
   Moving: You can move one room (thru one tunnel)
   Arrows: You have 5 arrows. You lose when you run out. Each arrow can
           go from 1 to 5 rooms. you aim by telling the computer the
           room #s you want the arrow to go to. If the arrow can't go
           that way (if no tunnel) it moves at random to the next room.
           If the arrow hits the wumpus, you win.
           If the arrow hits you, you lose.

     WARNINGS:
When you are one room away from a wumpus or hazard the computer says:
 Wumpus:  'I smell a wumpus'
 BAT   :  'Bats nearby'
 PIT   :  'I feel a draft'


assistant: ```c
void print_instructions() {
  puts("\tWelcome to 'Hunt the Wumpus'\n\n"
       "  The Wumpus lives in a cave of 20 rooms. Each room has 3 tunnels\n"
       "leading to other rooms. (look at a dodecahedron to see how this works.\n"
       "If you don't know what a dodecahedron is, ask someone)\n");
  puts("     HAZARDS:\n"
       " Bottomless Pits - Two rooms have bottomless pits in them. If you go\n"
       "     there, you fall into the pit (& lose!)\n"
       " Super Bats - Two other rooms have super bats. If you go there a bat\n"
       "     grabs you and takes you to some other room at random. (Which may be\n"
       "     troublesome)\n\n"
       "     THE WUMPUS:\n"
       " The wumpus is not bothered by hazards (he has sucker feet and is too\n"
       " big for a bat to lift). Usually he is asleep. Two things wake him up:\n"
       " you shooting an arrow or you entering his room. If the wumpus wakes he\n"
       " moves (P=.75) one room or stays still (P=.25). After that, if he is\n"
       " where you are he eats you up and you lose!\n");
  (void)getlet("Type an E then RETURN ");
  puts("     YOU:\n"
       " Each turn you may move or shoot a crooked arrow\n"
       "   Moving: You can move one room (thru one tunnel)\n"
       "   Arrows: You have 5 arrows. You lose when you run out. Each arrow can\n"
       "           go from 1 to 5 rooms. you aim by telling the computer the\n"
       "           room #s you want the arrow to go to. If the arrow can't go\n"
       "           that way (if no tunnel) it moves at random to the next room.\n"
       "           If the arrow hits the wumpus, you win.\n"
       "           If the arrow hits you, you lose.\n\n"
       "     WARNINGS:\n"
       "When you are one room away from a wumpus or hazard the computer says:\n"
       " Wumpus:  'I smell a wumpus'\n"
       " BAT   :  'Bats nearby'\n"
       " PIT   :  'I feel a draft'\n");
  (void)getlet("Type an E then RETURN ");
}
```