user: Translate the below assembly code into C programming language:

```asm
<parse_time_inc>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %rdi,-0x18(%rbp)
  mov    %rsi,-0x20(%rbp)
  mov    %rdx,-0x28(%rbp)
  mov    -0x18(%rbp),%rax
  movzbl (%rax),%eax
  movsbl %al,%eax
  sub    $0x30,%eax
  mov    %eax,-0x8(%rbp)
  mov    -0x18(%rbp),%rax
  add    $0x1,%rax
  movzbl (%rax),%eax
  movsbl %al,%eax
  mov    %eax,%edi
  call   <isdigit@plt>
  test   %rax,%rax
  je     L53
  mov    -0x8(%rbp),%edx
  mov    %edx,%eax
  shl    $0x2,%eax
  add    %edx,%eax
  add    %eax,%eax
  mov    %eax,%edx
  mov    -0x18(%rbp),%rax
  add    $0x1,%rax
  movzbl (%rax),%eax
  movsbl %al,%eax
  add    %edx,%eax
  sub    $0x30,%eax
  mov    %eax,-0x8(%rbp)
  movl   $0x2,-0x4(%rbp)
  jmp    L107
L53:
  movl   $0x1,-0x4(%rbp)
L107:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x4d,%al
  jne    L229
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x4e,%al
  je     L279
L229:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x6d,%al
  jne    L84
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x6e,%al
  jne    L84
L279:
  mov    -0x20(%rbp),%rax
  movl   $0x0,(%rax)
  mov    -0x8(%rbp),%eax
  imul   $0x3c,%eax,%edx
  mov    -0x28(%rbp),%rax
  mov    %edx,(%rax)
  jmp    L122
L84:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x48,%al
  jne    L139
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x52,%al
  je     L258
L139:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x68,%al
  jne    L86
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x72,%al
  jne    L86
L258:
  mov    -0x20(%rbp),%rax
  movl   $0x0,(%rax)
  mov    -0x8(%rbp),%eax
  imul   $0xe10,%eax,%edx
  mov    -0x28(%rbp),%rax
  mov    %edx,(%rax)
  jmp    L122
L86:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x44,%al
  jne    L52
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x59,%al
  je     L174
L52:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x64,%al
  jne    L14
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x79,%al
  jne    L14
L174:
  mov    -0x20(%rbp),%rax
  mov    -0x8(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x28(%rbp),%rax
  movl   $0x0,(%rax)
  jmp    L122
L14:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x4d,%al
  jne    L1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x4f,%al
  je     L217
L1:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x6d,%al
  jne    L240
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x6f,%al
  jne    L240
L217:
  mov    -0x8(%rbp),%eax
  imul   $0x1e,%eax,%edx
  mov    -0x20(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x28(%rbp),%rax
  movl   $0x8ca0,(%rax)
  jmp    L122
L240:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x59,%al
  jne    L213
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x52,%al
  je     L32
L213:
  mov    -0x4(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x79,%al
  jne    L160
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movzbl (%rax),%eax
  cmp    $0x72,%al
  jne    L160
L32:
  mov    -0x8(%rbp),%eax
  imul   $0x16d,%eax,%edx
  mov    -0x20(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x28(%rbp),%rax
  movl   $0x0,(%rax)
  jmp    L122
L160:
  mov    -0x20(%rbp),%rax
  movl   $0x0,(%rax)
  mov    -0x28(%rbp),%rax
  movl   $0x0,(%rax)
  mov    $0x0,%eax
  jmp    L68
L122:
  mov    $0x1,%eax
L68:
  leave
  ret
```

assistant: ```c
int parse_time_inc(char *inc, int *days, int *seconds) {
  int i, k;
  i = inc[0] - '0';
  if (isdigit(inc[1])) {
    i = i * 10 + inc[1] - '0';
    k = 2;
  } else {
    k = 1;
  }
  if ((inc[k] == 'M' && inc[k + 1] == 'N') || (inc[k] == 'm' && inc[k + 1] == 'n')) {
    *days = 0;
    *seconds = i * 60;
  } else if ((inc[k] == 'H' && inc[k + 1] == 'R') || (inc[k] == 'h' && inc[k + 1] == 'r')) {
    *days = 0;
    *seconds = i * 60 * 60;
  } else if ((inc[k] == 'D' && inc[k + 1] == 'Y') || (inc[k] == 'd' && inc[k + 1] == 'y')) {
    *days = i;
    *seconds = 0;
  } else if ((inc[k] == 'M' && inc[k + 1] == 'O') || (inc[k] == 'm' && inc[k + 1] == 'o')) {
    *days = 30 * i;
    *seconds = 60 * 60 * 10;
  } else if ((inc[k] == 'Y' && inc[k + 1] == 'R') || (inc[k] == 'y' && inc[k + 1] == 'r')) {
    *days = 365 * i;
    *seconds = 0;
  } else {
    *days = 0;
    *seconds = 0;
    return 0;
  }
  return 1;
}
```