user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<getDay>:
  endbr64
  push   %rbx
  mov    $0x0,%edi
  call   <sceKernelLibcTime@plt>
  lea    -0x41d5e800(%rax),%ecx
  movslq %ecx,%rdx
  imul   $0xffffffffc22e4507,%rdx,%rdx
  shr    $0x20,%rdx
  add    %ecx,%edx
  sar    $0x10,%edx
  sar    $0x1f,%ecx
  sub    %ecx,%edx
  cmp    $0x420017ff,%eax
  jg     L79
  mov    $0x1f,%ebx
  sub    %edx,%ebx
L123:
  mov    %ebx,%edi
  call   <convertTOchar@plt>
  pop    %rbx
  ret
L79:
  lea    -0x20(%rdx),%eax
  cmp    $0x1b,%eax
  ja     L83
  mov    $0x3b,%ebx
  sub    %edx,%ebx
  jmp    L123
L83:
  lea    -0x3c(%rdx),%eax
  cmp    $0x1e,%eax
  ja     L220
  mov    $0x5a,%ebx
  sub    %edx,%ebx
  jmp    L123
L220:
  lea    -0x5b(%rdx),%eax
  cmp    $0x1d,%eax
  ja     L100
  mov    $0x78,%ebx
  sub    %edx,%ebx
  jmp    L123
L100:
  lea    -0x79(%rdx),%eax
  cmp    $0x1e,%eax
  ja     L120
  mov    $0x97,%ebx
  sub    %edx,%ebx
  jmp    L123
L120:
  lea    -0x98(%rdx),%eax
  cmp    $0x1d,%eax
  ja     L164
  mov    $0xb5,%ebx
  sub    %edx,%ebx
  jmp    L123
L164:
  lea    -0xb6(%rdx),%eax
  cmp    $0x1e,%eax
  ja     L166
  mov    $0xd4,%ebx
  sub    %edx,%ebx
  jmp    L123
L166:
  lea    -0xd5(%rdx),%eax
  cmp    $0x1e,%eax
  ja     L88
  mov    $0xf3,%ebx
  sub    %edx,%ebx
  jmp    L123
L88:
  lea    -0xf4(%rdx),%eax
  cmp    $0x1d,%eax
  ja     L118
  mov    $0x111,%ebx
  sub    %edx,%ebx
  jmp    L123
L118:
  lea    -0x112(%rdx),%eax
  cmp    $0x1e,%eax
  ja     L132
  mov    $0x130,%ebx
  sub    %edx,%ebx
  jmp    L123
L132:
  lea    -0x131(%rdx),%eax
  cmp    $0x1d,%eax
  ja     L187
  mov    $0x14e,%ebx
  sub    %edx,%ebx
  jmp    L123
L187:
  lea    -0x14f(%rdx),%eax
  cmp    $0x1e,%eax
  ja     L123
  mov    $0x16d,%ebx
  sub    %edx,%ebx
  jmp    L123
```

assistant: ```c
char *getDay() {
  int tempy = sceKernelLibcTime((void *)0);
  int days_this_year = (tempy - 1104537600) / (24 * 60 * 60);
  int day_of_month;
  static char *day;
  if (days_this_year <= 31) {
    day_of_month = 31 - days_this_year;
  } else if (days_this_year > 31 && days_this_year <= 59) {
    day_of_month = 59 - days_this_year;
  } else if (days_this_year > 59 && days_this_year <= 90) {
    day_of_month = 90 - days_this_year;
  } else if (days_this_year > 90 && days_this_year <= 120) {
    day_of_month = 120 - days_this_year;
  } else if (days_this_year > 120 && days_this_year <= 151) {
    day_of_month = 151 - days_this_year;
  } else if (days_this_year > 151 && days_this_year <= 181) {
    day_of_month = 181 - days_this_year;
  } else if (days_this_year > 181 && days_this_year <= 212) {
    day_of_month = 212 - days_this_year;
  } else if (days_this_year > 212 && days_this_year <= 243) {
    day_of_month = 243 - days_this_year;
  } else if (days_this_year > 243 && days_this_year <= 273) {
    day_of_month = 273 - days_this_year;
  } else if (days_this_year > 273 && days_this_year <= 304) {
    day_of_month = 304 - days_this_year;
  } else if (days_this_year > 304 && days_this_year <= 334) {
    day_of_month = 334 - days_this_year;
  } else if (days_this_year > 334 && days_this_year <= 365) {
    day_of_month = 365 - days_this_year;
  }
  day = convertTOchar(day_of_month);
  return day;
}
```