user: 这段汇编代码用C语言表示是什么样的?

```asm
<renduarene>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x320,%rsp
  mov    %rdi,-0x318(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x308(%rbp)
  jmp    L522
L510:
  movl   $0x0,-0x304(%rbp)
  jmp    L243
L334:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L987
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L987
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L987
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L987
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L987
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movb   $0x20,(%rdx,%rax,1)
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0x20,(%rax)
L987:
  addl   $0x1,-0x304(%rbp)
L243:
  cmpl   $0x25,-0x304(%rbp)
  jle    L334
  addl   $0x1,-0x308(%rbp)
L522:
  cmpl   $0x13,-0x308(%rbp)
  jle    L510
  movl   $0x0,-0x308(%rbp)
  jmp    L923
L111:
  movl   $0x0,-0x304(%rbp)
  jmp    L851
L186:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  movsbl %al,%eax
  cmp    $0x4d,%eax
  je     L626
  cmp    $0x4d,%eax
  jg     L577
  cmp    $0x43,%eax
  je     L161
  cmp    $0x43,%eax
  jg     L577
  cmp    $0x42,%eax
  je     L1040
  cmp    $0x42,%eax
  jg     L577
  cmp    $0x23,%eax
  je     L862
  cmp    $0x2e,%eax
  je     L169
  jmp    L577
L862:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L393
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L393
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L393
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L393
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xc9,(%rax)
L393:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L201
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L201
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L201
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L201
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xbb,(%rax)
L201:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L164
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L164
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L164
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L164
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xc8,(%rax)
L164:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L376
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L376
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L376
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L376
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xbc,(%rax)
L376:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L55
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L55
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L55
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L55
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xcd,(%rax)
L55:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L362
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L362
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L362
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L362
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xba,(%rax)
L362:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L865
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L865
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L865
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L865
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xb9,(%rax)
L865:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L437
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L437
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L437
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L437
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xca,(%rax)
L437:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L484
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L484
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L484
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L484
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xcb,(%rax)
L484:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L452
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L452
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L452
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L452
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xcc,(%rax)
L452:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L113
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L113
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L113
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L113
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xce,(%rax)
L113:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L734
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L734
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L734
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L734
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xcd,(%rax)
L734:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L723
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L723
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L723
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L723
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xcd,(%rax)
L723:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L545
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L545
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L545
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L545
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xba,(%rax)
L545:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lea    -0x26(%rax),%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  jne    L1081
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  add    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L1081
  mov    -0x308(%rbp),%eax
  cltq
  lea    0x1(%rax),%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L1081
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  add    %rax,%rdx
  mov    -0x304(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  cmp    $0x23,%al
  je     L1081
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xba,(%rax)
  jmp    L1081
L169:
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0x2e,(%rax)
  jmp    L577
L161:
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0x43,(%rax)
  jmp    L577
L626:
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0x4d,(%rax)
  jmp    L577
L1040:
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0x4,(%rax)
  jmp    L577
L1081:
  nop
L577:
  cmpl   $0x0,-0x304(%rbp)
  je     L904
  cmpl   $0x25,-0x304(%rbp)
  jne    L946
L904:
  cmpl   $0x0,-0x308(%rbp)
  je     L946
  cmpl   $0x13,-0x308(%rbp)
  je     L946
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xba,(%rax)
L946:
  cmpl   $0x0,-0x304(%rbp)
  jne    L682
  cmpl   $0x13,-0x308(%rbp)
  jne    L682
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xc8,(%rax)
L682:
  cmpl   $0x25,-0x304(%rbp)
  jne    L608
  cmpl   $0x0,-0x308(%rbp)
  jne    L608
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xbb,(%rax)
L608:
  cmpl   $0x0,-0x304(%rbp)
  jne    L71
  cmpl   $0x6,-0x308(%rbp)
  je     L121
  cmpl   $0x7,-0x308(%rbp)
  je     L121
  cmpl   $0x9,-0x308(%rbp)
  je     L121
  cmpl   $0xb,-0x308(%rbp)
  je     L121
  cmpl   $0xf,-0x308(%rbp)
  jne    L71
L121:
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xcc,(%rax)
L71:
  cmpl   $0x25,-0x304(%rbp)
  jne    L272
  cmpl   $0x6,-0x308(%rbp)
  je     L553
  cmpl   $0x7,-0x308(%rbp)
  je     L553
  cmpl   $0x9,-0x308(%rbp)
  je     L553
  cmpl   $0xb,-0x308(%rbp)
  je     L553
  cmpl   $0xd,-0x308(%rbp)
  je     L553
  cmpl   $0xf,-0x308(%rbp)
  jne    L272
L553:
  mov    -0x304(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rcx,%rax
  sub    $0x300,%rax
  movb   $0xb9,(%rax)
L272:
  addl   $0x1,-0x304(%rbp)
L851:
  cmpl   $0x25,-0x304(%rbp)
  jle    L186
  addl   $0x1,-0x308(%rbp)
L923:
  cmpl   $0x13,-0x308(%rbp)
  jle    L111
  movl   $0x0,-0x308(%rbp)
  jmp    L1052
L232:
  movl   $0x0,-0x304(%rbp)
  jmp    L19
L351:
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    -0x318(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x304(%rbp),%eax
  movslq %eax,%rsi
  mov    -0x308(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x3,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  add    %rbp,%rax
  add    %rsi,%rax
  sub    $0x300,%rax
  movzbl (%rax),%edx
  mov    -0x304(%rbp),%eax
  cltq
  mov    %dl,(%rcx,%rax,1)
  addl   $0x1,-0x304(%rbp)
L19:
  cmpl   $0x25,-0x304(%rbp)
  jle    L351
  addl   $0x1,-0x308(%rbp)
L1052:
  cmpl   $0x13,-0x308(%rbp)
  jle    L232
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L123
  call   <__stack_chk_fail@plt>
L123:
  leave
  ret
```

assistant: ```c
void renduarene(char terrain[20][38]) {
  int i, j;
  char betterterrain[20][38];
  for (i = 0; i < 20; i++) {
    for (j = 0; j < 38; j++) {
      if (terrain[i][j] == '#' && terrain[i - 1][j + 1] == '#' && terrain[i + 1][j + 1] == '#' && terrain[i + 1][j - 1] == '#' && terrain[i - 1][j - 1] == '#') {
        terrain[i][j] = ' ';
        betterterrain[i][j] = ' ';
      }
    }
  }
  for (i = 0; i < 20; i++) {
    for (j = 0; j < 38; j++) {
      switch (terrain[i][j]) {
      case '#':
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xC9;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xBB;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xC8;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xBC;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCD;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xBA;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xB9;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCA;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCB;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xCC;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCE;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCD;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xCD;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xBA;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' && terrain[i + 1][j] != '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xBA;
        }
        break;
      case '.':
        betterterrain[i][j] = '.';
        break;
      case 'C':
        betterterrain[i][j] = 'C';
        break;
      case 'M':
        betterterrain[i][j] = 'M';
        break;
      case 'B':
        betterterrain[i][j] = (char)0x4;
        break;
      }
      if ((j == 0 || j == 37) && (i != 0 && i != 19)) {
        betterterrain[i][j] = (char)0xBA;
      }
      if (j == 0 && i == 19) {
        betterterrain[i][j] = (char)0xC8;
      }
      if (j == 37 && i == 0) {
        betterterrain[i][j] = (char)0xBB;
      }
      if (j == 0 && (i == 6 || i == 7 || i == 9 || i == 11 || i == 15)) {
        betterterrain[i][j] = (char)0xCC;
      }
      if (j == 37 && (i == 6 || i == 7 || i == 9 || i == 11 || i == 13 || i == 15)) {
        betterterrain[i][j] = (char)0xB9;
      }
    }
  }
  for (i = 0; i < 20; i++) {
    for (j = 0; j < 38; j++) {
      terrain[i][j] = betterterrain[i][j];
    }
  }
}
```