// File: /workspace/github_c_makefile_star2_O3/canboat[P]canboat/n2kd/main.c
// Function: handleClientRequest
static void handleClientRequest(int i)
{
  ssize_t r;
  char   *p;
  size_t  remain;

  if (stream[i].len >= sizeof(stream[i].buffer) - 2)
  {
    logAbort("Input line on stream %d too long: %s\n", i, stream[i].buffer);
  }
  remain = sizeof(stream[i].buffer) - stream[i].len - 2;

  logDebug("handleClientRequest: read i=%d\n", i);
  logDebug("read %s i=%d fd=%d len=%u remain=%u\n", streamTypeName[stream[i].type], i, stream[i].fd, stream[i].len, remain);
  r = read(stream[i].fd, stream[i].buffer + stream[i].len, remain);

  if (r <= 0)
  {
    logDebug("read %s i=%d fd=%d r=%d\n", streamTypeName[stream[i].type], i, stream[i].fd, r);
    if (stream[i].type == DATA_INPUT_STREAM)
    {
      stop = true;
    }
    else
    {
      closeStream(i);
      return;
    }
  }
  logDebug("processing stream %d\n", i);

  stream[i].len += r;
  stream[i].buffer[stream[i].len] = 0;

  while (stream[i].len > 0)
  {
    size_t len;

    logDebug("processing stream %d buffer '%-1.20s...' len=%zu\n", i, stream[i].buffer, stream[i].len);
    p = strchr(stream[i].buffer, '\n');
    if (!p)
    {
      break;
    }
    len = p - stream[i].buffer;
    if (stream[i].type == CLIENT_INPUT_STREAM)
    {
      write(stdoutfd, stream[i].buffer, len + 1);
    }
    else
    {
      sbAppendData(&tcpMessage, stream[i].buffer, len + 1);
      if (stream[i].type != DATA_INPUT_STREAM || stream[outputIdx].type == DATA_OUTPUT_COPY)
      {
        /* Send all TCP client input and the main stdin stream if the mode is -o */
        /* directly to stdout */
        sbAppendData(&outMessage, stream[i].buffer, len + 1);
      }
    }
    *p = 0;
    if (storeMessage(stream[i].buffer, len) && haveNMEA0183Client)
    {
      convertJSONToNMEA0183(&nmeaMessage, stream[i].buffer);
    }
    p++, len++;
    stream[i].len -= len;

    /* Now remove [buffer..p> == the entire line */
    memmove(stream[i].buffer, p, stream[i].len + 1);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movl %edi, %ebp
movslq %edi, %rax
imulq $0x8038, %rax, %rax     # imm = 0x8038
leaq 0xc040(%rip), %rcx      # 0xe520
leaq (%rcx,%rax), %r13
movq 0x8030(%rax,%rcx), %rax
cmpq $0x7ffe, %rax           # imm = 0x7FFE
jb 0x250f
leaq 0x18(%r13), %rdx
leaq 0x73c0(%rip), %rdi      # 0x98bf
movl %ebp, %esi
xorl %eax, %eax
callq 0x762f
movq 0x8030(%r13), %rax
movl $0x7ffe, %ebx           # imm = 0x7FFE
subq %rax, %rbx
leaq 0x73c7(%rip), %rdi      # 0x98e5
movl %ebp, %esi
xorl %eax, %eax
callq 0x7509
movl (%r13), %ecx
movl 0x4(%r13), %eax
leaq 0xbcca(%rip), %r15      # 0xe200
movq (%r15,%rax,8), %rsi
movq 0x8030(%r13), %r8
leaq 0x73bd(%rip), %rdi      # 0x9905
movl %ebp, %edx
movq %rbx, %r9
xorl %eax, %eax
callq 0x7509
movl (%r13), %edi
leaq 0x18(%r13), %r14
movq 0x8030(%r13), %rsi
addq %r14, %rsi
movq %rbx, %rdx
callq 0x21b0
movq %rax, %rbx
testq %rax, %rax
jg 0x25a7
movl (%r13), %ecx
movl 0x4(%r13), %eax
movq (%r15,%rax,8), %rsi
leaq 0x73a1(%rip), %rdi      # 0x992a
movl %ebp, %edx
movq %rbx, %r8
xorl %eax, %eax
callq 0x7509
cmpl $0xe, 0x4(%r13)
jne 0x3078
movb $0x1, 0xbf6b(%rip)      # 0xe512
leaq 0x7395(%rip), %rdi      # 0x9943
movl %ebp, %esi
xorl %eax, %eax
callq 0x7509
movq 0x8030(%r13), %rax
addq %rbx, %rax
movq %rax, 0x8030(%r13)
movb $0x0, 0x18(%r13,%rax)
movq 0x8030(%r13), %rcx
testq %rcx, %rcx
je 0x3066
leaq 0x4(%r13), %rax
movq %rax, 0x68(%rsp)
movl %ebp, 0x5c(%rsp)
leaq 0x7367(%rip), %rdi      # 0x9959
movl %ebp, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x7509
movq %r14, %rdi
movl $0xa, %esi
callq 0x2110
testq %rax, %rax
je 0x3066
movq %rax, %r12
movq %rax, %rbp
subq %r14, %rbp
leaq 0x1(%rbp), %rbx
movq 0x68(%rsp), %r15
cmpl $0x2, (%r15)
jne 0x263e
movl $0x1, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x20e0
jmp 0x2684
leaq 0x2019ee3(%rip), %rdi   # 0x201c528
movq %r14, %rsi
movq %rbx, %rdx
callq 0x7870
cmpl $0xe, (%r15)
jne 0x2672
movslq 0xbcdb(%rip), %rax      # 0xe338
imulq $0x8038, %rax, %rax     # imm = 0x8038
leaq 0xbeb5(%rip), %rcx      # 0xe520
cmpl $0x10, 0x4(%rax,%rcx)
jne 0x2684
leaq 0x2019ec7(%rip), %rdi   # 0x201c540
movq %r14, %rsi
movq %rbx, %rdx
callq 0x7870
movq %rbx, 0x50(%rsp)
movb $0x0, (%r12)
xorl %eax, %eax
movl %eax, 0x14(%rsp)
movl $0xff, 0x34(%rsp)
movl %eax, 0x4(%rsp)
callq 0x72e8
movq %rax, %rbx
movl $0x7, %edi
callq 0x773c
testb %al, %al
je 0x26ef
cmpq $0x51, %rbp
jb 0x26db
movq 0x68(%rsp), %rax
leaq (%rax,%rbp), %rdx
leaq 0x72e2(%rip), %rdi      # 0x99ae
movq %r14, %rsi
movq %rbp, %rcx
xorl %eax, %eax
callq 0x7509
jmp 0x26ef
leaq 0x72f0(%rip), %rdi      # 0x99d2
movq %r14, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x7509
movq %r14, %rdi
leaq 0x72f0(%rip), %rsi      # 0x99e9
callq 0x2370
testq %rax, %rax
je 0x272d
movq (%r14), %rax
movabsq $0x7473656d6974227b, %rcx # imm = 0x7473656D6974227B
xorq %rcx, %rax
movq 0x3(%r14), %rcx
movabsq $0x706d617473656d69, %rdx # imm = 0x706D617473656D69
xorq %rdx, %rcx
orq %rax, %rcx
je 0x27d5
movq %rbp, %rbx
movq %r12, %rbp
movl $0x10, %ecx
movq %r14, %rdi
leaq 0x6a8b(%rip), %rsi      # 0x91cd
leaq 0x70(%rsp), %r12
movq %r12, %rdx
callq 0x7c22
testb %al, %al
je 0x27bc
leaq 0x72a5(%rip), %rdi      # 0x99ff
movq %r12, %rsi
xorl %eax, %eax
callq 0x73f8
movl $0x10, %ecx
movq %r14, %rdi
leaq 0x72b7(%rip), %rsi      # 0x9a2a
movq %r12, %rdx
callq 0x7c22
testb %al, %al
movq %rbp, %r12
movq %rbx, %rbp
je 0x2ff6
movl 0x70(%rsp), %eax
movl $0x6973, %ecx           # imm = 0x6973
xorl %ecx, %eax
movzbl 0x72(%rsp), %ecx
orw %ax, %cx
jne 0x2ff6
leaq 0x728a(%rip), %rdi      # 0x9a33
xorl %eax, %eax
callq 0x73f8
movb $0x1, 0xbbb1(%rip)      # 0xe368
jmp 0x2ff6
leaq 0x728a(%rip), %rdi      # 0x9a4d
xorl %eax, %eax
callq 0x7509
movq %rbp, %r12
movq %rbx, %rbp
jmp 0x300e
cmpw $0x7d7d, 0x16(%r13,%rbp) # imm = 0x7D7D
je 0x27f5
leaq 0x728b(%rip), %rdi      # 0x9a71
movq %r14, %rsi
xorl %eax, %eax
callq 0x7509
jmp 0x300e
movq %r12, 0x20(%rsp)
movl $0x10, %ecx
movq %r14, %rdi
leaq 0x7283(%rip), %rsi      # 0x9a8c
leaq 0x70(%rsp), %r12
movq %r12, %rdx
callq 0x7c22
testb %al, %al
je 0x2830
movq %r12, %rdi
leaq 0x7e06(%rip), %rsi      # 0xa62a
leaq 0x14(%rsp), %rdx
xorl %eax, %eax
callq 0x2240
movl $0x10, %ecx
movq %r14, %rdi
leaq 0x7251(%rip), %rsi      # 0x9a90
movq %r12, %rdx
callq 0x7c22
testb %al, %al
je 0x2861
movq %r12, %rdi
leaq 0x7dd5(%rip), %rsi      # 0xa62a
leaq 0x34(%rsp), %rdx
xorl %eax, %eax
callq 0x2240
movl $0x10, %ecx
movq %r14, %rdi
leaq 0x7224(%rip), %rsi      # 0x9a94
movq %r12, %rdx
callq 0x7c22
testb %al, %al
je 0x2894
leaq 0x70(%rsp), %rdi
leaq 0x7da2(%rip), %rsi      # 0xa62a
leaq 0x4(%rsp), %rdx
xorl %eax, %eax
callq 0x2240
movl 0x4(%rsp), %ecx
cmpl $0x1ffb8, %ecx          # imm = 0x1FFB8
movq 0x20(%rsp), %r12
jg 0x28ae
leal -0xe7ff(%rcx), %r15d
jmp 0x28c9
leal -0x40000(%rcx), %eax
leal -0x2e846(%rcx), %r15d
cmpl $0x201, %eax            # imm = 0x201
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmovael %eax, %r15d
movl 0x14(%rsp), %esi
movl 0x34(%rsp), %edx
leaq 0x71c0(%rip), %rdi      # 0x9a98
movl %r15d, %r8d
xorl %eax, %eax
callq 0x7509
movl 0x4(%rsp), %esi
testl %r15d, %r15d
js 0x2911
movq %rbx, 0x60(%rsp)
movl $0x78, 0x40(%rsp)
cmpl $0xee00, %esi           # imm = 0xEE00
movq %r13, 0x48(%rsp)
movq %rbp, 0x28(%rsp)
jne 0x2927
xorl %esi, %esi
jmp 0x2b2c
leaq 0x719d(%rip), %rdi      # 0x9ab5
movq %r14, %rdx
xorl %eax, %eax
callq 0x759c
jmp 0x300e
movl %r15d, 0x18(%rsp)
leaq 0xafed(%rip), %r12      # 0xd920
leaq 0x6756(%rip), %rax      # 0x9090
xorl %r15d, %r15d
movq %rax, 0x8(%rsp)
movq (%r12), %r13
movq %r14, %rdi
movq %r13, %rsi
callq 0x2370
testq %rax, %rax
je 0x29e6
movq %rax, %rbx
movq %rax, %rbp
leaq 0x7164(%rip), %rdi      # 0x9acb
movl %r15d, %esi
movq %r13, %rdx
xorl %eax, %eax
callq 0x7509
movq %r13, %rdi
callq 0x2100
addq %rax, %rbx
cmpb $0x7b, (%rbp,%rax)
jne 0x2a19
movq %rbx, %rdi
leaq 0x714e(%rip), %rsi      # 0x9ae2
callq 0x2370
movq %rax, %r13
movq %rbx, %rdi
movl $0x7d, %esi
callq 0x2110
movq %rax, %rbp
testq %r13, %r13
sete %al
cmpq %rbp, %r13
seta %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x2a0c
movq %rbx, %rdi
leaq 0x7120(%rip), %rsi      # 0x9ae9
callq 0x2370
movq %rax, %rbx
testq %rax, %rax
sete %al
cmpq %rbp, %rbx
seta %cl
orb %al, %cl
movq 0x28(%rsp), %rbp
je 0x2a15
incq %r15
movq 0x8(%rsp), %rax
addq $0x4, %rax
addq $0x8, %r12
cmpq $0x5, %r15
jne 0x293d
xorl %esi, %esi
movq 0x20(%rsp), %r12
jmp 0x2b27
addq $0x6, %r13
movq %r13, %rbx
jmp 0x2a19
addq $0x7, %rbx
movl $0x1, %ebp
xorl %r12d, %r12d
leaq 0x70c9(%rip), %r15      # 0x9af1
movsbl (%rbx,%r12), %esi
movl $0x4, %edx
movq %r15, %rdi
callq 0x21a0
incq %r12
decq %rbp
testq %rax, %rax
jne 0x2a28
leaq (%rbx,%r12), %r13
decq %r13
movq %r13, 0x40(%rsp)
movq %r13, %rdi
movl $0x20, %esi
callq 0x2110
movq %rax, %r15
movq %r13, %rdi
movl $0x22, %esi
callq 0x2110
cmpq %r15, %rax
movq %r15, %r13
cmovbq %rax, %r13
testq %r15, %r15
movq 0x40(%rsp), %r15
cmoveq %rax, %r13
testq %r13, %r13
jne 0x2a9b
movq %r15, %rdi
callq 0x2100
addq %rbx, %rax
leaq (%r12,%rax), %r13
decq %r13
cmpq %r15, %r13
jbe 0x2aad
leaq -0x1(%r13), %rax
cmpb $0x2c, -0x1(%r13)
cmoveq %rax, %r13
movq %r13, %rdi
subq %rbx, %rdi
subq %r12, %rdi
leaq 0x1(%rdi), %r12
addq $0x2, %rdi
callq 0x2220
movq %rax, %rcx
testq %rax, %rax
jne 0x2af2
leaq 0x7023(%rip), %rdi      # 0x9af5
movq %r12, %rsi
xorl %eax, %eax
movq %r12, 0x38(%rsp)
movq %r15, %r12
movq %rcx, %r15
callq 0x762f
movq %r15, %rcx
movq %r12, %r15
movq 0x38(%rsp), %r12
movq %rcx, %rdi
movq %r15, %rsi
movq %rcx, %r15
movq %r12, %rdx
callq 0x2200
movq %r15, %rsi
addq %r15, %r13
subq %rbx, %r13
movb $0x0, (%r13,%rbp)
movq 0x8(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x40(%rsp)
movq 0x20(%rsp), %r12
movq 0x28(%rsp), %rbp
movl 0x18(%rsp), %r15d
movl %r15d, %eax
leaq 0x2019a4a(%rip), %rcx   # 0x201c580
leaq (%rcx,%rax,8), %rax
movq %rax, 0x18(%rsp)
movq (%rax), %rbx
testq %rbx, %rbx
movq %rsi, 0x8(%rsp)
jne 0x2bd4
cmpq $0x200, 0x20a77f5(%rip) # imm = 0x200
jne 0x2b6b
leaq 0x6fb4(%rip), %rdi      # 0x9b18
xorl %eax, %eax
callq 0x762f
movl $0x1, %edi
movl $0x40, %esi
callq 0x21c0
movq %rax, %rbx
testq %rax, %rax
jne 0x2b95
movl $0x40, %esi
leaq 0x6f67(%rip), %rdi      # 0x9af5
xorl %eax, %eax
callq 0x762f
movq 0x18(%rsp), %rdx
movq %rbx, (%rdx)
movq 0x20a77ac(%rip), %rax   # 0x20aa350
leaq 0x1(%rax), %rcx
movq %rcx, 0x20a77a1(%rip)   # 0x20aa350
leaq 0x20a679a(%rip), %rcx   # 0x20a9350
movq %rdx, (%rcx,%rax,8)
movl 0x4(%rsp), %esi
leaq 0x6f62(%rip), %rdi      # 0x9b27
movl %r15d, %edx
xorl %eax, %eax
callq 0x7509
movq 0x8(%rsp), %rsi
cmpq $0x0, 0x8(%rbx)
je 0x2c32
movl 0x4(%rbx), %r13d
testq %r13, %r13
je 0x2cf8
movl 0x14(%rsp), %r12d
leaq 0x30(%rbx), %rbp
xorl %r15d, %r15d
movzbl -0x20(%rbp), %eax
cmpl %eax, %r12d
jne 0x2c21
movq (%rbp), %rdi
testq %rdi, %rdi
je 0x2cfb
testq %rsi, %rsi
je 0x2c21
callq 0x21d0
movq 0x8(%rsp), %rsi
testl %eax, %eax
je 0x2cfb
incq %r15
addq $0x30, %rbp
cmpq %r15, %r13
jne 0x2bf4
jmp 0x2d00
movl 0x4(%rsp), %eax
movl %eax, (%rbx)
movq %r14, %rdi
leaq 0x6f05(%rip), %rsi      # 0x9b47
callq 0x2370
movq 0x8(%rsp), %rsi
testq %rax, %rax
je 0x2bdb
movq %rax, %r15
addq $0xf, %r15
movq %r15, %rdi
movl $0x3a, %esi
callq 0x2110
movq %rax, %r13
movq %r15, 0x38(%rsp)
movq %r15, %rdi
movl $0x22, %esi
callq 0x2110
cmpq %r13, %rax
movq %r13, %r15
cmovbq %rax, %r15
testq %r13, %r13
cmoveq %rax, %r15
testq %r15, %r15
je 0x304c
movq 0x38(%rsp), %r12
subq %r12, %r15
leaq 0x6ed9(%rip), %rdi      # 0x9b7c
movq %r15, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0x7509
leaq 0x1(%r15), %rdi
callq 0x2220
movq %rax, 0x8(%rbx)
testq %rax, %rax
jne 0x2cd7
leaq 0x6e2c(%rip), %rdi      # 0x9af5
movq %r15, %rsi
xorl %eax, %eax
callq 0x762f
movq 0x8(%rbx), %rax
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x2200
movq 0x8(%rbx), %rax
movb $0x0, (%rax,%r15)
movq 0x8(%rsp), %rsi
jmp 0x2bdb
xorl %r15d, %r15d
cmpl %r13d, %r15d
jne 0x2d2b
testl %r13d, %r13d
je 0x2d32
leaq 0x30(%rbx), %r12
xorl %r15d, %r15d
movq 0x28(%rsp), %rbp
movq 0x60(%rsp), %rax
cmpq %rax, -0x18(%r12)
jb 0x2d41
incq %r15
addq $0x30, %r12
cmpq %r15, %r13
jne 0x2d11
jmp 0x2d3a
movq 0x28(%rsp), %rbp
jmp 0x2d67
xorl %r13d, %r13d
movq 0x28(%rsp), %rbp
movq 0x18(%rsp), %r12
jmp 0x2d7a
movb 0x14(%rsp), %al
movb %al, -0x20(%r12)
movq (%r12), %rdi
testq %rdi, %rdi
je 0x2d61
callq 0x2030
movq 0x8(%rsp), %rsi
movl 0x4(%rbx), %r13d
movq %rsi, (%r12)
xorl %esi, %esi
cmpl %r13d, %r15d
movq 0x18(%rsp), %r12
movq %rsi, 0x8(%rsp)
jne 0x2e97
leal 0x1(%r13), %eax
movl %eax, 0x4(%rbx)
leaq (%rax,%rax,2), %r15
shlq $0x4, %r15
addq $0x10, %r15
movq (%r12), %rdi
movq %r15, %rsi
callq 0x2260
movq %rax, %rbx
testq %rax, %rax
jne 0x2db2
leaq 0x6d4d(%rip), %rdi      # 0x9af5
movq %r15, %rsi
xorl %eax, %eax
callq 0x762f
movq %rbx, (%r12)
movb 0x14(%rsp), %al
movl %r13d, %ecx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
leaq (%rbx,%rcx), %r15
addq $0x10, %r15
movb %al, 0x10(%rbx,%rcx)
movq 0x8(%rsp), %rax
movq %rax, 0x30(%rbx,%rcx)
leaq (%rbx,%rcx), %r12
addq $0x38, %r12
xorl %eax, %eax
movq %rax, 0x38(%rbx,%rcx)
movl %eax, 0x14(%rbx,%rcx)
movq %rax, 0x20(%rbx,%rcx)
movl %eax, 0x28(%rbx,%rcx)
leaq 0x2(%rbp), %rax
movq $0x0, 0x8(%rsp)
movq 0x48(%rsp), %r13
movq 0x50(%rsp), %rbx
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
movq %rdi, 0x28(%r15)
testq %rdi, %rdi
jne 0x2e37
leaq 0x6ccc(%rip), %rdi      # 0x9af5
movq %rbx, %rsi
xorl %eax, %eax
callq 0x762f
movq (%r12), %rdi
movq %r14, %rsi
movq %rbp, %rdx
callq 0x2200
movq (%r12), %rax
movb $0xa, (%rax,%rbp)
movq (%r12), %rax
movb $0x0, 0x1(%rax,%rbp)
movl $0x78, %ebx
movl 0x4(%rsp), %esi
cmpl $0x1f015, %esi          # imm = 0x1F015
jg 0x2e7b
cmpl $0xee00, %esi           # imm = 0xEE00
je 0x2ee8
cmpl $0x1f014, %esi          # imm = 0x1F014
movq 0x20(%rsp), %r12
je 0x2eed
jmp 0x2ee2
cmpl $0x1f016, %esi          # imm = 0x1F016
movq 0x20(%rsp), %r12
je 0x2eed
cmpl $0x1ff00, %esi          # imm = 0x1FF00
jne 0x2ee2
movl $0x83d600, %ebx         # imm = 0x83D600
jmp 0x2eed
leaq 0x10(%rbx), %rax
movl %r15d, %ecx
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x28(%rax,%rcx), %rdi
leaq (%rbx,%rcx), %r15
addq $0x10, %r15
leaq (%rbx,%rcx), %r12
addq $0x38, %r12
leaq 0x2(%rbp), %rax
testq %rdi, %rdi
je 0x2e04
movq %rax, %rsi
callq 0x2260
movq %rax, %rdi
movq 0x48(%rsp), %r13
movq 0x50(%rsp), %rbx
jmp 0x2e19
movl 0x40(%rsp), %ebx
jmp 0x2eed
movq 0x20(%rsp), %r12
leaq 0x6c98(%rip), %rdi      # 0x9b8c
movl %ebx, %edx
xorl %eax, %eax
callq 0x7509
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2f0c
callq 0x2030
movslq %ebx, %rax
imulq $0x3e8, %rax, %rax      # imm = 0x3E8
movq 0x60(%rsp), %rdx
addq %rdx, %rax
movq %rax, 0x8(%r15)
movq 0x10(%r15), %rax
testq %rax, %rax
je 0x2f33
movl %edx, %ecx
subl %eax, %ecx
movl %ecx, 0x4(%r15)
movq %rdx, 0x10(%r15)
incl 0x18(%r15)
movq 0x201962e(%rip), %rax   # 0x201c570
movl $0xea60, %ecx           # imm = 0xEA60
addq %rcx, %rax
cmpq %rdx, %rax
ja 0x2ff6
movq %rdx, 0x2019616(%rip)   # 0x201c570
movl 0x135fc(%rip), %eax     # 0x1655c
andl $-0x2, %eax
cmpl $0x10, %eax
jne 0x2ff6
leaq 0x20acca5(%rip), %rcx   # 0x20afc18
movq 0x10(%rcx), %rax
movq %rax, 0x90(%rsp)
movups (%rcx), %xmm0
movaps %xmm0, 0x80(%rsp)
leaq 0xa0(%rsp), %rbx
movq %rbx, %rdi
callq 0x73f1
leaq 0x80(%rsp), %r12
movq %r12, %rdi
leaq 0x6c3d(%rip), %rsi      # 0x9be9
movq %rax, %rdx
xorl %eax, %eax
callq 0x79b5
movq %rbx, %rdi
callq 0x73f1
movq %r12, %rdi
leaq 0x6c3e(%rip), %rsi      # 0x9c06
movq %rax, %rdx
xorl %eax, %eax
callq 0x79b5
movl $0x1, %edi
movq %r12, %rsi
callq 0x4112
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2ff1
callq 0x2030
movq 0x20(%rsp), %r12
cmpb $0x1, 0xb37b(%rip)      # 0xe378
jne 0x300e
leaq 0x2019552(%rip), %rdi   # 0x201c558
movq %r14, %rsi
callq 0x6864
incq %r12
movq %rbp, %rax
notq %rax
movq 0x8030(%r13), %rdx
addq %rdx, %rax
movq %rax, 0x8030(%r13)
subq %rbp, %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x2290
movq 0x8030(%r13), %rcx
testq %rcx, %rcx
movl 0x5c(%rsp), %ebp
jne 0x25eb
jmp 0x3066
leaq 0x6b03(%rip), %rdi      # 0x9b56
movq 0x38(%rsp), %rsi
xorl %eax, %eax
callq 0x7509
movq 0x48(%rsp), %r13
jmp 0x300e
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %ebp, %edi
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3fe5