// File: /workspace/github_c_makefile_star2_O1/sfeakes[P]unifi-motion/mongoose.c
// Function: mg_serve_http
void mg_serve_http(struct mg_connection *nc, struct http_message *hm,
                   struct mg_serve_http_opts opts) {
  char *path = NULL;
  struct mg_str *hdr, path_info;
  uint32_t remote_ip = ntohl(*(uint32_t *) &nc->sa.sin.sin_addr);

  if (mg_check_ip_acl(opts.ip_acl, remote_ip) != 1) {
    /* Not allowed to connect */
    mg_http_send_error(nc, 403, NULL);
    nc->flags |= MG_F_SEND_AND_CLOSE;
    return;
  }

#if MG_ENABLE_HTTP_URL_REWRITES
  if (mg_http_handle_forwarding(nc, hm, &opts)) {
    return;
  }

  if (mg_http_send_port_based_redirect(nc, hm, &opts)) {
    return;
  }
#endif

  if (opts.document_root == NULL) {
    opts.document_root = ".";
  }
  if (opts.per_directory_auth_file == NULL) {
    opts.per_directory_auth_file = ".htpasswd";
  }
  if (opts.enable_directory_listing == NULL) {
    opts.enable_directory_listing = "yes";
  }
  if (opts.cgi_file_pattern == NULL) {
    opts.cgi_file_pattern = "**.cgi$|**.php$";
  }
  if (opts.ssi_pattern == NULL) {
    opts.ssi_pattern = "**.shtml$|**.shtm$";
  }
  if (opts.index_files == NULL) {
    opts.index_files = "index.html,index.htm,index.shtml,index.cgi,index.php";
  }
  /* Normalize path - resolve "." and ".." (in-place). */
  if (!mg_normalize_uri_path(&hm->uri, &hm->uri)) {
    mg_http_send_error(nc, 400, NULL);
    return;
  }
  if (mg_uri_to_local_path(hm, &opts, &path, &path_info) == 0) {
    mg_http_send_error(nc, 404, NULL);
    return;
  }
  mg_send_http_file(nc, path, &path_info, hm, &opts);

  MG_FREE(path);
  path = NULL;

  /* Close connection for non-keep-alive requests */
  if (mg_vcmp(&hm->proto, "HTTP/1.1") != 0 ||
      ((hdr = mg_get_http_header(hm, "Connection")) != NULL &&
       mg_vcmp(hdr, "keep-alive") != 0)) {
#if 0
    nc->flags |= MG_F_SEND_AND_CLOSE;
#endif
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x35b8, %rsp           # imm = 0x35B8
movq %rsi, %rbx
movq %rdi, %r14
movl 0x2c(%rdi), %esi
bswapl %esi
movq 0x3628(%rsp), %rdi
callq 0x94c9
cmpl $0x1, %eax
jne 0xec0a
movq %r14, 0x40(%rsp)
movq %rbx, 0x28(%rsp)
leaq 0x35f0(%rsp), %rax
movq 0x40(%rax), %r14
leaq 0x3a0(%rsp), %rsi
leaq 0x25b0(%rsp), %rdx
movq %r14, %rdi
callq 0x77ad
testq %rax, %rax
je 0xeb07
movq %rax, %r15
leaq 0x7b23(%rip), %r12      # 0x1657a
leaq 0x7b24(%rip), %r13      # 0x16582
leaq 0x3a0(%rsp), %rbp
leaq 0x25b0(%rsp), %rbx
movq 0x3a0(%rsp), %rdi
movq 0x3a8(%rsp), %rsi
movq 0x28(%rsp), %rax
movq 0x30(%rax), %rdx
movq 0x38(%rax), %rcx
movq %rsi, %r8
callq 0x6e09
testl %eax, %eax
jne 0xeaed
movq 0x25b0(%rsp), %rdi
movq 0x25b8(%rsp), %rsi
movl $0x7, %ecx
movl $0x7, %r8d
movq %r12, %rdx
callq 0x6e09
testl %eax, %eax
je 0xedcd
movq 0x25b0(%rsp), %rdi
movq 0x25b8(%rsp), %rsi
movl $0x8, %ecx
movl $0x8, %r8d
movq %r13, %rdx
callq 0x6e09
testl %eax, %eax
je 0xedcd
movq %r15, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
callq 0x77ad
movq %rax, %r15
testq %rax, %rax
jne 0xea6e
movapd 0x69e1(%rip), %xmm0     # 0x154f0
leaq 0x3a1(%rsp), %rbx
movapd %xmm0, -0x1(%rbx)
xorl %ebp, %ebp
movl %ebp, 0xf(%rbx)
xorpd %xmm0, %xmm0
leaq 0x25b0(%rsp), %r15
movapd %xmm0, (%r15)
movq 0x40(%rsp), %r13
movq 0xc0(%r13), %rax
movq 0x10(%rax), %rax
movq %r13, %rdi
xorl %esi, %esi
movq %r15, %rdx
callq *0x78(%rax)
movl %ebp, 0xf(%rbx)
xorpd %xmm0, %xmm0
movupd %xmm0, (%rbx)
movzwl 0x2(%r15), %eax
rolw $0x8, %ax
movzwl %ax, %ecx
leaq 0x7870(%rip), %rdx      # 0x163db
movl $0x13, %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x31e0
leaq 0x1a0(%rsp), %rbx
leaq 0x70(%rsp), %r15
leaq 0x3a0(%rsp), %r12
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x77ad
testq %rax, %rax
je 0xec26
movq %rax, %r14
movq %rbx, %rdi
movq %r12, %rsi
callq 0x6c0c
testl %eax, %eax
jne 0xeb8f
xorl %edi, %edi
callq 0x6be8
movq %rdx, %rcx
movq %r13, %rdi
movl $0x12d, %esi            # imm = 0x12D
movq %rax, %rdx
callq 0xcb88
movl 0x78(%rsp), %edx
movq 0x70(%rsp), %rcx
movq 0x28(%rsp), %rbx
movq 0x30(%rbx), %r9
movl %r9d, %r8d
notl %r8d
addl 0x40(%rbx), %r8d
leaq 0x7996(%rip), %rsi      # 0x1658b
movq %r13, %rdi
xorl %eax, %eax
callq 0x80d3
testq %r14, %r14
jne 0xfd3f
jmp 0xec2b
movq %r14, %rdi
movl $0x193, %esi            # imm = 0x193
xorl %edx, %edx
callq 0xcd85
orb $0x4, 0xc9(%r14)
jmp 0xfd3f
movq 0x28(%rsp), %rbx
leaq 0x35f0(%rsp), %r15
cmpq $0x0, (%r15)
jne 0xec43
leaq 0x6dab(%rip), %rax      # 0x159eb
movq %rax, (%r15)
cmpq $0x0, 0x10(%r15)
jne 0xec55
leaq 0x72aa(%rip), %rax      # 0x15efb
movq %rax, 0x10(%r15)
cmpq $0x0, 0x28(%r15)
jne 0xec67
leaq 0x72a2(%rip), %rax      # 0x15f05
movq %rax, 0x28(%r15)
cmpq $0x0, 0x60(%r15)
jne 0xec79
leaq 0x7294(%rip), %rax      # 0x15f09
movq %rax, 0x60(%r15)
cmpq $0x0, 0x30(%r15)
jne 0xec8b
leaq 0x7292(%rip), %rax      # 0x15f19
movq %rax, 0x30(%r15)
cmpq $0x0, 0x8(%r15)
jne 0xec9d
leaq 0x7293(%rip), %rax      # 0x15f2c
movq %rax, 0x8(%r15)
leaq 0x30(%rbx), %r14
movq %r14, %rdi
movq %r14, %rsi
callq 0xb295
testl %eax, %eax
je 0xee01
movq 0x30(%rbx), %rbp
movq 0x38(%rbx), %rax
addq %rbp, %rax
movq %rax, 0x30(%rsp)
movq %rbx, %rdi
movq 0x40(%r15), %rbx
leaq 0x71db(%rip), %rsi      # 0x15ead
callq 0xbaa7
movq %rax, 0x38(%rsp)
leaq 0x3a0(%rsp), %rsi
leaq 0x25b0(%rsp), %rdx
movq %rbx, %rdi
callq 0x77ad
testq %rax, %rax
je 0xee0e
movq %rax, %r13
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x28(%rsp), %rbx
movq 0x3a8(%rsp), %rax
cmpq $0x2, %rax
jb 0xed50
movq 0x3a0(%rsp), %rdi
cmpb $0x40, (%rdi)
jne 0xed50
movq 0x38(%rsp), %rcx
testq %rcx, %rcx
je 0xeda7
decq %rax
cmpq %rax, 0x8(%rcx)
jne 0xeda7
incq %rdi
movq (%rcx), %rsi
movq %rax, %rdx
callq 0x6c88
testl %eax, %eax
jne 0xeda7
jmp 0xf873
movq 0x3a0(%rsp), %rdi
movq 0x30(%rbx), %rdx
movq 0x38(%rbx), %rcx
movq %rax, %rsi
callq 0x789b
testl %eax, %eax
jle 0xeda1
movl %eax, %ebp
addq (%r14), %rbp
cmpb $0x2f, (%rbp)
sete %al
cmpq 0x30(%rsp), %rbp
sete %cl
orb %al, %cl
jne 0xed8d
cmpb $0x2f, -0x1(%rbp)
jne 0xeda1
decq %rbp
movq 0x25b0(%rsp), %r15
movq 0x25b8(%rsp), %r12
movb $0x1, %al
jmp 0xeda3
xorl %eax, %eax
testb %al, %al
jne 0xee19
movq %r13, %rdi
leaq 0x3a0(%rsp), %rsi
leaq 0x25b0(%rsp), %rdx
callq 0x77ad
movq %rax, %r13
testq %rax, %rax
jne 0xed0b
jmp 0xee19
movq 0x3a0(%rsp), %rdx
movq 0x3a8(%rsp), %rcx
movq 0x25b0(%rsp), %r8
movq 0x25b8(%rsp), %r9
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xe2cc
jmp 0xfd3f
movq %r13, %rdi
movl $0x190, %esi            # imm = 0x190
jmp 0xf1ec
xorl %r12d, %r12d
xorl %r15d, %r15d
movq 0x28(%rsp), %rbx
testq %r15, %r15
jne 0xee34
leaq 0x35f0(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
callq 0x3180
movq %rax, %r12
testq %r15, %r15
je 0xfdd0
testq %r12, %r12
je 0xfdd0
movq 0x38(%rbx), %rbx
leaq (%r12,%rbx), %rdi
incq %rdi
callq 0x33e0
testq %rax, %rax
je 0xf117
movq %rax, %r13
leaq (%rax,%r12), %r14
leaq (%rbx,%r14), %rax
incq %rax
movq %rax, 0x58(%rsp)
incq %rbp
movq %r13, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x3380
leaq (%r12,%r13), %rax
decq %rax
movq %r13, 0x38(%rsp)
cmpb $0x2f, -0x1(%r13,%r12)
cmovneq %r14, %rax
movb $0x0, (%rax)
movl $0x1, 0x48(%rsp)
movq %rax, 0x60(%rsp)
movq %rax, %r14
movl $0x1, %r13d
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rsi
cmpq %rsi, %rbp
ja 0xf140
testl %r13d, %r13d
je 0xeef5
movq 0x38(%rsp), %rdi
leaq 0x3a0(%rsp), %rsi
callq 0x31b0
xorl %r12d, %r12d
xorl %r13d, %r13d
movb $0x1, %cl
testl %eax, %eax
sete %al
je 0xeefd
movq %rbp, %r15
movq 0x30(%rsp), %rsi
jmp 0xef2f
xorl %r13d, %r13d
movq %rbp, %r15
jmp 0xef36
movl 0x3b8(%rsp), %edx
movl $0xf000, %esi           # imm = 0xF000
andl %esi, %edx
movq %rbp, %r15
cmpl $0x8000, %edx           # imm = 0x8000
movq 0x30(%rsp), %rsi
jne 0xef2f
leaq -0x1(%rbp), %r15
cmpb $0x2f, -0x1(%rbp)
cmovneq %rbp, %r15
movl $0x6, %r12d
xorl %ecx, %ecx
movb %al, %r13b
testb %cl, %cl
je 0xef8e
movl $0x6, %r12d
cmpq %rsi, %r15
jae 0xef8e
movq %rbp, 0x3a0(%rsp)
movq %rbp, %rdi
cmpq %rsi, %rbp
setb %al
jae 0xefa2
cmpb $0x2f, (%rbp)
movq %rbp, %rcx
je 0xef78
leaq 0x1(%rbp), %rdi
cmpq %rsi, %rdi
setb %al
jae 0xefa2
leaq 0x1(%rdi), %rcx
cmpb $0x2f, (%rdi)
movq %rcx, %rdi
jne 0xef61
decq %rcx
movq %rcx, %rdx
subq %rbp, %rdx
movq %rdx, 0x3a8(%rsp)
movzbl %al, %edi
addq %rcx, %rdi
jmp 0xefb0
movq %r15, %rdi
movq %rdi, %rbp
testl %r12d, %r12d
je 0xeebc
jmp 0xf143
movq %rdi, %rax
subq %rbp, %rax
movq %rax, 0x3a8(%rsp)
movq 0x3a8(%rsp), %rdx
testq %rdx, %rdx
je 0xf08a
movq %rdi, 0x50(%rsp)
leaq 0x1(%r14), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x3500
movl 0x3a8(%rsp), %esi
movl %r14d, %ecx
notl %ecx
addl 0x58(%rsp), %ecx
movq %rbx, %rdi
movq %rbx, %rdx
xorl %r8d, %r8d
callq 0xd1d3
testl %eax, %eax
jle 0xf092
movq %rbx, 0x3a0(%rsp)
movl %eax, %eax
movq %rax, 0x3a8(%rsp)
leaq 0x3a0(%rsp), %r15
movq %r15, %rdi
leaq 0x69cc(%rip), %rsi      # 0x159eb
callq 0x6c0c
xorl %r12d, %r12d
testl %eax, %eax
je 0xf0eb
movq %r15, %rdi
leaq 0x69b1(%rip), %rsi      # 0x159ea
callq 0x6c0c
testl %eax, %eax
je 0xf0ac
movb $0x2f, (%r14)
movq 0x3a8(%rsp), %rax
testq %rax, %rax
je 0xf0e8
leaq (%rbx,%rax), %rcx
movq %rbx, %r14
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rsi
movq 0x50(%rsp), %rdi
movzbl (%r14), %edx
testl %edx, %edx
je 0xf0d8
cmpl $0x2f, %edx
je 0xf0d8
incq %r14
decq %rax
jne 0xf06d
movq %rcx, %r14
jmp 0xef91
xorl %r12d, %r12d
jmp 0xef91
movq %r15, %rdi
movl $0x0, 0x48(%rsp)
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rsi
jmp 0xef91
movq 0x60(%rsp), %rax
cmpq %rax, %r14
jbe 0xf0ff
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rsi
movq 0x50(%rsp), %rdi
cmpb $0x2f, (%r14)
je 0xf10e
decq %r14
cmpq %rax, %r14
ja 0xf0c5
movq %rax, %r14
jmp 0xf10e
xorl %r12d, %r12d
movl $0x0, 0x48(%rsp)
jmp 0xef91
movq %rbx, %r14
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rsi
movq 0x50(%rsp), %rdi
jmp 0xef91
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rsi
movq 0x50(%rsp), %rdi
movb $0x0, (%r14)
jmp 0xef91
xorl %r12d, %r12d
movq $0x0, 0x50(%rsp)
movq $0x0, 0x30(%rsp)
movq 0x28(%rsp), %rbx
movq 0x40(%rsp), %r14
leaq 0x35f0(%rsp), %r15
jmp 0xf193
movq %rbp, %rdi
cmpl $0x0, 0x48(%rsp)
movq 0x40(%rsp), %r14
leaq 0x35f0(%rsp), %r15
je 0xf174
cmpq %rsi, %rdi
cmovaq %rsi, %rdi
movq %rdi, 0x50(%rsp)
subq %rdi, %rsi
movq %rsi, 0x30(%rsp)
xorl %ebp, %ebp
movq 0x38(%rsp), %r12
jmp 0xf196
movq 0x38(%rsp), %rdi
callq 0x3060
xorl %r12d, %r12d
movq $0x0, 0x50(%rsp)
movq $0x0, 0x30(%rsp)
movb $0x1, %bpl
leaq 0x74a4(%rip), %rsi      # 0x16641
leaq 0x6406(%rip), %rdx      # 0x155aa
movl $0x3, %edi
callq 0x44b4
testl %eax, %eax
je 0xf1df
movl 0x38(%rbx), %esi
movq 0x30(%rbx), %rdx
testq %r12, %r12
leaq 0x760c(%rip), %rcx      # 0x167cf
cmovneq %r12, %rcx
leaq 0x7488(%rip), %rdi      # 0x16656
movq 0x30(%rsp), %r8
movq 0x50(%rsp), %r9
xorl %eax, %eax
callq 0x45a0
testb %bpl, %bpl
je 0xf1f8
movq %r14, %rdi
movl $0x194, %esi            # imm = 0x194
xorl %edx, %edx
callq 0xcd85
jmp 0xfd3f
leaq 0x110(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x31b0
movl %eax, 0x60(%rsp)
testl %eax, %eax
sete %cl
movl 0x18(%rbx), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x4000, %eax           # imm = 0x4000
sete %al
movb %cl, 0x58(%rsp)
andb %cl, %al
cmpb $0x1, %al
movq %r12, 0x38(%rsp)
jne 0xf370
movb %al, 0x48(%rsp)
movq 0x8(%r15), %r13
movq %r12, %rdi
callq 0x3180
movq %rax, %r14
addq $0x2, %r14
xorl %ebp, %ebp
xorl %r15d, %r15d
movq %r13, %rdi
leaq 0x25b0(%rsp), %rsi
xorl %edx, %edx
callq 0x77ad
testq %rax, %rax
je 0xf313
movq %rax, %r13
movq 0x25b8(%rsp), %rbx
leaq (%r14,%rbx), %r12
movq %rbp, %rdi
movq %r12, %rsi
callq 0x34a0
movq %rax, %rbp
testq %rax, %rax
je 0xf309
movq 0x25b0(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rdi
movq %r12, %rsi
leaq 0x7465(%rip), %rdx      # 0x1670e
movq 0x38(%rsp), %rcx
movl $0x2f, %r8d
movl %ebx, %r9d
xorl %eax, %eax
callq 0x31e0
movq %rbp, %rdi
leaq 0x3a0(%rsp), %rsi
callq 0x31b0
movb $0x1, %cl
testl %eax, %eax
jne 0xf30b
movl 0x3b8(%rsp), %eax
movl $0xf000, %edx           # imm = 0xF000
andl %edx, %eax
cmpl $0x8000, %eax           # imm = 0x8000
jne 0xf30b
movl $0x90, %edx
leaq 0x110(%rsp), %rdi
leaq 0x3a0(%rsp), %rsi
callq 0x3380
movl $0x1, %r15d
xorl %ecx, %ecx
testb %cl, %cl
jne 0xf253
testl %r15d, %r15d
jne 0xf322
movq %rbp, %rdi
callq 0x3060
xorl %ebp, %ebp
leaq 0x35f0(%rsp), %r15
movq 0x38(%rsp), %r12
leaq 0x73e1(%rip), %rsi      # 0x16717
leaq 0x626d(%rip), %rdx      # 0x155aa
movl $0x3, %edi
callq 0x44b4
testl %eax, %eax
je 0xf36a
testq %rbp, %rbp
leaq 0x747a(%rip), %rdx      # 0x167cf
cmovneq %rbp, %rdx
leaq 0x73ca(%rip), %rdi      # 0x1672a
movq %r12, %rsi
xorl %eax, %eax
callq 0x45a0
movb 0x48(%rsp), %al
jmp 0xf372
xorl %ebp, %ebp
movzbl %al, %r14d
movq 0x60(%r15), %rbx
movq %rbx, %rdi
callq 0x3180
testq %rbp, %rbp
movq %rbp, %rdx
cmoveq %r12, %rdx
movq %rbx, %rdi
movl %eax, %esi
movq %rdx, 0x48(%rsp)
callq 0x456e
movl %eax, %r13d
leaq 0x72c9(%rip), %rsi      # 0x1666e
leaq 0x61fe(%rip), %rdx      # 0x155aa
movl $0x3, %edi
callq 0x44b4
testl %eax, %eax
movq 0x28(%rsp), %rbx
je 0xf411
xorl %r9d, %r9d
movb 0x58(%rsp), %al
movb %al, %r9b
xorl %eax, %eax
testl %r13d, %r13d
setg %al
testq %rbp, %rbp
movl 0x28(%rbx), %edx
movq 0x20(%rbx), %rcx
leaq 0x73ed(%rip), %rsi      # 0x167cf
cmovneq %rbp, %rsi
movq %rsi, 0x18(%rsp)
movl %eax, 0x10(%rsp)
movl %r14d, (%rsp)
movl $0x0, 0x8(%rsp)
leaq 0x727e(%rip), %rdi      # 0x16680
movq 0x40(%rsp), %rsi
movq %r12, %r8
xorl %eax, %eax
callq 0x45a0
testl %r14d, %r14d
je 0xf429
movq 0x30(%rbx), %rcx
movq 0x38(%rbx), %rdx
cmpb $0x2f, -0x1(%rcx,%rdx)
jne 0xf798
cmpq $0x0, 0x30(%rsp)
je 0xf44c
testl %r13d, %r13d
jg 0xf44c
movq 0x40(%rsp), %rdi
movl $0x1f5, %esi            # imm = 0x1F5
xorl %edx, %edx
callq 0xcd85
jmp 0xfcf3
movq 0x38(%rsp), %r12
movq %r12, %rdi
callq 0x6be8
movq 0x18(%r15), %r8
movq 0x20(%r15), %r9
movl $0x1, (%rsp)
movq %rbx, %rdi
movq %rax, %rsi
movl %r14d, %ecx
callq 0x12d0a
testl %eax, %eax
je 0xf7b0
movq %r12, %rdi
callq 0x6be8
movq 0x10(%r15), %r9
movq 0x18(%r15), %r8
movl $0x0, (%rsp)
movq %rbx, %rdi
movq %rax, %rsi
movl %r14d, %ecx
callq 0x12d0a
testl %eax, %eax
je 0xf7b0
testl %r13d, %r13d
jle 0xf7f8
leaq 0x7315(%rip), %rsi      # 0x167d0
leaq 0x60e8(%rip), %rdx      # 0x155aa
movl $0x4, %edi
callq 0x44b4
testl %eax, %eax
movq 0x40(%rsp), %r13
movq 0x48(%rsp), %rdx
je 0xf4eb
leaq 0x72fd(%rip), %rdi      # 0x167de
movq %r13, %rsi
xorl %eax, %eax
callq 0x45a0
movq $0x0, 0x25a8(%rsp)
movq %r13, 0x3a0(%rsp)
leaq 0x72e0(%rip), %rdi      # 0x167e6
callq 0x3050
movq %rax, %rbx
testq %rax, %rax
jne 0xf553
movl 0x20(%r13), %edi
leaq 0x1a0(%rsp), %rbx
movl $0x10, (%rbx)
xorpd %xmm0, %xmm0
leaq 0x70(%rsp), %r14
movapd %xmm0, (%r14)
movq %r14, %rsi
movq %rbx, %rdx
callq 0x3560
movl $0x64, %edx
movq %r14, %rdi
movq %rbx, %rsi
movl $0x3, %ecx
callq 0xaa56
leaq 0x7298(%rip), %rsi      # 0x167f2
leaq 0x3a0(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x1388f
movq (%r15), %rbx
leaq 0x7288(%rip), %rsi      # 0x16801
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x1388f
leaq 0x7283(%rip), %rsi      # 0x16810
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x1388f
leaq 0x7280(%rip), %rsi      # 0x16821
leaq 0x728f(%rip), %rdx      # 0x16837
leaq 0x6f67(%rip), %rcx      # 0x16516
movq %r14, %rdi
xorl %eax, %eax
callq 0x1388f
leaq 0x6a32(%rip), %rbx      # 0x15ff2
leaq 0x7279(%rip), %rdx      # 0x16840
movq %r14, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1388f
leaq 0x727f(%rip), %rdx      # 0x1685a
movq %r14, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1388f
leaq 0x7284(%rip), %rdx      # 0x16873
movq %r14, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1388f
movq 0x28(%rsp), %r15
movl 0x28(%r15), %edx
movq 0x20(%r15), %rcx
leaq 0x7277(%rip), %rsi      # 0x16887
movq %r14, %rdi
xorl %eax, %eax
callq 0x1388f
movl 0x38(%r15), %edx
movq 0x30(%r15), %rcx
movq 0x70(%r15), %r9
testq %r9, %r9
leaq 0x719f(%rip), %rax      # 0x167cf
leaq 0x63b8(%rip), %r8       # 0x159ef
movq %rax, 0x58(%rsp)
cmoveq %rax, %r8
movq 0x68(%r15), %rax
movq %rax, (%rsp)
leaq 0x724c(%rip), %rsi      # 0x1689b
movq %r14, %rdi
xorl %eax, %eax
callq 0x1388f
xorpd %xmm0, %xmm0
leaq 0x70(%rsp), %r12
movapd %xmm0, (%r12)
movq 0xc0(%r13), %rax
movq 0x10(%rax), %rax
movq %r13, %rdi
movl $0x4, %esi
movq %r12, %rdx
callq *0x78(%rax)
leaq 0x1a0(%rsp), %rbx
movl $0x64, %edx
movq %r12, %rdi
movq %rbx, %rsi
movl $0x5, %ecx
callq 0xaa56
leaq 0x720d(%rip), %rsi      # 0x168b2
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x1388f
xorpd %xmm0, %xmm0
movapd %xmm0, (%r12)
movq 0xc0(%r13), %rax
movq 0x10(%rax), %rax
leaq 0x70(%rsp), %r12
movq %r13, %rdi
xorl %esi, %esi
movq %r12, %rdx
callq *0x78(%rax)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x50(%rbx)
movapd %xmm0, 0x40(%rbx)
movapd %xmm0, 0x30(%rbx)
movapd %xmm0, 0x20(%rbx)
movapd %xmm0, 0x10(%rbx)
movapd %xmm0, (%rbx)
movl $0x0, 0x60(%rbx)
movzwl 0x2(%r12), %eax
rolw $0x8, %ax
movzwl %ax, %ecx
leaq 0x6cc8(%rip), %rdx      # 0x163db
movl $0x64, %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x31e0
leaq 0x7198(%rip), %rsi      # 0x168c1
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x1388f
movq 0x30(%r15), %rbx
movq 0x38(%r15), %rax
addq %rbx, %rax
movq 0x30(%rsp), %rcx
notq %rcx
leaq (%rcx,%rax), %r14
cmpb $0x2f, (%rcx,%rax)
jne 0xf888
movq 0x48(%rsp), %r15
movq %r15, %rdi
movl $0x2f, %esi
callq 0x31f0
subl %ebx, %r14d
leaq 0x1(%rax), %r8
testq %rax, %rax
cmoveq %r15, %r8
leaq 0x7152(%rip), %rsi      # 0x168d0
leaq 0x3a0(%rsp), %rdi
movl %r14d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x1388f
jmp 0xf8af
leaq 0x6f1f(%rip), %rsi      # 0x166be
movq 0x40(%rsp), %rdi
xorl %eax, %eax
callq 0x80d3
jmp 0xfcf3
movq 0x18(%r15), %rbx
callq 0x4b23
cvttsd2si %xmm0, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
subsd 0x5b3b(%rip), %xmm0     # 0x15308
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rax, %rcx
leaq 0x6f82(%rip), %rsi      # 0x16761
movq 0x40(%rsp), %rdi
movq %rbx, %rdx
movq 0x28(%rsp), %rbx
xorl %eax, %eax
callq 0x80d3
jmp 0xfcf8
cmpl $0x0, 0x60(%rsp)
movq 0x40(%rsp), %r15
movq 0x38(%rsp), %r12
jne 0xf823
movq %r12, %rdi
leaq 0x35f0(%rsp), %rsi
xorl %edx, %edx
callq 0x12e30
testl %eax, %eax
je 0xfb3b
movq 0x28(%rsp), %rax
leaq 0x20(%rax), %rbx
leaq 0x722c(%rip), %rsi      # 0x16a5f
movq %rbx, %rdi
callq 0x6c0c
testl %eax, %eax
je 0xfb3b
leaq 0x61a7(%rip), %rsi      # 0x159f1
movq %rbx, %rdi
callq 0x6c0c
testl %eax, %eax
je 0xfb3b
movq %r15, %rdi
movl $0x194, %esi            # imm = 0x194
xorl %edx, %edx
callq 0xcd85
movq 0x28(%rsp), %rbx
jmp 0xfcf8
movq 0x25b0(%rsp), %r15
movq 0x25b8(%rsp), %r12
jmp 0xee19
subl %ebx, %r14d
incl %r14d
leaq 0x704f(%rip), %rsi      # 0x168e4
leaq 0x3a0(%rsp), %rdi
movl %r14d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x1388f
movq 0x48(%rsp), %r15
leaq 0x703f(%rip), %rsi      # 0x168f5
leaq 0x3a0(%rsp), %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x1388f
movq 0x30(%rsp), %r14
testq %r14, %r14
je 0xf90d
leaq 0x702f(%rip), %rsi      # 0x16908
leaq 0x3a0(%rsp), %rbx
movq %rbx, %rdi
movl %r14d, %edx
movq 0x50(%rsp), %r15
movq %r15, %rcx
xorl %eax, %eax
callq 0x1388f
leaq 0x701a(%rip), %rsi      # 0x16917
movq %rbx, %rdi
movl %r14d, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x1388f
leaq 0x7018(%rip), %rsi      # 0x1692c
leaq 0x3a0(%rsp), %rdi
xorl %eax, %eax
callq 0x1388f
leaq 0x700c(%rip), %rsi      # 0x16936
movq 0x28(%rsp), %rbx
movq %rbx, %rdi
callq 0xbaa7
testq %rax, %rax
je 0xf958
movl 0x8(%rax), %edx
movq (%rax), %rcx
leaq 0x6ffa(%rip), %rsi      # 0x16943
leaq 0x3a0(%rsp), %rdi
xorl %eax, %eax
callq 0x1388f
movq 0x70(%rbx), %rdx
testq %rdx, %rdx
je 0xf97b
movq 0x68(%rbx), %rcx
leaq 0x6fe9(%rip), %rsi      # 0x16955
leaq 0x3a0(%rsp), %rdi
xorl %eax, %eax
callq 0x1388f
leaq 0x6ac6(%rip), %rsi      # 0x16448
movq %rbx, %rdi
callq 0xbaa7
testq %rax, %rax
je 0xf9ab
movl 0x8(%rax), %edx
movq (%rax), %rcx
leaq 0x6fcb(%rip), %rsi      # 0x16967
leaq 0x3a0(%rsp), %rdi
xorl %eax, %eax
callq 0x1388f
leaq 0x6ff9(%rip), %rsi      # 0x169ab
leaq 0x3a0(%rsp), %rbx
movq %rbx, %rdi
callq 0x13978
leaq 0x6fb2(%rip), %rsi      # 0x1697b
movq %rbx, %rdi
callq 0x13978
leaq 0x6fa7(%rip), %rsi      # 0x1697f
movq %rbx, %rdi
callq 0x13978
leaq 0x6f9d(%rip), %rsi      # 0x16984
movq %rbx, %rdi
callq 0x13978
leaq 0x6f95(%rip), %rsi      # 0x1698b
movq %rbx, %rdi
callq 0x13978
leaq 0x6f8e(%rip), %rsi      # 0x16993
movq %rbx, %rdi
callq 0x13978
leaq 0x6f8c(%rip), %rsi      # 0x169a0
movq %rbx, %rdi
callq 0x13978
movq 0x28(%rsp), %rax
movq 0x80(%rax), %rdx
testq %rdx, %rdx
je 0xfaba
movq 0x28(%rsp), %rax
leaq 0x78(%rax), %r12
leaq 0x2f8(%rax), %r13
leaq 0x3a0(%rsp), %r15
movq %r12, %rax
xorl %r14d, %r14d
movq (%rax), %rcx
movq %r14, %rax
shlq $0x4, %rax
movl 0x8(%r13,%rax), %r8d
movq (%r13,%rax), %r9
movq %r15, %rdi
leaq 0x6f43(%rip), %rsi      # 0x169b0
xorl %eax, %eax
callq 0x1388f
movq %rax, %rbx
movzbl (%rbx), %eax
cmpl $0x2d, %eax
je 0xfa8a
testl %eax, %eax
je 0xfaa2
cmpl $0x3d, %eax
jne 0xfa8d
jmp 0xfaa2
movb $0x5f, (%rbx)
callq 0x3030
movq (%rax), %rax
movzbl (%rbx), %ecx
movb (%rax,%rcx,4), %al
movb %al, (%rbx)
incq %rbx
jmp 0xfa77
incq %r14
movq %r14, %rcx
shlq $0x4, %rcx
leaq (%r12,%rcx), %rax
movq 0x8(%r12,%rcx), %rdx
testq %rdx, %rdx
jne 0xfa4f
movslq 0x25ac(%rsp), %rax
leal 0x1(%rax), %ecx
movl %ecx, 0x25ac(%rsp)
movq $0x0, 0x23a8(%rsp,%rax,8)
movslq 0x25a8(%rsp), %rax
leal 0x1(%rax), %ecx
movl %ecx, 0x25a8(%rsp)
movb $0x0, 0x3a8(%rsp,%rax)
movq 0x48(%rsp), %r12
movq %r12, %rdi
movl $0x2f, %esi
callq 0x31f0
testq %rax, %rax
je 0xfb99
movq %rax, %rbx
movl %ebx, %ecx
subl %r12d, %ecx
leaq 0x612c(%rip), %rdx      # 0x15c48
leaq 0x25b0(%rsp), %rdi
movl $0x1000, %esi           # imm = 0x1000
movq %r12, %r8
xorl %eax, %eax
callq 0x31e0
incq %rbx
movq %rbx, %r12
jmp 0xfba3
movq 0x28(%rsp), %rbx
leaq 0x20(%rbx), %rdi
leaq 0x6bae(%rip), %rsi      # 0x166f9
callq 0x6c0c
testl %eax, %eax
je 0xfd51
testl %r14d, %r14d
je 0xfd73
testq %rbp, %rbp
jne 0xfd73
leaq 0x35f0(%rsp), %r14
movq 0x28(%r14), %rdi
leaq 0x6388(%rip), %rsi      # 0x15f05
callq 0x3310
movq %r15, %rdi
testl %eax, %eax
je 0xfdbd
movl $0x193, %esi            # imm = 0x193
xorl %edx, %edx
jmp 0xfd96
movw $0x2e, 0x25b0(%rsp)
movq 0x40(%rsp), %r13
leaq 0x35f0(%rsp), %r14
leaq 0x68(%rsp), %rdi
movl $0x1, %esi
callq 0xa20c
testl %eax, %eax
je 0xfce6
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0x3350
movq $0x1, -0x8(%rbx)
movl $0x0, 0x80(%rbx)
leaq 0x70(%rsp), %rsi
movl $0x11, %edi
xorl %edx, %edx
callq 0x30f0
movq 0x68(%r14), %r15
movl 0x6c(%rsp), %r14d
callq 0x3630
testl %eax, %eax
je 0xfdef
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rbx
subq 0x8(%rax), %rbx
addq 0x48(%r13), %rbx
movq 0x18(%r13), %rdi
movl 0x68(%rsp), %esi
xorpd %xmm0, %xmm0
movapd %xmm0, 0x1b0(%rsp)
movapd %xmm0, 0x1a0(%rsp)
movapd 0x1a0(%rsp), %xmm0
movaps 0x1b0(%rsp), %xmm1
movups %xmm1, 0x10(%rsp)
movupd %xmm0, (%rsp)
leaq 0x3a3c(%rip), %rdx      # 0x1369a
callq 0x97a3
movq %rax, %r15
cmpq $0x0, 0x88(%r13)
jne 0xfc94
movl $0x1, %edi
movl $0x58, %esi
callq 0x3300
movq %rax, 0x88(%r13)
leaq 0x2f94(%rip), %rax      # 0x12c21
movq %rax, 0x90(%r13)
leaq 0x40(%r13), %r12
movq 0x88(%r13), %rax
movq %r15, 0x20(%rax)
movq %r13, 0xa0(%r15)
orb $0x10, 0xca(%r13)
testq %rbx, %rbx
je 0xfcd0
cmpq 0x48(%r13), %rbx
jae 0xfcd0
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movl %ebx, %edx
callq 0x808e
movq 0x48(%r13), %rsi
movq %r12, %rdi
callq 0x6bb8
movl %r14d, %edi
callq 0x3280
jmp 0xfcee
orb $0x8, 0xc9(%r13)
movq 0x28(%rsp), %rbx
movq 0x38(%rsp), %r12
movq %rbp, %rdi
callq 0x3060
movq %r12, %rdi
callq 0x3060
leaq 0x40(%rbx), %rdi
leaq 0x6b57(%rip), %rsi      # 0x1686a
callq 0x6c0c
testl %eax, %eax
jne 0xfd3f
leaq 0x5f7f(%rip), %rsi      # 0x15ca2
movq %rbx, %rdi
callq 0xbaa7
testq %rax, %rax
je 0xfd3f
leaq 0x5f76(%rip), %rsi      # 0x15cad
movq %rax, %rdi
callq 0x6c0c
addq $0x35b8, %rsp           # imm = 0x35B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x629a(%rip), %rsi      # 0x15ff2
leaq 0x6d06(%rip), %rdx      # 0x16a65
movq %r15, %rdi
xorl %eax, %eax
callq 0x80d3
orb $0x4, 0xc9(%r15)
jmp 0xfcf8
leaq 0x110(%rsp), %rsi
movq %rbx, %rdi
callq 0x132bb
testl %eax, %eax
je 0xfda0
leaq 0x6973(%rip), %rdx      # 0x16701
movq %r15, %rdi
movl $0x130, %esi            # imm = 0x130
callq 0xcd85
jmp 0xfcf8
movq %r15, %rdi
movq 0x48(%rsp), %rsi
movq %rbx, %rdx
leaq 0x35f0(%rsp), %rcx
callq 0x13517
jmp 0xfcf8
movq %r12, %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x12ee9
jmp 0xfcf8
leaq 0x67de(%rip), %rdi      # 0x165b5
leaq 0x57cc(%rip), %rsi      # 0x155aa
leaq 0x67ef(%rip), %rcx      # 0x165d4
movl $0x1e73, %edx           # imm = 0x1E73
callq 0x3220
leaq 0x23a8(%rsp), %rbx
leaq 0x25b0(%rsp), %rdi
callq 0x3190
movl %r14d, %edi
xorl %esi, %esi
callq 0x31a0
movl %r14d, %edi
movl $0x1, %esi
callq 0x31a0
movl %r14d, %edi
callq 0x3280
movl $0x11, %edi
xorl %esi, %esi
callq 0x3390
testq %r15, %r15
jne 0xfe4f
movq %r12, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x35d0
leaq 0x6982(%rip), %r15      # 0x167cf
jmp 0xfe70
movq %r15, %rdi
movq %r15, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
xorl %eax, %eax
callq 0x35d0
leaq 0x77a1(%rip), %rax      # 0x1760c
movq %rax, 0x58(%rsp)
callq 0x30a0
movl (%rax), %edi
callq 0x3600
movq %rax, (%rsp)
leaq 0x6b3e(%rip), %rdx      # 0x169c5
leaq 0x1a0(%rsp), %rbx
movl $0x1f4, %esi            # imm = 0x1F4
movq %rbx, %rdi
movq %r15, %rcx
movq 0x58(%rsp), %r8
movq %r12, %r9
xorl %eax, %eax
callq 0x31e0
movq %rbx, %rdi
callq 0x3180
movl $0x1, %edi
movq %rbx, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x31c0
movl $0x1, %edi
callq 0x30d0