user: Please show me the C implementation that matches the assembly code listed below:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    -0x13000(%rsp),%r11
L8:
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  cmp    %r11,%rsp
  jne    L8
  sub    $0x890,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x13890(%rbp),%rax
  mov    $0x9c40,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  call   <memset@plt>
  movl   $0x3,-0x13890(%rbp)
  movl   $0x7,-0x13700(%rbp)
  movl   $0x4,-0x136fc(%rbp)
  movl   $0x2,-0x13570(%rbp)
  movl   $0x4,-0x1356c(%rbp)
  movl   $0x6,-0x13568(%rbp)
  movl   $0x8,-0x133e0(%rbp)
  movl   $0x5,-0x133dc(%rbp)
  movl   $0x9,-0x133d8(%rbp)
  movl   $0x3,-0x133d4(%rbp)
  lea    -0x9c50(%rbp),%rax
  mov    $0x9c40,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  call   <memset@plt>
  movl   $0x4b,-0x9c50(%rbp)
  movl   $0x5f,-0x9ac0(%rbp)
  movl   $0x40,-0x9abc(%rbp)
  movl   $0x11,-0x9930(%rbp)
  movl   $0x2f,-0x992c(%rbp)
  movl   $0x52,-0x9928(%rbp)
  movl   $0x12,-0x97a0(%rbp)
  movl   $0x23,-0x979c(%rbp)
  movl   $0x57,-0x9798(%rbp)
  movl   $0xa,-0x9794(%rbp)
  movl   $0x14,-0x9610(%rbp)
  movl   $0x4,-0x960c(%rbp)
  movl   $0x52,-0x9608(%rbp)
  movl   $0x2f,-0x9604(%rbp)
  movl   $0x41,-0x9600(%rbp)
  movl   $0x13,-0x9480(%rbp)
  movl   $0x1,-0x947c(%rbp)
  movl   $0x17,-0x9478(%rbp)
  movl   $0x4b,-0x9474(%rbp)
  movl   $0x3,-0x9470(%rbp)
  movl   $0x22,-0x946c(%rbp)
  movl   $0x58,-0x92f0(%rbp)
  movl   $0x2,-0x92ec(%rbp)
  movl   $0x4d,-0x92e8(%rbp)
  movl   $0x49,-0x92e4(%rbp)
  movl   $0x7,-0x92e0(%rbp)
  movl   $0x3f,-0x92dc(%rbp)
  movl   $0x43,-0x92d8(%rbp)
  movl   $0x63,-0x9160(%rbp)
  movl   $0x41,-0x915c(%rbp)
  movl   $0x4,-0x9158(%rbp)
  movl   $0x1c,-0x9154(%rbp)
  movl   $0x6,-0x9150(%rbp)
  movl   $0x10,-0x914c(%rbp)
  movl   $0x46,-0x9148(%rbp)
  movl   $0x5c,-0x9144(%rbp)
  movl   $0x29,-0x8fd0(%rbp)
  movl   $0x29,-0x8fcc(%rbp)
  movl   $0x1a,-0x8fc8(%rbp)
  movl   $0x38,-0x8fc4(%rbp)
  movl   $0x53,-0x8fc0(%rbp)
  movl   $0x28,-0x8fbc(%rbp)
  movl   $0x50,-0x8fb8(%rbp)
  movl   $0x46,-0x8fb4(%rbp)
  movl   $0x21,-0x8fb0(%rbp)
  movl   $0x29,-0x8e40(%rbp)
  movl   $0x30,-0x8e3c(%rbp)
  movl   $0x48,-0x8e38(%rbp)
  movl   $0x21,-0x8e34(%rbp)
  movl   $0x2f,-0x8e30(%rbp)
  movl   $0x20,-0x8e2c(%rbp)
  movl   $0x25,-0x8e28(%rbp)
  movl   $0x10,-0x8e24(%rbp)
  movl   $0x5e,-0x8e20(%rbp)
  movl   $0x1d,-0x8e1c(%rbp)
  movl   $0x35,-0x8cb0(%rbp)
  movl   $0x47,-0x8cac(%rbp)
  movl   $0x2c,-0x8ca8(%rbp)
  movl   $0x41,-0x8ca4(%rbp)
  movl   $0x19,-0x8ca0(%rbp)
  movl   $0x2b,-0x8c9c(%rbp)
  movl   $0x5b,-0x8c98(%rbp)
  movl   $0x34,-0x8c94(%rbp)
  movl   $0x61,-0x8c90(%rbp)
  movl   $0x33,-0x8c8c(%rbp)
  movl   $0xe,-0x8c88(%rbp)
  movl   $0x46,-0x8b20(%rbp)
  movl   $0xb,-0x8b1c(%rbp)
  movl   $0x21,-0x8b18(%rbp)
  movl   $0x1c,-0x8b14(%rbp)
  movl   $0x4d,-0x8b10(%rbp)
  movl   $0x49,-0x8b0c(%rbp)
  movl   $0x11,-0x8b08(%rbp)
  movl   $0x4e,-0x8b04(%rbp)
  movl   $0x27,-0x8b00(%rbp)
  movl   $0x44,-0x8afc(%rbp)
  movl   $0x11,-0x8af8(%rbp)
  movl   $0x39,-0x8af4(%rbp)
  movl   $0x5b,-0x8990(%rbp)
  movl   $0x47,-0x898c(%rbp)
  movl   $0x34,-0x8988(%rbp)
  movl   $0x26,-0x8984(%rbp)
  movl   $0x11,-0x8980(%rbp)
  movl   $0xe,-0x897c(%rbp)
  movl   $0x5b,-0x8978(%rbp)
  movl   $0x2b,-0x8974(%rbp)
  movl   $0x3a,-0x8970(%rbp)
  movl   $0x32,-0x896c(%rbp)
  movl   $0x1b,-0x8968(%rbp)
  movl   $0x1d,-0x8964(%rbp)
  movl   $0x30,-0x8960(%rbp)
  movl   $0x3f,-0x8800(%rbp)
  movl   $0x42,-0x87fc(%rbp)
  movl   $0x4,-0x87f8(%rbp)
  movl   $0x44,-0x87f4(%rbp)
  movl   $0x59,-0x87f0(%rbp)
  movl   $0x35,-0x87ec(%rbp)
  movl   $0x43,-0x87e8(%rbp)
  movl   $0x1e,-0x87e4(%rbp)
  movl   $0x49,-0x87e0(%rbp)
  movl   $0x10,-0x87dc(%rbp)
  movl   $0x45,-0x87d8(%rbp)
  movl   $0x57,-0x87d4(%rbp)
  movl   $0x28,-0x87d0(%rbp)
  movl   $0x1f,-0x87cc(%rbp)
  movl   $0x4,-0x8670(%rbp)
  movl   $0x3e,-0x866c(%rbp)
  movl   $0x62,-0x8668(%rbp)
  movl   $0x1b,-0x8664(%rbp)
  movl   $0x17,-0x8660(%rbp)
  movl   $0x9,-0x865c(%rbp)
  movl   $0x46,-0x8658(%rbp)
  movl   $0x62,-0x8654(%rbp)
  movl   $0x49,-0x8650(%rbp)
  movl   $0x5d,-0x864c(%rbp)
  movl   $0x26,-0x8648(%rbp)
  movl   $0x35,-0x8644(%rbp)
  movl   $0x3c,-0x8640(%rbp)
  movl   $0x4,-0x863c(%rbp)
  movl   $0x17,-0x8638(%rbp)
  lea    -0x13890(%rbp),%rax
  mov    $0x4,%esi
  mov    %rax,%rdi
  call   <sum_brute_force@plt>
  cmp    $0x17,%eax
  sete   %al
  movzbl %al,%eax
  mov    %eax,%edi
  call   <assert@plt>
  lea    -0x9c50(%rbp),%rax
  mov    $0xf,%esi
  mov    %rax,%rdi
  call   <sum_brute_force@plt>
  cmp    $0x432,%eax
  sete   %al
  movzbl %al,%eax
  mov    %eax,%edi
  call   <assert@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L16
  call   <__stack_chk_fail@plt>
L16:
  leave
  ret
```

assistant: ```c
int main() {
  int test_data_1[100][100] = {{3}, {7, 4}, {2, 4, 6}, {8, 5, 9, 3}};
  int test_data_2[100][100] = {
      {75}, {95, 64}, {17, 47, 82}, {18, 35, 87, 10}, {20, 4, 82, 47, 65}, {19, 1, 23, 75, 3, 34}, {88, 2, 77, 73, 7, 63, 67}, {99, 65, 4, 28, 6, 16, 70, 92}, {41, 41, 26, 56, 83, 40, 80, 70, 33}, {41, 48, 72, 33, 47, 32, 37, 16, 94, 29}, {53, 71, 44, 65, 25, 43, 91, 52, 97, 51, 14}, {70, 11, 33, 28, 77, 73, 17, 78, 39, 68, 17, 57}, {91, 71, 52, 38, 17, 14, 91, 43, 58, 50, 27, 29, 48}, {63, 66, 4, 68, 89, 53, 67, 30, 73, 16, 69, 87, 40, 31}, {4, 62, 98, 27, 23, 9, 70, 98, 73, 93, 38, 53, 60, 4, 23},
  };
  assert(23 == sum_brute_force(test_data_1, 4));
  assert(1074 == sum_brute_force(test_data_2, 15));
  return 0;
}
```