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

```asm
<BuscaInstrucao>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xe0,%rsp
  mov    %rdi,-0xd8(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0xd8(%rbp),%rdx
  lea    -0xd0(%rbp),%rax
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcpy@plt>
  lea    -0xd0(%rbp),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <parser_str_to_upper@plt>
  lea    -0xd0(%rbp),%rax
  lea    D582(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L526
  mov    $0x1,%eax
  jmp    L839
L526:
  lea    -0xd0(%rbp),%rax
  lea    D192(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L45
  mov    $0x54,%eax
  jmp    L839
L45:
  lea    -0xd0(%rbp),%rax
  lea    D215(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1591
  mov    $0x55,%eax
  jmp    L839
L1591:
  lea    -0xd0(%rbp),%rax
  lea    D498(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L9
  mov    $0x60,%eax
  jmp    L839
L9:
  lea    -0xd0(%rbp),%rax
  lea    D128(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L585
  mov    $0x61,%eax
  jmp    L839
L585:
  lea    -0xd0(%rbp),%rax
  lea    D101(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1594
  mov    $0x2,%eax
  jmp    L839
L1594:
  lea    -0xd0(%rbp),%rax
  lea    D780(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L36
  mov    $0x56,%eax
  jmp    L839
L36:
  lea    -0xd0(%rbp),%rax
  lea    D509(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L209
  mov    $0x57,%eax
  jmp    L839
L209:
  lea    -0xd0(%rbp),%rax
  lea    D807(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L410
  mov    $0x3,%eax
  jmp    L839
L410:
  lea    -0xd0(%rbp),%rax
  lea    D619(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L480
  mov    $0x5,%eax
  jmp    L839
L480:
  lea    -0xd0(%rbp),%rax
  lea    D1038(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1060
  mov    $0x4,%eax
  jmp    L839
L1060:
  lea    -0xd0(%rbp),%rax
  lea    D100(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1173
  mov    $0x6,%eax
  jmp    L839
L1173:
  lea    -0xd0(%rbp),%rax
  lea    D408(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1869
  mov    $0x7,%eax
  jmp    L839
L1869:
  lea    -0xd0(%rbp),%rax
  lea    D446(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L610
  mov    $0x8,%eax
  jmp    L839
L610:
  lea    -0xd0(%rbp),%rax
  lea    D466(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L499
  mov    $0x9,%eax
  jmp    L839
L499:
  lea    -0xd0(%rbp),%rax
  lea    D113(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L679
  mov    $0xa,%eax
  jmp    L839
L679:
  lea    -0xd0(%rbp),%rax
  lea    D137(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1451
  mov    $0xb,%eax
  jmp    L839
L1451:
  lea    -0xd0(%rbp),%rax
  lea    D1039(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1622
  mov    $0xc,%eax
  jmp    L839
L1622:
  lea    -0xd0(%rbp),%rax
  lea    D557(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L352
  mov    $0xd,%eax
  jmp    L839
L352:
  lea    -0xd0(%rbp),%rax
  lea    D545(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1788
  mov    $0x5f,%eax
  jmp    L839
L1788:
  lea    -0xd0(%rbp),%rax
  lea    D508(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L2006
  mov    $0xe,%eax
  jmp    L839
L2006:
  lea    -0xd0(%rbp),%rax
  lea    D226(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L146
  mov    $0xf,%eax
  jmp    L839
L146:
  lea    -0xd0(%rbp),%rax
  lea    D157(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L939
  mov    $0x10,%eax
  jmp    L839
L939:
  lea    -0xd0(%rbp),%rax
  lea    D199(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L430
  mov    $0x11,%eax
  jmp    L839
L430:
  lea    -0xd0(%rbp),%rax
  lea    D1023(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1961
  mov    $0x12,%eax
  jmp    L839
L1961:
  lea    -0xd0(%rbp),%rax
  lea    D813(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L123
  mov    $0x13,%eax
  jmp    L839
L123:
  lea    -0xd0(%rbp),%rax
  lea    D636(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1585
  mov    $0x14,%eax
  jmp    L839
L1585:
  lea    -0xd0(%rbp),%rax
  lea    D897(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1169
  mov    $0x15,%eax
  jmp    L839
L1169:
  lea    -0xd0(%rbp),%rax
  lea    D1021(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L10
  mov    $0x16,%eax
  jmp    L839
L10:
  lea    -0xd0(%rbp),%rax
  lea    D668(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1556
  mov    $0x17,%eax
  jmp    L839
L1556:
  lea    -0xd0(%rbp),%rax
  lea    D674(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1318
  mov    $0x18,%eax
  jmp    L839
L1318:
  lea    -0xd0(%rbp),%rax
  lea    D645(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L178
  mov    $0x19,%eax
  jmp    L839
L178:
  lea    -0xd0(%rbp),%rax
  lea    D708(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1143
  mov    $0x1a,%eax
  jmp    L839
L1143:
  lea    -0xd0(%rbp),%rax
  lea    D555(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L630
  mov    $0x1b,%eax
  jmp    L839
L630:
  lea    -0xd0(%rbp),%rax
  lea    D903(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L396
  mov    $0x1c,%eax
  jmp    L839
L396:
  lea    -0xd0(%rbp),%rax
  lea    D264(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L476
  mov    $0x1d,%eax
  jmp    L839
L476:
  lea    -0xd0(%rbp),%rax
  lea    D460(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L185
  mov    $0x1e,%eax
  jmp    L839
L185:
  lea    -0xd0(%rbp),%rax
  lea    D588(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1581
  mov    $0x1f,%eax
  jmp    L839
L1581:
  lea    -0xd0(%rbp),%rax
  lea    D532(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L822
  mov    $0x20,%eax
  jmp    L839
L822:
  lea    -0xd0(%rbp),%rax
  lea    D874(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1488
  mov    $0x21,%eax
  jmp    L839
L1488:
  lea    -0xd0(%rbp),%rax
  lea    D201(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1046
  mov    $0x22,%eax
  jmp    L839
L1046:
  lea    -0xd0(%rbp),%rax
  lea    D759(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L525
  mov    $0x23,%eax
  jmp    L839
L525:
  lea    -0xd0(%rbp),%rax
  lea    D151(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1147
  mov    $0x24,%eax
  jmp    L839
L1147:
  lea    -0xd0(%rbp),%rax
  lea    D749(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L376
  mov    $0x25,%eax
  jmp    L839
L376:
  lea    -0xd0(%rbp),%rax
  lea    D33(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1963
  mov    $0x26,%eax
  jmp    L839
L1963:
  lea    -0xd0(%rbp),%rax
  lea    D608(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1058
  mov    $0x27,%eax
  jmp    L839
L1058:
  lea    -0xd0(%rbp),%rax
  lea    D886(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1328
  mov    $0x28,%eax
  jmp    L839
L1328:
  lea    -0xd0(%rbp),%rax
  lea    D658(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L300
  mov    $0x29,%eax
  jmp    L839
L300:
  lea    -0xd0(%rbp),%rax
  lea    D550(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1918
  mov    $0x2a,%eax
  jmp    L839
L1918:
  lea    -0xd0(%rbp),%rax
  lea    D389(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L93
  mov    $0x2b,%eax
  jmp    L839
L93:
  lea    -0xd0(%rbp),%rax
  lea    D334(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1433
  mov    $0x2c,%eax
  jmp    L839
L1433:
  lea    -0xd0(%rbp),%rax
  lea    D234(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1527
  mov    $0x2d,%eax
  jmp    L839
L1527:
  lea    -0xd0(%rbp),%rax
  lea    D810(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1592
  mov    $0x2e,%eax
  jmp    L839
L1592:
  lea    -0xd0(%rbp),%rax
  lea    D387(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L91
  mov    $0x2f,%eax
  jmp    L839
L91:
  lea    -0xd0(%rbp),%rax
  lea    D7(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1201
  mov    $0x30,%eax
  jmp    L839
L1201:
  lea    -0xd0(%rbp),%rax
  lea    D543(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1705
  mov    $0x31,%eax
  jmp    L839
L1705:
  lea    -0xd0(%rbp),%rax
  lea    D13(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1925
  mov    $0x32,%eax
  jmp    L839
L1925:
  lea    -0xd0(%rbp),%rax
  lea    D442(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L40
  mov    $0x5b,%eax
  jmp    L839
L40:
  lea    -0xd0(%rbp),%rax
  lea    D60(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L759
  mov    $0x5a,%eax
  jmp    L839
L759:
  lea    -0xd0(%rbp),%rax
  lea    D477(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1430
  mov    $0x33,%eax
  jmp    L839
L1430:
  lea    -0xd0(%rbp),%rax
  lea    D811(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L313
  mov    $0x34,%eax
  jmp    L839
L313:
  lea    -0xd0(%rbp),%rax
  lea    D758(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L234
  mov    $0x35,%eax
  jmp    L839
L234:
  lea    -0xd0(%rbp),%rax
  lea    D957(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L444
  mov    $0x36,%eax
  jmp    L839
L444:
  lea    -0xd0(%rbp),%rax
  lea    D368(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1427
  mov    $0x37,%eax
  jmp    L839
L1427:
  lea    -0xd0(%rbp),%rax
  lea    D865(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1121
  mov    $0x38,%eax
  jmp    L839
L1121:
  lea    -0xd0(%rbp),%rax
  lea    D239(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1374
  mov    $0x39,%eax
  jmp    L839
L1374:
  lea    -0xd0(%rbp),%rax
  lea    D510(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1111
  mov    $0x3a,%eax
  jmp    L839
L1111:
  lea    -0xd0(%rbp),%rax
  lea    D83(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1020
  mov    $0x3b,%eax
  jmp    L839
L1020:
  lea    -0xd0(%rbp),%rax
  lea    D313(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L774
  mov    $0x3c,%eax
  jmp    L839
L774:
  lea    -0xd0(%rbp),%rax
  lea    D424(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1117
  mov    $0x3d,%eax
  jmp    L839
L1117:
  lea    -0xd0(%rbp),%rax
  lea    D21(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L851
  mov    $0x3e,%eax
  jmp    L839
L851:
  lea    -0xd0(%rbp),%rax
  lea    D277(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1369
  mov    $0x3f,%eax
  jmp    L839
L1369:
  lea    -0xd0(%rbp),%rax
  lea    D793(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L826
  mov    $0x5d,%eax
  jmp    L839
L826:
  lea    -0xd0(%rbp),%rax
  lea    D918(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L787
  mov    $0x5c,%eax
  jmp    L839
L787:
  lea    -0xd0(%rbp),%rax
  lea    D513(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L696
  mov    $0x40,%eax
  jmp    L839
L696:
  lea    -0xd0(%rbp),%rax
  lea    D288(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L164
  mov    $0x41,%eax
  jmp    L839
L164:
  lea    -0xd0(%rbp),%rax
  lea    D575(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L947
  mov    $0x42,%eax
  jmp    L839
L947:
  lea    -0xd0(%rbp),%rax
  lea    D521(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L220
  mov    $0x43,%eax
  jmp    L839
L220:
  lea    -0xd0(%rbp),%rax
  lea    D12(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1659
  mov    $0x44,%eax
  jmp    L839
L1659:
  lea    -0xd0(%rbp),%rax
  lea    D963(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L471
  mov    $0x45,%eax
  jmp    L839
L471:
  lea    -0xd0(%rbp),%rax
  lea    D350(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1207
  mov    $0x46,%eax
  jmp    L839
L1207:
  lea    -0xd0(%rbp),%rax
  lea    D522(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1811
  mov    $0x47,%eax
  jmp    L839
L1811:
  lea    -0xd0(%rbp),%rax
  lea    D247(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1642
  mov    $0x48,%eax
  jmp    L839
L1642:
  lea    -0xd0(%rbp),%rax
  lea    D772(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1834
  mov    $0x49,%eax
  jmp    L839
L1834:
  lea    -0xd0(%rbp),%rax
  lea    D766(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L422
  mov    $0x4a,%eax
  jmp    L839
L422:
  lea    -0xd0(%rbp),%rax
  lea    D638(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1259
  mov    $0x4b,%eax
  jmp    L839
L1259:
  lea    -0xd0(%rbp),%rax
  lea    D505(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L730
  mov    $0x4c,%eax
  jmp    L839
L730:
  lea    -0xd0(%rbp),%rax
  lea    D871(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1569
  mov    $0x4d,%eax
  jmp    L839
L1569:
  lea    -0xd0(%rbp),%rax
  lea    D544(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L196
  mov    $0x4e,%eax
  jmp    L839
L196:
  lea    -0xd0(%rbp),%rax
  lea    D358(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1457
  mov    $0x4f,%eax
  jmp    L839
L1457:
  lea    -0xd0(%rbp),%rax
  lea    D856(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L2021
  mov    $0x50,%eax
  jmp    L839
L2021:
  lea    -0xd0(%rbp),%rax
  lea    D248(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L567
  mov    $0x51,%eax
  jmp    L839
L567:
  lea    -0xd0(%rbp),%rax
  lea    D451(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1525
  mov    $0x5e,%eax
  jmp    L839
L1525:
  lea    -0xd0(%rbp),%rax
  lea    D283(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1781
  mov    $0x52,%eax
  jmp    L839
L1781:
  lea    -0xd0(%rbp),%rax
  lea    D56(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L221
  mov    $0x53,%eax
  jmp    L839
L221:
  lea    -0xd0(%rbp),%rax
  lea    D685(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L294
  mov    $0x58,%eax
  jmp    L839
L294:
  lea    -0xd0(%rbp),%rax
  lea    D1017(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1090
  mov    $0x59,%eax
  jmp    L839
L1090:
  lea    -0xd0(%rbp),%rax
  lea    D1006(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1089
  mov    $0x0,%eax
  jmp    L839
L1089:
  mov    -0xd8(%rbp),%rax
  lea    D1037(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L2083
  mov    $0x63,%eax
  jmp    L839
L2083:
  mov    -0xd8(%rbp),%rax
  lea    D482(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L96
  mov    $0x62,%eax
  jmp    L839
L96:
  lea    -0xd0(%rbp),%rax
  lea    D869(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L176
  mov    $0x65,%eax
  jmp    L839
L176:
  lea    -0xd0(%rbp),%rax
  lea    D393(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1256
  mov    $0x66,%eax
  jmp    L839
L1256:
  lea    -0xd0(%rbp),%rax
  lea    D607(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L308
  mov    $0x67,%eax
  jmp    L839
L308:
  lea    -0xd0(%rbp),%rax
  lea    D733(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1760
  mov    $0x68,%eax
  jmp    L839
L1760:
  lea    -0xd0(%rbp),%rax
  lea    D560(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L1411
  mov    $0x69,%eax
  jmp    L839
L1411:
  mov    $0x64,%eax
L839:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L2096
  call   <__stack_chk_fail@plt>
L2096:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D582
datatype: string
name: extract_symbolic_data
arguments: data_tag: D192
datatype: string
name: extract_symbolic_data
arguments: data_tag: D215
datatype: string
name: extract_symbolic_data
arguments: data_tag: D498
datatype: string
name: extract_symbolic_data
arguments: data_tag: D128
datatype: string
name: extract_symbolic_data
arguments: data_tag: D101
datatype: string
name: extract_symbolic_data
arguments: data_tag: D780
datatype: string
name: extract_symbolic_data
arguments: data_tag: D509
datatype: string
name: extract_symbolic_data
arguments: data_tag: D807
datatype: string
name: extract_symbolic_data
arguments: data_tag: D619
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1038
datatype: string
name: extract_symbolic_data
arguments: data_tag: D100
datatype: string
name: extract_symbolic_data
arguments: data_tag: D408
datatype: string
name: extract_symbolic_data
arguments: data_tag: D446
datatype: string
name: extract_symbolic_data
arguments: data_tag: D466
datatype: string
name: extract_symbolic_data
arguments: data_tag: D113
datatype: string
name: extract_symbolic_data
arguments: data_tag: D137
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1039
datatype: string
name: extract_symbolic_data
arguments: data_tag: D557
datatype: string
name: extract_symbolic_data
arguments: data_tag: D545
datatype: string
name: extract_symbolic_data
arguments: data_tag: D508
datatype: string
name: extract_symbolic_data
arguments: data_tag: D226
datatype: string
name: extract_symbolic_data
arguments: data_tag: D157
datatype: string
name: extract_symbolic_data
arguments: data_tag: D199
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1023
datatype: string
name: extract_symbolic_data
arguments: data_tag: D813
datatype: string
name: extract_symbolic_data
arguments: data_tag: D636
datatype: string
name: extract_symbolic_data
arguments: data_tag: D897
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1021
datatype: string
name: extract_symbolic_data
arguments: data_tag: D668
datatype: string
name: extract_symbolic_data
arguments: data_tag: D674
datatype: string
name: extract_symbolic_data
arguments: data_tag: D645
datatype: string
name: extract_symbolic_data
arguments: data_tag: D708
datatype: string
name: extract_symbolic_data
arguments: data_tag: D555
datatype: string
name: extract_symbolic_data
arguments: data_tag: D903
datatype: string
name: extract_symbolic_data
arguments: data_tag: D264
datatype: string
name: extract_symbolic_data
arguments: data_tag: D460
datatype: string
name: extract_symbolic_data
arguments: data_tag: D588
datatype: string
name: extract_symbolic_data
arguments: data_tag: D532
datatype: string
name: extract_symbolic_data
arguments: data_tag: D874
datatype: string
name: extract_symbolic_data
arguments: data_tag: D201
datatype: string
name: extract_symbolic_data
arguments: data_tag: D759
datatype: string
name: extract_symbolic_data
arguments: data_tag: D151
datatype: string
name: extract_symbolic_data
arguments: data_tag: D749
datatype: string
name: extract_symbolic_data
arguments: data_tag: D33
datatype: string
name: extract_symbolic_data
arguments: data_tag: D608
datatype: string
name: extract_symbolic_data
arguments: data_tag: D886
datatype: string
name: extract_symbolic_data
arguments: data_tag: D658
datatype: string
name: extract_symbolic_data
arguments: data_tag: D550
datatype: string
name: extract_symbolic_data
arguments: data_tag: D389
datatype: string
name: extract_symbolic_data
arguments: data_tag: D334
datatype: string
name: extract_symbolic_data
arguments: data_tag: D234
datatype: string
name: extract_symbolic_data
arguments: data_tag: D810
datatype: string
name: extract_symbolic_data
arguments: data_tag: D387
datatype: string
name: extract_symbolic_data
arguments: data_tag: D7
datatype: string
name: extract_symbolic_data
arguments: data_tag: D543
datatype: string
name: extract_symbolic_data
arguments: data_tag: D13
datatype: string
name: extract_symbolic_data
arguments: data_tag: D442
datatype: string
name: extract_symbolic_data
arguments: data_tag: D60
datatype: string
name: extract_symbolic_data
arguments: data_tag: D477
datatype: string
name: extract_symbolic_data
arguments: data_tag: D811
datatype: string
name: extract_symbolic_data
arguments: data_tag: D758
datatype: string
name: extract_symbolic_data
arguments: data_tag: D957
datatype: string
name: extract_symbolic_data
arguments: data_tag: D368
datatype: string
name: extract_symbolic_data
arguments: data_tag: D865
datatype: string
name: extract_symbolic_data
arguments: data_tag: D239
datatype: string
name: extract_symbolic_data
arguments: data_tag: D510
datatype: string
name: extract_symbolic_data
arguments: data_tag: D83
datatype: string
name: extract_symbolic_data
arguments: data_tag: D313
datatype: string
name: extract_symbolic_data
arguments: data_tag: D424
datatype: string
name: extract_symbolic_data
arguments: data_tag: D21
datatype: string
name: extract_symbolic_data
arguments: data_tag: D277
datatype: string
name: extract_symbolic_data
arguments: data_tag: D793
datatype: string
name: extract_symbolic_data
arguments: data_tag: D918
datatype: string
name: extract_symbolic_data
arguments: data_tag: D513
datatype: string
name: extract_symbolic_data
arguments: data_tag: D288
datatype: string
name: extract_symbolic_data
arguments: data_tag: D575
datatype: string
name: extract_symbolic_data
arguments: data_tag: D521
datatype: string
name: extract_symbolic_data
arguments: data_tag: D12
datatype: string
name: extract_symbolic_data
arguments: data_tag: D963
datatype: string
name: extract_symbolic_data
arguments: data_tag: D350
datatype: string
name: extract_symbolic_data
arguments: data_tag: D522
datatype: string
name: extract_symbolic_data
arguments: data_tag: D247
datatype: string
name: extract_symbolic_data
arguments: data_tag: D772
datatype: string
name: extract_symbolic_data
arguments: data_tag: D766
datatype: string
name: extract_symbolic_data
arguments: data_tag: D638
datatype: string
name: extract_symbolic_data
arguments: data_tag: D505
datatype: string
name: extract_symbolic_data
arguments: data_tag: D871
datatype: string
name: extract_symbolic_data
arguments: data_tag: D544
datatype: string
name: extract_symbolic_data
arguments: data_tag: D358
datatype: string
name: extract_symbolic_data
arguments: data_tag: D856
datatype: string
name: extract_symbolic_data
arguments: data_tag: D248
datatype: string
name: extract_symbolic_data
arguments: data_tag: D451
datatype: string
name: extract_symbolic_data
arguments: data_tag: D283
datatype: string
name: extract_symbolic_data
arguments: data_tag: D56
datatype: string
name: extract_symbolic_data
arguments: data_tag: D685
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1017
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1006
datatype: string
name: extract_symbolic_data
arguments: data_tag: D1037
datatype: string
name: extract_symbolic_data
arguments: data_tag: D482
datatype: string
name: extract_symbolic_data
arguments: data_tag: D869
datatype: string
name: extract_symbolic_data
arguments: data_tag: D393
datatype: string
name: extract_symbolic_data
arguments: data_tag: D607
datatype: string
name: extract_symbolic_data
arguments: data_tag: D733
datatype: string
name: extract_symbolic_data
arguments: data_tag: D560
datatype: string

tool: D582: LOAD

tool: D192: LOADN

tool: D215: LOADI

tool: D498: INPUT

tool: D128: OUTPUT

tool: D101: STORE

tool: D780: STOREN

tool: D509: STOREI

tool: D807: MOV

tool: D619: IN

tool: D1038: OUT

tool: D100: ADD

tool: D408: ADDC

tool: D446: SUB

tool: D466: SUBC

tool: D113: MUL

tool: D137: DIV

tool: D1039: INC

tool: D557: DEC

tool: D545: MOD

tool: D508: AND

tool: D226: OR

tool: D157: XOR

tool: D199: NOT

tool: D1023: SHIFTL0

tool: D813: SHIFTL1

tool: D636: SHIFTR0

tool: D897: SHIFTR1

tool: D1021: ROTL

tool: D668: ROTR

tool: D674: CMP

tool: D645: BRA

tool: D708: BEQ

tool: D555: BNE

tool: D903: BZ

tool: D264: BNZ

tool: D460: BC

tool: D588: BNC

tool: D532: BGT

tool: D874: BLT

tool: D201: BEG

tool: D759: BEL

tool: D151: BOV

tool: D749: BNO

tool: D33: JMP

tool: D608: JEQ

tool: D886: JNE

tool: D658: JZ

tool: D550: JNZ

tool: D389: JC

tool: D334: JNC

tool: D234: JGR

tool: D810: JLE

tool: D387: JEG

tool: D7: JEL

tool: D543: JOV

tool: D13: JNO

tool: D442: JN

tool: D60: JDZ

tool: D477: CALL

tool: D811: CEQ

tool: D758: CNE

tool: D957: CZ

tool: D368: CNZ

tool: D865: CC

tool: D239: CNC

tool: D510: CGR

tool: D83: CLE

tool: D313: CEG

tool: D424: CEL

tool: D21: COV

tool: D277: CNO

tool: D793: CN

tool: D918: CDZ

tool: D513: SET

tool: D288: SEQ

tool: D575: SNE

tool: D521: SZ

tool: D12: SNZ

tool: D963: SC

tool: D350: SNC

tool: D522: SGT

tool: D247: SLT

tool: D772: SEG

tool: D766: SEL

tool: D638: SOV

tool: D505: SNO

tool: D871: RTS

tool: D544: RTI

tool: D358: PUSH

tool: D856: POP

tool: D248: HALT

tool: D451: BREAKP

tool: D283: SETC

tool: D56: CLEARC

tool: D685: CALLR

tool: D1017: JMPR

tool: D1006: NOP

tool: D1037: DI

tool: D482: EI

tool: D869: EQU

tool: D393: VAR

tool: D607: STATIC

tool: D733: STRING

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