user: 请将以下的汇编代码转换成C语言代码：

```asm
<Chk>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x60,%rsp
  mov    %rdi,-0x58(%rbp)
  mov    %rsi,-0x60(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x58(%rbp),%rax
  mov    $0x0,%edx
  divq   -0x60(%rbp)
  mov    %rax,-0x30(%rbp)
  mov    -0x58(%rbp),%rax
  mov    $0x0,%edx
  divq   -0x60(%rbp)
  mov    %rdx,-0x28(%rbp)
  movb   $0x4,-0x1c(%rbp)
  movb   $0x4,-0x17(%rbp)
  mov    -0x58(%rbp),%rax
  mov    %al,-0x1b(%rbp)
  mov    -0x60(%rbp),%rax
  mov    %al,-0x16(%rbp)
  mov    -0x58(%rbp),%rax
  shr    $0x8,%rax
  mov    %al,-0x1a(%rbp)
  mov    -0x60(%rbp),%rax
  shr    $0x8,%rax
  mov    %al,-0x15(%rbp)
  mov    -0x58(%rbp),%rax
  shr    $0x10,%rax
  mov    %al,-0x19(%rbp)
  mov    -0x60(%rbp),%rax
  shr    $0x10,%rax
  mov    %al,-0x14(%rbp)
  mov    -0x58(%rbp),%rax
  shr    $0x18,%rax
  mov    %al,-0x18(%rbp)
  mov    -0x60(%rbp),%rax
  shr    $0x18,%rax
  mov    %al,-0x13(%rbp)
  lea    -0xd(%rbp),%rcx
  lea    -0x12(%rbp),%rdx
  lea    -0x17(%rbp),%rsi
  lea    -0x1c(%rbp),%rax
  mov    %rax,%rdi
  call   <LInt_Div@plt>
  movzbl -0x12(%rbp),%eax
  test   %al,%al
  je     L280
  movzbl -0x11(%rbp),%eax
  movzbl %al,%eax
  mov    %rax,-0x40(%rbp)
  movzbl -0x12(%rbp),%eax
  cmp    $0x1,%al
  jbe    L21
  movzbl -0x10(%rbp),%eax
  movzbl %al,%eax
  shl    $0x8,%rax
  add    %rax,-0x40(%rbp)
L21:
  movzbl -0x12(%rbp),%eax
  cmp    $0x2,%al
  jbe    L120
  movzbl -0xf(%rbp),%eax
  movzbl %al,%eax
  shl    $0x10,%rax
  add    %rax,-0x40(%rbp)
L120:
  movzbl -0x12(%rbp),%eax
  cmp    $0x3,%al
  jbe    L246
  movzbl -0xe(%rbp),%eax
  movzbl %al,%eax
  shl    $0x18,%rax
  add    %rax,-0x40(%rbp)
  jmp    L246
L280:
  movq   $0x0,-0x40(%rbp)
L246:
  movzbl -0xd(%rbp),%eax
  test   %al,%al
  je     L207
  movzbl -0xc(%rbp),%eax
  movzbl %al,%eax
  mov    %rax,-0x38(%rbp)
  movzbl -0xd(%rbp),%eax
  cmp    $0x1,%al
  jbe    L46
  movzbl -0xb(%rbp),%eax
  movzbl %al,%eax
  shl    $0x8,%rax
  add    %rax,-0x38(%rbp)
L46:
  movzbl -0xd(%rbp),%eax
  cmp    $0x2,%al
  jbe    L131
  movzbl -0xa(%rbp),%eax
  movzbl %al,%eax
  shl    $0x10,%rax
  add    %rax,-0x38(%rbp)
L131:
  movzbl -0xd(%rbp),%eax
  cmp    $0x3,%al
  jbe    L104
  movzbl -0x9(%rbp),%eax
  movzbl %al,%eax
  shl    $0x18,%rax
  add    %rax,-0x38(%rbp)
  jmp    L104
L207:
  movq   $0x0,-0x38(%rbp)
L104:
  mov    -0x30(%rbp),%rax
  cmp    -0x40(%rbp),%rax
  jne    L253
  mov    -0x28(%rbp),%rax
  cmp    -0x38(%rbp),%rax
  je     L174
L253:
  mov    -0x58(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x58(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x58(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D12(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x60(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x60(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x60(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D37(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x30(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x30(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x30(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x28(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x28(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x28(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D79(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x40(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x40(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x40(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x38(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x38(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x38(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D64(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L174:
  movzbl -0x1c(%rbp),%eax
  movzbl %al,%eax
  mov    %eax,-0x44(%rbp)
  jmp    L255
L199:
  subl   $0x1,-0x44(%rbp)
L255:
  cmpl   $0x0,-0x44(%rbp)
  je     L33
  mov    -0x44(%rbp),%eax
  cltq
  movzbl -0x1c(%rbp,%rax,1),%eax
  test   %al,%al
  je     L199
L33:
  mov    -0x44(%rbp),%eax
  mov    %al,-0x1c(%rbp)
  movzbl -0x17(%rbp),%eax
  movzbl %al,%eax
  mov    %eax,-0x44(%rbp)
  jmp    L219
L157:
  subl   $0x1,-0x44(%rbp)
L219:
  cmpl   $0x0,-0x44(%rbp)
  je     L61
  mov    -0x44(%rbp),%eax
  cltq
  movzbl -0x17(%rbp,%rax,1),%eax
  test   %al,%al
  je     L157
L61:
  mov    -0x44(%rbp),%eax
  mov    %al,-0x17(%rbp)
  lea    -0xd(%rbp),%rcx
  lea    -0x12(%rbp),%rdx
  lea    -0x17(%rbp),%rsi
  lea    -0x1c(%rbp),%rax
  mov    %rax,%rdi
  call   <LInt_Div@plt>
  movzbl -0x12(%rbp),%eax
  test   %al,%al
  je     L123
  movzbl -0x11(%rbp),%eax
  movzbl %al,%eax
  mov    %rax,-0x40(%rbp)
  movzbl -0x12(%rbp),%eax
  cmp    $0x1,%al
  jbe    L202
  movzbl -0x10(%rbp),%eax
  movzbl %al,%eax
  shl    $0x8,%rax
  add    %rax,-0x40(%rbp)
L202:
  movzbl -0x12(%rbp),%eax
  cmp    $0x2,%al
  jbe    L159
  movzbl -0xf(%rbp),%eax
  movzbl %al,%eax
  shl    $0x10,%rax
  add    %rax,-0x40(%rbp)
L159:
  movzbl -0x12(%rbp),%eax
  cmp    $0x3,%al
  jbe    L180
  movzbl -0xe(%rbp),%eax
  movzbl %al,%eax
  shl    $0x18,%rax
  add    %rax,-0x40(%rbp)
  jmp    L180
L123:
  movq   $0x0,-0x40(%rbp)
L180:
  movzbl -0xd(%rbp),%eax
  test   %al,%al
  je     L16
  movzbl -0xc(%rbp),%eax
  movzbl %al,%eax
  mov    %rax,-0x38(%rbp)
  movzbl -0xd(%rbp),%eax
  cmp    $0x1,%al
  jbe    L228
  movzbl -0xb(%rbp),%eax
  movzbl %al,%eax
  shl    $0x8,%rax
  add    %rax,-0x38(%rbp)
L228:
  movzbl -0xd(%rbp),%eax
  cmp    $0x2,%al
  jbe    L78
  movzbl -0xa(%rbp),%eax
  movzbl %al,%eax
  shl    $0x10,%rax
  add    %rax,-0x38(%rbp)
L78:
  movzbl -0xd(%rbp),%eax
  cmp    $0x3,%al
  jbe    L300
  movzbl -0x9(%rbp),%eax
  movzbl %al,%eax
  shl    $0x18,%rax
  add    %rax,-0x38(%rbp)
  jmp    L300
L16:
  movq   $0x0,-0x38(%rbp)
L300:
  mov    -0x30(%rbp),%rax
  cmp    -0x40(%rbp),%rax
  jne    L312
  mov    -0x28(%rbp),%rax
  cmp    -0x38(%rbp),%rax
  je     L58
L312:
  mov    -0x58(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x58(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x58(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D102(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x60(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x60(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x60(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D37(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x30(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x30(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x30(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x28(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x28(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x28(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D79(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x40(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x40(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x40(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x38(%rbp),%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%edi
  mov    -0x38(%rbp),%rax
  movabs $0x346dc5d63886594b,%rdx
  mul    %rdx
  mov    %rdx,%rcx
  shr    $0xb,%rcx
  movabs $0x346dc5d63886594b,%rdx
  mov    %rcx,%rax
  mul    %rdx
  mov    %rdx,%rax
  shr    $0xb,%rax
  imul   $0x2710,%rax,%rdx
  mov    %rcx,%rax
  sub    %rdx,%rax
  mov    %eax,%esi
  mov    -0x38(%rbp),%rax
  movabs $0xabcc77118461cefd,%rdx
  mul    %rdx
  mov    %rdx,%rax
  shr    $0x1a,%rax
  mov    %edi,%ecx
  mov    %esi,%edx
  mov    %eax,%esi
  lea    D64(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x1,%eax
  jmp    L48
L58:
  mov    $0x0,%eax
L48:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L3
  call   <__stack_chk_fail@plt>
L3:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D12
type_guessed: string
name: extract_symbolic_data
arguments: tag: D37
type_guessed: string
name: extract_symbolic_data
arguments: tag: D43
type_guessed: string
name: extract_symbolic_data
arguments: tag: D79
type_guessed: string
name: extract_symbolic_data
arguments: tag: D64
type_guessed: string
name: extract_symbolic_data
arguments: tag: D102
type_guessed: string

tool: D12: 
Warning! %2d%04d%04d /

tool: D37:  %2d%04d%04d =

tool: D43:  %2d%04d%04d ..

tool: D79:  %2d%04d%04d but

tool: D64:  %2d%04d%04d


tool: D102: 
Error! %2d%04d%04d /

assistant: ```c
char Chk(unsigned long A, unsigned long B) {
  unsigned long C, D, C2, D2;
  int Cnt;
  unsigned char Rtn, A1[5], B1[5], C1[5], D1[5];
  char LInt_Div(unsigned char *, unsigned char *, unsigned char *, unsigned char *);
  C = A / B;
  D = A % B;
  A1[0] = (char)4;
  B1[0] = (char)4;
  A1[1] = (char)(A % 256);
  B1[1] = (char)(B % 256);
  A1[2] = (char)((A / 256) % 256);
  B1[2] = (char)((B / 256) % 256);
  A1[3] = (char)((A / 65536) % 256);
  B1[3] = (char)((B / 65536) % 256);
  A1[4] = (char)(A / 16777216);
  B1[4] = (char)(B / 16777216);
  LInt_Div(A1, B1, C1, D1);
  if ((int)C1[0] > 0) {
    C2 = (long)C1[1];
    if (C1[0] > (char)1)
      C2 += (unsigned long)C1[2] * 256;
    if (C1[0] > (char)2)
      C2 += (unsigned long)C1[3] * 65536;
    if (C1[0] > (char)3)
      C2 += (unsigned long)C1[4] * 16777216;
  } else
    C2 = 0;
  if ((int)D1[0] > 0) {
    D2 = (long)D1[1];
    if (D1[0] > (char)1)
      D2 += (unsigned long)D1[2] * 256;
    if (D1[0] > (char)2)
      D2 += (unsigned long)D1[3] * 65536;
    if (D1[0] > (char)3)
      D2 += (unsigned long)D1[4] * 16777216;
  } else
    D2 = 0;
  if (C != C2 || D != D2) {
    printf("\nWarning! %2d%04d%04d /", (int)(A / 100000000), (int)(A / 10000 % 10000), (int)(A % 10000));
    printf(" %2d%04d%04d =", (int)(B / 100000000), (int)(B / 10000 % 10000), (int)(B % 10000));
    printf(" %2d%04d%04d ..", (int)(C / 100000000), (int)(C / 10000 % 10000), (int)(C % 10000));
    printf(" %2d%04d%04d but", (int)(D / 100000000), (int)(D / 10000 % 10000), (int)(D % 10000));
    printf(" %2d%04d%04d ..", (int)(C2 / 100000000), (int)(C2 / 10000 % 10000), (int)(C2 % 10000));
    printf(" %2d%04d%04d\n", (int)(D2 / 100000000), (int)(D2 / 10000 % 10000), (int)(D2 % 10000));
  }
  for (Cnt = (int)A1[0]; Cnt != 0 && A1[Cnt] == (char)0; Cnt--)
    ;
  A1[0] = (char)Cnt;
  for (Cnt = (int)B1[0]; Cnt != 0 && B1[Cnt] == (char)0; Cnt--)
    ;
  B1[0] = (char)Cnt;
  LInt_Div(A1, B1, C1, D1);
  if ((int)C1[0] > 0) {
    C2 = (long)C1[1];
    if (C1[0] > (char)1)
      C2 += (unsigned long)C1[2] * 256;
    if (C1[0] > (char)2)
      C2 += (unsigned long)C1[3] * 65536;
    if (C1[0] > (char)3)
      C2 += (unsigned long)C1[4] * 16777216;
  } else
    C2 = 0;
  if ((int)D1[0] > 0) {
    D2 = (long)D1[1];
    if (D1[0] > (char)1)
      D2 += (unsigned long)D1[2] * 256;
    if (D1[0] > (char)2)
      D2 += (unsigned long)D1[3] * 65536;
    if (D1[0] > (char)3)
      D2 += (unsigned long)D1[4] * 16777216;
  } else
    D2 = 0;
  if (C != C2 || D != D2) {
    printf("\nError! %2d%04d%04d /", (int)(A / 100000000), (int)(A / 10000 % 10000), (int)(A % 10000));
    printf(" %2d%04d%04d =", (int)(B / 100000000), (int)(B / 10000 % 10000), (int)(B % 10000));
    printf(" %2d%04d%04d ..", (int)(C / 100000000), (int)(C / 10000 % 10000), (int)(C % 10000));
    printf(" %2d%04d%04d but", (int)(D / 100000000), (int)(D / 10000 % 10000), (int)(D % 10000));
    printf(" %2d%04d%04d ..", (int)(C2 / 100000000), (int)(C2 / 10000 % 10000), (int)(C2 % 10000));
    printf(" %2d%04d%04d\n", (int)(D2 / 100000000), (int)(D2 / 10000 % 10000), (int)(D2 % 10000));
    return (char)1;
  }
  return (char)0;
}
```