user: Demonstrate the C code that generates the assembly output below:

```asm
<BuscaInstrucao>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0xd8,%rsp
  mov    %rdi,%rbx
  mov    %fs:0x28,%rax
  mov    %rax,0xc8(%rsp)
  xor    %eax,%eax
  mov    %rsp,%rbp
  mov    %rdi,%rsi
  mov    %rbp,%rdi
  call   <strcpy@plt>
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <parser_str_to_upper@plt>
  lea    D479(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D1042(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x54,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D330(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x55,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D794(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x60,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D747(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x61,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D498(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x2,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D835(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x56,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D998(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x57,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D345(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x3,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D679(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x5,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D984(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x4,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D447(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x6,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D492(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x7,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D728(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x8,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D945(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x9,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D334(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0xa,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D225(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0xb,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D242(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0xc,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D574(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0xd,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D256(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x5f,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D699(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0xe,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D905(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0xf,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D163(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x10,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D1032(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x11,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D546(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x12,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D83(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x13,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D433(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x14,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D323(%rip),%rsi
  call   <strcmp@plt>
  mov    %eax,%edx
  mov    $0x15,%eax
  test   %edx,%edx
  je     L311
  mov    %rsp,%rdi
  lea    D1014(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L868
  mov    %rsp,%rdi
  lea    D485(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L822
  mov    %rsp,%rdi
  lea    D290(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L538
  mov    %rsp,%rdi
  lea    D335(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L43
  mov    %rsp,%rdi
  lea    D809(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L848
  mov    %rsp,%rdi
  lea    D741(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L636
  mov    %rsp,%rdi
  lea    D394(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L178
  mov    %rsp,%rdi
  lea    D853(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L139
  mov    %rsp,%rdi
  lea    D668(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L406
  mov    %rsp,%rdi
  lea    D857(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1052
  mov    %rsp,%rdi
  lea    D638(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1576
  mov    %rsp,%rdi
  lea    D732(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L441
  mov    %rsp,%rdi
  lea    D435(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L319
  mov    %rsp,%rdi
  lea    D193(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L411
  mov    %rsp,%rdi
  lea    D1031(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1693
  mov    %rsp,%rdi
  lea    D368(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1028
  mov    %rsp,%rdi
  lea    D805(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L803
  mov    %rsp,%rdi
  lea    D497(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1174
  mov    %rsp,%rdi
  lea    D966(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1359
  mov    %rsp,%rdi
  lea    D261(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1356
  mov    %rsp,%rdi
  lea    D52(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1504
  mov    %rsp,%rdi
  lea    D1012(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1364
  mov    %rsp,%rdi
  lea    D743(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1353
  mov    %rsp,%rdi
  lea    D1039(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1352
  mov    %rsp,%rdi
  lea    D140(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L140
  mov    %rsp,%rdi
  lea    D725(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L513
  mov    %rsp,%rdi
  lea    D670(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L272
  mov    %rsp,%rdi
  lea    D789(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1013
  mov    %rsp,%rdi
  lea    D999(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1488
  mov    %rsp,%rdi
  lea    D996(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L843
  mov    %rsp,%rdi
  lea    D904(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1092
  mov    %rsp,%rdi
  lea    D102(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L795
  mov    %rsp,%rdi
  lea    D85(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1725
  mov    %rsp,%rdi
  lea    D852(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L637
  mov    %rsp,%rdi
  lea    D991(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1658
  mov    %rsp,%rdi
  lea    D833(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1652
  mov    %rsp,%rdi
  lea    D415(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1601
  mov    %rsp,%rdi
  lea    D231(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L823
  mov    %rsp,%rdi
  lea    D698(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1527
  mov    %rsp,%rdi
  lea    D240(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1428
  mov    %rsp,%rdi
  lea    D600(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1748
  mov    %rsp,%rdi
  lea    D538(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L345
  mov    %rsp,%rdi
  lea    D360(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L916
  mov    %rsp,%rdi
  lea    D557(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L41
  mov    %rsp,%rdi
  lea    D212(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L911
  mov    %rsp,%rdi
  lea    D220(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L431
  mov    %rsp,%rdi
  lea    D502(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L19
  mov    %rsp,%rdi
  lea    D549(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L126
  mov    %rsp,%rdi
  lea    D750(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1278
  mov    %rsp,%rdi
  lea    D259(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1121
  mov    %rsp,%rdi
  lea    D159(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L893
  mov    %rsp,%rdi
  lea    D935(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1192
  mov    %rsp,%rdi
  lea    D422(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L767
  mov    %rsp,%rdi
  lea    D864(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L92
  mov    %rsp,%rdi
  lea    D518(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1157
  mov    %rsp,%rdi
  lea    D862(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1654
  mov    %rsp,%rdi
  lea    D246(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L647
  mov    %rsp,%rdi
  lea    D332(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1738
  mov    %rsp,%rdi
  lea    D700(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L115
  mov    %rsp,%rdi
  lea    D876(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1258
  mov    %rsp,%rdi
  lea    D566(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1016
  mov    %rsp,%rdi
  lea    D756(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L82
  mov    %rsp,%rdi
  lea    D1037(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L900
  mov    %rsp,%rdi
  lea    D23(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1117
  mov    %rsp,%rdi
  lea    D859(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1215
  mov    %rsp,%rdi
  lea    D972(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1182
  mov    %rsp,%rdi
  lea    D565(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1763
  mov    %rsp,%rdi
  lea    D769(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L635
  mov    %rsp,%rdi
  lea    D311(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L453
  mov    %rsp,%rdi
  lea    D37(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L311
  lea    D352(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1591
  lea    D821(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1254
  mov    %rsp,%rdi
  lea    D364(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L452
  mov    %rsp,%rdi
  lea    D752(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L696
  mov    %rsp,%rdi
  lea    D542(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L685
  mov    %rsp,%rdi
  lea    D143(%rip),%rsi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L617
  mov    %rsp,%rdi
  lea    D508(%rip),%rsi
  call   <strcmp@plt>
  cmp    $0x1,%eax
  sbb    %eax,%eax
  and    $0x5,%eax
  add    $0x64,%eax
  jmp    L311
L868:
  mov    $0x16,%eax
L311:
  mov    0xc8(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L910
  add    $0xd8,%rsp
  pop    %rbx
  pop    %rbp
  ret
L822:
  mov    $0x17,%eax
  jmp    L311
L538:
  mov    $0x18,%eax
  jmp    L311
L43:
  mov    $0x19,%eax
  jmp    L311
L848:
  mov    $0x1a,%eax
  jmp    L311
L636:
  mov    $0x1b,%eax
  jmp    L311
L178:
  mov    $0x1c,%eax
  jmp    L311
L139:
  mov    $0x1d,%eax
  jmp    L311
L406:
  mov    $0x1e,%eax
  jmp    L311
L1052:
  mov    $0x1f,%eax
  jmp    L311
L1576:
  mov    $0x20,%eax
  jmp    L311
L441:
  mov    $0x21,%eax
  jmp    L311
L319:
  mov    $0x22,%eax
  jmp    L311
L411:
  mov    $0x23,%eax
  jmp    L311
L1693:
  mov    $0x24,%eax
  jmp    L311
L1028:
  mov    $0x25,%eax
  jmp    L311
L803:
  mov    $0x26,%eax
  jmp    L311
L1174:
  mov    $0x27,%eax
  jmp    L311
L1359:
  mov    $0x28,%eax
  jmp    L311
L1356:
  mov    $0x29,%eax
  jmp    L311
L1504:
  mov    $0x2a,%eax
  jmp    L311
L1364:
  mov    $0x2b,%eax
  jmp    L311
L1353:
  mov    $0x2c,%eax
  jmp    L311
L1352:
  mov    $0x2d,%eax
  jmp    L311
L140:
  mov    $0x2e,%eax
  jmp    L311
L513:
  mov    $0x2f,%eax
  jmp    L311
L272:
  mov    $0x30,%eax
  jmp    L311
L1013:
  mov    $0x31,%eax
  jmp    L311
L1488:
  mov    $0x32,%eax
  jmp    L311
L843:
  mov    $0x5b,%eax
  jmp    L311
L1092:
  mov    $0x5a,%eax
  jmp    L311
L795:
  mov    $0x33,%eax
  jmp    L311
L1725:
  mov    $0x34,%eax
  jmp    L311
L637:
  mov    $0x35,%eax
  jmp    L311
L1658:
  mov    $0x36,%eax
  jmp    L311
L1652:
  mov    $0x37,%eax
  jmp    L311
L1601:
  mov    $0x38,%eax
  jmp    L311
L823:
  mov    $0x39,%eax
  jmp    L311
L1527:
  mov    $0x3a,%eax
  jmp    L311
L1428:
  mov    $0x3b,%eax
  jmp    L311
L1748:
  mov    $0x3c,%eax
  jmp    L311
L345:
  mov    $0x3d,%eax
  jmp    L311
L916:
  mov    $0x3e,%eax
  jmp    L311
L41:
  mov    $0x3f,%eax
  jmp    L311
L911:
  mov    $0x5d,%eax
  jmp    L311
L431:
  mov    $0x5c,%eax
  jmp    L311
L19:
  mov    $0x40,%eax
  jmp    L311
L126:
  mov    $0x41,%eax
  jmp    L311
L1278:
  mov    $0x42,%eax
  jmp    L311
L1121:
  mov    $0x43,%eax
  jmp    L311
L893:
  mov    $0x44,%eax
  jmp    L311
L1192:
  mov    $0x45,%eax
  jmp    L311
L767:
  mov    $0x46,%eax
  jmp    L311
L92:
  mov    $0x47,%eax
  jmp    L311
L1157:
  mov    $0x48,%eax
  jmp    L311
L1654:
  mov    $0x49,%eax
  jmp    L311
L647:
  mov    $0x4a,%eax
  jmp    L311
L1738:
  mov    $0x4b,%eax
  jmp    L311
L115:
  mov    $0x4c,%eax
  jmp    L311
L1258:
  mov    $0x4d,%eax
  jmp    L311
L1016:
  mov    $0x4e,%eax
  jmp    L311
L82:
  mov    $0x4f,%eax
  jmp    L311
L900:
  mov    $0x50,%eax
  jmp    L311
L1117:
  mov    $0x51,%eax
  jmp    L311
L1215:
  mov    $0x5e,%eax
  jmp    L311
L1182:
  mov    $0x52,%eax
  jmp    L311
L1763:
  mov    $0x53,%eax
  jmp    L311
L635:
  mov    $0x58,%eax
  jmp    L311
L453:
  mov    $0x59,%eax
  jmp    L311
L1591:
  mov    $0x63,%eax
  jmp    L311
L1254:
  mov    $0x62,%eax
  jmp    L311
L452:
  mov    $0x65,%eax
  jmp    L311
L696:
  mov    $0x66,%eax
  jmp    L311
L685:
  mov    $0x67,%eax
  jmp    L311
L617:
  mov    $0x68,%eax
  jmp    L311
L910:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D479
datatype: string
name: disassemble_data
arguments: tag: D1042
datatype: string
name: disassemble_data
arguments: tag: D330
datatype: string
name: disassemble_data
arguments: tag: D794
datatype: string
name: disassemble_data
arguments: tag: D747
datatype: string
name: disassemble_data
arguments: tag: D498
datatype: string
name: disassemble_data
arguments: tag: D835
datatype: string
name: disassemble_data
arguments: tag: D998
datatype: string
name: disassemble_data
arguments: tag: D345
datatype: string
name: disassemble_data
arguments: tag: D679
datatype: string
name: disassemble_data
arguments: tag: D984
datatype: string
name: disassemble_data
arguments: tag: D447
datatype: string
name: disassemble_data
arguments: tag: D492
datatype: string
name: disassemble_data
arguments: tag: D728
datatype: string
name: disassemble_data
arguments: tag: D945
datatype: string
name: disassemble_data
arguments: tag: D334
datatype: string
name: disassemble_data
arguments: tag: D225
datatype: string
name: disassemble_data
arguments: tag: D242
datatype: string
name: disassemble_data
arguments: tag: D574
datatype: string
name: disassemble_data
arguments: tag: D256
datatype: string
name: disassemble_data
arguments: tag: D699
datatype: string
name: disassemble_data
arguments: tag: D905
datatype: string
name: disassemble_data
arguments: tag: D163
datatype: string
name: disassemble_data
arguments: tag: D1032
datatype: string
name: disassemble_data
arguments: tag: D546
datatype: string
name: disassemble_data
arguments: tag: D83
datatype: string
name: disassemble_data
arguments: tag: D433
datatype: string
name: disassemble_data
arguments: tag: D323
datatype: string
name: disassemble_data
arguments: tag: D1014
datatype: string
name: disassemble_data
arguments: tag: D485
datatype: string
name: disassemble_data
arguments: tag: D290
datatype: string
name: disassemble_data
arguments: tag: D335
datatype: string
name: disassemble_data
arguments: tag: D809
datatype: string
name: disassemble_data
arguments: tag: D741
datatype: string
name: disassemble_data
arguments: tag: D394
datatype: string
name: disassemble_data
arguments: tag: D853
datatype: string
name: disassemble_data
arguments: tag: D668
datatype: string
name: disassemble_data
arguments: tag: D857
datatype: string
name: disassemble_data
arguments: tag: D638
datatype: string
name: disassemble_data
arguments: tag: D732
datatype: string
name: disassemble_data
arguments: tag: D435
datatype: string
name: disassemble_data
arguments: tag: D193
datatype: string
name: disassemble_data
arguments: tag: D1031
datatype: string
name: disassemble_data
arguments: tag: D368
datatype: string
name: disassemble_data
arguments: tag: D805
datatype: string
name: disassemble_data
arguments: tag: D497
datatype: string
name: disassemble_data
arguments: tag: D966
datatype: string
name: disassemble_data
arguments: tag: D261
datatype: string
name: disassemble_data
arguments: tag: D52
datatype: string
name: disassemble_data
arguments: tag: D1012
datatype: string
name: disassemble_data
arguments: tag: D743
datatype: string
name: disassemble_data
arguments: tag: D1039
datatype: string
name: disassemble_data
arguments: tag: D140
datatype: string
name: disassemble_data
arguments: tag: D725
datatype: string
name: disassemble_data
arguments: tag: D670
datatype: string
name: disassemble_data
arguments: tag: D789
datatype: string
name: disassemble_data
arguments: tag: D999
datatype: string
name: disassemble_data
arguments: tag: D996
datatype: string
name: disassemble_data
arguments: tag: D904
datatype: string
name: disassemble_data
arguments: tag: D102
datatype: string
name: disassemble_data
arguments: tag: D85
datatype: string
name: disassemble_data
arguments: tag: D852
datatype: string
name: disassemble_data
arguments: tag: D991
datatype: string
name: disassemble_data
arguments: tag: D833
datatype: string
name: disassemble_data
arguments: tag: D415
datatype: string
name: disassemble_data
arguments: tag: D231
datatype: string
name: disassemble_data
arguments: tag: D698
datatype: string
name: disassemble_data
arguments: tag: D240
datatype: string
name: disassemble_data
arguments: tag: D600
datatype: string
name: disassemble_data
arguments: tag: D538
datatype: string
name: disassemble_data
arguments: tag: D360
datatype: string
name: disassemble_data
arguments: tag: D557
datatype: string
name: disassemble_data
arguments: tag: D212
datatype: string
name: disassemble_data
arguments: tag: D220
datatype: string
name: disassemble_data
arguments: tag: D502
datatype: string
name: disassemble_data
arguments: tag: D549
datatype: string
name: disassemble_data
arguments: tag: D750
datatype: string
name: disassemble_data
arguments: tag: D259
datatype: string
name: disassemble_data
arguments: tag: D159
datatype: string
name: disassemble_data
arguments: tag: D935
datatype: string
name: disassemble_data
arguments: tag: D422
datatype: string
name: disassemble_data
arguments: tag: D864
datatype: string
name: disassemble_data
arguments: tag: D518
datatype: string
name: disassemble_data
arguments: tag: D862
datatype: string
name: disassemble_data
arguments: tag: D246
datatype: string
name: disassemble_data
arguments: tag: D332
datatype: string
name: disassemble_data
arguments: tag: D700
datatype: string
name: disassemble_data
arguments: tag: D876
datatype: string
name: disassemble_data
arguments: tag: D566
datatype: string
name: disassemble_data
arguments: tag: D756
datatype: string
name: disassemble_data
arguments: tag: D1037
datatype: string
name: disassemble_data
arguments: tag: D23
datatype: string
name: disassemble_data
arguments: tag: D859
datatype: string
name: disassemble_data
arguments: tag: D972
datatype: string
name: disassemble_data
arguments: tag: D565
datatype: string
name: disassemble_data
arguments: tag: D769
datatype: string
name: disassemble_data
arguments: tag: D311
datatype: string
name: disassemble_data
arguments: tag: D37
datatype: string
name: disassemble_data
arguments: tag: D352
datatype: string
name: disassemble_data
arguments: tag: D821
datatype: string
name: disassemble_data
arguments: tag: D364
datatype: string
name: disassemble_data
arguments: tag: D752
datatype: string
name: disassemble_data
arguments: tag: D542
datatype: string
name: disassemble_data
arguments: tag: D143
datatype: string
name: disassemble_data
arguments: tag: D508
datatype: string

tool: D479: LOAD

tool: D1042: LOADN

tool: D330: LOADI

tool: D794: INPUT

tool: D747: OUTPUT

tool: D498: STORE

tool: D835: STOREN

tool: D998: STOREI

tool: D345: MOV

tool: D679: IN

tool: D984: OUT

tool: D447: ADD

tool: D492: ADDC

tool: D728: SUB

tool: D945: SUBC

tool: D334: MUL

tool: D225: DIV

tool: D242: INC

tool: D574: DEC

tool: D256: MOD

tool: D699: AND

tool: D905: OR

tool: D163: XOR

tool: D1032: NOT

tool: D546: SHIFTL0

tool: D83: SHIFTL1

tool: D433: SHIFTR0

tool: D323: SHIFTR1

tool: D1014: ROTL

tool: D485: ROTR

tool: D290: CMP

tool: D335: BRA

tool: D809: BEQ

tool: D741: BNE

tool: D394: BZ

tool: D853: BNZ

tool: D668: BC

tool: D857: BNC

tool: D638: BGT

tool: D732: BLT

tool: D435: BEG

tool: D193: BEL

tool: D1031: BOV

tool: D368: BNO

tool: D805: JMP

tool: D497: JEQ

tool: D966: JNE

tool: D261: JZ

tool: D52: JNZ

tool: D1012: JC

tool: D743: JNC

tool: D1039: JGR

tool: D140: JLE

tool: D725: JEG

tool: D670: JEL

tool: D789: JOV

tool: D999: JNO

tool: D996: JN

tool: D904: JDZ

tool: D102: CALL

tool: D85: CEQ

tool: D852: CNE

tool: D991: CZ

tool: D833: CNZ

tool: D415: CC

tool: D231: CNC

tool: D698: CGR

tool: D240: CLE

tool: D600: CEG

tool: D538: CEL

tool: D360: COV

tool: D557: CNO

tool: D212: CN

tool: D220: CDZ

tool: D502: SET

tool: D549: SEQ

tool: D750: SNE

tool: D259: SZ

tool: D159: SNZ

tool: D935: SC

tool: D422: SNC

tool: D864: SGT

tool: D518: SLT

tool: D862: SEG

tool: D246: SEL

tool: D332: SOV

tool: D700: SNO

tool: D876: RTS

tool: D566: RTI

tool: D756: PUSH

tool: D1037: POP

tool: D23: HALT

tool: D859: BREAKP

tool: D972: SETC

tool: D565: CLEARC

tool: D769: CALLR

tool: D311: JMPR

tool: D37: NOP

tool: D352: DI

tool: D821: EI

tool: D364: EQU

tool: D752: VAR

tool: D542: STATIC

tool: D143: STRING

tool: D508: ALLOC

assistant: ```c
int BuscaInstrucao(char *nome) {
  char str_tmp[200];
  strcpy(str_tmp, nome);
  parser_str_to_upper(str_tmp);
  if (strcmp(str_tmp, "LOAD") == 0) {
    return 1;
  } else if (strcmp(str_tmp, "LOADN") == 0) {
    return 84;
  } else if (strcmp(str_tmp, "LOADI") == 0) {
    return 85;
  } else if (strcmp(str_tmp, "INPUT") == 0) {
    return 96;
  } else if (strcmp(str_tmp, "OUTPUT") == 0) {
    return 97;
  } else if (strcmp(str_tmp, "STORE") == 0) {
    return 2;
  } else if (strcmp(str_tmp, "STOREN") == 0) {
    return 86;
  } else if (strcmp(str_tmp, "STOREI") == 0) {
    return 87;
  } else if (strcmp(str_tmp, "MOV") == 0) {
    return 3;
  } else if (strcmp(str_tmp, "IN") == 0) {
    return 5;
  } else if (strcmp(str_tmp, "OUT") == 0) {
    return 4;
  } else if (strcmp(str_tmp, "ADD") == 0) {
    return 6;
  } else if (strcmp(str_tmp, "ADDC") == 0) {
    return 7;
  } else if (strcmp(str_tmp, "SUB") == 0) {
    return 8;
  } else if (strcmp(str_tmp, "SUBC") == 0) {
    return 9;
  } else if (strcmp(str_tmp, "MUL") == 0) {
    return 10;
  } else if (strcmp(str_tmp, "DIV") == 0) {
    return 11;
  } else if (strcmp(str_tmp, "INC") == 0) {
    return 12;
  } else if (strcmp(str_tmp, "DEC") == 0) {
    return 13;
  } else if (strcmp(str_tmp, "MOD") == 0) {
    return 95;
  } else if (strcmp(str_tmp, "AND") == 0) {
    return 14;
  } else if (strcmp(str_tmp, "OR") == 0) {
    return 15;
  } else if (strcmp(str_tmp, "XOR") == 0) {
    return 16;
  } else if (strcmp(str_tmp, "NOT") == 0) {
    return 17;
  } else if (strcmp(str_tmp, "SHIFTL0") == 0) {
    return 18;
  } else if (strcmp(str_tmp, "SHIFTL1") == 0) {
    return 19;
  } else if (strcmp(str_tmp, "SHIFTR0") == 0) {
    return 20;
  } else if (strcmp(str_tmp, "SHIFTR1") == 0) {
    return 21;
  } else if (strcmp(str_tmp, "ROTL") == 0) {
    return 22;
  } else if (strcmp(str_tmp, "ROTR") == 0) {
    return 23;
  } else if (strcmp(str_tmp, "CMP") == 0) {
    return 24;
  } else if (strcmp(str_tmp, "BRA") == 0) {
    return 25;
  } else if (strcmp(str_tmp, "BEQ") == 0) {
    return 26;
  } else if (strcmp(str_tmp, "BNE") == 0) {
    return 27;
  } else if (strcmp(str_tmp, "BZ") == 0) {
    return 28;
  } else if (strcmp(str_tmp, "BNZ") == 0) {
    return 29;
  } else if (strcmp(str_tmp, "BC") == 0) {
    return 30;
  } else if (strcmp(str_tmp, "BNC") == 0) {
    return 31;
  } else if (strcmp(str_tmp, "BGT") == 0) {
    return 32;
  } else if (strcmp(str_tmp, "BLT") == 0) {
    return 33;
  } else if (strcmp(str_tmp, "BEG") == 0) {
    return 34;
  } else if (strcmp(str_tmp, "BEL") == 0) {
    return 35;
  } else if (strcmp(str_tmp, "BOV") == 0) {
    return 36;
  } else if (strcmp(str_tmp, "BNO") == 0) {
    return 37;
  } else if (strcmp(str_tmp, "JMP") == 0) {
    return 38;
  } else if (strcmp(str_tmp, "JEQ") == 0) {
    return 39;
  } else if (strcmp(str_tmp, "JNE") == 0) {
    return 40;
  } else if (strcmp(str_tmp, "JZ") == 0) {
    return 41;
  } else if (strcmp(str_tmp, "JNZ") == 0) {
    return 42;
  } else if (strcmp(str_tmp, "JC") == 0) {
    return 43;
  } else if (strcmp(str_tmp, "JNC") == 0) {
    return 44;
  } else if (strcmp(str_tmp, "JGR") == 0) {
    return 45;
  } else if (strcmp(str_tmp, "JLE") == 0) {
    return 46;
  } else if (strcmp(str_tmp, "JEG") == 0) {
    return 47;
  } else if (strcmp(str_tmp, "JEL") == 0) {
    return 48;
  } else if (strcmp(str_tmp, "JOV") == 0) {
    return 49;
  } else if (strcmp(str_tmp, "JNO") == 0) {
    return 50;
  } else if (strcmp(str_tmp, "JN") == 0) {
    return 91;
  } else if (strcmp(str_tmp, "JDZ") == 0) {
    return 90;
  } else if (strcmp(str_tmp, "CALL") == 0) {
    return 51;
  } else if (strcmp(str_tmp, "CEQ") == 0) {
    return 52;
  } else if (strcmp(str_tmp, "CNE") == 0) {
    return 53;
  } else if (strcmp(str_tmp, "CZ") == 0) {
    return 54;
  } else if (strcmp(str_tmp, "CNZ") == 0) {
    return 55;
  } else if (strcmp(str_tmp, "CC") == 0) {
    return 56;
  } else if (strcmp(str_tmp, "CNC") == 0) {
    return 57;
  } else if (strcmp(str_tmp, "CGR") == 0) {
    return 58;
  } else if (strcmp(str_tmp, "CLE") == 0) {
    return 59;
  } else if (strcmp(str_tmp, "CEG") == 0) {
    return 60;
  } else if (strcmp(str_tmp, "CEL") == 0) {
    return 61;
  } else if (strcmp(str_tmp, "COV") == 0) {
    return 62;
  } else if (strcmp(str_tmp, "CNO") == 0) {
    return 63;
  } else if (strcmp(str_tmp, "CN") == 0) {
    return 93;
  } else if (strcmp(str_tmp, "CDZ") == 0) {
    return 92;
  } else if (strcmp(str_tmp, "SET") == 0) {
    return 64;
  } else if (strcmp(str_tmp, "SEQ") == 0) {
    return 65;
  } else if (strcmp(str_tmp, "SNE") == 0) {
    return 66;
  } else if (strcmp(str_tmp, "SZ") == 0) {
    return 67;
  } else if (strcmp(str_tmp, "SNZ") == 0) {
    return 68;
  } else if (strcmp(str_tmp, "SC") == 0) {
    return 69;
  } else if (strcmp(str_tmp, "SNC") == 0) {
    return 70;
  } else if (strcmp(str_tmp, "SGT") == 0) {
    return 71;
  } else if (strcmp(str_tmp, "SLT") == 0) {
    return 72;
  } else if (strcmp(str_tmp, "SEG") == 0) {
    return 73;
  } else if (strcmp(str_tmp, "SEL") == 0) {
    return 74;
  } else if (strcmp(str_tmp, "SOV") == 0) {
    return 75;
  } else if (strcmp(str_tmp, "SNO") == 0) {
    return 76;
  } else if (strcmp(str_tmp, "RTS") == 0) {
    return 77;
  } else if (strcmp(str_tmp, "RTI") == 0) {
    return 78;
  } else if (strcmp(str_tmp, "PUSH") == 0) {
    return 79;
  } else if (strcmp(str_tmp, "POP") == 0) {
    return 80;
  } else if (strcmp(str_tmp, "HALT") == 0) {
    return 81;
  } else if (strcmp(str_tmp, "BREAKP") == 0) {
    return 94;
  } else if (strcmp(str_tmp, "SETC") == 0) {
    return 82;
  } else if (strcmp(str_tmp, "CLEARC") == 0) {
    return 83;
  } else if (strcmp(str_tmp, "CALLR") == 0) {
    return 88;
  } else if (strcmp(str_tmp, "JMPR") == 0) {
    return 89;
  } else if (strcmp(str_tmp, "NOP") == 0) {
    return 0;
  } else if (strcmp(nome, "DI") == 0) {
    return 99;
  } else if (strcmp(nome, "EI") == 0) {
    return 98;
  } else if (strcmp(str_tmp, "EQU") == 0) {
    return 101;
  } else if (strcmp(str_tmp, "VAR") == 0) {
    return 102;
  } else if (strcmp(str_tmp, "STATIC") == 0) {
    return 103;
  } else if (strcmp(str_tmp, "STRING") == 0) {
    return 104;
  } else if (strcmp(str_tmp, "ALLOC") == 0) {
    return 105;
  }
  return 100;
}
```