user: What would the C source look like for the assembly code provided here?

```asm
<loadstorylevel>:
  endbr64
  sub    $0x8,%rsp
  cmp    $0x1,%edi
  je     L193
  cmp    $0x2,%edi
  je     L75
  cmp    $0x3,%edi
  je     L72
  cmp    $0x4,%edi
  jne    L212
  lea    D32(%rip),%rdi
  call   <loadlevel@plt>
L40:
  pop    %rax
  ret
  nopw   0x0(%rax,%rax,1)
L72:
  lea    D213(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  cs nopw 0x0(%rax,%rax,1)
L212:
  cmp    $0x5,%edi
  jne    L136
  lea    D265(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L136:
  cmp    $0x6,%edi
  jne    L165
  lea    D208(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  cs nopw 0x0(%rax,%rax,1)
L165:
  cmp    $0x7,%edi
  jne    L241
  lea    D316(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  nopl   0x0(%rax,%rax,1)
L241:
  cmp    $0x8,%edi
  jne    L381
  lea    D352(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  nopl   0x0(%rax,%rax,1)
L75:
  lea    D281(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  xchg   %ax,%ax
L193:
  lea    D372(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  xchg   %ax,%ax
L381:
  cmp    $0x9,%edi
  jne    L294
  lea    D85(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L294:
  cmp    $0xa,%edi
  jne    L192
  lea    D356(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L192:
  cmp    $0xb,%edi
  jne    L45
  lea    D44(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L45:
  cmp    $0xc,%edi
  jne    L252
  lea    D126(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L252:
  cmp    $0xd,%edi
  jne    L287
  lea    D253(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L287:
  cmp    $0xe,%edi
  jne    L318
  lea    D355(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L318:
  cmp    $0xf,%edi
  jne    L81
  lea    D351(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L81:
  cmp    $0x10,%edi
  jne    L374
  lea    D118(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L374:
  cmp    $0x11,%edi
  jne    L380
  lea    D303(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L380:
  cmp    $0x12,%edi
  jne    L188
  lea    D367(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L188:
  cmp    $0x13,%edi
  jne    L330
  lea    D42(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L330:
  cmp    $0x14,%edi
  jne    L160
  lea    D271(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L160:
  cmp    $0x15,%edi
  jne    L282
  lea    D141(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L282:
  cmp    $0x16,%edi
  jne    L284
  lea    D220(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L284:
  cmp    $0x17,%edi
  jne    L367
  lea    D298(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L367:
  cmp    $0x18,%edi
  jne    L375
  lea    D346(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L375:
  cmp    $0x19,%edi
  jne    L328
  lea    D212(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L328:
  cmp    $0x1a,%edi
  jne    L345
  lea    D61(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L345:
  cmp    $0x1b,%edi
  jne    L109
  lea    D97(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L109:
  cmp    $0x1c,%edi
  jne    L211
  lea    D2(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L211:
  cmp    $0x1d,%edi
  jne    L335
  lea    D9(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L335:
  cmp    $0x1e,%edi
  jne    L349
  lea    D132(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L349:
  cmp    $0x1f,%edi
  jne    L122
  lea    D187(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L122:
  cmp    $0x20,%edi
  jne    L289
  lea    D326(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L289:
  cmp    $0x21,%edi
  jne    L280
  lea    D69(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L280:
  cmp    $0x22,%edi
  jne    L56
  lea    D214(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L56:
  cmp    $0x40,%edi
  jne    L199
  lea    D334(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L199:
  cmp    $0x41,%edi
  jne    L105
  lea    D8(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L105:
  cmp    $0x42,%edi
  jne    L250
  lea    D83(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L250:
  cmp    $0x43,%edi
  jne    L238
  lea    D11(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L238:
  cmp    $0x44,%edi
  jne    L40
  lea    D324(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
```

tool_calls: name: unpack_data
arguments: label: D32
type_infered: string
name: unpack_data
arguments: label: D213
type_infered: string
name: unpack_data
arguments: label: D265
type_infered: string
name: unpack_data
arguments: label: D208
type_infered: string
name: unpack_data
arguments: label: D316
type_infered: string
name: unpack_data
arguments: label: D352
type_infered: string
name: unpack_data
arguments: label: D281
type_infered: string
name: unpack_data
arguments: label: D372
type_infered: string
name: unpack_data
arguments: label: D85
type_infered: string
name: unpack_data
arguments: label: D356
type_infered: string
name: unpack_data
arguments: label: D44
type_infered: string
name: unpack_data
arguments: label: D126
type_infered: string
name: unpack_data
arguments: label: D253
type_infered: string
name: unpack_data
arguments: label: D355
type_infered: string
name: unpack_data
arguments: label: D351
type_infered: string
name: unpack_data
arguments: label: D118
type_infered: string
name: unpack_data
arguments: label: D303
type_infered: string
name: unpack_data
arguments: label: D367
type_infered: string
name: unpack_data
arguments: label: D42
type_infered: string
name: unpack_data
arguments: label: D271
type_infered: string
name: unpack_data
arguments: label: D141
type_infered: string
name: unpack_data
arguments: label: D220
type_infered: string
name: unpack_data
arguments: label: D298
type_infered: string
name: unpack_data
arguments: label: D346
type_infered: string
name: unpack_data
arguments: label: D212
type_infered: string
name: unpack_data
arguments: label: D61
type_infered: string
name: unpack_data
arguments: label: D97
type_infered: string
name: unpack_data
arguments: label: D2
type_infered: string
name: unpack_data
arguments: label: D9
type_infered: string
name: unpack_data
arguments: label: D132
type_infered: string
name: unpack_data
arguments: label: D187
type_infered: string
name: unpack_data
arguments: label: D326
type_infered: string
name: unpack_data
arguments: label: D69
type_infered: string
name: unpack_data
arguments: label: D214
type_infered: string
name: unpack_data
arguments: label: D334
type_infered: string
name: unpack_data
arguments: label: D8
type_infered: string
name: unpack_data
arguments: label: D83
type_infered: string
name: unpack_data
arguments: label: D11
type_infered: string
name: unpack_data
arguments: label: D324
type_infered: string

tool: D32: sewer4.lvl

tool: D213: sewer3.lvl

tool: D265: sewer5.lvl

tool: D208: sewer6.lvl

tool: D316: sewer7.lvl

tool: D352: cave1.lvl

tool: D281: sewer2.lvl

tool: D372: sewer1.lvl

tool: D85: cave2.lvl

tool: D356: cave3.lvl

tool: D44: cave4.lvl

tool: D126: cave5.lvl

tool: D253: cave6.lvl

tool: D355: cave7.lvl

tool: D351: hell1.lvl

tool: D118: hell2.lvl

tool: D303: hell3.lvl

tool: D367: hell4.lvl

tool: D42: hell5.lvl

tool: D271: hell6.lvl

tool: D141: hell7.lvl

tool: D220: egypt1.lvl

tool: D298: egypt2.lvl

tool: D346: egypt3.lvl

tool: D212: egypt4.lvl

tool: D61: egypt5.lvl

tool: D97: egypt6.lvl

tool: D2: egypt7.lvl

tool: D9: church1.lvl

tool: D132: church2.lvl

tool: D187: church3.lvl

tool: D326: church4.lvl

tool: D69: church5.lvl

tool: D214: church6.lvl

tool: D334: sewer8.lvl

tool: D8: cave8.lvl

tool: D83: egypt8.lvl

tool: D11: death.lvl

tool: D324: death2.lvl

assistant: ```c
void loadstorylevel(int levelnum) {
  if (levelnum == 1)
    loadlevel("sewer1.lvl");
  if (levelnum == 2)
    loadlevel("sewer2.lvl");
  if (levelnum == 3)
    loadlevel("sewer3.lvl");
  if (levelnum == 4)
    loadlevel("sewer4.lvl");
  if (levelnum == 5)
    loadlevel("sewer5.lvl");
  if (levelnum == 6)
    loadlevel("sewer6.lvl");
  if (levelnum == 7)
    loadlevel("sewer7.lvl");
  if (levelnum == 8)
    loadlevel("cave1.lvl");
  if (levelnum == 9)
    loadlevel("cave2.lvl");
  if (levelnum == 10)
    loadlevel("cave3.lvl");
  if (levelnum == 11)
    loadlevel("cave4.lvl");
  if (levelnum == 12)
    loadlevel("cave5.lvl");
  if (levelnum == 13)
    loadlevel("cave6.lvl");
  if (levelnum == 14)
    loadlevel("cave7.lvl");
  if (levelnum == 15)
    loadlevel("hell1.lvl");
  if (levelnum == 16)
    loadlevel("hell2.lvl");
  if (levelnum == 17)
    loadlevel("hell3.lvl");
  if (levelnum == 18)
    loadlevel("hell4.lvl");
  if (levelnum == 19)
    loadlevel("hell5.lvl");
  if (levelnum == 20)
    loadlevel("hell6.lvl");
  if (levelnum == 21)
    loadlevel("hell7.lvl");
  if (levelnum == 22)
    loadlevel("egypt1.lvl");
  if (levelnum == 23)
    loadlevel("egypt2.lvl");
  if (levelnum == 24)
    loadlevel("egypt3.lvl");
  if (levelnum == 25)
    loadlevel("egypt4.lvl");
  if (levelnum == 26)
    loadlevel("egypt5.lvl");
  if (levelnum == 27)
    loadlevel("egypt6.lvl");
  if (levelnum == 28)
    loadlevel("egypt7.lvl");
  if (levelnum == 29)
    loadlevel("church1.lvl");
  if (levelnum == 30)
    loadlevel("church2.lvl");
  if (levelnum == 31)
    loadlevel("church3.lvl");
  if (levelnum == 32)
    loadlevel("church4.lvl");
  if (levelnum == 33)
    loadlevel("church5.lvl");
  if (levelnum == 34)
    loadlevel("church6.lvl");
  if (levelnum == 64)
    loadlevel("sewer8.lvl");
  if (levelnum == 65)
    loadlevel("cave8.lvl");
  if (levelnum == 66)
    loadlevel("egypt8.lvl");
  if (levelnum == 67)
    loadlevel("death.lvl");
  if (levelnum == 68)
    loadlevel("death2.lvl");
}
```