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

```asm
<mr_parsenum>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x3d8,%rsp
  mov    %rdi,%r13
  mov    %rdx,%rbx
  mov    %fs:0x28,%rax
  mov    %rax,0x3c8(%rsp)
  xor    %eax,%eax
  lea    D429(%rip),%rax
  mov    %rax,(%rsp)
  lea    D8(%rip),%rax
  mov    %rax,0x8(%rsp)
  lea    D719(%rip),%rax
  mov    %rax,0x10(%rsp)
  lea    D480(%rip),%rax
  mov    %rax,0x18(%rsp)
  lea    D96(%rip),%rax
  mov    %rax,0x20(%rsp)
  lea    D112(%rip),%rax
  mov    %rax,0x28(%rsp)
  lea    D647(%rip),%rax
  mov    %rax,0x30(%rsp)
  lea    D999(%rip),%rax
  mov    %rax,0x38(%rsp)
  lea    D620(%rip),%rax
  mov    %rax,0x40(%rsp)
  lea    D87(%rip),%rax
  mov    %rax,0x48(%rsp)
  lea    D437(%rip),%rax
  mov    %rax,0x50(%rsp)
  lea    D963(%rip),%rax
  mov    %rax,0x58(%rsp)
  lea    D540(%rip),%rax
  mov    %rax,0x60(%rsp)
  lea    D731(%rip),%rax
  mov    %rax,0x68(%rsp)
  lea    D593(%rip),%rax
  mov    %rax,0x70(%rsp)
  lea    D157(%rip),%rax
  mov    %rax,0x78(%rsp)
  lea    D71(%rip),%rax
  mov    %rax,0x80(%rsp)
  lea    D934(%rip),%rax
  mov    %rax,0x88(%rsp)
  lea    D138(%rip),%rax
  mov    %rax,0x90(%rsp)
  lea    D31(%rip),%rax
  mov    %rax,0x98(%rsp)
  lea    D95(%rip),%rax
  mov    %rax,0xa0(%rsp)
  lea    D987(%rip),%rax
  mov    %rax,0xa8(%rsp)
  lea    D566(%rip),%rax
  mov    %rax,0xb0(%rsp)
  lea    D1028(%rip),%rax
  mov    %rax,0xb8(%rsp)
  lea    D458(%rip),%rax
  mov    %rax,0xc0(%rsp)
  lea    D60(%rip),%rax
  mov    %rax,0xc8(%rsp)
  lea    D404(%rip),%rax
  mov    %rax,0xd0(%rsp)
  lea    D10(%rip),%rax
  mov    %rax,0xd8(%rsp)
  lea    D423(%rip),%rax
  mov    %rax,0xe0(%rsp)
  lea    D1038(%rip),%rax
  mov    %rax,0xe8(%rsp)
  lea    D225(%rip),%rax
  mov    %rax,0xf0(%rsp)
  lea    D730(%rip),%rax
  mov    %rax,0xf8(%rsp)
  lea    D232(%rip),%rax
  mov    %rax,0x100(%rsp)
  lea    D1152(%rip),%rax
  mov    %rax,0x108(%rsp)
  lea    D681(%rip),%rax
  mov    %rax,0x110(%rsp)
  lea    D875(%rip),%rax
  mov    %rax,0x118(%rsp)
  lea    D579(%rip),%rax
  mov    %rax,0x120(%rsp)
  lea    D575(%rip),%rax
  mov    %rax,0x128(%rsp)
  lea    D595(%rip),%rax
  mov    %rax,0x130(%rsp)
  lea    D958(%rip),%rax
  mov    %rax,0x138(%rsp)
  lea    D505(%rip),%rax
  mov    %rax,0x140(%rsp)
  lea    D904(%rip),%rax
  mov    %rax,0x148(%rsp)
  lea    D456(%rip),%rax
  mov    %rax,0x150(%rsp)
  lea    D284(%rip),%rax
  mov    %rax,0x158(%rsp)
  lea    D41(%rip),%rax
  mov    %rax,0x160(%rsp)
  lea    D652(%rip),%rax
  mov    %rax,0x168(%rsp)
  lea    D517(%rip),%rax
  mov    %rax,0x170(%rsp)
  lea    D612(%rip),%rax
  mov    %rax,0x178(%rsp)
  lea    D264(%rip),%rax
  mov    %rax,0x180(%rsp)
  lea    D478(%rip),%rax
  mov    %rax,0x188(%rsp)
  lea    D439(%rip),%rax
  mov    %rax,0x190(%rsp)
  lea    D101(%rip),%rax
  mov    %rax,0x198(%rsp)
  lea    D0(%rip),%rax
  mov    %rax,0x1a0(%rsp)
  lea    D741(%rip),%rax
  mov    %rax,0x1a8(%rsp)
  lea    D972(%rip),%rax
  mov    %rax,0x1b0(%rsp)
  lea    D355(%rip),%rax
  mov    %rax,0x1b8(%rsp)
  lea    D1144(%rip),%rax
  mov    %rax,0x1c0(%rsp)
  lea    D763(%rip),%rax
  mov    %rax,0x1c8(%rsp)
  lea    D1050(%rip),%rax
  mov    %rax,0x1d0(%rsp)
  lea    D940(%rip),%rax
  mov    %rax,0x1d8(%rsp)
  lea    D943(%rip),%rax
  mov    %rax,0x1e0(%rsp)
  lea    D394(%rip),%rax
  mov    %rax,0x1e8(%rsp)
  lea    D313(%rip),%rax
  mov    %rax,0x1f0(%rsp)
  lea    D747(%rip),%rax
  mov    %rax,0x1f8(%rsp)
  lea    D118(%rip),%rax
  mov    %rax,0x200(%rsp)
  lea    D988(%rip),%rax
  mov    %rax,0x208(%rsp)
  lea    D707(%rip),%rax
  mov    %rax,0x210(%rsp)
  lea    D698(%rip),%rax
  mov    %rax,0x218(%rsp)
  lea    D1117(%rip),%rax
  mov    %rax,0x220(%rsp)
  lea    D276(%rip),%rax
  mov    %rax,0x228(%rsp)
  lea    D570(%rip),%rax
  mov    %rax,0x230(%rsp)
  lea    D909(%rip),%rax
  mov    %rax,0x238(%rsp)
  lea    D459(%rip),%rax
  mov    %rax,0x240(%rsp)
  lea    D11(%rip),%rax
  mov    %rax,0x248(%rsp)
  lea    D1124(%rip),%rax
  mov    %rax,0x250(%rsp)
  lea    D670(%rip),%rax
  mov    %rax,0x258(%rsp)
  lea    D969(%rip),%rax
  mov    %rax,0x260(%rsp)
  lea    D922(%rip),%rax
  mov    %rax,0x268(%rsp)
  lea    D898(%rip),%rax
  mov    %rax,0x270(%rsp)
  lea    D720(%rip),%rax
  mov    %rax,0x278(%rsp)
  lea    D49(%rip),%rax
  mov    %rax,0x280(%rsp)
  lea    D654(%rip),%rax
  mov    %rax,0x288(%rsp)
  lea    D262(%rip),%rax
  mov    %rax,0x290(%rsp)
  lea    D853(%rip),%rax
  mov    %rax,0x298(%rsp)
  lea    D64(%rip),%rax
  mov    %rax,0x2a0(%rsp)
  lea    D860(%rip),%rax
  mov    %rax,0x2a8(%rsp)
  lea    D321(%rip),%rax
  mov    %rax,0x2b0(%rsp)
  lea    D383(%rip),%rax
  mov    %rax,0x2b8(%rsp)
  lea    D425(%rip),%rax
  mov    %rax,0x2c0(%rsp)
  lea    D388(%rip),%rax
  mov    %rax,0x2c8(%rsp)
  lea    D765(%rip),%rax
  mov    %rax,0x2d0(%rsp)
  lea    D883(%rip),%rax
  mov    %rax,0x2d8(%rsp)
  lea    D839(%rip),%rax
  mov    %rax,0x2e0(%rsp)
  lea    D89(%rip),%rax
  mov    %rax,0x2e8(%rsp)
  lea    D748(%rip),%rax
  mov    %rax,0x2f0(%rsp)
  lea    D569(%rip),%rax
  mov    %rax,0x2f8(%rsp)
  lea    D977(%rip),%rax
  mov    %rax,0x300(%rsp)
  lea    D376(%rip),%rax
  mov    %rax,0x308(%rsp)
  lea    D91(%rip),%rax
  mov    %rax,0x310(%rsp)
  lea    D890(%rip),%rax
  mov    %rax,0x318(%rsp)
  lea    D374(%rip),%rax
  mov    %rax,0x320(%rsp)
  lea    D1182(%rip),%rax
  mov    %rax,0x328(%rsp)
  lea    D995(%rip),%rax
  mov    %rax,0x330(%rsp)
  lea    D1090(%rip),%rax
  mov    %rax,0x338(%rsp)
  lea    D50(%rip),%rax
  mov    %rax,0x340(%rsp)
  lea    D74(%rip),%rax
  mov    %rax,0x348(%rsp)
  lea    D761(%rip),%rax
  mov    %rax,0x350(%rsp)
  lea    D863(%rip),%rax
  mov    %rax,0x358(%rsp)
  lea    D852(%rip),%rax
  mov    %rax,0x360(%rsp)
  lea    D496(%rip),%rax
  mov    %rax,0x368(%rsp)
  lea    0x50(%rsp),%rax
  mov    %rax,0x370(%rsp)
  lea    0xa0(%rsp),%rax
  mov    %rax,0x378(%rsp)
  lea    0xf0(%rsp),%rax
  mov    %rax,0x380(%rsp)
  lea    0x140(%rsp),%rax
  mov    %rax,0x388(%rsp)
  lea    0x190(%rsp),%rax
  mov    %rax,0x390(%rsp)
  lea    0x1e0(%rsp),%rax
  mov    %rax,0x398(%rsp)
  lea    0x230(%rsp),%rax
  mov    %rax,0x3a0(%rsp)
  lea    0x280(%rsp),%rax
  mov    %rax,0x3a8(%rsp)
  lea    0x2d0(%rsp),%rax
  mov    %rax,0x3b0(%rsp)
  lea    0x320(%rsp),%rax
  mov    %rax,0x3b8(%rsp)
  cmp    $0x1,%esi
  je     L95
  mov    %esi,%r12d
  cmp    $0x2,%esi
  je     L34
  cmp    $0x3,%esi
  je     L83
  jle    L88
  lea    -0x3(%rsi),%r15d
  mov    $0x0,%ebp
  test   $0x1,%sil
  je     L101
L23:
  movslq %ebp,%rbp
  lea    D704(%rip),%r14
L104:
  movslq 0x0(%r13,%rbp,4),%rax
  movslq 0x4(%r13,%rbp,4),%rdx
  mov    0x370(%rsp,%rax,8),%rax
  mov    (%rax,%rdx,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %r14,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %r12d,%edx
  sub    %ebp,%edx
  mov    %edx,%eax
  shr    $0x1f,%eax
  add    %edx,%eax
  sar    %eax
  cltq
  mov    (%rsp,%rax,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %r14,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  add    $0x2,%rbp
  cmp    %ebp,%r15d
  jg     L104
L66:
  movslq %r12d,%r12
  shl    $0x2,%r12
  mov    -0xc(%r13,%r12,1),%eax
  test   %eax,%eax
  jne    L108
L46:
  movslq -0x8(%r13,%r12,1),%rax
  movslq -0x4(%r13,%r12,1),%rdx
  mov    0x370(%rsp,%rax,8),%rax
  mov    (%rax,%rdx,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  lea    D704(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
L88:
  mov    0x3c8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L58
  add    $0x3d8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L95:
  movslq (%rdi),%rax
  mov    0x50(%rsp,%rax,8),%rsi
  mov    %rdx,%rdi
  call   <strcat@plt>
  lea    D704(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  jmp    L88
L34:
  movslq (%rdi),%rax
  movslq 0x4(%rdi),%rdx
  mov    0x370(%rsp,%rax,8),%rax
  mov    (%rax,%rdx,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  lea    D704(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  jmp    L88
L83:
  movslq (%rdi),%rax
  mov    0x50(%rsp,%rax,8),%rsi
  mov    %rdx,%rdi
  call   <strcat@plt>
  lea    D704(%rip),%rbp
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  lea    D8(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  movslq 0x4(%r13),%rax
  movslq 0x8(%r13),%rdx
  mov    0x370(%rsp,%rax,8),%rax
  mov    (%rax,%rdx,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  jmp    L88
L101:
  movslq (%rdi),%rax
  mov    0x50(%rsp,%rax,8),%rsi
  mov    %rdx,%rdi
  call   <strcat@plt>
  lea    D704(%rip),%rbp
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  lea    -0x1(%r12),%edx
  mov    %edx,%eax
  shr    $0x1f,%eax
  add    %edx,%eax
  sar    %eax
  add    $0x1,%eax
  cltq
  mov    (%rsp,%rax,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  cmp    $0x1,%r15d
  jle    L66
  mov    $0x1,%ebp
  jmp    L23
L108:
  cltq
  mov    0x50(%rsp,%rax,8),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  lea    D704(%rip),%rbp
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  lea    D8(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <strcat@plt>
  jmp    L46
L58:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: label: D429
type_infered: string
name: parse_data
arguments: label: D8
type_infered: string
name: parse_data
arguments: label: D719
type_infered: string
name: parse_data
arguments: label: D480
type_infered: string
name: parse_data
arguments: label: D96
type_infered: string
name: parse_data
arguments: label: D112
type_infered: string
name: parse_data
arguments: label: D647
type_infered: string
name: parse_data
arguments: label: D999
type_infered: string
name: parse_data
arguments: label: D620
type_infered: string
name: parse_data
arguments: label: D87
type_infered: string
name: parse_data
arguments: label: D437
type_infered: string
name: parse_data
arguments: label: D963
type_infered: string
name: parse_data
arguments: label: D540
type_infered: string
name: parse_data
arguments: label: D731
type_infered: string
name: parse_data
arguments: label: D593
type_infered: string
name: parse_data
arguments: label: D157
type_infered: string
name: parse_data
arguments: label: D71
type_infered: string
name: parse_data
arguments: label: D934
type_infered: string
name: parse_data
arguments: label: D138
type_infered: string
name: parse_data
arguments: label: D31
type_infered: string
name: parse_data
arguments: label: D95
type_infered: string
name: parse_data
arguments: label: D987
type_infered: string
name: parse_data
arguments: label: D566
type_infered: string
name: parse_data
arguments: label: D1028
type_infered: string
name: parse_data
arguments: label: D458
type_infered: string
name: parse_data
arguments: label: D60
type_infered: string
name: parse_data
arguments: label: D404
type_infered: string
name: parse_data
arguments: label: D10
type_infered: string
name: parse_data
arguments: label: D423
type_infered: string
name: parse_data
arguments: label: D1038
type_infered: string
name: parse_data
arguments: label: D225
type_infered: string
name: parse_data
arguments: label: D730
type_infered: string
name: parse_data
arguments: label: D232
type_infered: string
name: parse_data
arguments: label: D1152
type_infered: string
name: parse_data
arguments: label: D681
type_infered: string
name: parse_data
arguments: label: D875
type_infered: string
name: parse_data
arguments: label: D579
type_infered: string
name: parse_data
arguments: label: D575
type_infered: string
name: parse_data
arguments: label: D595
type_infered: string
name: parse_data
arguments: label: D958
type_infered: string
name: parse_data
arguments: label: D505
type_infered: string
name: parse_data
arguments: label: D904
type_infered: string
name: parse_data
arguments: label: D456
type_infered: string
name: parse_data
arguments: label: D284
type_infered: string
name: parse_data
arguments: label: D41
type_infered: string
name: parse_data
arguments: label: D652
type_infered: string
name: parse_data
arguments: label: D517
type_infered: string
name: parse_data
arguments: label: D612
type_infered: string
name: parse_data
arguments: label: D264
type_infered: string
name: parse_data
arguments: label: D478
type_infered: string
name: parse_data
arguments: label: D439
type_infered: string
name: parse_data
arguments: label: D101
type_infered: string
name: parse_data
arguments: label: D0
type_infered: string
name: parse_data
arguments: label: D741
type_infered: string
name: parse_data
arguments: label: D972
type_infered: string
name: parse_data
arguments: label: D355
type_infered: string
name: parse_data
arguments: label: D1144
type_infered: string
name: parse_data
arguments: label: D763
type_infered: string
name: parse_data
arguments: label: D1050
type_infered: string
name: parse_data
arguments: label: D940
type_infered: string
name: parse_data
arguments: label: D943
type_infered: string
name: parse_data
arguments: label: D394
type_infered: string
name: parse_data
arguments: label: D313
type_infered: string
name: parse_data
arguments: label: D747
type_infered: string
name: parse_data
arguments: label: D118
type_infered: string
name: parse_data
arguments: label: D988
type_infered: string
name: parse_data
arguments: label: D707
type_infered: string
name: parse_data
arguments: label: D698
type_infered: string
name: parse_data
arguments: label: D1117
type_infered: string
name: parse_data
arguments: label: D276
type_infered: string
name: parse_data
arguments: label: D570
type_infered: string
name: parse_data
arguments: label: D909
type_infered: string
name: parse_data
arguments: label: D459
type_infered: string
name: parse_data
arguments: label: D11
type_infered: string
name: parse_data
arguments: label: D1124
type_infered: string
name: parse_data
arguments: label: D670
type_infered: string
name: parse_data
arguments: label: D969
type_infered: string
name: parse_data
arguments: label: D922
type_infered: string
name: parse_data
arguments: label: D898
type_infered: string
name: parse_data
arguments: label: D720
type_infered: string
name: parse_data
arguments: label: D49
type_infered: string
name: parse_data
arguments: label: D654
type_infered: string
name: parse_data
arguments: label: D262
type_infered: string
name: parse_data
arguments: label: D853
type_infered: string
name: parse_data
arguments: label: D64
type_infered: string
name: parse_data
arguments: label: D860
type_infered: string
name: parse_data
arguments: label: D321
type_infered: string
name: parse_data
arguments: label: D383
type_infered: string
name: parse_data
arguments: label: D425
type_infered: string
name: parse_data
arguments: label: D388
type_infered: string
name: parse_data
arguments: label: D765
type_infered: string
name: parse_data
arguments: label: D883
type_infered: string
name: parse_data
arguments: label: D839
type_infered: string
name: parse_data
arguments: label: D89
type_infered: string
name: parse_data
arguments: label: D748
type_infered: string
name: parse_data
arguments: label: D569
type_infered: string
name: parse_data
arguments: label: D977
type_infered: string
name: parse_data
arguments: label: D376
type_infered: string
name: parse_data
arguments: label: D91
type_infered: string
name: parse_data
arguments: label: D890
type_infered: string
name: parse_data
arguments: label: D374
type_infered: string
name: parse_data
arguments: label: D1182
type_infered: string
name: parse_data
arguments: label: D995
type_infered: string
name: parse_data
arguments: label: D1090
type_infered: string
name: parse_data
arguments: label: D50
type_infered: string
name: parse_data
arguments: label: D74
type_infered: string
name: parse_data
arguments: label: D761
type_infered: string
name: parse_data
arguments: label: D863
type_infered: string
name: parse_data
arguments: label: D852
type_infered: string
name: parse_data
arguments: label: D496
type_infered: string
name: parse_data
arguments: label: D704
type_infered: string

tool: D429:  

tool: D8: sh8

tool: D719: h1 z2r

tool: D480: l2kh

tool: D96: k12 tt4

tool: D112: 1 r1b

tool: D647: kh1 r1b

tool: D999: n4l

tool: D620: p1 d1m

tool: D87: sh1n 0kh

tool: D437: sh6n 0y

tool: D963: 8k

tool: D540: d12n

tool: D731: t4n

tool: D593: ch2r

tool: D157: p2ch

tool: D71: s1 h2

tool: D934: s2t

tool: D138: 2tth

tool: D31: n6

tool: D95: d1 h2

tool: D987: 1k r2

tool: D566: b2 r2

tool: D1028: t8 r2

tool: D458: ch13 d2

tool: D60: p1n dh1 r2

tool: D404: s12 ll2

tool: D10: s1t r2

tool: D423: 1tth r2

tool: D1038: 8 k12 nna2 v3s

tool: D225: v4s

tool: D730: 8k v4s

tool: D232: b2 v4s

tool: D1152: t8 v4s

tool: D681: ch12 v4s

tool: D875: p1n ch1 v4s

tool: D579: s1v v4s

tool: D575: s1t t2 v4s

tool: D595: 1tth tth2 v4s

tool: D958: 8 k12nna t4s

tool: D505: t4s

tool: D904: 8k t4s

tool: D456: b1t t4s

tool: D284: t8h t4s

tool: D41: ch13 t4s

tool: D652: p1s t4s

tool: D517: chh1t t4s

tool: D612: s1d t4s

tool: D264: 1dd t4s

tool: D478: 8 k12nna ch2 ll4s

tool: D439: ch2 ll4s

tool: D101: 8k k8 ch2 ll4s

tool: D0: b8 ch2 ll4s

tool: D741: tHr8 ch2 ll4s

tool: D972: ch1v v8 ch2 ll4s

tool: D355: p1n 0ch ch8 ch2 ll4s

tool: D1144: s8 h8 ch2 ll4s

tool: D763: s1t t8 ch2 ll4s

tool: D1050: 1tth tth8 ch2 ll4s

tool: D940: 8 k12nna p1n n2s

tool: D943: p1n n2s

tool: D394: 8k k2 v1n

tool: D313: b2 v1n

tool: D747: tHr8 p1n 0n

tool: D118: ch12 p1n

tool: D988: p1n ch2 v1n 0n

tool: D707: chh1p p1n

tool: D698: s1t t2 v1n

tool: D1117: 1tth tth2 v1n

tool: D276: 8 k12nna s2tth

tool: D570: s2tth

tool: D909: 8k s1sh 0tth

tool: D459: b2 s1sh 0tth

tool: D11: tHr8 s1sh 0tth

tool: D1124: ch13 s1sh 0tth

tool: D670: p2 s1sh 0tth

tool: D969: s1 h2 s1sh 0tth

tool: D922: s1 d5 s1sh 0tth

tool: D898: 1 dd5 s1sh 0tth

tool: D720: 8 k12nna s1t t1r

tool: D49: s1t t1r

tool: D654: 8k k2 h1t t1r

tool: D262: b2 h1t t1r

tool: D853: tHr8 h1t t1r

tool: D64: ch13r y2 h1t t1r

tool: D860: p1n 0ch ch2 h1t t1r 

tool: D321: sh1 h2 h1t t1r

tool: D383: s1t y2 h1t t1r

tool: D425: 1tth y2 h1t t1r

tool: D388: 8 k12 nna9n sh4

tool: D765: 9n sh4

tool: D883: 8k y2 9n sh4

tool: D839: bHy2 9n sh4

tool: D89: 0t 0r y2 9n sh4

tool: D748: ch13r y2 9n sh4

tool: D569: p1n  chHy2 9n sh4

tool: D977: sh1h y2 9n sh4

tool: D376: s1t y2 9n sh4

tool: D91: 1tth 0tth y2 9n sh4

tool: D890: 8 k12nna n1v v1d

tool: D374: n1v v1d

tool: D1182: 8k y2 n1v

tool: D995: bHy2 n1v

tool: D1090: 0t 0r y2n n1v

tool: D50: ch13r y2n n1v

tool: D74: p1n  chHy2n n1v

tool: D761: sh1h y2 nna1v

tool: D863: s1t  tHy2n n1v

tool: D852: 1tth 0tth y2n n1v

tool: D496: n1v y2n n1v

tool: D704:  G3000 

assistant: ```c
void mr_parsenum(int *arr, int arrsz, char *final) {
  char *scales[] = {" ", "sh8", "h1 z2r", "l2kh", "k12 tt4", "1 r1b", "kh1 r1b", "n4l", "p1 d1m", "sh1n 0kh"};
  char *units[] = {"sh6n 0y", "8k", "d12n", "t4n", "ch2r", "p2ch", "s1 h2", "s2t", "2tth", "n6"};
  char *teens[] = {"d1 h2", "1k r2", "b2 r2", "t8 r2", "ch13 d2", "p1n dh1 r2", "s12 ll2", "s1t r2", "1tth r2", "8 k12 nna2 v3s"};
  char *twenties[] = {"v4s", "8k v4s", "b2 v4s", "t8 v4s", "ch12 v4s", "p1n ch1 v4s", "s1v v4s", "s1t t2 v4s", "1tth tth2 v4s", "8 k12nna t4s"};
  char *thirties[] = {"t4s", "8k t4s", "b1t t4s", "t8h t4s", "ch13 t4s", "p1s t4s", "chh1t t4s", "s1d t4s", "1dd t4s", "8 k12nna ch2 ll4s"};
  char *forties[] = {"ch2 ll4s", "8k k8 ch2 ll4s", "b8 ch2 ll4s", "tHr8 ch2 ll4s", "ch1v v8 ch2 ll4s", "p1n 0ch ch8 ch2 ll4s", "s8 h8 ch2 ll4s", "s1t t8 ch2 ll4s", "1tth tth8 ch2 ll4s", "8 k12nna p1n n2s"};
  char *fifties[] = {"p1n n2s", "8k k2 v1n", "b2 v1n", "tHr8 p1n 0n", "ch12 p1n", "p1n ch2 v1n 0n", "chh1p p1n", "s1t t2 v1n", "1tth tth2 v1n", "8 k12nna s2tth"};
  char *sixties[] = {"s2tth", "8k s1sh 0tth", "b2 s1sh 0tth", "tHr8 s1sh 0tth", "ch13 s1sh 0tth", "p2 s1sh 0tth", "s1 h2 s1sh 0tth", "s1 d5 s1sh 0tth", "1 dd5 s1sh 0tth", "8 k12nna s1t t1r"};
  char *seventies[] = {"s1t t1r", "8k k2 h1t t1r", "b2 h1t t1r", "tHr8 h1t t1r", "ch13r y2 h1t t1r", "p1n 0ch ch2 h1t t1r ", "sh1 h2 h1t t1r", "s1t y2 h1t t1r", "1tth y2 h1t t1r", "8 k12 nna9n sh4"};
  char *eighties[] = {"9n sh4", "8k y2 9n sh4", "bHy2 9n sh4", "0t 0r y2 9n sh4", "ch13r y2 9n sh4", "p1n  chHy2 9n sh4", "sh1h y2 9n sh4", "s1t y2 9n sh4", "1tth 0tth y2 9n sh4", "8 k12nna n1v v1d"};
  char *nineties[] = {"n1v v1d", "8k y2 n1v", "bHy2 n1v", "0t 0r y2n n1v", "ch13r y2n n1v", "p1n  chHy2n n1v", "sh1h y2 nna1v", "s1t  tHy2n n1v", "1tth 0tth y2n n1v", "n1v y2n n1v"};
  char **uptohundred[] = {units, teens, twenties, thirties, forties, fifties, sixties, seventies, eighties, nineties};
  int i = 0, j = 0;
  if (arrsz == 1) {
    strcat(final, units[arr[i]]);
    strcat(final, " G3000 ");
  } else if (arrsz == 2) {
    strcat(final, uptohundred[arr[i]][arr[i + 1]]);
    strcat(final, " G3000 ");
  } else if (arrsz == 3) {
    strcat(final, units[arr[i]]);
    strcat(final, " G3000 ");
    i++;
    strcat(final, scales[1]);
    strcat(final, " G3000 ");
    strcat(final, uptohundred[arr[i]][arr[i + 1]]);
    strcat(final, " G3000 ");
  } else if (arrsz > 3) {
    j = 0;
    i = (arrsz % 2) ? 0 : 1;
    if (i) {
      strcat(final, units[arr[0]]);
      strcat(final, " G3000 ");
      j++;
      strcat(final, scales[(arrsz - i) / 2 + 1]);
      strcat(final, " G3000 ");
      j++;
    }
    for (; i < arrsz - 3; i += 2) {
      strcat(final, uptohundred[arr[i]][arr[i + 1]]);
      strcat(final, " G3000 ");
      j++;
      strcat(final, scales[(arrsz - i) / 2]);
      strcat(final, " G3000 ");
      j++;
    }
    if (arr[arrsz - 3]) {
      strcat(final, units[arr[arrsz - 3]]);
      strcat(final, " G3000 ");
      j++;
      strcat(final, scales[1]);
      strcat(final, " G3000 ");
      j++;
    }
    strcat(final, uptohundred[arr[arrsz - 2]][arr[arrsz - 1]]);
    strcat(final, " G3000 ");
  }
}
```