user: Please show me the C implementation that matches the assembly code listed below:

```asm
<get_x86_cpu_standard_flags>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbx
  sub    $0x1a8,%rsp
  mov    %edi,-0x34(%rbp)
  mov    %esi,-0x38(%rbp)
  mov    %edx,-0x3c(%rbp)
  mov    %rcx,-0x48(%rbp)
  mov    %r8,-0x50(%rbp)
  cmpl   $0x0,-0x38(%rbp)
  jns    L315
  lea    D1340(%rip),%rax
  mov    %rax,-0xe8(%rbp)
  jmp    L142
L315:
  lea    D1273(%rip),%rax
  mov    %rax,-0xe8(%rbp)
L142:
  mov    -0x38(%rbp),%eax
  and    $0x40000000,%eax
  test   %eax,%eax
  je     L1191
  lea    D1315(%rip),%rax
  mov    %rax,-0xf0(%rbp)
  jmp    L1153
L1191:
  lea    D1273(%rip),%rax
  mov    %rax,-0xf0(%rbp)
L1153:
  mov    -0x38(%rbp),%eax
  and    $0x20000000,%eax
  test   %eax,%eax
  je     L18
  lea    D1052(%rip),%rax
  mov    %rax,-0xf8(%rbp)
  jmp    L1536
L18:
  lea    D1273(%rip),%rax
  mov    %rax,-0xf8(%rbp)
L1536:
  mov    -0x38(%rbp),%eax
  and    $0x10000000,%eax
  test   %eax,%eax
  je     L861
  lea    D494(%rip),%rax
  mov    %rax,-0x100(%rbp)
  jmp    L734
L861:
  lea    D1273(%rip),%rax
  mov    %rax,-0x100(%rbp)
L734:
  mov    -0x38(%rbp),%eax
  and    $0x8000000,%eax
  test   %eax,%eax
  je     L955
  lea    D1070(%rip),%rax
  mov    %rax,-0x108(%rbp)
  jmp    L418
L955:
  lea    D1273(%rip),%rax
  mov    %rax,-0x108(%rbp)
L418:
  mov    -0x38(%rbp),%eax
  and    $0x4000000,%eax
  test   %eax,%eax
  je     L305
  lea    D1183(%rip),%rax
  mov    %rax,-0x110(%rbp)
  jmp    L15
L305:
  lea    D1273(%rip),%rax
  mov    %rax,-0x110(%rbp)
L15:
  mov    -0x38(%rbp),%eax
  and    $0x2000000,%eax
  test   %eax,%eax
  je     L341
  lea    D771(%rip),%rax
  mov    %rax,-0x118(%rbp)
  jmp    L1278
L341:
  lea    D1273(%rip),%rax
  mov    %rax,-0x118(%rbp)
L1278:
  cmpl   $0x0,-0x34(%rbp)
  je     L889
  mov    -0x38(%rbp),%eax
  and    $0x1000000,%eax
  test   %eax,%eax
  je     L1297
  lea    D644(%rip),%rax
  mov    %rax,-0x58(%rbp)
  jmp    L817
L1297:
  lea    D1273(%rip),%rax
  mov    %rax,-0x58(%rbp)
  jmp    L817
L889:
  lea    D1273(%rip),%rax
  mov    %rax,-0x58(%rbp)
L817:
  mov    -0x38(%rbp),%eax
  and    $0x800000,%eax
  test   %eax,%eax
  je     L1435
  lea    D979(%rip),%rax
  mov    %rax,-0x120(%rbp)
  jmp    L109
L1435:
  lea    D1273(%rip),%rax
  mov    %rax,-0x120(%rbp)
L109:
  cmpl   $0x0,-0x34(%rbp)
  je     L1378
  mov    -0x38(%rbp),%eax
  and    $0x400000,%eax
  test   %eax,%eax
  je     L253
  lea    D1094(%rip),%rax
  mov    %rax,-0x60(%rbp)
  jmp    L1606
L253:
  lea    D1273(%rip),%rax
  mov    %rax,-0x60(%rbp)
  jmp    L1606
L1378:
  lea    D1273(%rip),%rax
  mov    %rax,-0x60(%rbp)
L1606:
  cmpl   $0x0,-0x34(%rbp)
  je     L600
  mov    -0x38(%rbp),%eax
  and    $0x200000,%eax
  test   %eax,%eax
  je     L772
  lea    D265(%rip),%rax
  mov    %rax,-0x68(%rbp)
  jmp    L306
L772:
  lea    D1273(%rip),%rax
  mov    %rax,-0x68(%rbp)
  jmp    L306
L600:
  lea    D1273(%rip),%rax
  mov    %rax,-0x68(%rbp)
L306:
  mov    -0x38(%rbp),%eax
  and    $0x100000,%eax
  test   %eax,%eax
  je     L590
  lea    D267(%rip),%rax
  mov    %rax,-0x128(%rbp)
  jmp    L416
L590:
  lea    D1273(%rip),%rax
  mov    %rax,-0x128(%rbp)
L416:
  mov    -0x38(%rbp),%eax
  and    $0x80000,%eax
  test   %eax,%eax
  je     L918
  lea    D227(%rip),%rax
  mov    %rax,-0x130(%rbp)
  jmp    L977
L918:
  lea    D1273(%rip),%rax
  mov    %rax,-0x130(%rbp)
L977:
  cmpl   $0x0,-0x34(%rbp)
  je     L1054
  mov    -0x38(%rbp),%eax
  and    $0x40000,%eax
  test   %eax,%eax
  je     L1501
  lea    D966(%rip),%rax
  mov    %rax,-0x70(%rbp)
  jmp    L1068
L1501:
  lea    D1273(%rip),%rax
  mov    %rax,-0x70(%rbp)
  jmp    L1068
L1054:
  lea    D1273(%rip),%rax
  mov    %rax,-0x70(%rbp)
L1068:
  cmpl   $0x0,-0x34(%rbp)
  je     L425
  mov    -0x38(%rbp),%eax
  and    $0x20000,%eax
  test   %eax,%eax
  je     L581
  lea    D97(%rip),%rax
  mov    %rax,-0x78(%rbp)
  jmp    L464
L581:
  lea    D1273(%rip),%rax
  mov    %rax,-0x78(%rbp)
  jmp    L464
L425:
  lea    D1273(%rip),%rax
  mov    %rax,-0x78(%rbp)
L464:
  cmpl   $0x0,-0x34(%rbp)
  je     L423
  mov    -0x38(%rbp),%eax
  and    $0x8000,%eax
  test   %eax,%eax
  je     L1412
  lea    D1253(%rip),%rax
  mov    %rax,-0x80(%rbp)
  jmp    L1315
L1412:
  lea    D1273(%rip),%rax
  mov    %rax,-0x80(%rbp)
  jmp    L1315
L423:
  lea    D1273(%rip),%rax
  mov    %rax,-0x80(%rbp)
L1315:
  cmpl   $0x0,-0x34(%rbp)
  je     L14
  mov    -0x38(%rbp),%eax
  and    $0x4000,%eax
  test   %eax,%eax
  je     L24
  lea    D546(%rip),%rax
  mov    %rax,-0x88(%rbp)
  jmp    L852
L24:
  lea    D1273(%rip),%rax
  mov    %rax,-0x88(%rbp)
  jmp    L852
L14:
  lea    D1273(%rip),%rax
  mov    %rax,-0x88(%rbp)
L852:
  mov    -0x38(%rbp),%eax
  and    $0x2000,%eax
  test   %eax,%eax
  je     L59
  lea    D1038(%rip),%rax
  mov    %rax,-0x138(%rbp)
  jmp    L664
L59:
  lea    D1273(%rip),%rax
  mov    %rax,-0x138(%rbp)
L664:
  mov    -0x38(%rbp),%eax
  and    $0x1000,%eax
  test   %eax,%eax
  je     L1314
  lea    D744(%rip),%rax
  mov    %rax,-0x140(%rbp)
  jmp    L595
L1314:
  lea    D1273(%rip),%rax
  mov    %rax,-0x140(%rbp)
L595:
  cmpl   $0x0,-0x34(%rbp)
  je     L764
  mov    -0x38(%rbp),%eax
  and    $0x800,%eax
  test   %eax,%eax
  je     L868
  lea    D502(%rip),%rax
  mov    %rax,-0x90(%rbp)
  jmp    L1217
L868:
  lea    D1273(%rip),%rax
  mov    %rax,-0x90(%rbp)
  jmp    L1217
L764:
  lea    D1273(%rip),%rax
  mov    %rax,-0x90(%rbp)
L1217:
  cmpl   $0x0,-0x34(%rbp)
  je     L752
  mov    -0x38(%rbp),%eax
  and    $0x400,%eax
  test   %eax,%eax
  je     L813
  lea    D967(%rip),%rax
  mov    %rax,-0x98(%rbp)
  jmp    L721
L813:
  lea    D1273(%rip),%rax
  mov    %rax,-0x98(%rbp)
  jmp    L721
L752:
  lea    D1273(%rip),%rax
  mov    %rax,-0x98(%rbp)
L721:
  mov    -0x38(%rbp),%eax
  and    $0x200,%eax
  test   %eax,%eax
  je     L334
  lea    D835(%rip),%rax
  mov    %rax,-0x148(%rbp)
  jmp    L311
L334:
  lea    D1273(%rip),%rax
  mov    %rax,-0x148(%rbp)
L311:
  cmpl   $0x0,-0x34(%rbp)
  je     L593
  mov    -0x38(%rbp),%eax
  and    $0x100,%eax
  test   %eax,%eax
  je     L746
  lea    D596(%rip),%rax
  mov    %rax,-0xa0(%rbp)
  jmp    L175
L746:
  lea    D1273(%rip),%rax
  mov    %rax,-0xa0(%rbp)
  jmp    L175
L593:
  lea    D1273(%rip),%rax
  mov    %rax,-0xa0(%rbp)
L175:
  cmpl   $0x0,-0x34(%rbp)
  je     L1475
  mov    -0x38(%rbp),%eax
  and    $0x80,%eax
  test   %eax,%eax
  je     L420
  lea    D360(%rip),%rax
  mov    %rax,-0xa8(%rbp)
  jmp    L522
L420:
  lea    D1273(%rip),%rax
  mov    %rax,-0xa8(%rbp)
  jmp    L522
L1475:
  lea    D1273(%rip),%rax
  mov    %rax,-0xa8(%rbp)
L522:
  cmpl   $0x0,-0x34(%rbp)
  je     L1580
  mov    -0x38(%rbp),%eax
  and    $0x40,%eax
  test   %eax,%eax
  je     L1005
  lea    D897(%rip),%rax
  mov    %rax,-0xb0(%rbp)
  jmp    L395
L1005:
  lea    D1273(%rip),%rax
  mov    %rax,-0xb0(%rbp)
  jmp    L395
L1580:
  lea    D1273(%rip),%rax
  mov    %rax,-0xb0(%rbp)
L395:
  cmpl   $0x0,-0x34(%rbp)
  je     L326
  mov    -0x38(%rbp),%eax
  and    $0x20,%eax
  test   %eax,%eax
  je     L700
  lea    D11(%rip),%rax
  mov    %rax,-0xb8(%rbp)
  jmp    L1266
L700:
  lea    D1273(%rip),%rax
  mov    %rax,-0xb8(%rbp)
  jmp    L1266
L326:
  lea    D1273(%rip),%rax
  mov    %rax,-0xb8(%rbp)
L1266:
  cmpl   $0x0,-0x34(%rbp)
  je     L737
  mov    -0x38(%rbp),%eax
  and    $0x10,%eax
  test   %eax,%eax
  je     L1397
  lea    D977(%rip),%rax
  mov    %rax,-0xc0(%rbp)
  jmp    L88
L1397:
  lea    D1273(%rip),%rax
  mov    %rax,-0xc0(%rbp)
  jmp    L88
L737:
  lea    D1273(%rip),%rax
  mov    %rax,-0xc0(%rbp)
L88:
  mov    -0x38(%rbp),%eax
  and    $0x8,%eax
  test   %eax,%eax
  je     L1167
  lea    D852(%rip),%rax
  mov    %rax,-0x150(%rbp)
  jmp    L1107
L1167:
  lea    D1273(%rip),%rax
  mov    %rax,-0x150(%rbp)
L1107:
  cmpl   $0x0,-0x34(%rbp)
  je     L1175
  mov    -0x38(%rbp),%eax
  and    $0x4,%eax
  test   %eax,%eax
  je     L729
  lea    D908(%rip),%rax
  mov    %rax,-0xc8(%rbp)
  jmp    L478
L729:
  lea    D1273(%rip),%rax
  mov    %rax,-0xc8(%rbp)
  jmp    L478
L1175:
  lea    D1273(%rip),%rax
  mov    %rax,-0xc8(%rbp)
L478:
  mov    -0x38(%rbp),%eax
  and    $0x2,%eax
  test   %eax,%eax
  je     L272
  lea    D45(%rip),%rax
  mov    %rax,-0x158(%rbp)
  jmp    L391
L272:
  lea    D1273(%rip),%rax
  mov    %rax,-0x158(%rbp)
L391:
  mov    -0x38(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L304
  lea    D85(%rip),%rax
  mov    %rax,-0x160(%rbp)
  jmp    L29
L304:
  lea    D1273(%rip),%rax
  mov    %rax,-0x160(%rbp)
L29:
  cmpl   $0x0,-0x34(%rbp)
  je     L580
  cmpl   $0x0,-0x3c(%rbp)
  jns    L1189
  lea    D970(%rip),%rax
  mov    %rax,-0xd0(%rbp)
  jmp    L1326
L1189:
  lea    D1273(%rip),%rax
  mov    %rax,-0xd0(%rbp)
  jmp    L1326
L580:
  lea    D1273(%rip),%rax
  mov    %rax,-0xd0(%rbp)
L1326:
  cmpl   $0x0,-0x34(%rbp)
  je     L716
  mov    -0x3c(%rbp),%eax
  and    $0x20000000,%eax
  test   %eax,%eax
  je     L635
  lea    D239(%rip),%rax
  mov    %rax,-0xd8(%rbp)
  jmp    L168
L635:
  lea    D1273(%rip),%rax
  mov    %rax,-0xd8(%rbp)
  jmp    L168
L716:
  lea    D1273(%rip),%rax
  mov    %rax,-0xd8(%rbp)
L168:
  mov    -0x3c(%rbp),%eax
  and    $0x10000000,%eax
  test   %eax,%eax
  je     L1258
  lea    D1143(%rip),%rax
  mov    %rax,-0x168(%rbp)
  jmp    L33
L1258:
  lea    D1273(%rip),%rax
  mov    %rax,-0x168(%rbp)
L33:
  cmpl   $0x0,-0x34(%rbp)
  je     L1261
  mov    -0x3c(%rbp),%eax
  and    $0x8000000,%eax
  test   %eax,%eax
  je     L485
  lea    D1112(%rip),%rax
  mov    %rax,-0xe0(%rbp)
  jmp    L934
L485:
  lea    D1273(%rip),%rax
  mov    %rax,-0xe0(%rbp)
  jmp    L934
L1261:
  lea    D1273(%rip),%rax
  mov    %rax,-0xe0(%rbp)
L934:
  mov    -0x3c(%rbp),%eax
  and    $0x4000000,%eax
  test   %eax,%eax
  je     L558
  lea    D469(%rip),%rax
  mov    %rax,-0x170(%rbp)
  jmp    L345
L558:
  lea    D1273(%rip),%rax
  mov    %rax,-0x170(%rbp)
L345:
  mov    -0x3c(%rbp),%eax
  and    $0x2000000,%eax
  test   %eax,%eax
  je     L1337
  lea    D197(%rip),%rax
  mov    %rax,-0x178(%rbp)
  jmp    L1462
L1337:
  lea    D1273(%rip),%rax
  mov    %rax,-0x178(%rbp)
L1462:
  mov    -0x3c(%rbp),%eax
  and    $0x1000000,%eax
  test   %eax,%eax
  je     L1610
  lea    D8(%rip),%rax
  mov    %rax,-0x180(%rbp)
  jmp    L1399
L1610:
  lea    D1273(%rip),%rax
  mov    %rax,-0x180(%rbp)
L1399:
  mov    -0x3c(%rbp),%eax
  and    $0x800000,%eax
  test   %eax,%eax
  je     L448
  lea    D52(%rip),%rax
  mov    %rax,-0x188(%rbp)
  jmp    L1114
L448:
  lea    D1273(%rip),%rax
  mov    %rax,-0x188(%rbp)
L1114:
  cmpl   $0x0,-0x34(%rbp)
  je     L717
  mov    -0x3c(%rbp),%eax
  and    $0x400000,%eax
  test   %eax,%eax
  je     L1254
  lea    D612(%rip),%r14
  jmp    L117
L1254:
  lea    D1273(%rip),%r14
  jmp    L117
L717:
  lea    D1273(%rip),%r14
L117:
  cmpl   $0x0,-0x34(%rbp)
  je     L1566
  mov    -0x3c(%rbp),%eax
  and    $0x200000,%eax
  test   %eax,%eax
  je     L1018
  lea    D1355(%rip),%r12
  jmp    L1617
L1018:
  lea    D1273(%rip),%r12
  jmp    L1617
L1566:
  lea    D1273(%rip),%r12
L1617:
  mov    -0x3c(%rbp),%eax
  and    $0x80000,%eax
  test   %eax,%eax
  je     L775
  lea    D861(%rip),%rax
  mov    %rax,-0x190(%rbp)
  jmp    L966
L775:
  lea    D1273(%rip),%rax
  mov    %rax,-0x190(%rbp)
L966:
  cmpl   $0x0,-0x34(%rbp)
  je     L344
  mov    -0x3c(%rbp),%eax
  and    $0x40000,%eax
  test   %eax,%eax
  je     L161
  lea    D1308(%rip),%r11
  jmp    L354
L161:
  lea    D1273(%rip),%r11
  jmp    L354
L344:
  lea    D1273(%rip),%r11
L354:
  mov    -0x3c(%rbp),%eax
  and    $0x20000,%eax
  test   %eax,%eax
  je     L884
  lea    D251(%rip),%rax
  mov    %rax,-0x198(%rbp)
  jmp    L1592
L884:
  lea    D1273(%rip),%rax
  mov    %rax,-0x198(%rbp)
L1592:
  mov    -0x3c(%rbp),%eax
  and    $0x10000,%eax
  test   %eax,%eax
  je     L9
  lea    D801(%rip),%rax
  mov    %rax,-0x1a0(%rbp)
  jmp    L0
L9:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1a0(%rbp)
L0:
  mov    -0x3c(%rbp),%eax
  and    $0x8000,%eax
  test   %eax,%eax
  je     L531
  lea    D1386(%rip),%rax
  mov    %rax,-0x1a8(%rbp)
  jmp    L508
L531:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1a8(%rbp)
L508:
  mov    -0x3c(%rbp),%eax
  and    $0x4000,%eax
  test   %eax,%eax
  je     L533
  lea    D708(%rip),%rax
  mov    %rax,-0x1b0(%rbp)
  jmp    L541
L533:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1b0(%rbp)
L541:
  mov    -0x3c(%rbp),%eax
  and    $0x2000,%eax
  test   %eax,%eax
  je     L256
  lea    D12(%rip),%rax
  mov    %rax,-0x1b8(%rbp)
  jmp    L1427
L256:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1b8(%rbp)
L1427:
  mov    -0x3c(%rbp),%eax
  and    $0x1000,%eax
  test   %eax,%eax
  je     L398
  lea    D510(%rip),%rax
  mov    %rax,-0x1c0(%rbp)
  jmp    L1342
L398:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1c0(%rbp)
L1342:
  mov    -0x3c(%rbp),%eax
  and    $0x800,%eax
  test   %eax,%eax
  je     L213
  lea    D1140(%rip),%rax
  mov    %rax,-0x1c8(%rbp)
  jmp    L1232
L213:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1c8(%rbp)
L1232:
  mov    -0x3c(%rbp),%eax
  and    $0x200,%eax
  test   %eax,%eax
  je     L443
  lea    D179(%rip),%rax
  mov    %rax,-0x1d0(%rbp)
  jmp    L1562
L443:
  lea    D1273(%rip),%rax
  mov    %rax,-0x1d0(%rbp)
L1562:
  mov    -0x3c(%rbp),%eax
  and    $0x100,%eax
  test   %eax,%eax
  je     L338
  lea    D1283(%rip),%r15
  jmp    L599
L338:
  lea    D1273(%rip),%r15
L599:
  mov    -0x3c(%rbp),%eax
  and    $0x80,%eax
  test   %eax,%eax
  je     L408
  lea    D847(%rip),%r13
  jmp    L952
L408:
  lea    D1273(%rip),%r13
L952:
  mov    -0x3c(%rbp),%eax
  and    $0x40,%eax
  test   %eax,%eax
  je     L128
  lea    D402(%rip),%rbx
  jmp    L652
L128:
  lea    D1273(%rip),%rbx
L652:
  mov    -0x3c(%rbp),%eax
  and    $0x20,%eax
  test   %eax,%eax
  je     L307
  lea    D436(%rip),%r10
  jmp    L803
L307:
  lea    D1273(%rip),%r10
L803:
  mov    -0x3c(%rbp),%eax
  and    $0x10,%eax
  test   %eax,%eax
  je     L1576
  lea    D1282(%rip),%r9
  jmp    L1344
L1576:
  lea    D1273(%rip),%r9
L1344:
  mov    -0x3c(%rbp),%eax
  and    $0x8,%eax
  test   %eax,%eax
  je     L989
  lea    D223(%rip),%rcx
  jmp    L1453
L989:
  lea    D1273(%rip),%rcx
L1453:
  mov    -0x3c(%rbp),%eax
  and    $0x4,%eax
  test   %eax,%eax
  je     L70
  lea    D1258(%rip),%r8
  jmp    L1467
L70:
  lea    D1273(%rip),%r8
L1467:
  mov    -0x3c(%rbp),%eax
  and    $0x2,%eax
  test   %eax,%eax
  je     L172
  lea    D855(%rip),%rdx
  jmp    L1376
L172:
  lea    D1273(%rip),%rdx
L1376:
  mov    -0x3c(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  je     L480
  lea    D577(%rip),%rax
  jmp    L1374
L480:
  lea    D1273(%rip),%rax
L1374:
  mov    -0x50(%rbp),%rsi
  mov    -0x48(%rbp),%rdi
  sub    $0x8,%rsp
  push   -0xe8(%rbp)
  push   -0xf0(%rbp)
  push   -0xf8(%rbp)
  push   -0x100(%rbp)
  push   -0x108(%rbp)
  push   -0x110(%rbp)
  push   -0x118(%rbp)
  push   -0x58(%rbp)
  push   -0x120(%rbp)
  push   -0x60(%rbp)
  push   -0x68(%rbp)
  push   -0x128(%rbp)
  push   -0x130(%rbp)
  push   -0x70(%rbp)
  push   -0x78(%rbp)
  push   -0x80(%rbp)
  push   -0x88(%rbp)
  push   -0x138(%rbp)
  push   -0x140(%rbp)
  push   -0x90(%rbp)
  push   -0x98(%rbp)
  push   -0x148(%rbp)
  push   -0xa0(%rbp)
  push   -0xa8(%rbp)
  push   -0xb0(%rbp)
  push   -0xb8(%rbp)
  push   -0xc0(%rbp)
  push   -0x150(%rbp)
  push   -0xc8(%rbp)
  push   -0x158(%rbp)
  push   -0x160(%rbp)
  push   -0xd0(%rbp)
  push   -0xd8(%rbp)
  push   -0x168(%rbp)
  push   -0xe0(%rbp)
  push   -0x170(%rbp)
  push   -0x178(%rbp)
  push   -0x180(%rbp)
  push   -0x188(%rbp)
  push   %r14
  push   %r12
  push   -0x190(%rbp)
  push   %r11
  push   -0x198(%rbp)
  push   -0x1a0(%rbp)
  push   -0x1a8(%rbp)
  push   -0x1b0(%rbp)
  push   -0x1b8(%rbp)
  push   -0x1c0(%rbp)
  push   -0x1c8(%rbp)
  push   -0x1d0(%rbp)
  push   %r15
  push   %r13
  push   %rbx
  push   %r10
  push   %r9
  push   %rcx
  mov    %r8,%r9
  mov    %rdx,%r8
  mov    %rax,%rcx
  lea    D1083(%rip),%rax
  mov    %rax,%rdx
  call   <snprintf@plt>
  add    $0x1d0,%rsp
  lea    -0x28(%rbp),%rsp
  pop    %rbx
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  pop    %rbp
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D1340
type_guessed: string
name: retrieve_data
arguments: tag: D1273
type_guessed: string
name: retrieve_data
arguments: tag: D1315
type_guessed: string
name: retrieve_data
arguments: tag: D1052
type_guessed: string
name: retrieve_data
arguments: tag: D494
type_guessed: string
name: retrieve_data
arguments: tag: D1070
type_guessed: string
name: retrieve_data
arguments: tag: D1183
type_guessed: string
name: retrieve_data
arguments: tag: D771
type_guessed: string
name: retrieve_data
arguments: tag: D644
type_guessed: string
name: retrieve_data
arguments: tag: D979
type_guessed: string
name: retrieve_data
arguments: tag: D1094
type_guessed: string
name: retrieve_data
arguments: tag: D265
type_guessed: string
name: retrieve_data
arguments: tag: D267
type_guessed: string
name: retrieve_data
arguments: tag: D227
type_guessed: string
name: retrieve_data
arguments: tag: D966
type_guessed: string
name: retrieve_data
arguments: tag: D97
type_guessed: string
name: retrieve_data
arguments: tag: D1253
type_guessed: string
name: retrieve_data
arguments: tag: D546
type_guessed: string
name: retrieve_data
arguments: tag: D1038
type_guessed: string
name: retrieve_data
arguments: tag: D744
type_guessed: string
name: retrieve_data
arguments: tag: D502
type_guessed: string
name: retrieve_data
arguments: tag: D967
type_guessed: string
name: retrieve_data
arguments: tag: D835
type_guessed: string
name: retrieve_data
arguments: tag: D596
type_guessed: string
name: retrieve_data
arguments: tag: D360
type_guessed: string
name: retrieve_data
arguments: tag: D897
type_guessed: string
name: retrieve_data
arguments: tag: D11
type_guessed: string
name: retrieve_data
arguments: tag: D977
type_guessed: string
name: retrieve_data
arguments: tag: D852
type_guessed: string
name: retrieve_data
arguments: tag: D908
type_guessed: string
name: retrieve_data
arguments: tag: D45
type_guessed: string
name: retrieve_data
arguments: tag: D85
type_guessed: string
name: retrieve_data
arguments: tag: D970
type_guessed: string
name: retrieve_data
arguments: tag: D239
type_guessed: string
name: retrieve_data
arguments: tag: D1143
type_guessed: string
name: retrieve_data
arguments: tag: D1112
type_guessed: string
name: retrieve_data
arguments: tag: D469
type_guessed: string
name: retrieve_data
arguments: tag: D197
type_guessed: string
name: retrieve_data
arguments: tag: D8
type_guessed: string
name: retrieve_data
arguments: tag: D52
type_guessed: string
name: retrieve_data
arguments: tag: D612
type_guessed: string
name: retrieve_data
arguments: tag: D1355
type_guessed: string
name: retrieve_data
arguments: tag: D861
type_guessed: string
name: retrieve_data
arguments: tag: D1308
type_guessed: string
name: retrieve_data
arguments: tag: D251
type_guessed: string
name: retrieve_data
arguments: tag: D801
type_guessed: string
name: retrieve_data
arguments: tag: D1386
type_guessed: string
name: retrieve_data
arguments: tag: D708
type_guessed: string
name: retrieve_data
arguments: tag: D12
type_guessed: string
name: retrieve_data
arguments: tag: D510
type_guessed: string
name: retrieve_data
arguments: tag: D1140
type_guessed: string
name: retrieve_data
arguments: tag: D179
type_guessed: string
name: retrieve_data
arguments: tag: D1283
type_guessed: string
name: retrieve_data
arguments: tag: D847
type_guessed: string
name: retrieve_data
arguments: tag: D402
type_guessed: string
name: retrieve_data
arguments: tag: D436
type_guessed: string
name: retrieve_data
arguments: tag: D1282
type_guessed: string
name: retrieve_data
arguments: tag: D223
type_guessed: string
name: retrieve_data
arguments: tag: D1258
type_guessed: string
name: retrieve_data
arguments: tag: D855
type_guessed: string
name: retrieve_data
arguments: tag: D577
type_guessed: string
name: retrieve_data
arguments: tag: D1083
type_guessed: string

tool: D1340: hypervisor 

tool: 

tool: D1315: rdrnd 

tool: D1052: f16c 

tool: D494: avx 

tool: D1070: osxsave 

tool: D1183: xsave 

tool: D771: aes 

tool: D644: tsc_deadline 

tool: D979: popcnt 

tool: D1094: movbe 

tool: D265: x2apic 

tool: D267: sse4_2 

tool: D227: sse4_1 

tool: D966: dca 

tool: D97: pcid 

tool: D1253: pdcm 

tool: D546: xtpr 

tool: D1038: cx16 

tool: D744: fma 

tool: D502: sdbg 

tool: D967: cnxt-id 

tool: D835: ssse3 

tool: D596: tm2 

tool: D360: est 

tool: D897: smx 

tool: D11: vmx 

tool: D977: ds_cpl 

tool: D852: monitor 

tool: D908: dtes64 

tool: D45: pclmulqdq 

tool: D85: sse3 

tool: D970: pbe 

tool: D239: tm 

tool: D1143: htt 

tool: D1112: ss 

tool: D469: sse2 

tool: D197: sse 

tool: D8: fxsr 

tool: D52: mmx 

tool: D612: acpi 

tool: D1355: ds 

tool: D861: cflsh 

tool: D1308: psn 

tool: D251: pse36 

tool: D801: pat 

tool: D1386: cmov 

tool: D708: mca 

tool: D12: pge 

tool: D510: mtrr 

tool: D1140: sep 

tool: D179: apic 

tool: D1283: cx8 

tool: D847: mce 

tool: D402: pae 

tool: D436: msr 

tool: D1282: tsc 

tool: D223: pse 

tool: D1258: de 

tool: D855: vme 

tool: D577: fpu 

tool: D1083: %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s

assistant: ```c
int get_x86_cpu_standard_flags(int intel, uint32_t ecx, uint32_t edx, char *flags, size_t len) {
  return snprintf(flags, len,
                  "%s%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s%s"
                  "%s%s%s%s",
                  edx & 0x00000001 ? "fpu " : "", edx & 0x00000002 ? "vme " : "", edx & 0x00000004 ? "de " : "", edx & 0x00000008 ? "pse " : "", edx & 0x00000010 ? "tsc " : "", edx & 0x00000020 ? "msr " : "", edx & 0x00000040 ? "pae " : "", edx & 0x00000080 ? "mce " : "", edx & 0x00000100 ? "cx8 " : "", edx & 0x00000200 ? "apic " : "", edx & 0x00000800 ? "sep " : "", edx & 0x00001000 ? "mtrr " : "", edx & 0x00002000 ? "pge " : "", edx & 0x00004000 ? "mca " : "", edx & 0x00008000 ? "cmov " : "", edx & 0x00010000 ? "pat " : "", edx & 0x00020000 ? "pse36 " : "", intel ? (edx & 0x00040000 ? "psn " : "") : "", edx & 0x00080000 ? "cflsh " : "", intel ? (edx & 0x00200000 ? "ds " : "") : "", intel ? (edx & 0x00400000 ? "acpi " : "") : "", edx & 0x00800000 ? "mmx " : "", edx & 0x01000000 ? "fxsr " : "", edx & 0x02000000 ? "sse " : "", edx & 0x04000000 ? "sse2 " : "", intel ? (edx & 0x08000000 ? "ss " : "") : "", edx & 0x10000000 ? "htt " : "", intel ? (edx & 0x20000000 ? "tm " : "") : "", intel ? (edx & 0x80000000 ? "pbe " : "") : "", ecx & 0x00000001 ? "sse3 " : "", ecx & 0x00000002 ? "pclmulqdq " : "", intel ? (ecx & 0x00000004 ? "dtes64 " : "") : "", ecx & 0x00000008 ? "monitor " : "", intel ? (ecx & 0x00000010 ? "ds_cpl " : "") : "", intel ? (ecx & 0x00000020 ? "vmx " : "") : "", intel ? (ecx & 0x00000040 ? "smx " : "") : "", intel ? (ecx & 0x00000080 ? "est " : "") : "", intel ? (ecx & 0x00000100 ? "tm2 " : "") : "", ecx & 0x00000200 ? "ssse3 " : "", intel ? (ecx & 0x00000400 ? "cnxt-id " : "") : "", intel ? (ecx & 0x00000800 ? "sdbg " : "") : "", ecx & 0x00001000 ? "fma " : "", ecx & 0x00002000 ? "cx16 " : "", intel ? (ecx & 0x00004000 ? "xtpr " : "") : "", intel ? (ecx & 0x00008000 ? "pdcm " : "") : "", intel ? (ecx & 0x00020000 ? "pcid " : "") : "", intel ? (ecx & 0x00040000 ? "dca " : "") : "", ecx & 0x00080000 ? "sse4_1 " : "", ecx & 0x00100000 ? "sse4_2 " : "", intel ? (ecx & 0x00200000 ? "x2apic " : "") : "", intel ? (ecx & 0x00400000 ? "movbe " : "") : "", ecx & 0x00800000 ? "popcnt " : "", intel ? (ecx & 0x01000000 ? "tsc_deadline " : "") : "", ecx & 0x02000000 ? "aes " : "", ecx & 0x04000000 ? "xsave " : "", ecx & 0x08000000 ? "osxsave " : "", ecx & 0x10000000 ? "avx " : "", ecx & 0x20000000 ? "f16c " : "", ecx & 0x40000000 ? "rdrnd " : "", ecx & 0x80000000 ? "hypervisor " : "");
}
```