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

```asm
<BuscaInstrucao>:
  endbr64
  push   %r12
  mov    %rdi,%rsi
  push   %rbp
  mov    %rdi,%rbp
  sub    $0xd8,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xc8(%rsp)
  xor    %eax,%eax
  mov    %rsp,%r12
  mov    %r12,%rdi
  call   <strcpy@plt>
  xor    %eax,%eax
  mov    %r12,%rdi
  call   <parser_str_to_upper@plt>
  cmpl   $0x44414f4c,(%rsp)
  je     L250
  cmpl   $0x44414f4c,(%rsp)
  je     L1427
L1489:
  cmpl   $0x44414f4c,(%rsp)
  je     L1131
L1904:
  cmpl   $0x55504e49,(%rsp)
  je     L224
L411:
  cmpl   $0x5054554f,(%rsp)
  je     L1575
L1378:
  cmpl   $0x524f5453,(%rsp)
  je     L338
L193:
  cmpl   $0x524f5453,(%rsp)
  je     L1802
L949:
  cmpl   $0x524f5453,(%rsp)
  je     L1923
L1275:
  cmpl   $0x564f4d,(%rsp)
  mov    $0x3,%eax
  je     L1610
  cmpw   $0x4e49,(%rsp)
  je     L904
L1313:
  cmpl   $0x54554f,(%rsp)
  mov    $0x4,%eax
  je     L1610
  cmpl   $0x444441,(%rsp)
  mov    $0x6,%eax
  je     L1610
  cmpl   $0x43444441,(%rsp)
  je     L412
L2023:
  cmpl   $0x425553,(%rsp)
  mov    $0x8,%eax
  je     L1610
  cmpl   $0x43425553,(%rsp)
  je     L1116
L803:
  cmpl   $0x4c554d,(%rsp)
  mov    $0xa,%eax
  je     L1610
  cmpl   $0x564944,(%rsp)
  mov    $0xb,%eax
  je     L1610
  cmpl   $0x434e49,(%rsp)
  mov    $0xc,%eax
  je     L1610
  cmpl   $0x434544,(%rsp)
  mov    $0xd,%eax
  je     L1610
  cmpl   $0x444f4d,(%rsp)
  mov    $0x5f,%eax
  je     L1610
  cmpl   $0x444e41,(%rsp)
  mov    $0xe,%eax
  je     L1610
  cmpw   $0x524f,(%rsp)
  je     L2046
L393:
  cmpl   $0x524f58,(%rsp)
  mov    $0x10,%eax
  je     L1610
  cmpl   $0x544f4e,(%rsp)
  mov    $0x11,%eax
  je     L1610
  movabs $0x304c5446494853,%rax
  cmp    %rax,(%rsp)
  je     L774
  movabs $0x314c5446494853,%rax
  cmp    %rax,(%rsp)
  je     L826
  movabs $0x30525446494853,%rax
  cmp    %rax,(%rsp)
  je     L1290
  movabs $0x31525446494853,%rax
  cmp    %rax,(%rsp)
  je     L858
  lea    D295(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1634
  lea    D472(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1107
  lea    D637(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1588
  lea    D71(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1784
  lea    D635(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L542
  lea    D416(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L964
  lea    D660(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L2062
  lea    D521(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1467
  lea    D674(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L660
  lea    D26(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L787
  lea    D590(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L380
  lea    D199(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L76
  lea    D396(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L734
  lea    D248(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1812
  lea    D612(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1381
  lea    D687(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1881
  lea    D228(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1162
  lea    D233(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L173
  lea    D709(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1840
  lea    D235(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L127
  lea    D555(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L831
  lea    D514(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L2049
  lea    D312(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L683
  lea    D120(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1746
  lea    D320(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L87
  lea    D88(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1339
  lea    D609(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1961
  lea    D102(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L2108
  lea    D283(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1084
  lea    D281(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L872
  lea    D574(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L909
  lea    D458(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L2076
  lea    D280(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L973
  lea    D82(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L496
  lea    D746(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1064
  lea    D454(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1695
  lea    D78(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L790
  lea    D645(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L96
  lea    D161(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L729
  lea    D141(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L599
  lea    D145(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1325
  lea    D92(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L955
  lea    D79(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L155
  lea    D45(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L2075
  lea    D23(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1420
  lea    D319(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L42
  lea    D306(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1996
  lea    D310(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1514
  lea    D722(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1320
  lea    D475(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1998
  lea    D212(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1225
  lea    D53(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1295
  lea    D767(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L39
  lea    D565(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1936
  lea    D702(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L945
  lea    D763(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L672
  lea    D84(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1242
  lea    D303(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L405
  lea    D489(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L664
  lea    D30(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L522
  lea    D601(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L15
  lea    D34(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L617
  lea    D101(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L38
  lea    D525(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1459
  lea    D754(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1422
  lea    D60(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L814
  lea    D599(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L297
  lea    D372(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1106
  lea    D604(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L101
  lea    D537(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1610
  lea    D309(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1832
  lea    D170(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L573
  lea    D511(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1549
  lea    D211(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L951
  lea    D9(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L1828
  lea    D25(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L70
  lea    D250(%rip),%rsi
  mov    %r12,%rdi
  call   <strcmp@plt>
  cmp    $0x1,%eax
  sbb    %eax,%eax
  and    $0x5,%eax
  add    $0x64,%eax
  nopl   0x0(%rax)
L1610:
  mov    0xc8(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L382
  add    $0xd8,%rsp
  pop    %rbp
  pop    %r12
  ret
  nopw   0x0(%rax,%rax,1)
L250:
  cmpb   $0x0,0x4(%rsp)
  mov    $0x1,%eax
  je     L1610
  cmpl   $0x44414f4c,(%rsp)
  jne    L1489
L1427:
  cmpw   $0x4e,0x4(%rsp)
  mov    $0x54,%eax
  je     L1610
  cmpl   $0x44414f4c,(%rsp)
  jne    L1904
L1131:
  cmpw   $0x49,0x4(%rsp)
  mov    $0x55,%eax
  je     L1610
  cmpl   $0x55504e49,(%rsp)
  jne    L411
L224:
  cmpw   $0x54,0x4(%rsp)
  mov    $0x60,%eax
  jne    L411
  jmp    L1610
  nopl   0x0(%rax,%rax,1)
L338:
  cmpw   $0x45,0x4(%rsp)
  mov    $0x2,%eax
  jne    L193
  jmp    L1610
  cs nopw 0x0(%rax,%rax,1)
L1802:
  cmpw   $0x4e45,0x4(%rsp)
  jne    L949
  cmpb   $0x0,0x6(%rsp)
  mov    $0x56,%eax
  je     L1610
  jmp    L949
  nopw   0x0(%rax,%rax,1)
L1575:
  cmpw   $0x5455,0x4(%rsp)
  jne    L1378
  cmpb   $0x0,0x6(%rsp)
  mov    $0x61,%eax
  je     L1610
  jmp    L1378
  nopw   0x0(%rax,%rax,1)
L1923:
  cmpw   $0x4945,0x4(%rsp)
  jne    L1275
  cmpb   $0x0,0x6(%rsp)
  mov    $0x57,%eax
  je     L1610
  jmp    L1275
  nopw   0x0(%rax,%rax,1)
L904:
  cmpb   $0x0,0x2(%rsp)
  mov    $0x5,%eax
  je     L1610
  jmp    L1313
  nopl   (%rax)
L412:
  cmpb   $0x0,0x4(%rsp)
  mov    $0x7,%eax
  je     L1610
  jmp    L2023
L1116:
  cmpb   $0x0,0x4(%rsp)
  mov    $0x9,%eax
  je     L1610
  jmp    L803
L2046:
  cmpb   $0x0,0x2(%rsp)
  mov    $0xf,%eax
  je     L1610
  jmp    L393
L774:
  mov    $0x12,%eax
  jmp    L1610
L826:
  mov    $0x13,%eax
  jmp    L1610
L1290:
  mov    $0x14,%eax
  jmp    L1610
L382:
  call   <__stack_chk_fail@plt>
L858:
  mov    $0x15,%eax
  jmp    L1610
L1634:
  mov    $0x16,%eax
  jmp    L1610
L1107:
  mov    $0x17,%eax
  jmp    L1610
L1588:
  mov    $0x18,%eax
  jmp    L1610
L542:
  mov    $0x1a,%eax
  jmp    L1610
L1784:
  mov    $0x19,%eax
  jmp    L1610
L964:
  mov    $0x1b,%eax
  jmp    L1610
L2062:
  mov    $0x1c,%eax
  jmp    L1610
L70:
  mov    $0x68,%eax
  jmp    L1610
L1828:
  mov    $0x67,%eax
  jmp    L1610
L660:
  mov    $0x1e,%eax
  jmp    L1610
L1467:
  mov    $0x1d,%eax
  jmp    L1610
L951:
  mov    $0x66,%eax
  jmp    L1610
L1549:
  mov    $0x65,%eax
  jmp    L1610
L573:
  mov    $0x62,%eax
  jmp    L1610
L1832:
  mov    $0x63,%eax
  jmp    L1610
L101:
  mov    $0x59,%eax
  jmp    L1610
L1106:
  mov    $0x58,%eax
  jmp    L1610
L297:
  mov    $0x53,%eax
  jmp    L1610
L814:
  mov    $0x52,%eax
  jmp    L1610
L1422:
  mov    $0x5e,%eax
  jmp    L1610
L1459:
  mov    $0x51,%eax
  jmp    L1610
L38:
  mov    $0x50,%eax
  jmp    L1610
L617:
  mov    $0x4f,%eax
  jmp    L1610
L15:
  mov    $0x4e,%eax
  jmp    L1610
L522:
  mov    $0x4d,%eax
  jmp    L1610
L664:
  mov    $0x4c,%eax
  jmp    L1610
L405:
  mov    $0x4b,%eax
  jmp    L1610
L87:
  mov    $0x2e,%eax
  jmp    L1610
L1746:
  mov    $0x2d,%eax
  jmp    L1610
L683:
  mov    $0x2c,%eax
  jmp    L1610
L2049:
  mov    $0x2b,%eax
  jmp    L1610
L831:
  mov    $0x2a,%eax
  jmp    L1610
L127:
  mov    $0x29,%eax
  jmp    L1610
L1840:
  mov    $0x28,%eax
  jmp    L1610
L173:
  mov    $0x27,%eax
  jmp    L1610
L1162:
  mov    $0x26,%eax
  jmp    L1610
L1881:
  mov    $0x25,%eax
  jmp    L1610
L1381:
  mov    $0x24,%eax
  jmp    L1610
L1812:
  mov    $0x23,%eax
  jmp    L1610
L734:
  mov    $0x22,%eax
  jmp    L1610
L76:
  mov    $0x21,%eax
  jmp    L1610
L380:
  mov    $0x20,%eax
  jmp    L1610
L787:
  mov    $0x1f,%eax
  jmp    L1610
L1242:
  mov    $0x4a,%eax
  jmp    L1610
L672:
  mov    $0x49,%eax
  jmp    L1610
L945:
  mov    $0x48,%eax
  jmp    L1610
L1936:
  mov    $0x47,%eax
  jmp    L1610
L39:
  mov    $0x46,%eax
  jmp    L1610
L1295:
  mov    $0x45,%eax
  jmp    L1610
L1225:
  mov    $0x44,%eax
  jmp    L1610
L1998:
  mov    $0x43,%eax
  jmp    L1610
L1320:
  mov    $0x42,%eax
  jmp    L1610
L1514:
  mov    $0x41,%eax
  jmp    L1610
L1996:
  mov    $0x40,%eax
  jmp    L1610
L42:
  mov    $0x5c,%eax
  jmp    L1610
L1420:
  mov    $0x5d,%eax
  jmp    L1610
L2075:
  mov    $0x3f,%eax
  jmp    L1610
L155:
  mov    $0x3e,%eax
  jmp    L1610
L955:
  mov    $0x3d,%eax
  jmp    L1610
L1325:
  mov    $0x3c,%eax
  jmp    L1610
L599:
  mov    $0x3b,%eax
  jmp    L1610
L729:
  mov    $0x3a,%eax
  jmp    L1610
L96:
  mov    $0x39,%eax
  jmp    L1610
L790:
  mov    $0x38,%eax
  jmp    L1610
L1695:
  mov    $0x37,%eax
  jmp    L1610
L1064:
  mov    $0x36,%eax
  jmp    L1610
L496:
  mov    $0x35,%eax
  jmp    L1610
L973:
  mov    $0x34,%eax
  jmp    L1610
L2076:
  mov    $0x33,%eax
  jmp    L1610
L909:
  mov    $0x5a,%eax
  jmp    L1610
L872:
  mov    $0x5b,%eax
  jmp    L1610
L1084:
  mov    $0x32,%eax
  jmp    L1610
L2108:
  mov    $0x31,%eax
  jmp    L1610
L1961:
  mov    $0x30,%eax
  jmp    L1610
L1339:
  mov    $0x2f,%eax
  jmp    L1610
```

tool_calls: name: disassemble_data
arguments: data_tag: D295
type_guessed: string
name: disassemble_data
arguments: data_tag: D472
type_guessed: string
name: disassemble_data
arguments: data_tag: D637
type_guessed: string
name: disassemble_data
arguments: data_tag: D71
type_guessed: string
name: disassemble_data
arguments: data_tag: D635
type_guessed: string
name: disassemble_data
arguments: data_tag: D416
type_guessed: string
name: disassemble_data
arguments: data_tag: D660
type_guessed: string
name: disassemble_data
arguments: data_tag: D521
type_guessed: string
name: disassemble_data
arguments: data_tag: D674
type_guessed: string
name: disassemble_data
arguments: data_tag: D26
type_guessed: string
name: disassemble_data
arguments: data_tag: D590
type_guessed: string
name: disassemble_data
arguments: data_tag: D199
type_guessed: string
name: disassemble_data
arguments: data_tag: D396
type_guessed: string
name: disassemble_data
arguments: data_tag: D248
type_guessed: string
name: disassemble_data
arguments: data_tag: D612
type_guessed: string
name: disassemble_data
arguments: data_tag: D687
type_guessed: string
name: disassemble_data
arguments: data_tag: D228
type_guessed: string
name: disassemble_data
arguments: data_tag: D233
type_guessed: string
name: disassemble_data
arguments: data_tag: D709
type_guessed: string
name: disassemble_data
arguments: data_tag: D235
type_guessed: string
name: disassemble_data
arguments: data_tag: D555
type_guessed: string
name: disassemble_data
arguments: data_tag: D514
type_guessed: string
name: disassemble_data
arguments: data_tag: D312
type_guessed: string
name: disassemble_data
arguments: data_tag: D120
type_guessed: string
name: disassemble_data
arguments: data_tag: D320
type_guessed: string
name: disassemble_data
arguments: data_tag: D88
type_guessed: string
name: disassemble_data
arguments: data_tag: D609
type_guessed: string
name: disassemble_data
arguments: data_tag: D102
type_guessed: string
name: disassemble_data
arguments: data_tag: D283
type_guessed: string
name: disassemble_data
arguments: data_tag: D281
type_guessed: string
name: disassemble_data
arguments: data_tag: D574
type_guessed: string
name: disassemble_data
arguments: data_tag: D458
type_guessed: string
name: disassemble_data
arguments: data_tag: D280
type_guessed: string
name: disassemble_data
arguments: data_tag: D82
type_guessed: string
name: disassemble_data
arguments: data_tag: D746
type_guessed: string
name: disassemble_data
arguments: data_tag: D454
type_guessed: string
name: disassemble_data
arguments: data_tag: D78
type_guessed: string
name: disassemble_data
arguments: data_tag: D645
type_guessed: string
name: disassemble_data
arguments: data_tag: D161
type_guessed: string
name: disassemble_data
arguments: data_tag: D141
type_guessed: string
name: disassemble_data
arguments: data_tag: D145
type_guessed: string
name: disassemble_data
arguments: data_tag: D92
type_guessed: string
name: disassemble_data
arguments: data_tag: D79
type_guessed: string
name: disassemble_data
arguments: data_tag: D45
type_guessed: string
name: disassemble_data
arguments: data_tag: D23
type_guessed: string
name: disassemble_data
arguments: data_tag: D319
type_guessed: string
name: disassemble_data
arguments: data_tag: D306
type_guessed: string
name: disassemble_data
arguments: data_tag: D310
type_guessed: string
name: disassemble_data
arguments: data_tag: D722
type_guessed: string
name: disassemble_data
arguments: data_tag: D475
type_guessed: string
name: disassemble_data
arguments: data_tag: D212
type_guessed: string
name: disassemble_data
arguments: data_tag: D53
type_guessed: string
name: disassemble_data
arguments: data_tag: D767
type_guessed: string
name: disassemble_data
arguments: data_tag: D565
type_guessed: string
name: disassemble_data
arguments: data_tag: D702
type_guessed: string
name: disassemble_data
arguments: data_tag: D763
type_guessed: string
name: disassemble_data
arguments: data_tag: D84
type_guessed: string
name: disassemble_data
arguments: data_tag: D303
type_guessed: string
name: disassemble_data
arguments: data_tag: D489
type_guessed: string
name: disassemble_data
arguments: data_tag: D30
type_guessed: string
name: disassemble_data
arguments: data_tag: D601
type_guessed: string
name: disassemble_data
arguments: data_tag: D34
type_guessed: string
name: disassemble_data
arguments: data_tag: D101
type_guessed: string
name: disassemble_data
arguments: data_tag: D525
type_guessed: string
name: disassemble_data
arguments: data_tag: D754
type_guessed: string
name: disassemble_data
arguments: data_tag: D60
type_guessed: string
name: disassemble_data
arguments: data_tag: D599
type_guessed: string
name: disassemble_data
arguments: data_tag: D372
type_guessed: string
name: disassemble_data
arguments: data_tag: D604
type_guessed: string
name: disassemble_data
arguments: data_tag: D537
type_guessed: string
name: disassemble_data
arguments: data_tag: D309
type_guessed: string
name: disassemble_data
arguments: data_tag: D170
type_guessed: string
name: disassemble_data
arguments: data_tag: D511
type_guessed: string
name: disassemble_data
arguments: data_tag: D211
type_guessed: string
name: disassemble_data
arguments: data_tag: D9
type_guessed: string
name: disassemble_data
arguments: data_tag: D25
type_guessed: string
name: disassemble_data
arguments: data_tag: D250
type_guessed: string

tool: D295: ROTL

tool: D472: ROTR

tool: D637: CMP

tool: D71: BRA

tool: D635: BEQ

tool: D416: BNE

tool: D660: BZ

tool: D521: BNZ

tool: D674: BC

tool: D26: BNC

tool: D590: BGT

tool: D199: BLT

tool: D396: BEG

tool: D248: BEL

tool: D612: BOV

tool: D687: BNO

tool: D228: JMP

tool: D233: JEQ

tool: D709: JNE

tool: D235: JZ

tool: D555: JNZ

tool: D514: JC

tool: D312: JNC

tool: D120: JGR

tool: D320: JLE

tool: D88: JEG

tool: D609: JEL

tool: D102: JOV

tool: D283: JNO

tool: D281: JN

tool: D574: JDZ

tool: D458: CALL

tool: D280: CEQ

tool: D82: CNE

tool: D746: CZ

tool: D454: CNZ

tool: D78: CC

tool: D645: CNC

tool: D161: CGR

tool: D141: CLE

tool: D145: CEG

tool: D92: CEL

tool: D79: COV

tool: D45: CNO

tool: D23: CN

tool: D319: CDZ

tool: D306: SET

tool: D310: SEQ

tool: D722: SNE

tool: D475: SZ

tool: D212: SNZ

tool: D53: SC

tool: D767: SNC

tool: D565: SGT

tool: D702: SLT

tool: D763: SEG

tool: D84: SEL

tool: D303: SOV

tool: D489: SNO

tool: D30: RTS

tool: D601: RTI

tool: D34: PUSH

tool: D101: POP

tool: D525: HALT

tool: D754: BREAKP

tool: D60: SETC

tool: D599: CLEARC

tool: D372: CALLR

tool: D604: JMPR

tool: D537: NOP

tool: D309: DI

tool: D170: EI

tool: D511: EQU

tool: D211: VAR

tool: D9: STATIC

tool: D25: STRING

tool: D250: 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;
}
```