user: Converte this assembly snippet into its equivalent C code:

```asm
<loadstorylevel>:
  endbr64
  sub    $0x8,%rsp
  cmp    $0x1,%edi
  je     L339
  cmp    $0x2,%edi
  je     L87
  cmp    $0x3,%edi
  je     L204
  cmp    $0x4,%edi
  jne    L344
  lea    D353(%rip),%rdi
  call   <loadlevel@plt>
L218:
  pop    %rax
  ret
  nopw   0x0(%rax,%rax,1)
L204:
  lea    D256(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  cs nopw 0x0(%rax,%rax,1)
L344:
  cmp    $0x5,%edi
  jne    L140
  lea    D305(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L140:
  cmp    $0x6,%edi
  jne    L74
  lea    D211(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  cs nopw 0x0(%rax,%rax,1)
L74:
  cmp    $0x7,%edi
  jne    L258
  lea    D369(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  nopl   0x0(%rax,%rax,1)
L258:
  cmp    $0x8,%edi
  jne    L345
  lea    D319(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  nopl   0x0(%rax,%rax,1)
L87:
  lea    D125(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  xchg   %ax,%ax
L339:
  lea    D281(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
  xchg   %ax,%ax
L345:
  cmp    $0x9,%edi
  jne    L188
  lea    D252(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L188:
  cmp    $0xa,%edi
  jne    L20
  lea    D103(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L20:
  cmp    $0xb,%edi
  jne    L168
  lea    D2(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L168:
  cmp    $0xc,%edi
  jne    L0
  lea    D131(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L0:
  cmp    $0xd,%edi
  jne    L166
  lea    D279(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L166:
  cmp    $0xe,%edi
  jne    L139
  lea    D323(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L139:
  cmp    $0xf,%edi
  jne    L328
  lea    D123(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L328:
  cmp    $0x10,%edi
  jne    L6
  lea    D150(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L6:
  cmp    $0x11,%edi
  jne    L198
  lea    D330(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L198:
  cmp    $0x12,%edi
  jne    L109
  lea    D241(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L109:
  cmp    $0x13,%edi
  jne    L155
  lea    D289(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L155:
  cmp    $0x14,%edi
  jne    L300
  lea    D242(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L300:
  cmp    $0x15,%edi
  jne    L125
  lea    D348(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L125:
  cmp    $0x16,%edi
  jne    L261
  lea    D73(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L261:
  cmp    $0x17,%edi
  jne    L69
  lea    D38(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L69:
  cmp    $0x18,%edi
  jne    L319
  lea    D3(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L319:
  cmp    $0x19,%edi
  jne    L380
  lea    D108(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L380:
  cmp    $0x1a,%edi
  jne    L169
  lea    D380(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L169:
  cmp    $0x1b,%edi
  jne    L228
  lea    D346(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L228:
  cmp    $0x1c,%edi
  jne    L231
  lea    D308(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L231:
  cmp    $0x1d,%edi
  jne    L221
  lea    D309(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L221:
  cmp    $0x1e,%edi
  jne    L97
  lea    D67(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L97:
  cmp    $0x1f,%edi
  jne    L141
  lea    D275(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L141:
  cmp    $0x20,%edi
  jne    L106
  lea    D175(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L106:
  cmp    $0x21,%edi
  jne    L247
  lea    D18(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L247:
  cmp    $0x22,%edi
  jne    L286
  lea    D112(%rip),%rdi
  call   <loadlevel@plt>
  pop    %rax
  ret
L286:
  cmp    $0x40,%edi
  jne    L309
  lea    D254(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L309:
  cmp    $0x41,%edi
  jne    L176
  lea    D368(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L176:
  cmp    $0x42,%edi
  jne    L267
  lea    D44(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L267:
  cmp    $0x43,%edi
  jne    L295
  lea    D35(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
L295:
  cmp    $0x44,%edi
  jne    L218
  lea    D349(%rip),%rdi
  add    $0x8,%rsp
  jmp    1050 <loadlevel@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D353
type_infered: string
name: unpack_data
arguments: data_label: D256
type_infered: string
name: unpack_data
arguments: data_label: D305
type_infered: string
name: unpack_data
arguments: data_label: D211
type_infered: string
name: unpack_data
arguments: data_label: D369
type_infered: string
name: unpack_data
arguments: data_label: D319
type_infered: string
name: unpack_data
arguments: data_label: D125
type_infered: string
name: unpack_data
arguments: data_label: D281
type_infered: string
name: unpack_data
arguments: data_label: D252
type_infered: string
name: unpack_data
arguments: data_label: D103
type_infered: string
name: unpack_data
arguments: data_label: D2
type_infered: string
name: unpack_data
arguments: data_label: D131
type_infered: string
name: unpack_data
arguments: data_label: D279
type_infered: string
name: unpack_data
arguments: data_label: D323
type_infered: string
name: unpack_data
arguments: data_label: D123
type_infered: string
name: unpack_data
arguments: data_label: D150
type_infered: string
name: unpack_data
arguments: data_label: D330
type_infered: string
name: unpack_data
arguments: data_label: D241
type_infered: string
name: unpack_data
arguments: data_label: D289
type_infered: string
name: unpack_data
arguments: data_label: D242
type_infered: string
name: unpack_data
arguments: data_label: D348
type_infered: string
name: unpack_data
arguments: data_label: D73
type_infered: string
name: unpack_data
arguments: data_label: D38
type_infered: string
name: unpack_data
arguments: data_label: D3
type_infered: string
name: unpack_data
arguments: data_label: D108
type_infered: string
name: unpack_data
arguments: data_label: D380
type_infered: string
name: unpack_data
arguments: data_label: D346
type_infered: string
name: unpack_data
arguments: data_label: D308
type_infered: string
name: unpack_data
arguments: data_label: D309
type_infered: string
name: unpack_data
arguments: data_label: D67
type_infered: string
name: unpack_data
arguments: data_label: D275
type_infered: string
name: unpack_data
arguments: data_label: D175
type_infered: string
name: unpack_data
arguments: data_label: D18
type_infered: string
name: unpack_data
arguments: data_label: D112
type_infered: string
name: unpack_data
arguments: data_label: D254
type_infered: string
name: unpack_data
arguments: data_label: D368
type_infered: string
name: unpack_data
arguments: data_label: D44
type_infered: string
name: unpack_data
arguments: data_label: D35
type_infered: string
name: unpack_data
arguments: data_label: D349
type_infered: string

tool: D353: sewer4.lvl

tool: D256: sewer3.lvl

tool: D305: sewer5.lvl

tool: D211: sewer6.lvl

tool: D369: sewer7.lvl

tool: D319: cave1.lvl

tool: D125: sewer2.lvl

tool: D281: sewer1.lvl

tool: D252: cave2.lvl

tool: D103: cave3.lvl

tool: D2: cave4.lvl

tool: D131: cave5.lvl

tool: D279: cave6.lvl

tool: D323: cave7.lvl

tool: D123: hell1.lvl

tool: D150: hell2.lvl

tool: D330: hell3.lvl

tool: D241: hell4.lvl

tool: D289: hell5.lvl

tool: D242: hell6.lvl

tool: D348: hell7.lvl

tool: D73: egypt1.lvl

tool: D38: egypt2.lvl

tool: D3: egypt3.lvl

tool: D108: egypt4.lvl

tool: D380: egypt5.lvl

tool: D346: egypt6.lvl

tool: D308: egypt7.lvl

tool: D309: church1.lvl

tool: D67: church2.lvl

tool: D275: church3.lvl

tool: D175: church4.lvl

tool: D18: church5.lvl

tool: D112: church6.lvl

tool: D254: sewer8.lvl

tool: D368: cave8.lvl

tool: D44: egypt8.lvl

tool: D35: death.lvl

tool: D349: 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");
}
```