user: What would the C source look like for the assembly code provided here?

```asm
<_divuint>:
  endbr64
  mov    %edi,%eax
  mov    %esi,%edx
  lea    (%rdi,%rdi,1),%ecx
  shr    $0x1f,%eax
  cmp    %esi,%eax
  jb     L110
  sub    %esi,%eax
  or     $0x1,%ecx
L110:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L125
  sub    %edx,%eax
  or     $0x1,%esi
L125:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L8
  sub    %edx,%eax
  or     $0x1,%ecx
L8:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L70
  sub    %edx,%eax
  or     $0x1,%esi
L70:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L47
  sub    %edx,%eax
  or     $0x1,%ecx
L47:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L116
  sub    %edx,%eax
  or     $0x1,%esi
L116:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L20
  sub    %edx,%eax
  or     $0x1,%ecx
L20:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L45
  sub    %edx,%eax
  or     $0x1,%esi
L45:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L51
  sub    %edx,%eax
  or     $0x1,%ecx
L51:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L36
  sub    %edx,%eax
  or     $0x1,%esi
L36:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L141
  sub    %edx,%eax
  or     $0x1,%ecx
L141:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L53
  sub    %edx,%eax
  or     $0x1,%esi
L53:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L27
  sub    %edx,%eax
  or     $0x1,%ecx
L27:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%esi
  mov    %eax,%edi
  or     $0x1,%edi
  test   %ecx,%ecx
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L111
  sub    %edx,%eax
  or     $0x1,%esi
L111:
  add    %eax,%eax
  lea    (%rsi,%rsi,1),%ecx
  mov    %eax,%edi
  or     $0x1,%edi
  test   %esi,%esi
  cmovs  %edi,%eax
  cmp    %eax,%edx
  ja     L124
  sub    %edx,%eax
  or     $0x1,%ecx
L124:
  add    %eax,%eax
  lea    (%rcx,%rcx,1),%r8d
  mov    %eax,%esi
  or     $0x1,%esi
  test   %ecx,%ecx
  mov    %r8d,%ecx
  cmovs  %esi,%eax
  or     $0x1,%ecx
  cmp    %eax,%edx
  cmovbe %ecx,%r8d
  mov    %r8d,%eax
  ret
```

assistant: ```c
unsigned int _divuint(unsigned int x, unsigned int y) {
  unsigned int reste = 0;
  unsigned char count = 16;
  char c;
  do {
    c = ((x >> (8 * sizeof(x) - 1)) & 1);
    x <<= 1;
    reste <<= 1;
    if (c)
      reste |= 1;
    if (reste >= y) {
      reste -= y;
      x |= 1;
    }
  } while (--count);
  return x;
}
```