user: 下面的汇编指令对应的C源代码是什么：

```asm
<test_sprintf>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D194(%rip),%rax
  mov    %rax,%rdi
  call   <pr@plt>
  lea    D1508(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D131(%rip),%rax
  mov    %rax,%rsi
  lea    D1289(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D130(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D131(%rip),%rax
  mov    %rax,%rsi
  lea    D759(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D770(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D147(%rip),%rax
  mov    %rax,%rsi
  lea    D361(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D130(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D147(%rip),%rax
  mov    %rax,%rsi
  lea    D531(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D86(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D478(%rip),%rax
  mov    %rax,%rsi
  lea    D971(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D728(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D478(%rip),%rax
  mov    %rax,%rsi
  lea    D490(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1519(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D91(%rip),%rax
  mov    %rax,%rsi
  lea    D1529(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D728(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D91(%rip),%rax
  mov    %rax,%rsi
  lea    D1128(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D385(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D1093(%rip),%rax
  mov    %rax,%rsi
  lea    D810(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D834(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D1093(%rip),%rax
  mov    %rax,%rsi
  lea    D383(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1576(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D928(%rip),%rax
  mov    %rax,%rsi
  lea    D717(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D834(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D928(%rip),%rax
  mov    %rax,%rsi
  lea    D1568(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1576(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D1439(%rip),%rax
  mov    %rax,%rsi
  lea    D1612(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D834(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D1439(%rip),%rax
  mov    %rax,%rsi
  lea    D522(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D86(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D975(%rip),%rax
  mov    %rax,%rsi
  lea    D3(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D728(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D975(%rip),%rax
  mov    %rax,%rsi
  lea    D395(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D230(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D848(%rip),%rax
  mov    %rax,%rsi
  lea    D718(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1197(%rip),%rax
  mov    %rax,%rcx
  mov    $0xffffcfc7,%edx
  lea    D848(%rip),%rax
  mov    %rax,%rsi
  lea    D1473(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D505(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D517(%rip),%rax
  mov    %rax,%rsi
  lea    D23(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D9(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D21(%rip),%rax
  mov    %rax,%rsi
  lea    D1233(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D416(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D487(%rip),%rax
  mov    %rax,%rsi
  lea    D889(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D861(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D1396(%rip),%rax
  mov    %rax,%rsi
  lea    D800(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D861(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D233(%rip),%rax
  mov    %rax,%rsi
  lea    D1393(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D861(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D189(%rip),%rax
  mov    %rax,%rsi
  lea    D449(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D861(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D189(%rip),%rax
  mov    %rax,%rsi
  lea    D1192(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1326(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D899(%rip),%rax
  mov    %rax,%rsi
  lea    D1243(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D881(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D1585(%rip),%rax
  mov    %rax,%rsi
  lea    D1194(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D451(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D713(%rip),%rax
  mov    %rax,%rsi
  lea    D938(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1334(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D565(%rip),%rax
  mov    %rax,%rsi
  lea    D555(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D370(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D746(%rip),%rax
  mov    %rax,%rsi
  lea    D1371(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D609(%rip),%rax
  mov    %rax,%rcx
  mov    $0x2def,%edx
  lea    D1101(%rip),%rax
  mov    %rax,%rsi
  lea    D756(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D596(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D306(%rip),%rax
  mov    %rax,%rsi
  lea    D749(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1251(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D1108(%rip),%rax
  mov    %rax,%rsi
  lea    D678(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1251(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D199(%rip),%rax
  mov    %rax,%rsi
  lea    D628(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1251(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D1562(%rip),%rax
  mov    %rax,%rsi
  lea    D1055(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1049(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D615(%rip),%rax
  mov    %rax,%rsi
  lea    D185(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D905(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D1051(%rip),%rax
  mov    %rax,%rsi
  lea    D957(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D766(%rip),%rax
  mov    %rax,%rcx
  mov    $0x10f,%edx
  lea    D1138(%rip),%rax
  mov    %rax,%rsi
  lea    D1158(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D363(%rip),%rax
  mov    %rax,%rcx
  mov    $0x0,%edx
  lea    D131(%rip),%rax
  mov    %rax,%rsi
  lea    D1125(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D363(%rip),%rax
  mov    %rax,%rcx
  mov    $0x0,%edx
  lea    D306(%rip),%rax
  mov    %rax,%rsi
  lea    D380(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D363(%rip),%rax
  mov    %rax,%rcx
  mov    $0x0,%edx
  lea    D517(%rip),%rax
  mov    %rax,%rsi
  lea    D1050(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D134(%rip),%rax
  mov    %rax,%rcx
  mov    $0x61,%edx
  lea    D981(%rip),%rax
  mov    %rax,%rsi
  lea    D1436(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1003(%rip),%rax
  mov    %rax,%rcx
  mov    $0x61,%edx
  lea    D190(%rip),%rax
  mov    %rax,%rsi
  lea    D1617(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D369(%rip),%rax
  mov    %rax,%rcx
  mov    $0x61,%edx
  lea    D1497(%rip),%rax
  mov    %rax,%rsi
  lea    D1085(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1325(%rip),%rax
  mov    %rax,%rcx
  lea    D1325(%rip),%rax
  mov    %rax,%rdx
  lea    D327(%rip),%rax
  mov    %rax,%rsi
  lea    D1007(%rip),%rax
  mov    %rax,%rdi
  call   <spfs_test@plt>
  lea    D238(%rip),%rax
  mov    %rax,%rcx
  lea    D1325(%rip),%rax
  mov    %rax,%rdx
  lea    D1053(%rip),%rax
  mov    %rax,%rsi
  lea    D1539(%rip),%rax
  mov    %rax,%rdi
  call   <spfs_test@plt>
  lea    D782(%rip),%rax
  mov    %rax,%rcx
  lea    D1325(%rip),%rax
  mov    %rax,%rdx
  lea    D1189(%rip),%rax
  mov    %rax,%rsi
  lea    D606(%rip),%rax
  mov    %rax,%rdi
  call   <spfs_test@plt>
  lea    D1508(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D106(%rip),%rax
  mov    %rax,%rsi
  lea    D1455(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1508(%rip),%rax
  mov    %rax,%rcx
  mov    $0x3039,%edx
  lea    D272(%rip),%rax
  mov    %rax,%rsi
  lea    D1145(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D90(%rip),%rax
  mov    %rax,%rcx
  mov    $0xabc,%edx
  lea    D1487(%rip),%rax
  mov    %rax,%rsi
  lea    D1455(%rip),%rax
  mov    %rax,%rdi
  call   <spfn_test@plt>
  lea    D1325(%rip),%rax
  mov    %rax,%rcx
  lea    D1325(%rip),%rax
  mov    %rax,%rdx
  lea    D1150(%rip),%rax
  mov    %rax,%rsi
  lea    D1112(%rip),%rax
  mov    %rax,%rdi
  call   <spfs_test@plt>
  lea    D1325(%rip),%rax
  mov    %rax,%rcx
  lea    D1325(%rip),%rax
  mov    %rax,%rdx
  lea    D1241(%rip),%rax
  mov    %rax,%rsi
  lea    D1599(%rip),%rax
  mov    %rax,%rdi
  call   <spfs_test@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D194
type_guessed: string
name: unpack_data
arguments: data_label: D1508
type_guessed: string
name: unpack_data
arguments: data_label: D131
type_guessed: string
name: unpack_data
arguments: data_label: D1289
type_guessed: string
name: unpack_data
arguments: data_label: D130
type_guessed: string
name: unpack_data
arguments: data_label: D759
type_guessed: string
name: unpack_data
arguments: data_label: D770
type_guessed: string
name: unpack_data
arguments: data_label: D147
type_guessed: string
name: unpack_data
arguments: data_label: D361
type_guessed: string
name: unpack_data
arguments: data_label: D531
type_guessed: string
name: unpack_data
arguments: data_label: D86
type_guessed: string
name: unpack_data
arguments: data_label: D478
type_guessed: string
name: unpack_data
arguments: data_label: D971
type_guessed: string
name: unpack_data
arguments: data_label: D728
type_guessed: string
name: unpack_data
arguments: data_label: D490
type_guessed: string
name: unpack_data
arguments: data_label: D1519
type_guessed: string
name: unpack_data
arguments: data_label: D91
type_guessed: string
name: unpack_data
arguments: data_label: D1529
type_guessed: string
name: unpack_data
arguments: data_label: D1128
type_guessed: string
name: unpack_data
arguments: data_label: D385
type_guessed: string
name: unpack_data
arguments: data_label: D1093
type_guessed: string
name: unpack_data
arguments: data_label: D810
type_guessed: string
name: unpack_data
arguments: data_label: D834
type_guessed: string
name: unpack_data
arguments: data_label: D383
type_guessed: string
name: unpack_data
arguments: data_label: D1576
type_guessed: string
name: unpack_data
arguments: data_label: D928
type_guessed: string
name: unpack_data
arguments: data_label: D717
type_guessed: string
name: unpack_data
arguments: data_label: D1568
type_guessed: string
name: unpack_data
arguments: data_label: D1439
type_guessed: string
name: unpack_data
arguments: data_label: D1612
type_guessed: string
name: unpack_data
arguments: data_label: D522
type_guessed: string
name: unpack_data
arguments: data_label: D975
type_guessed: string
name: unpack_data
arguments: data_label: D3
type_guessed: string
name: unpack_data
arguments: data_label: D395
type_guessed: string
name: unpack_data
arguments: data_label: D230
type_guessed: string
name: unpack_data
arguments: data_label: D848
type_guessed: string
name: unpack_data
arguments: data_label: D718
type_guessed: string
name: unpack_data
arguments: data_label: D1197
type_guessed: string
name: unpack_data
arguments: data_label: D1473
type_guessed: string
name: unpack_data
arguments: data_label: D505
type_guessed: string
name: unpack_data
arguments: data_label: D517
type_guessed: string
name: unpack_data
arguments: data_label: D23
type_guessed: string
name: unpack_data
arguments: data_label: D9
type_guessed: string
name: unpack_data
arguments: data_label: D21
type_guessed: string
name: unpack_data
arguments: data_label: D1233
type_guessed: string
name: unpack_data
arguments: data_label: D416
type_guessed: string
name: unpack_data
arguments: data_label: D487
type_guessed: string
name: unpack_data
arguments: data_label: D889
type_guessed: string
name: unpack_data
arguments: data_label: D861
type_guessed: string
name: unpack_data
arguments: data_label: D1396
type_guessed: string
name: unpack_data
arguments: data_label: D800
type_guessed: string
name: unpack_data
arguments: data_label: D233
type_guessed: string
name: unpack_data
arguments: data_label: D1393
type_guessed: string
name: unpack_data
arguments: data_label: D189
type_guessed: string
name: unpack_data
arguments: data_label: D449
type_guessed: string
name: unpack_data
arguments: data_label: D1192
type_guessed: string
name: unpack_data
arguments: data_label: D1326
type_guessed: string
name: unpack_data
arguments: data_label: D899
type_guessed: string
name: unpack_data
arguments: data_label: D1243
type_guessed: string
name: unpack_data
arguments: data_label: D881
type_guessed: string
name: unpack_data
arguments: data_label: D1585
type_guessed: string
name: unpack_data
arguments: data_label: D1194
type_guessed: string
name: unpack_data
arguments: data_label: D451
type_guessed: string
name: unpack_data
arguments: data_label: D713
type_guessed: string
name: unpack_data
arguments: data_label: D938
type_guessed: string
name: unpack_data
arguments: data_label: D1334
type_guessed: string
name: unpack_data
arguments: data_label: D565
type_guessed: string
name: unpack_data
arguments: data_label: D555
type_guessed: string
name: unpack_data
arguments: data_label: D370
type_guessed: string
name: unpack_data
arguments: data_label: D746
type_guessed: string
name: unpack_data
arguments: data_label: D1371
type_guessed: string
name: unpack_data
arguments: data_label: D609
type_guessed: string
name: unpack_data
arguments: data_label: D1101
type_guessed: string
name: unpack_data
arguments: data_label: D756
type_guessed: string
name: unpack_data
arguments: data_label: D596
type_guessed: string
name: unpack_data
arguments: data_label: D306
type_guessed: string
name: unpack_data
arguments: data_label: D749
type_guessed: string
name: unpack_data
arguments: data_label: D1251
type_guessed: string
name: unpack_data
arguments: data_label: D1108
type_guessed: string
name: unpack_data
arguments: data_label: D678
type_guessed: string
name: unpack_data
arguments: data_label: D199
type_guessed: string
name: unpack_data
arguments: data_label: D628
type_guessed: string
name: unpack_data
arguments: data_label: D1562
type_guessed: string
name: unpack_data
arguments: data_label: D1055
type_guessed: string
name: unpack_data
arguments: data_label: D1049
type_guessed: string
name: unpack_data
arguments: data_label: D615
type_guessed: string
name: unpack_data
arguments: data_label: D185
type_guessed: string
name: unpack_data
arguments: data_label: D905
type_guessed: string
name: unpack_data
arguments: data_label: D1051
type_guessed: string
name: unpack_data
arguments: data_label: D957
type_guessed: string
name: unpack_data
arguments: data_label: D766
type_guessed: string
name: unpack_data
arguments: data_label: D1138
type_guessed: string
name: unpack_data
arguments: data_label: D1158
type_guessed: string
name: unpack_data
arguments: data_label: D363
type_guessed: string
name: unpack_data
arguments: data_label: D1125
type_guessed: string
name: unpack_data
arguments: data_label: D380
type_guessed: string
name: unpack_data
arguments: data_label: D1050
type_guessed: string
name: unpack_data
arguments: data_label: D134
type_guessed: string
name: unpack_data
arguments: data_label: D981
type_guessed: string
name: unpack_data
arguments: data_label: D1436
type_guessed: string
name: unpack_data
arguments: data_label: D1003
type_guessed: string
name: unpack_data
arguments: data_label: D190
type_guessed: string
name: unpack_data
arguments: data_label: D1617
type_guessed: string
name: unpack_data
arguments: data_label: D369
type_guessed: string
name: unpack_data
arguments: data_label: D1497
type_guessed: string
name: unpack_data
arguments: data_label: D1085
type_guessed: string
name: unpack_data
arguments: data_label: D1325
type_guessed: string
name: unpack_data
arguments: data_label: D327
type_guessed: string
name: unpack_data
arguments: data_label: D1007
type_guessed: string
name: unpack_data
arguments: data_label: D238
type_guessed: string
name: unpack_data
arguments: data_label: D1053
type_guessed: string
name: unpack_data
arguments: data_label: D1539
type_guessed: string
name: unpack_data
arguments: data_label: D782
type_guessed: string
name: unpack_data
arguments: data_label: D1189
type_guessed: string
name: unpack_data
arguments: data_label: D606
type_guessed: string
name: unpack_data
arguments: data_label: D106
type_guessed: string
name: unpack_data
arguments: data_label: D1455
type_guessed: string
name: unpack_data
arguments: data_label: D272
type_guessed: string
name: unpack_data
arguments: data_label: D1145
type_guessed: string
name: unpack_data
arguments: data_label: D90
type_guessed: string
name: unpack_data
arguments: data_label: D1487
type_guessed: string
name: unpack_data
arguments: data_label: D1150
type_guessed: string
name: unpack_data
arguments: data_label: D1112
type_guessed: string
name: unpack_data
arguments: data_label: D1241
type_guessed: string
name: unpack_data
arguments: data_label: D1599
type_guessed: string

tool: D194: sprintf

tool: D1508: 12345

tool: D131: %d

tool: D1289: 1

tool: D130: -12345

tool: D759: 2

tool: D770: +12345

tool: D147: %+d

tool: D361: 3

tool: D531: 4

tool: D86:      12345

tool: D478: %10d

tool: D971: 5

tool: D728:     -12345

tool: D490: 6

tool: D1519:     +12345

tool: D91: %+10d

tool: D1529: 7

tool: D1128: 8

tool: D385: 12345     

tool: D1093: %-10d

tool: D810: 9

tool: D834: -12345    

tool: D383: 10

tool: D1576: +12345    

tool: D928: %-+10d

tool: D717: 11

tool: D1568: 12

tool: D1439: %+-10d

tool: D1612: 13

tool: D522: 14

tool: D975: % 10d

tool: D3: 15

tool: D395: 16

tool: D230: 0000012345

tool: D848: %010d

tool: D718: 17

tool: D1197: -000012345

tool: D1473: 18

tool: D505: 2def

tool: D517: %x

tool: D23: 19

tool: D9: 2DEF

tool: D21: %X

tool: D1233: 20

tool: D416: 0x2def

tool: D487: %#x

tool: D889: 21

tool: D861: 0X2DEF

tool: D1396: %#X

tool: D800: 22

tool: D233: %+#X

tool: D1393: 25

tool: D189: %#+X

tool: D449: 26

tool: D1192: 27

tool: D1326:       2DEF

tool: D899: %10X

tool: D1243: 28

tool: D881: 0000002DEF

tool: D1585: %010X

tool: D1194: 29

tool: D451: 2DEF      

tool: D713: %-10X

tool: D938: 30

tool: D1334:     0X2DEF

tool: D565: %#10X

tool: D555: 31

tool: D370: 0X00002DEF

tool: D746: %#010X

tool: D1371: 32

tool: D609: 0X2DEF    

tool: D1101: %#-10X

tool: D756: 33

tool: D596: 417

tool: D306: %o

tool: D749: 40

tool: D1251: 0417

tool: D1108: %#o

tool: D678: 42

tool: D199: %#+o

tool: D628: 44

tool: D1562: %+#o

tool: D1055: 45

tool: D1049:       0417

tool: D615: %#10o

tool: D185: 46

tool: D905: 0417      

tool: D1051: %#-10o

tool: D957: 47

tool: D766: 0000000417

tool: D1138: %#010o

tool: D1158: 48

tool: D363: 0

tool: D1125: 52

tool: D380: 53

tool: D1050: 54

tool: D134: a

tool: D981: %c

tool: D1436: 55

tool: D1003:          a

tool: D190: %10c

tool: D1617: 56

tool: D369: a         

tool: D1497: %-10c

tool: D1085: 57

tool: D1325: foo

tool: D327: %s

tool: D1007: 58

tool: D238:        foo

tool: D1053: %10s

tool: D1539: 59

tool: D782: foo       

tool: D1189: %-10s

tool: D606: 60

tool: D106: %1d

tool: D1455: 61

tool: D272: %-1d

tool: D1145: 62

tool: D90: 0xabc

tool: D1487: %#1x

tool: D1150: %1s

tool: D1112: 63

tool: D1241: %-1s

tool: D1599: 64

assistant: ```c
void test_sprintf(void) {
  pr("sprintf");
  spfn_test("1", "%d", 12345, "12345");
  spfn_test("2", "%d", -12345, "-12345");
  spfn_test("3", "%+d", 12345, "+12345");
  spfn_test("4", "%+d", -12345, "-12345");
  spfn_test("5", "%10d", 12345, "     12345");
  spfn_test("6", "%10d", -12345, "    -12345");
  spfn_test("7", "%+10d", 12345, "    +12345");
  spfn_test("8", "%+10d", -12345, "    -12345");
  spfn_test("9", "%-10d", 12345, "12345     ");
  spfn_test("10", "%-10d", -12345, "-12345    ");
  spfn_test("11", "%-+10d", 12345, "+12345    ");
  spfn_test("12", "%-+10d", -12345, "-12345    ");
  spfn_test("13", "%+-10d", 12345, "+12345    ");
  spfn_test("14", "%+-10d", -12345, "-12345    ");
  spfn_test("15", "% 10d", 12345, "     12345");
  spfn_test("16", "% 10d", -12345, "    -12345");
  spfn_test("17", "%010d", 12345, "0000012345");
  spfn_test("18", "%010d", -12345, "-000012345");
  spfn_test("19", "%x", 0x2def, "2def");
  spfn_test("20", "%X", 0x2def, "2DEF");
  spfn_test("21", "%#x", 0x2def, "0x2def");
  spfn_test("22", "%#X", 0x2def, "0X2DEF");
  spfn_test("25", "%+#X", 0x2def, "0X2DEF");
  spfn_test("26", "%#+X", 0x2def, "0X2DEF");
  spfn_test("27", "%#+X", 0x2def, "0X2DEF");
  spfn_test("28", "%10X", 0x2def, "      2DEF");
  spfn_test("29", "%010X", 0x2def, "0000002DEF");
  spfn_test("30", "%-10X", 0x2def, "2DEF      ");
  spfn_test("31", "%#10X", 0x2def, "    0X2DEF");
  spfn_test("32", "%#010X", 0x2def, "0X00002DEF");
  spfn_test("33", "%#-10X", 0x2def, "0X2DEF    ");
  spfn_test("40", "%o", 0417, "417");
  spfn_test("42", "%#o", 0417, "0417");
  spfn_test("44", "%#+o", 0417, "0417");
  spfn_test("45", "%+#o", 0417, "0417");
  spfn_test("46", "%#10o", 0417, "      0417");
  spfn_test("47", "%#-10o", 0417, "0417      ");
  spfn_test("48", "%#010o", 0417, "0000000417");
  spfn_test("52", "%d", 0, "0");
  spfn_test("53", "%o", 0, "0");
  spfn_test("54", "%x", 0, "0");
  spfn_test("55", "%c", 'a', "a");
  spfn_test("56", "%10c", 'a', "         a");
  spfn_test("57", "%-10c", 'a', "a         ");
  spfs_test("58", "%s", "foo", "foo");
  spfs_test("59", "%10s", "foo", "       foo");
  spfs_test("60", "%-10s", "foo", "foo       ");
  spfn_test("61", "%1d", 12345, "12345");
  spfn_test("62", "%-1d", 12345, "12345");
  spfn_test("61", "%#1x", 0xabc, "0xabc");
  spfs_test("63", "%1s", "foo", "foo");
  spfs_test("64", "%-1s", "foo", "foo");
}
```