// File: /workspace/github_cpp_makefile_star2_O2/nilnilnil[P]autocomplete/deps/mongoose/mongoose.c
// Function: process_new_connection
static void process_new_connection(struct mg_connection *conn) {
  struct mg_request_info *ri = &conn->request_info;
  int keep_alive_enabled;
  const char *cl;

  keep_alive_enabled = !strcmp(conn->ctx->config[ENABLE_KEEP_ALIVE], "yes");

  do {
    reset_per_request_attributes(conn);

    // If next request is not pipelined, read it in
    if ((conn->request_len = get_request_len(conn->buf, conn->data_len)) == 0) {
      conn->request_len = read_request(NULL, conn->client.sock, conn->ssl,
          conn->buf, conn->buf_size, &conn->data_len);
    }
    assert(conn->data_len >= conn->request_len);
    if (conn->request_len == 0 && conn->data_len == conn->buf_size) {
      send_http_error(conn, 413, "Request Too Large", "");
      return;
    } if (conn->request_len <= 0) {
      return;  // Remote end closed the connection
    }

    // Nul-terminate the request cause parse_http_request() uses sscanf
    conn->buf[conn->request_len - 1] = '\0';
    if (!parse_http_request(conn->buf, ri) ||
        (!conn->client.is_proxy && !is_valid_uri(ri->uri))) {
      // Do not put garbage in the access log, just send it back to the client
      send_http_error(conn, 400, "Bad Request",
          "Cannot parse HTTP request: [%.*s]", conn->data_len, conn->buf);
    } else if (strcmp(ri->http_version, "1.0") &&
               strcmp(ri->http_version, "1.1")) {
      // Request seems valid, but HTTP version is strange
      send_http_error(conn, 505, "HTTP version not supported", "");
      log_access(conn);
    } else {
      // Request is valid, handle it
      cl = get_header(ri, "Content-Length");
      conn->content_len = cl == NULL ? -1 : strtoll(cl, NULL, 10);
      conn->birth_time = time(NULL);
      if (conn->client.is_proxy) {
        handle_proxy_request(conn);
      } else {
        handle_request(conn);
      }
      log_access(conn);
      discard_current_request_from_buffer(conn);
    }
    // conn->peer is not NULL only for SSL-ed proxy connections
  } while (conn->peer || (keep_alive_enabled && should_keep_alive(conn)));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x5718, %rsp           # imm = 0x5718
movq %rdi, %rbx
leaq 0x8(%rdi), %rax
movq %rax, 0x58(%rsp)
movq 0x458(%rdi), %rax
movq 0x78(%rax), %rdi
leaq 0x4870(%rip), %rsi      # 0x128d0
callq 0x56c0
movl %eax, 0x68(%rsp)
leaq 0x10(%rbx), %rax
movq %rax, 0x60(%rsp)
leaq 0x4d8(%rbx), %rax
movq %rax, 0x98(%rsp)
leaq 0x58(%rbx), %rax
movq %rax, 0x88(%rsp)
leaq 0x60(%rbx), %rax
movq %rax, 0x90(%rsp)
leaq 0x3710(%rsp), %r12
pushq $0x1
popq %r13
movq 0x30(%rbx), %rdi
callq 0x55b0
andq $0x0, 0x30(%rbx)
andl $0x0, 0x54(%rbx)
movq 0x60(%rsp), %rax
andq $0x0, 0x10(%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, (%rax)
orl $-0x1, 0x4c(%rbx)
andq $0x0, 0x4c0(%rbx)
andq $0x0, 0x4b0(%rbx)
orq $-0x1, 0x4b8(%rbx)
andq $0x0, 0x4d4(%rbx)
movq 0x4c8(%rbx), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x104a0
movl %eax, 0x4d4(%rbx)
testl %eax, %eax
jne 0xe134
movl 0x470(%rbx), %esi
movq 0x460(%rbx), %rdx
movl 0x4d0(%rbx), %r8d
xorl %edi, %edi
movq %r15, %rcx
movq 0x98(%rsp), %r9
callq 0x10551
movl %eax, 0x4d4(%rbx)
testl %eax, %eax
je 0x10275
jle 0x102a0
movl %r13d, %r14d
movq 0x4c8(%rbx), %rcx
movl %eax, %eax
movb $0x0, -0x1(%rcx,%rax)
movq 0x4c8(%rbx), %r15
movzbl (%r15), %r13d
testq %r13, %r13
je 0xe178
callq 0x5510
movq (%rax), %rax
testb $0x20, 0x1(%rax,%r13,2)
je 0xe178
incq %r15
jmp 0xe15a
movq %r15, 0x3710(%rsp)
movq %r12, %rdi
leaq 0x413e(%rip), %r15      # 0x122c8
movq %r15, %rsi
callq 0x10948
movq %rax, 0x10(%rbx)
movq %r12, %rdi
movq %r15, %rsi
callq 0x10948
movq %rax, 0x18(%rbx)
movq %r12, %rdi
leaq 0x508e(%rip), %rsi      # 0x1323d
callq 0x10948
movq %rax, %rbp
movq %rax, 0x20(%rbx)
movq 0x10(%rbx), %r15
movq %r15, %rdi
leaq 0x4d46(%rip), %rsi      # 0x12f0f
callq 0x56c0
testl %eax, %eax
je 0xe231
movq %r15, %rdi
leaq 0x4d37(%rip), %rsi      # 0x12f13
callq 0x56c0
testl %eax, %eax
je 0xe231
movq %r15, %rdi
leaq 0x4d29(%rip), %rsi      # 0x12f18
callq 0x56c0
testl %eax, %eax
je 0xe231
movq %r15, %rdi
leaq 0x4d1b(%rip), %rsi      # 0x12f1d
callq 0x56c0
testl %eax, %eax
je 0xe231
movq %r15, %rdi
leaq 0x4d10(%rip), %rsi      # 0x12f25
callq 0x56c0
testl %eax, %eax
je 0xe231
movq %r15, %rdi
leaq 0x4d01(%rip), %rsi      # 0x12f29
callq 0x56c0
testl %eax, %eax
jne 0xe247
movq %rbp, %rdi
leaq 0x4cce(%rip), %rsi      # 0x12f09
pushq $0x5
popq %rdx
callq 0x5230
testl %eax, %eax
je 0xe29f
movl %r14d, %r13d
movl 0x4d8(%rbx), %r8d
movq 0x4c8(%rbx), %r9
movq %rbx, %rdi
movl $0x190, %esi            # imm = 0x190
leaq 0x4bd7(%rip), %rdx      # 0x12e3e
leaq 0x4bdc(%rip), %rcx      # 0x12e4a
xorl %eax, %eax
callq 0x105c0
cmpq $0x0, (%rbx)
jne 0xe0a5
cmpl $0x0, 0x68(%rsp)
jne 0x102a0
movq %rbx, %rdi
callq 0x10855
testl %eax, %eax
jne 0xe0a5
jmp 0x102a0
addq $0x5, %rbp
movq %rbp, 0x20(%rbx)
movq %r12, %rdi
movq 0x58(%rsp), %rsi
callq 0x1094f
cmpl $0x0, 0x4a0(%rbx)
movl %r14d, %r13d
je 0xe481
movq 0x20(%rbx), %r15
movq %r15, %rdi
leaq 0x4b9a(%rip), %rsi      # 0x12e6c
callq 0x56c0
testl %eax, %eax
je 0xe318
movq %r15, %rdi
leaq 0x531b(%rip), %rsi      # 0x13600
callq 0x56c0
testl %eax, %eax
je 0xe318
movq %rbx, %rdi
movl $0x1f9, %esi            # imm = 0x1F9
leaq 0x4b73(%rip), %rdx      # 0x12e70
leaq 0x4f3b(%rip), %rcx      # 0x1323f
xorl %eax, %eax
callq 0x105c0
movq %rbx, %rdi
callq 0x1073e
jmp 0xe275
movq 0x58(%rsp), %rdi
leaq 0x4b67(%rip), %rsi      # 0x12e8b
callq 0xb940
pushq $-0x1
popq %rcx
testq %rax, %rax
je 0xe341
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x50b0
movq %rax, %rcx
movq %rcx, 0x4b8(%rbx)
xorl %edi, %edi
callq 0x5420
movq %rax, 0x4a8(%rbx)
cmpl $0x0, 0x4a0(%rbx)
je 0xe4a9
movq 0x18(%rbx), %r15
cmpb $0x2f, (%r15)
je 0xeb12
movq %r15, %rdi
leaq 0x4c1d(%rip), %rsi      # 0x12f98
leaq 0x4f0(%rsp), %rdx
leaq 0x2710(%rsp), %rcx
movq %r12, %r8
xorl %eax, %eax
callq 0x5470
cmpl $0x2, %eax
je 0xe40b
movq %r15, %rdi
leaq 0x4bff(%rip), %rsi      # 0x12fa3
leaq 0x4f0(%rsp), %rdx
leaq 0x2710(%rsp), %rcx
movq %r12, %r8
xorl %eax, %eax
callq 0x5470
cmpl $0x2, %eax
je 0xe40b
movq %r15, %rdi
leaq 0x4be5(%rip), %rsi      # 0x12fb2
leaq 0x4f0(%rsp), %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x5470
cmpl $0x1, %eax
je 0xe400
movq %r15, %rdi
leaq 0x4bcf(%rip), %rsi      # 0x12fbd
leaq 0x4f0(%rsp), %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x5470
movl $0x50, 0x2710(%rsp)
movslq 0x3710(%rsp), %rbp
testq %rbp, %rbp
je 0xeb12
movq (%rbx), %r15
testq %r15, %r15
je 0xe7b1
addq 0x18(%rbx), %rbp
movq 0x10(%rbx), %rdx
movq 0x20(%rbx), %r8
movq %r15, %rdi
leaq 0x4b41(%rip), %rsi      # 0x12f7f
movq %rbp, %rcx
xorl %eax, %eax
callq 0xbb9c
movq 0x90(%rsp), %r15
xorl %r13d, %r13d
movslq 0x54(%rbx), %rax
movq (%rbx), %rdi
cmpq %rax, %r13
jge 0xe6b4
movq -0x8(%r15), %rdx
movq (%r15), %rcx
leaq 0x4b1e(%rip), %rsi      # 0x12f8f
xorl %eax, %eax
callq 0xbb9c
incq %r13
addq $0x10, %r15
jmp 0xe453
movq 0x18(%rbx), %rax
movzbl (%rax), %ecx
cmpl $0x2f, %ecx
je 0xe2c4
cmpl $0x2a, %ecx
jne 0xe24a
cmpb $0x0, 0x1(%rax)
jne 0xe24a
jmp 0xe2c4
movq 0x18(%rbx), %r15
movq %r15, %rdi
pushq $0x3f
popq %rsi
callq 0x51b0
movq %rax, 0x28(%rbx)
testq %rax, %rax
je 0xe4d2
movq %rax, %rcx
incq %rcx
movq %rcx, 0x28(%rbx)
movb $0x0, (%rax)
movq 0x18(%rbx), %r15
movq %r15, %rdi
callq 0x51e0
movslq %eax, %rsi
movq %rax, %r13
shlq $0x20, %r13
movabsq $0x100000000, %rax      # imm = 0x100000000
leaq (%rax,%r13), %rcx
sarq $0x20, %rcx
movq %r15, %rdi
movq %r15, %rdx
xorl %r8d, %r8d
callq 0xbdff
movq 0x18(%rbx), %rax
movq %rax, %rcx
movb (%rax), %dl
testb %dl, %dl
je 0xe54e
movb %dl, (%rcx)
incq %rcx
movzbl (%rax), %edx
incq %rax
cmpl $0x5c, %edx
je 0xe52b
cmpl $0x2f, %edx
je 0xe52b
jmp 0xe50b
incq %rax
movzbl (%rax), %edx
cmpl $0x2f, %edx
je 0xe528
cmpl $0x5c, %edx
je 0xe528
jmp 0xe541
movb 0x2(%rax), %dl
addq $0x2, %rax
cmpb $0x2e, %dl
jne 0xe50b
cmpb $0x2e, 0x1(%rax)
je 0xe53a
jmp 0xe50b
movb $0x0, (%rcx)
movq 0x18(%rbx), %r15
movq %rbx, %rdi
movq %r12, %rsi
callq 0x10d18
movq 0x3710(%rsp), %r9
movq 0x3718(%rsp), %r8
movslq %eax, %r10
addq %r15, %r10
subq $0x8, %rsp
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
leaq 0x1718(%rsp), %rsi
leaq 0x50fa(%rip), %rcx      # 0x1368b
xorl %eax, %eax
pushq %r10
callq 0x108b0
addq $0x10, %rsp
movq 0x458(%rbx), %rax
movq 0x30(%rax), %r15
movq %r15, %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x38(%rsp), %rdx
callq 0xdcda
testq %rax, %rax
je 0xe654
movq %rax, %r15
movq 0x18(%rbx), %rdi
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
callq 0x54c0
testl %eax, %eax
jne 0xe5a9
movq 0x38(%rsp), %r9
movq 0x40(%rsp), %r8
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
leaq 0x4f0(%rsp), %rbp
movq %rbp, %rsi
leaq 0x4fc7(%rip), %rcx      # 0x135d2
xorl %eax, %eax
callq 0x108b0
movq %rbp, %rdi
leaq 0x5367(%rip), %rsi      # 0x13983
callq 0x55a0
testq %rax, %rax
jne 0xe86d
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
leaq 0x452f(%rip), %rsi      # 0x12b6f
leaq 0x4b35(%rip), %rdx      # 0x1317c
movq %rbp, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0xcd67
movq 0x458(%rbx), %rbp
movq 0x68(%rbp), %rdi
testq %rdi, %rdi
je 0xe751
leaq 0x5314(%rip), %rsi      # 0x13983
callq 0x55a0
testq %rax, %rax
jne 0xe86d
movq %rbp, 0xc7cc(%rip)      # 0x1ae50
movq 0x68(%rbp), %r15
callq 0x5050
movl (%rax), %edi
callq 0x5170
leaq 0xc35d(%rip), %rdi      # 0x1a9f8
leaq 0x5249(%rip), %rsi      # 0x138eb
movq %r15, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xcd67
jmp 0xe88d
leaq 0x4b82(%rip), %rsi      # 0x1323d
pushq $0x2
popq %rdx
callq 0xbac3
movq 0x60(%rsp), %rax
movq (%rax), %rdi
leaq 0x4841(%rip), %rsi      # 0x12f13
callq 0x56c0
testl %eax, %eax
jne 0xe6f5
movq (%rbx), %rax
movl 0x470(%rax), %edx
movq 0x460(%rax), %rcx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10abd
movl %r14d, %r13d
movq (%rbx), %rax
movl 0x470(%rax), %esi
movq 0x460(%rax), %rdx
xorl %edi, %edi
movq %r12, %rcx
movl $0x2000, %r8d           # imm = 0x2000
callq 0xba57
testl %eax, %eax
jle 0xe72f
movl %eax, %ebp
movl %eax, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0xbac3
cmpl %ebp, %eax
je 0xe6f8
movq (%rbx), %rdi
cmpl $0x0, 0x49c(%rdi)
jne 0xeb12
callq 0x10419
movq (%rbx), %rdi
callq 0x55b0
jmp 0xeb0e
leaq 0x1710(%rsp), %r15
movq %r15, %rdi
leaq 0x2710(%rsp), %rsi
callq 0xdb9f
testl %eax, %eax
jne 0xe805
cmpl $0x0, 0x2710(%rsp)
je 0xe805
subq $0x8, %rsp
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
movq %r12, %rsi
leaq 0x49fb(%rip), %rcx      # 0x13190
movq %r15, %r8
pushq $0x2f
popq %r9
xorl %eax, %eax
leaq 0x4900(%rip), %r10      # 0x130a5
pushq %r10
callq 0x108b0
jmp 0xe857
movq 0x10(%rbx), %rdi
leaq 0x4761(%rip), %rsi      # 0x12f1d
callq 0x56c0
movl %eax, %r13d
movl 0x2710(%rsp), %edx
testl %eax, %eax
sete %cl
jne 0xe9e5
movq 0x458(%rbx), %rax
cmpq $0x0, 0x8(%rax)
jne 0xe9e5
movq %rbx, %rdi
leaq 0x47d7(%rip), %rsi      # 0x12fc9
leaq 0x47eb(%rip), %rdx      # 0x12fe4
xorl %eax, %eax
callq 0xcd67
jmp 0xeb0b
movq %r15, %rdi
callq 0x51e0
leal -0x1(%rax), %ecx
leaq 0x170f(%rsp), %rdx
addq %rdx, %rax
movl %ecx, %r8d
cmpq %r15, %rax
jbe 0xe830
leal -0x1(%r8), %ecx
cmpb $0x2f, (%rax)
leaq -0x1(%rax), %rax
jne 0xe81b
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
movq %r12, %rsi
leaq 0x4955(%rip), %rcx      # 0x13197
movq %r15, %r9
xorl %eax, %eax
leaq 0x4857(%rip), %r10      # 0x130a5
pushq %r10
pushq $0x2f
callq 0x108b0
popq %rcx
popq %rdx
movq %r12, %rdi
leaq 0x5120(%rip), %rsi      # 0x13983
callq 0x55a0
testq %rax, %rax
je 0xe88d
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10da1
movl %eax, %ebp
movq %r15, %rdi
callq 0x5490
testl %ebp, %ebp
je 0xe9d5
movq %rbx, %rdi
xorl %esi, %esi
callq 0xdb70
testq %rax, %rax
jne 0xe9dd
leaq 0x1710(%rsp), %rdi
leaq 0x47f6(%rip), %rsi      # 0x130a5
callq 0x50f0
testq %rax, %rax
je 0xe8db
movq %rbx, %rdi
movl $0x193, %esi            # imm = 0x193
leaq 0x47ee(%rip), %rdx      # 0x130b6
leaq 0x47e0(%rip), %rcx      # 0x130af
xorl %eax, %eax
callq 0x105c0
jmp 0xe9dd
movq 0x458(%rbx), %rbp
cmpq $0x0, 0xa0(%rbp)
je 0xea9c
movq 0x60(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
leaq 0x4623(%rip), %rsi      # 0x12f25
callq 0x56c0
testl %eax, %eax
je 0xe91e
movq %r15, %rdi
leaq 0x4614(%rip), %rsi      # 0x12f29
callq 0x56c0
testl %eax, %eax
jne 0xe964
movq 0x20(%rbp), %rdi
testq %rdi, %rdi
je 0xe9d5
leaq 0x5051(%rip), %rsi      # 0x13983
callq 0x55a0
testq %rax, %rax
je 0xe9d5
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10da1
movl %eax, %ebp
movq %r15, %rdi
callq 0x5490
testl %ebp, %ebp
je 0xe9d5
movq 0x60(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
leaq 0x45b7(%rip), %rsi      # 0x12f25
callq 0x56c0
testl %eax, %eax
je 0xebd4
movq %r15, %rdi
leaq 0x45a4(%rip), %rsi      # 0x12f29
callq 0x56c0
leaq 0x1710(%rsp), %r15
movq %r15, %rdi
testl %eax, %eax
je 0xec85
leaq 0x70(%rsp), %rsi
callq 0xdb9f
testl %eax, %eax
je 0xeda3
movq %rbx, %rdi
movl $0x194, %esi            # imm = 0x194
leaq 0x3b1f(%rip), %rdx      # 0x124dd
leaq 0x4da8(%rip), %rcx      # 0x1376d
leaq 0x4703(%rip), %r8       # 0x130cf
xorl %eax, %eax
callq 0x105c0
jmp 0xe9dd
movq %rbx, %rdi
callq 0x10c68
movl %r14d, %r13d
jmp 0xeb12
movl %edx, 0x8(%rsp)
movb %cl, 0x20(%rsp)
leaq 0x4f0(%rsp), %rdi
callq 0x5560
testq %rax, %rax
je 0xeab3
movq %rax, %r15
pushq $0x2
popq %rdi
movl %r14d, %esi
xorl %edx, %edx
callq 0x5100
cmpl $-0x1, %eax
je 0xeae4
movw $0x2, 0x3710(%rsp)
movl 0x8(%rsp), %ecx
rolw $0x8, %cx
movw %cx, 0x3712(%rsp)
movq 0x18(%r15), %rcx
movq (%rcx), %rcx
movl (%rcx), %ecx
movl %ecx, 0x3714(%rsp)
movl %eax, %r15d
movl %eax, %edi
movq %r12, %rsi
pushq $0x10
popq %rdx
callq 0x53c0
testl %eax, %eax
je 0xeb6e
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
leaq 0x45a4(%rip), %rsi      # 0x13018
leaq 0x4569(%rip), %rdx      # 0x12fe4
leaq 0x4f0(%rsp), %rcx
movl 0x8(%rsp), %r8d
movq %rax, %r9
xorl %eax, %eax
callq 0xcd67
movl %r15d, %edi
callq 0x59e0
jmp 0xeb0b
movq %rbx, %rdi
movl $0x194, %esi            # imm = 0x194
leaq 0x3a32(%rip), %rcx      # 0x124dd
movq %rcx, %rdx
jmp 0xe8cf
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
leaq 0x4526(%rip), %rsi      # 0x12fef
leaq 0x4514(%rip), %rdx      # 0x12fe4
leaq 0x4f0(%rsp), %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0xcd67
jmp 0xeb0b
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
leaq 0x450f(%rip), %rsi      # 0x13009
leaq 0x44e3(%rip), %rdx      # 0x12fe4
movq %rax, %rcx
xorl %eax, %eax
callq 0xcd67
movl %r14d, %r13d
andq $0x0, (%rbx)
movq %rbx, %rdi
callq 0x1073e
movslq 0x4d4(%rbx), %rax
movl 0x4d8(%rbx), %ecx
movl %ecx, %edx
subl %eax, %edx
movslq %edx, %rdx
movq 0x4b8(%rbx), %rsi
cmpq %rdx, %rsi
cmovll %esi, %edx
cmpq $-0x1, %rsi
movl $0x0, %esi
cmovel %esi, %edx
movq 0x4c8(%rbx), %rdi
subl %eax, %ecx
subl %edx, %ecx
movl %ecx, 0x4d8(%rbx)
addq %rdi, %rax
movslq %edx, %rsi
addq %rax, %rsi
movslq %ecx, %rdx
callq 0x5880
jmp 0xe275
movl %r15d, 0x8(%rsp)
movl $0x4e0, %esi            # imm = 0x4E0
pushq $0x1
popq %rdi
callq 0x52d0
testq %rax, %rax
je 0xed73
movq %rax, %r15
movl 0x8(%rsp), %eax
movl %eax, 0x470(%r15)
movupd 0x3710(%rsp), %xmm0
movupd %xmm0, 0x48c(%r15)
testl %r13d, %r13d
jne 0xebbd
movq 0xbc63(%rip), %rsi      # 0x1a818
movq %r15, %rdi
callq 0xdfda
xorl %eax, %eax
movb 0x20(%rsp), %cl
movb %cl, %al
movq %r15, (%rbx)
movl %eax, 0x49c(%r15)
jmp 0xe428
leaq 0x1710(%rsp), %rdi
leaq 0x2710(%rsp), %rsi
callq 0xdb9f
cmpl $0x1, %eax
movl $0xc9, %eax
sbbl $0x0, %eax
movl %eax, 0x4c(%rbx)
leaq 0x1712(%rsp), %rdi
pushq $0x2f
popq %rsi
callq 0x51b0
testq %rax, %rax
je 0xecb9
movq %rax, %r15
movq %rax, %r13
leaq 0x1710(%rsp), %rsi
subq %rsi, %r13
movq %r12, %rdi
movq %r13, %rdx
callq 0x53a0
movb $0x0, 0x3710(%rsp,%r13)
movq %r12, %rdi
leaq 0x4f0(%rsp), %rsi
callq 0xdb9f
cmpl $-0x1, %eax
jne 0xec5f
movq %r12, %rdi
movl $0x1ed, %esi            # imm = 0x1ED
callq 0x5220
testl %eax, %eax
jne 0xee2a
movq %r15, %rdi
incq %rdi
cmpb $0x0, 0x1(%r15)
jne 0xebff
movl 0x4c(%rbx), %edx
movq %rbx, %rdi
leaq 0x45c7(%rip), %rsi      # 0x13240
xorl %eax, %eax
callq 0xbb9c
jmp 0xe9dd
callq 0x5930
testl %eax, %eax
je 0xee0f
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x43e2(%rip), %rdx      # 0x1308f
leaq 0x440c(%rip), %rcx      # 0x130c0
jmp 0xfffc
leaq 0x1710(%rsp), %r15
movq %r15, %rdi
leaq 0x4598(%rip), %rsi      # 0x13263
callq 0x55a0
testq %rax, %rax
je 0xffda
movq %rax, %r13
movq %rax, %rdi
callq 0x54e0
movl %eax, %edi
callq 0xdd7d
movq 0x58(%rsp), %rdi
leaq 0x4570(%rip), %rsi      # 0x13267
callq 0xb940
andq $0x0, 0x38(%rsp)
andq $0x0, 0xa0(%rsp)
testq %rax, %rax
je 0xed42
movq %rax, %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x38(%rsp), %rdx
callq 0x11184
testl %eax, %eax
jle 0xed42
movl $0xce, 0x4c(%rbx)
movq 0xa0(%rsp), %rsi
movq %r13, %rdi
xorl %edx, %edx
callq 0x52a0
movq %rbx, %rdi
movq %r13, %rsi
pushq $-0x1
popq %rdx
xorl %ecx, %ecx
callq 0x10abd
testl %eax, %eax
je 0xf7cd
movl 0x4c(%rbx), %edx
movq %rbx, %rdi
leaq 0x44d9(%rip), %rsi      # 0x13240
xorl %eax, %eax
callq 0xbb9c
jmp 0xf7cd
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
leaq 0x42a6(%rip), %rsi      # 0x1302f
leaq 0x4254(%rip), %rdx      # 0x12fe4
movq %rax, %rcx
xorl %eax, %eax
callq 0xcd67
movl 0x8(%rsp), %edi
jmp 0xea95
cmpl $0x0, 0x70(%rsp)
je 0xeeed
movq 0x18(%rbx), %rdx
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
addq %rax, %r13
sarq $0x20, %r13
cmpb $0x2f, (%rdx,%r13)
jne 0xee59
movq 0x458(%rbx), %rax
movq 0x70(%rax), %r13
movq %r15, %rdi
callq 0x51e0
movq %rax, %r15
movl $0x1000, %ebp           # imm = 0x1000
subq %rax, %rbp
leaq 0x1711(%rsp), %rax
addq %rax, %r15
cmpq $0x1000, %rbp           # imm = 0x1000
je 0xee6f
cmpb $0x2f, -0x2(%r15)
jne 0xee6f
incq %rbp
decq %r15
jmp 0xedf7
movq %rbx, %rdi
movl $0xc8, %esi
leaq 0x36ad(%rip), %rdx      # 0x124cb
leaq 0x441a(%rip), %rcx      # 0x1323f
jmp 0xe8cf
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x424a(%rip), %rdx      # 0x1308f
leaq 0x4407(%rip), %rcx      # 0x13253
leaq 0x1710(%rsp), %r8
jmp 0xffff
movq %rbx, %rdi
leaq 0x427b(%rip), %rsi      # 0x130de
xorl %eax, %eax
callq 0xbb9c
jmp 0xe9dd
movb $0x2f, -0x1(%r15)
movq %r13, %rdi
leaq 0x4f0(%rsp), %rsi
xorl %edx, %edx
callq 0xdcda
testq %rax, %rax
je 0xef54
movq %rax, %r13
movq 0x4f8(%rsp), %rdx
cmpq %rbp, %rdx
ja 0xee74
movq 0x4f0(%rsp), %rsi
incq %rdx
movq %r15, %rdi
callq 0xc030
leaq 0x1710(%rsp), %rdi
movq %r12, %rsi
callq 0xdb9f
testl %eax, %eax
jne 0xee74
movq 0x3720(%rsp), %rax
movq %rax, 0x80(%rsp)
movupd 0x3710(%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
leaq 0x1710(%rsp), %r15
movq 0x458(%rbx), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
callq 0x10ca6
testl %eax, %eax
je 0xf3c5
movq 0x60(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
leaq 0x3ff9(%rip), %rsi      # 0x12f13
callq 0x56c0
testl %eax, %eax
je 0xef93
movq %r15, %rdi
leaq 0x3fe2(%rip), %rsi      # 0x12f0f
callq 0x56c0
testl %eax, %eax
je 0xef93
movq %rbx, %rdi
movl $0x1f5, %esi            # imm = 0x1F5
leaq 0x41fd(%rip), %rdx      # 0x13142
leaq 0x4206(%rip), %rcx      # 0x13152
movq %r15, %r8
jmp 0xe9cc
movb $0x0, -0x1(%r15)
movq 0x458(%rbx), %rax
movq 0x58(%rax), %rdi
leaq 0x3965(%rip), %rsi      # 0x128d0
callq 0xd3cf
testl %eax, %eax
je 0xf43e
movq %rbx, %rdi
movl $0x193, %esi            # imm = 0x193
leaq 0x4189(%rip), %rdx      # 0x13110
leaq 0x419b(%rip), %rcx      # 0x13129
jmp 0xe8cf
andl $0x0, 0x1700(%rsp)
andl $0x0, 0x14f8(%rsp)
movq %rbx, 0x4f0(%rsp)
movq %rbx, %rdi
leaq 0x38(%rsp), %rsi
callq 0x10d18
movq 0x458(%rbx), %rax
movq 0x38(%rax), %rdx
leaq 0x4f0(%rsp), %rbp
movq %rbp, %rdi
leaq 0x45e2(%rip), %rsi      # 0x135b7
xorl %eax, %eax
callq 0x11297
movq 0x38(%rsp), %r15
movq 0x40(%rsp), %r13
movq %rbp, %rdi
leaq 0x45d6(%rip), %rsi      # 0x135c6
movq %r13, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11297
movq %rbp, %rdi
leaq 0x45d0(%rip), %rsi      # 0x135d7
movq %r13, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x11297
movq %rbp, %rdi
leaq 0x474f(%rip), %r15      # 0x1376d
movq %r15, %rsi
leaq 0x45c2(%rip), %rdx      # 0x135ea
xorl %eax, %eax
callq 0x11297
movq %rbp, %rdi
movq %r15, %rsi
leaq 0x45c8(%rip), %rdx      # 0x13604
xorl %eax, %eax
callq 0x11297
movq %rbp, %rdi
movq %r15, %rsi
leaq 0x45cd(%rip), %rdx      # 0x1361d
xorl %eax, %eax
callq 0x11297
movzwl 0x47a(%rbx), %eax
rolw $0x8, %ax
movzwl %ax, %edx
movq %rbp, %rdi
leaq 0x45c2(%rip), %rsi      # 0x13631
xorl %eax, %eax
callq 0x11297
movq 0x10(%rbx), %rdx
movq %rbp, %rdi
leaq 0x45bc(%rip), %rsi      # 0x13640
xorl %eax, %eax
callq 0x11297
movl 0x490(%rbx), %edi
callq 0x51f0
movq %rbp, %rdi
leaq 0x45b2(%rip), %rsi      # 0x13652
movq %rax, %rdx
xorl %eax, %eax
callq 0x11297
movl 0x48(%rbx), %edx
movq %rbp, %rdi
leaq 0x45aa(%rip), %rsi      # 0x13661
xorl %eax, %eax
callq 0x11297
movq 0x18(%rbx), %rdx
movq %rbp, %rdi
leaq 0x45a4(%rip), %rsi      # 0x13670
xorl %eax, %eax
callq 0x11297
movq 0x18(%rbx), %r15
movq %r15, %rdi
pushq $0x2f
popq %rsi
callq 0x5520
movq %rax, %r13
leaq 0x1710(%rsp), %rbp
movq %rbp, %rdi
pushq $0x2f
popq %rsi
callq 0x5520
testq %rax, %rax
cmoveq %rbp, %rax
subq %r15, %r13
leaq 0x4f0(%rsp), %rdi
leaq 0x456e(%rip), %rsi      # 0x1367f
movq %r13, %rdx
movq %r15, %rcx
movq %rdi, %r15
movq %rax, %r8
xorl %eax, %eax
callq 0x11297
movq %r15, %rdi
leaq 0x4564(%rip), %rsi      # 0x13692
movq %rbp, %rdx
xorl %eax, %eax
callq 0x11297
movq %r15, %rdi
leaq 0x4563(%rip), %rsi      # 0x136a5
movq %rbp, %rdx
xorl %eax, %eax
callq 0x11297
cmpq $0x0, 0x460(%rbx)
leaq 0x4990(%rip), %rdx      # 0x13aeb
leaq 0x455f(%rip), %rax      # 0x136c1
cmoveq %rax, %rdx
movq %r15, %rdi
leaq 0x4548(%rip), %rsi      # 0x136b8
xorl %eax, %eax
callq 0x11297
movq 0x58(%rsp), %rdi
leaq 0x4542(%rip), %rsi      # 0x136c5
callq 0xb940
testq %rax, %rax
je 0xf1a1
movq %r15, %rdi
leaq 0x453b(%rip), %rsi      # 0x136d2
movq %rax, %rdx
xorl %eax, %eax
callq 0x11297
movq 0x28(%rbx), %rdx
testq %rdx, %rdx
je 0xf1bb
movq %r15, %rdi
leaq 0x452e(%rip), %rsi      # 0x136e2
xorl %eax, %eax
callq 0x11297
movq 0x58(%rsp), %rdi
leaq 0x3cc4(%rip), %rsi      # 0x12e8b
callq 0xb940
testq %rax, %rax
je 0xf1e5
movq %r15, %rdi
leaq 0x4517(%rip), %rsi      # 0x136f2
movq %rax, %rdx
xorl %eax, %eax
callq 0x11297
leaq 0x4523(%rip), %rdi      # 0x1370f
callq 0x55f0
testq %rax, %rax
je 0xf20a
movq %r15, %rdi
leaq 0x451f(%rip), %rsi      # 0x1371f
movq %rax, %rdx
xorl %eax, %eax
callq 0x11297
leaq 0x44f3(%rip), %rdi      # 0x13704
callq 0x55f0
testq %rax, %rax
je 0xf22f
movq %r15, %rdi
leaq 0x44ef(%rip), %rsi      # 0x13714
movq %rax, %rdx
xorl %eax, %eax
callq 0x11297
leaq 0x44f1(%rip), %rdi      # 0x13727
callq 0x55f0
testq %rax, %rax
je 0xf254
movq %r15, %rdi
leaq 0x44e5(%rip), %rsi      # 0x1372f
movq %rax, %rdx
xorl %eax, %eax
callq 0x11297
movq 0x30(%rbx), %rdx
testq %rdx, %rdx
je 0xf286
movq %r15, %rdi
leaq 0x44d3(%rip), %rsi      # 0x1373a
xorl %eax, %eax
callq 0x11297
movq %r15, %rdi
leaq 0x44f5(%rip), %rsi      # 0x1376d
leaq 0x44ca(%rip), %rdx      # 0x13749
xorl %eax, %eax
callq 0x11297
xorl %r13d, %r13d
movslq 0x54(%rbx), %rax
cmpq %rax, %r13
jge 0xf2fd
movq %r13, %rax
shlq $0x4, %rax
movq 0x88(%rsp), %rcx
movq (%rcx,%rax), %rdx
movq 0x8(%rcx,%rax), %rcx
movq %r15, %rdi
leaq 0x44a6(%rip), %rsi      # 0x1375a
xorl %eax, %eax
callq 0x11297
movq %rax, %r15
movzbl (%r15), %ebp
cmpl $0x2d, %ebp
je 0xf2d2
testl %ebp, %ebp
je 0xf2f0
cmpl $0x3d, %ebp
jne 0xf2d9
jmp 0xf2f0
movb $0x5f, (%r15)
movb $0x5f, %bpl
callq 0x50a0
movq (%rax), %rax
movzbl %bpl, %ecx
movb (%rax,%rcx,4), %al
movb %al, (%r15)
incq %r15
jmp 0xf2be
incq %r13
leaq 0x4f0(%rsp), %r15
jmp 0xf289
movq 0x458(%rbx), %rax
movq 0x18(%rax), %r15
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0xdcda
testq %rax, %rax
je 0xf345
movq %rax, %r15
movq 0x3710(%rsp), %rcx
movq 0x3718(%rsp), %rdx
leaq 0x4f0(%rsp), %rdi
leaq 0x4296(%rip), %rsi      # 0x135d2
xorl %eax, %eax
callq 0x11297
jmp 0xf308
movslq 0x1700(%rsp), %rax
leal 0x1(%rax), %ecx
movl %ecx, 0x1700(%rsp)
andq $0x0, 0x1500(%rsp,%rax,8)
movslq 0x14f8(%rsp), %rax
leal 0x1(%rax), %ecx
movl %ecx, 0x14f8(%rsp)
movb $0x0, 0x4f8(%rsp,%rax)
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
leaq 0x2710(%rsp), %r13
movq %r13, %rsi
leaq 0x43d9(%rip), %rcx      # 0x1376d
leaq 0x1710(%rsp), %r15
movq %r15, %r8
xorl %eax, %eax
callq 0x108b0
movq %r13, %rdi
pushq $0x2f
popq %rsi
callq 0x5520
testq %rax, %rax
je 0xf5c1
movq %rax, %r13
incq %r13
jmp 0xf5d4
movq 0x458(%rbx), %rax
movq 0x40(%rax), %rsi
movq %r15, %rdi
callq 0x10ca6
testl %eax, %eax
je 0xf7f1
movq %r15, %rdi
leaq 0x4178(%rip), %rsi      # 0x13562
callq 0x55a0
movq %r15, %r13
testq %rax, %rax
je 0xfca0
movq %rax, %r15
movq %rax, %rdi
callq 0x54e0
movl %eax, %edi
callq 0xdd7d
movq %rbx, %rdi
callq 0x1092c
movq %rbx, %rdi
leaq 0x43c2(%rip), %rsi      # 0x137e1
movq %rax, %rdx
xorl %eax, %eax
callq 0xbb9c
movq %rbx, %rdi
movq %r13, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x11398
jmp 0x1014e
leaq 0x1710(%rsp), %r15
movq %r15, %rdi
callq 0x57b0
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0xfcca
movq %rbx, %rdi
leaq 0x4307(%rip), %rsi      # 0x1376d
leaq 0x3e43(%rip), %rdx      # 0x132b0
xorl %eax, %eax
callq 0xbb9c
movq 0x28(%rbx), %rax
pushq $0x64
popq %rcx
movq %rcx, 0x20(%rsp)
testq %rax, %rax
je 0xf499
xorl %ecx, %ecx
cmpb $0x64, 0x1(%rax)
setne %cl
leal (%rcx,%rcx,2), %eax
addl $0x61, %eax
movq %rax, 0x20(%rsp)
movl $0x80, 0x30(%rsp)
xorl %r13d, %r13d
movq $0x0, 0x28(%rsp)
movq 0x8(%rsp), %rdi
callq 0x57d0
testq %rax, %rax
je 0xf9a9
movq %rax, %rbp
cmpb $0x2e, 0x13(%rax)
jne 0xf4dc
movzbl 0x14(%rbp), %eax
testl %eax, %eax
je 0xf4ad
cmpl $0x2e, %eax
jne 0xf4dc
cmpb $0x0, 0x15(%rbp)
je 0xf4ad
addq $0x13, %rbp
movq %rbp, %rdi
leaq 0x3bbb(%rip), %rsi      # 0x130a5
callq 0x56c0
testl %eax, %eax
je 0xf4ad
cmpq $0x0, 0x28(%rsp)
setne %al
movslq 0x30(%rsp), %rcx
cmpq %rcx, %r13
setl %cl
testb %cl, %al
jne 0xf533
movl 0x30(%rsp), %eax
addl %eax, %eax
movl %eax, 0x30(%rsp)
cltq
imulq $0x28, %rax, %rsi
movq 0x28(%rsp), %rdi
callq 0x58a0
movq %rax, 0x28(%rsp)
testq %rax, %rax
je 0x10249
subq $0x8, %rsp
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
leaq 0x4f8(%rsp), %rsi
leaq 0x3c42(%rip), %rcx      # 0x13190
movq %r15, %r8
pushq $0x2f
popq %r9
xorl %eax, %eax
pushq %rbp
callq 0x108b0
popq %rcx
popq %rdx
movq %r13, 0x50(%rsp)
imulq $0x28, %r13, %r13
movq 0x28(%rsp), %rax
leaq (%rax,%r13), %r15
addq $0x10, %r15
leaq 0x4f0(%rsp), %rdi
movq %r15, %rsi
callq 0xdb9f
testl %eax, %eax
je 0xf597
xorpd %xmm0, %xmm0
movupd %xmm0, (%r15)
andq $0x0, 0x10(%r15)
addq 0x28(%rsp), %r13
movq %rbx, (%r13)
movq %rbp, %rdi
callq 0xcedd
movq %rax, 0x8(%r13)
movq 0x50(%rsp), %r13
incq %r13
leaq 0x1710(%rsp), %r15
jmp 0xf4ad
movb $0x2e, 0x2710(%rsp)
leaq 0x2711(%rsp), %rax
movq %r15, %r13
movb $0x0, (%rax)
orq $-0x1, 0x18(%rsp)
orq $-0x1, 0x38(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x5670
leaq 0x3f50(%rip), %r15      # 0x13544
testl %eax, %eax
jne 0xf761
leaq 0x18(%rsp), %rdi
callq 0x5670
leaq 0x3f37(%rip), %r15      # 0x13544
testl %eax, %eax
jne 0xf761
movl 0x38(%rsp), %eax
movl %eax, 0x8(%rsp)
movl 0x1c(%rsp), %ebp
callq 0x5110
leaq 0x4138(%rip), %r15      # 0x13765
cmpl $-0x1, %eax
je 0xf761
movl %eax, 0x30(%rsp)
testl %eax, %eax
je 0x102b2
movl 0x8(%rsp), %edi
callq 0x59e0
movl %ebp, %edi
callq 0x59e0
movl 0x3c(%rsp), %edi
leaq 0x3f02(%rip), %rsi      # 0x1355f
callq 0x54f0
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0xfe96
movl 0x18(%rsp), %edi
leaq 0x3ee7(%rip), %rsi      # 0x13562
callq 0x54f0
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0xfe96
movq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x56f0
movq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x56f0
orl $-0x1, 0x1c(%rsp)
orl $-0x1, 0x38(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rdi
leaq 0x3854(%rip), %rsi      # 0x12f13
callq 0x56c0
testl %eax, %eax
jne 0xf6e2
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
pushq $-0x1
popq %rdx
xorl %ecx, %ecx
callq 0x10abd
testl %eax, %eax
je 0xfecb
andl $0x0, 0x14(%rsp)
movq 0x8(%rsp), %rdi
pushq $-0x1
popq %rsi
xorl %edx, %edx
movq %r12, %rcx
movl $0x2000, %r8d           # imm = 0x2000
leaq 0x14(%rsp), %r9
callq 0x10551
movq %rax, 0x28(%rsp)
testl %eax, %eax
jle 0x10156
movq %r12, 0x48(%rsp)
movq 0x28(%rsp), %rax
decl %eax
movb $0x0, 0x3710(%rsp,%rax)
leaq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %r15
movq %r15, %rsi
callq 0x1094f
movq %r15, %rdi
leaq 0x3e5b(%rip), %rsi      # 0x1359f
callq 0xb940
testq %rax, %rax
je 0x10180
movq %rax, %rdi
callq 0x5810
movl %eax, %edx
jmp 0x10185
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x3913(%rip), %rdx      # 0x1308f
movq %r15, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x105c0
xorl %r13d, %r13d
xorl %r15d, %r15d
movl 0x38(%rsp), %edi
cmpl $-0x1, %edi
je 0xf79d
callq 0x59e0
movl 0x1c(%rsp), %edi
cmpl $-0x1, %edi
je 0xf7ab
callq 0x59e0
testq %r15, %r15
je 0xf7ba
movq %r15, %rdi
callq 0x5490
jmp 0xf7c8
movl 0x3c(%rsp), %edi
cmpl $-0x1, %edi
je 0xf7c8
callq 0x59e0
testq %r13, %r13
je 0xf7da
movq %r13, %rdi
callq 0x5490
jmp 0xe9dd
movl 0x18(%rsp), %edi
cmpl $-0x1, %edi
je 0xe9dd
callq 0x59e0
jmp 0xe9dd
movq 0x58(%rsp), %rdi
leaq 0x412b(%rip), %rsi      # 0x13928
callq 0xb940
testq %rax, %rax
je 0xfd99
movq %rax, %rbp
andq $0x0, 0x3740(%rsp)
andl $0x0, 0x14(%rsp)
movq 0x80(%rsp), %r15
andl $0x0, 0x48(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x3710(%rsp)
andl $0x0, 0x18(%rsp)
movapd %xmm0, 0x3720(%rsp)
andl $0x0, 0x38(%rsp)
movapd %xmm0, 0x3730(%rsp)
andl $0x0, 0xa0(%rsp)
movq %rax, %rdi
leaq 0x40d6(%rip), %rsi      # 0x1393a
leaq 0x48(%rsp), %rdx
leaq 0x4f0(%rsp), %rcx
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
xorl %eax, %eax
leaq 0xa0(%rsp), %r10
pushq %r10
leaq 0x40(%rsp), %r10
pushq %r10
callq 0x5470
popq %rcx
popq %rdx
cmpl $0x6, %eax
je 0xf969
movq %rbp, %rdi
leaq 0x40ab(%rip), %rsi      # 0x13953
leaq 0x48(%rsp), %rdx
leaq 0x4f0(%rsp), %rcx
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
xorl %eax, %eax
leaq 0xa0(%rsp), %r10
pushq %r10
leaq 0x40(%rsp), %r10
pushq %r10
callq 0x5470
popq %rcx
popq %rdx
cmpl $0x6, %eax
je 0xf969
movq %rbp, %rdi
leaq 0x4061(%rip), %rsi      # 0x1394d
leaq 0x48(%rsp), %rdx
leaq 0x4f0(%rsp), %rcx
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
xorl %eax, %eax
leaq 0xa0(%rsp), %r10
pushq %r10
leaq 0x40(%rsp), %r10
pushq %r10
callq 0x5470
popq %rcx
popq %rdx
cmpl $0x6, %eax
je 0xf969
xorl %r13d, %r13d
movq %rbp, %rdi
leaq 0x4037(%rip), %rsi      # 0x13966
leaq 0x48(%rsp), %rdx
leaq 0x4f0(%rsp), %rcx
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
xorl %eax, %eax
leaq 0xa0(%rsp), %r10
pushq %r10
leaq 0x40(%rsp), %r10
pushq %r10
callq 0x5470
popq %rcx
popq %rdx
cmpl $0x6, %eax
jne 0xfcfc
leaq 0x43f8(%rip), %rbp      # 0x13d68
xorl %r13d, %r13d
cmpq $0xc, %r13
je 0xfcf9
movslq (%rbp), %rsi
leaq 0x43e0(%rip), %rax      # 0x13d68
addq %rax, %rsi
leaq 0x4f0(%rsp), %rdi
callq 0x56c0
testl %eax, %eax
je 0xfd02
incq %r13
addq $0x4, %rbp
jmp 0xf973
movq 0x8(%rsp), %rdi
callq 0x5870
movq 0x18(%rbx), %rcx
subq $0x8, %rsp
movq %rbx, %rdi
leaq 0x395b(%rip), %rsi      # 0x13320
movq %rcx, %rdx
movq 0x28(%rsp), %r8
movl %r8d, %r9d
xorl %eax, %eax
pushq %r8
callq 0xbb9c
popq %rcx
popq %rdx
cltq
addq %rax, 0x4b0(%rbx)
movq 0x18(%rbx), %rdx
subq $0x8, %rsp
movq %rbx, %rdi
leaq 0x3a42(%rip), %rsi      # 0x13438
leaq 0x3902(%rip), %rcx      # 0x132ff
leaq 0x3a85(%rip), %r8       # 0x13489
leaq 0x3572(%rip), %r9       # 0x12f7d
xorl %eax, %eax
pushq %r9
callq 0xbb9c
popq %rcx
popq %rdx
cltq
addq %rax, 0x4b0(%rbx)
movl %r13d, %esi
movq 0x28(%rsp), %rdi
movq %rsi, 0x50(%rsp)
pushq $0x28
popq %rdx
leaq 0x1762(%rip), %rcx      # 0x11198
callq 0x5980
xorl %edx, %edx
cmpq 0x50(%rsp), %rdx
pushq $0x40
popq %r15
je 0xfc69
imulq $0x28, %rdx, %rax
movq 0x28(%rsp), %rcx
leaq (%rcx,%rax), %r13
cmpl $0x0, 0x10(%rcx,%rax)
movq %rdx, 0x8(%rsp)
je 0xfa84
movq (%r13), %rdi
leaq 0x2710(%rsp), %rsi
movq %r15, %rdx
leaq 0x3cf2(%rip), %rcx      # 0x1376d
leaq 0x3a32(%rip), %r8       # 0x134b4
jmp 0xfaab
movq 0x18(%r13), %r8
cmpq $0x3ff, %r8             # imm = 0x3FF
jg 0xfbec
movq (%r13), %rdi
leaq 0x2710(%rsp), %rsi
movq %r15, %rdx
leaq 0x3a15(%rip), %rcx      # 0x134c0
xorl %eax, %eax
callq 0x108b0
leaq 0x20(%r13), %rdi
callq 0x5330
leaq 0xa0(%rsp), %rdi
movq %r15, %rsi
leaq 0x3a09(%rip), %rdx      # 0x134d6
movq %rax, %rcx
callq 0x5390
movq %r13, 0x20(%rsp)
movq 0x8(%r13), %r13
xorl %ebp, %ebp
movq %r13, 0x30(%rsp)
movzbl (%r13), %r15d
testl %r15d, %r15d
je 0xfb6b
cmpq $0xffe, %rbp            # imm = 0xFFE
jg 0xfb6b
callq 0x5510
movq (%rax), %rax
testb $0x8, (%rax,%r15,2)
jne 0xfb1e
leaq 0x3a2c(%rip), %rdi      # 0x1353a
movl %r15d, %esi
pushq $0xa
popq %rdx
callq 0x5530
testq %rax, %rax
je 0xfb2e
movb %r15b, 0x3710(%rsp,%rbp)
incq %r13
incq %rbp
jmp 0xfae5
cmpq $0xffc, %rbp            # imm = 0xFFC
jg 0xfb26
movb $0x25, 0x3710(%rsp,%rbp)
movl %r15d, %eax
shrl $0x4, %eax
leaq 0x2fbf(%rip), %rcx      # 0x12b0b
movb (%rax,%rcx), %al
movb %al, 0x3711(%rsp,%rbp)
andl $0xf, %r15d
movb (%r15,%rcx), %al
movb %al, 0x3712(%rsp,%rbp)
addq $0x2, %rbp
jmp 0xfb26
movb $0x0, 0x3710(%rsp,%rbp)
movq 0x20(%rsp), %r15
movq (%r15), %rdi
cmpl $0x0, 0x10(%r15)
movq 0x18(%rdi), %rdx
leaq 0x3382(%rip), %r8       # 0x12f0d
leaq 0x36ad(%rip), %rax      # 0x1323f
cmoveq %rax, %r8
subq $0x8, %rsp
leaq 0x3944(%rip), %rsi      # 0x134e5
movq %r12, %rcx
movq 0x38(%rsp), %r9
xorl %eax, %eax
leaq 0x2718(%rsp), %r10
pushq %r10
leaq 0xb0(%rsp), %r10
pushq %r10
pushq %r8
callq 0xbb9c
addq $0x20, %rsp
cltq
movq (%r15), %rcx
addq %rax, 0x4b0(%rcx)
movq 0x8(%r15), %rdi
callq 0x55b0
movq 0x8(%rsp), %rdx
incq %rdx
jmp 0xfa3d
cvtsi2sd %r8, %xmm0
cmpq $0xfffff, %r8           # imm = 0xFFFFF
ja 0xfc1a
movq (%r13), %rdi
mulsd 0x2b5a(%rip), %xmm0     # 0x12760
leaq 0x2710(%rsp), %rsi
movq %r15, %rdx
leaq 0x38ac(%rip), %rcx      # 0x134c4
jmp 0xfc5d
movq (%r13), %rdi
cmpq $0x3fffffff, %r8        # imm = 0x3FFFFFFF
ja 0xfc43
mulsd 0x2b29(%rip), %xmm0     # 0x12758
leaq 0x2710(%rsp), %rsi
movq %r15, %rdx
leaq 0x3889(%rip), %rcx      # 0x134ca
jmp 0xfc5d
mulsd 0x2b05(%rip), %xmm0     # 0x12750
leaq 0x2710(%rsp), %rsi
movq %r15, %rdx
leaq 0x3873(%rip), %rcx      # 0x134d0
movb $0x1, %al
callq 0x108b0
jmp 0xfab2
movq 0x28(%rsp), %rdi
callq 0x55b0
movq %rbx, %rdi
leaq 0x3af0(%rip), %rsi      # 0x1376d
leaq 0x3816(%rip), %rdx      # 0x1349a
xorl %eax, %eax
callq 0xbb9c
cltq
addq %rax, 0x4b0(%rbx)
movl $0xc8, 0x4c(%rbx)
jmp 0xe9dd
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x33d4(%rip), %rdx      # 0x1308f
leaq 0x3c29(%rip), %rcx      # 0x138eb
movq %r13, %r8
jmp 0xffff
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x359e(%rip), %rdx      # 0x13283
leaq 0x35ad(%rip), %rcx      # 0x13299
leaq 0x4f0(%rsp), %r8
jmp 0xffff
xorl %r13d, %r13d
addl $0x64, %r13d
jmp 0xfd5a
movl 0x48(%rsp), %eax
movl %eax, 0x371c(%rsp)
movl %r13d, 0x3720(%rsp)
movl 0x14(%rsp), %r13d
movl %r13d, 0x3724(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x3718(%rsp)
movl 0x38(%rsp), %eax
movl %eax, 0x3714(%rsp)
movl 0xa0(%rsp), %eax
movl %eax, 0x3710(%rsp)
cmpl $0x76d, %r13d           # imm = 0x76D
jl 0xfe87
addl $0xfffff894, %r13d      # imm = 0xFFFFF894
movl %r13d, 0x3724(%rsp)
xorl %edi, %edi
callq 0x5420
movq %rax, 0x2710(%rsp)
leaq 0x2710(%rsp), %rdi
callq 0x5330
movl 0x20(%rax), %eax
movl %eax, 0x3730(%rsp)
movq %r12, %rdi
callq 0x52e0
cmpq %rax, %r15
jle 0xfe5f
xorl %edi, %edi
callq 0x5420
movq %rax, 0x38(%rsp)
movq 0x458(%rbx), %r13
leaq 0x1710(%rsp), %rdi
callq 0x51e0
movq %rax, %r15
movq 0x90(%r13), %r13
leaq (%rsp,%rax), %rbp
addq $0x1710, %rbp           # imm = 0x1710
movq %r13, %rdi
movq %r12, %rsi
leaq 0x4f0(%rsp), %rdx
callq 0xdcda
testq %rax, %rax
je 0xfe1d
movq %rax, %r13
movq 0x3710(%rsp), %rsi
movq 0x3718(%rsp), %rdx
movq %rbp, %rdi
subq %rdx, %rdi
callq 0xbdab
testl %eax, %eax
jne 0xfdce
leaq 0x4f8(%rsp), %rax
leaq 0x4f0(%rsp), %rcx
jmp 0xff14
leaq 0x9a94(%rip), %rbp      # 0x198b8
xorl %r13d, %r13d
cmpq $-0x4c0, %r13           # imm = 0xFB40
je 0xfe73
movq %r15, %rax
subq (%rbp), %rax
jbe 0xfe55
movq -0x8(%rbp), %rsi
leaq (%rsp,%rax), %rdi
addq $0x1710, %rdi           # imm = 0x1710
callq 0xd3cf
testl %eax, %eax
je 0xff02
addq $-0x20, %r13
addq $0x20, %rbp
jmp 0xfe27
movq %rbx, %rdi
movl $0x130, %esi            # imm = 0x130
leaq 0x3301(%rip), %rdx      # 0x1316f
jmp 0xee1e
pushq $0xa
popq %rbp
leaq 0x3c0d(%rip), %rax      # 0x13a8a
movq %rax, 0x20(%rsp)
jmp 0xff1f
cmpl $0x45, %r13d
jle 0xfcfc
jmp 0xfd62
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x31de(%rip), %rdx      # 0x1308f
leaq 0x36ad(%rip), %rcx      # 0x13565
movq %rax, %r8
xorl %eax, %eax
callq 0x105c0
movq $0x0, 0x8(%rsp)
movl 0x30(%rsp), %edi
pushq $0x9
popq %rsi
callq 0x56e0
pushq $-0x1
popq %rbp
leaq 0x6c(%rsp), %r15
movl %r14d, %r13d
movl %ebp, %edi
movq %r15, %rsi
movl %r13d, %edx
callq 0x5370
testl %eax, %eax
jg 0xfee2
movq 0x20(%rsp), %r15
movq 0x8(%rsp), %r13
jmp 0xf78f
leaq 0x99a7(%rip), %rax      # 0x198b0
subq %r13, %rax
leaq 0x10(%rax), %rcx
addq $0x18, %rax
movq (%rcx), %rcx
movq %rcx, 0x20(%rsp)
movq (%rax), %rbp
leaq 0x1710(%rsp), %r15
movq 0x78(%rsp), %r13
movl $0xc8, 0x4c(%rbx)
movb $0x0, 0xa0(%rsp)
movq %r15, %rdi
leaq 0x361d(%rip), %rsi      # 0x13562
callq 0x55a0
testq %rax, %rax
je 0xffda
movq %rbp, 0x28(%rsp)
movq %r13, 0x8(%rsp)
movq %rax, 0x30(%rsp)
movq %rax, %rdi
callq 0x54e0
movl %eax, %edi
callq 0xdd7d
andq $0x0, 0x48(%rsp)
andq $0x0, 0x18(%rsp)
movq 0x58(%rsp), %rdi
leaq 0x32e6(%rip), %rsi      # 0x1326f
callq 0xb940
testq %rax, %rax
je 0x1000e
movq %rax, %rdi
leaq 0x18(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x11184
testl %eax, %eax
jle 0x1000e
movl %eax, %ebp
movl $0xce, 0x4c(%rbx)
movq 0x18(%rsp), %rsi
movq 0x30(%rsp), %rdi
xorl %edx, %edx
callq 0x52a0
cmpl $0x2, %ebp
jne 0x10017
movq 0x48(%rsp), %r15
movq 0x18(%rsp), %r8
subq %r8, %r15
incq %r15
jmp 0x10024
callq 0x5050
movl (%rax), %edi
callq 0x5170
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x309a(%rip), %rdx      # 0x1308f
leaq 0x38ef(%rip), %rcx      # 0x138eb
movq %r15, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0x105c0
jmp 0xe9dd
leaq 0x24b6(%rip), %rax      # 0x124cb
jmp 0x1005f
movq 0x18(%rsp), %r8
movq 0x8(%rsp), %r15
subq %r8, %r15
leaq (%r8,%r15), %r9
decq %r9
subq $0x8, %rsp
movq %rbx, %rdi
leaq 0xa8(%rsp), %rsi
pushq $0x40
popq %rdx
leaq 0x397e(%rip), %rcx      # 0x139c2
xorl %eax, %eax
pushq 0x10(%rsp)
callq 0x108b0
addq $0x10, %rsp
movq %r15, 0x8(%rsp)
leaq 0x3986(%rip), %rax      # 0x139e5
movq %rax, 0x50(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x5330
movq %r12, %rdi
pushq $0x40
popq %rbp
movq %rbp, %rsi
leaq 0x392b(%rip), %r13      # 0x139a9
movq %r13, %rdx
movq %rax, %rcx
callq 0x5390
leaq 0x80(%rsp), %rdi
callq 0x5330
leaq 0x4f0(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
movq %r13, %rdx
movq %rax, %rcx
callq 0x5390
movq 0x78(%rsp), %r9
movq 0x80(%rsp), %r8
movq %rbx, %rdi
leaq 0x2710(%rsp), %r13
movq %r13, %rsi
movq %rbp, %rdx
leaq 0x3921(%rip), %rcx      # 0x139f5
xorl %eax, %eax
callq 0x108b0
movl 0x4c(%rbx), %ebp
movq %rbx, %rdi
callq 0x1092c
movq %rax, %r10
movq %rbx, %rdi
leaq 0x390a(%rip), %rsi      # 0x139fd
movl %ebp, %edx
movq 0x50(%rsp), %rcx
movq %r12, %r8
movq %r15, %r9
xorl %eax, %eax
leaq 0xa0(%rsp), %r11
pushq %r11
pushq %r10
movq 0x18(%rsp), %rbp
pushq %rbp
pushq 0x38(%rsp)
pushq 0x48(%rsp)
pushq %r13
callq 0xbb9c
addq $0x30, %rsp
movq 0x10(%rbx), %rdi
leaq 0x2de6(%rip), %rsi      # 0x12f18
callq 0x56c0
testl %eax, %eax
movq 0x30(%rsp), %r15
je 0x1014e
movq %rbx, %rdi
movq %r15, %rsi
movq %rbp, %rdx
callq 0x1121e
movq %r15, %rdi
jmp 0xf7d0
movl 0x14(%rsp), %r8d
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x2f25(%rip), %rdx      # 0x1308f
leaq 0x33fe(%rip), %rcx      # 0x1356f
movq %r12, %r9
xorl %eax, %eax
callq 0x105c0
jmp 0xfecb
movl $0xc8, %edx
movl %edx, 0x4c(%rbx)
movq %rbx, %rdi
leaq 0x3414(%rip), %rsi      # 0x135a6
xorl %eax, %eax
callq 0xbb9c
movl 0xec(%rsp), %r15d
testl %r15d, %r15d
movl $0x0, %eax
cmovlel %eax, %r15d
leaq 0xf8(%rsp), %r13
xorl %ebp, %ebp
movl %ebp, 0x6c(%rsp)
cmpq %rbp, %r15
je 0x101e2
movq -0x8(%r13), %rdx
movq (%r13), %rcx
movq %rbx, %rdi
leaq 0x2dbd(%rip), %rsi      # 0x12f8f
xorl %eax, %eax
callq 0xbb9c
incq %rbp
addq $0x10, %r13
jmp 0x101b7
movq %rbx, %rdi
leaq 0x3051(%rip), %rsi      # 0x1323d
pushq $0x2
popq %rdx
callq 0xbac3
movq 0x28(%rsp), %rcx
movl %ecx, %eax
leaq (%rsp,%rax), %rsi
addq $0x3710, %rsi           # imm = 0x3710
movslq 0x14(%rsp), %rdx
movslq %ecx, %rax
subq %rax, %rdx
movq %rbx, %rdi
callq 0xbac3
cltq
addq %rax, 0x4b0(%rbx)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
callq 0x1121e
cmpl $-0x1, 0x30(%rsp)
jne 0xfecb
jmp 0xfef3
movq 0x8(%rsp), %rdi
callq 0x5870
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x3021(%rip), %rdx      # 0x13283
leaq 0x3504(%rip), %rcx      # 0x1376d
leaq 0x3092(%rip), %r8       # 0x13302
jmp 0xe9cc
movl 0x4d8(%rbx), %eax
cmpl 0x4d0(%rbx), %eax
jne 0x102a0
leaq 0x2ba2(%rip), %rdx      # 0x12e2c
leaq 0x2fae(%rip), %rcx      # 0x1323f
movq %rbx, %rdi
movl $0x19d, %esi            # imm = 0x19D
xorl %eax, %eax
callq 0x105c0
addq $0x5718, %rsp           # imm = 0x5718
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2710(%rsp), %rdi
callq 0x5760
testl %eax, %eax
jne 0x102f6
movl 0x8(%rsp), %edi
xorl %esi, %esi
callq 0x5430
cmpl $-0x1, %eax
jne 0x10327
callq 0x5050
movl (%rax), %edi
callq 0x5170
leaq 0x34aa(%rip), %rsi      # 0x13790
leaq 0x3495(%rip), %rdx      # 0x13782
movq %rbx, %rdi
movl 0x8(%rsp), %ecx
jmp 0x10355
callq 0x5050
movl (%rax), %edi
callq 0x5170
leaq 0x3467(%rip), %rsi      # 0x13770
leaq 0x3472(%rip), %rdx      # 0x13782
leaq 0x2710(%rsp), %rcx
movq %rbx, %rdi
movq %rax, %r8
xorl %eax, %eax
callq 0xcd67
jmp 0x1035f
pushq $0x1
popq %rsi
movl %ebp, %edi
callq 0x5430
cmpl $-0x1, %eax
jne 0x10367
callq 0x5050
movl (%rax), %edi
callq 0x5170
leaq 0x345b(%rip), %rsi      # 0x137a4
leaq 0x3432(%rip), %rdx      # 0x13782
movq %rbx, %rdi
movl %ebp, %ecx
movq %rax, %r8
xorl %eax, %eax
callq 0xcd67
pushq $0x1
popq %rdi
callq 0x55d0
pushq $0x2
popq %rsi
movl %ebp, %edi
callq 0x5430
movl 0x8(%rsp), %edi
callq 0x59e0
movl %ebp, %edi
callq 0x59e0
movq 0x458(%rbx), %rax
movq 0x28(%rax), %r14
testq %r14, %r14
jne 0x103cd
movq %r13, %rdi
movq %r13, %rsi
xorl %edx, %edx
leaq 0x1500(%rsp), %rcx
xorl %eax, %eax
callq 0x57a0
callq 0x5050
movl (%rax), %edi
callq 0x5170
leaq 0x33fd(%rip), %rsi      # 0x137b8
leaq 0x33c0(%rip), %rdx      # 0x13782
movq %rbx, %rdi
movq %r13, %rcx
jmp 0x1031b
movq %r14, %rdi
movq %r14, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
leaq 0x1500(%rsp), %r8
xorl %eax, %eax
callq 0x57a0
callq 0x5050
movl (%rax), %edi
callq 0x5170
leaq 0x33d1(%rip), %rsi      # 0x137cb
leaq 0x3381(%rip), %rdx      # 0x13782
movq %rbx, %rdi
movq %r14, %rcx
movq %r13, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0xcd67
jmp 0x1035f