// File: /workspace/github_cpp_makefile_star2_O3/nilnilnil[P]autocomplete/deps/mongoose/mongoose.c
// Function: worker_thread
static void worker_thread(struct mg_context *ctx) {
  struct mg_connection *conn;
  int buf_size = atoi(ctx->config[MAX_REQUEST_SIZE]);

  conn = (struct mg_connection *) calloc(1, sizeof(*conn) + buf_size);
  conn->buf_size = buf_size;
  conn->buf = (char *) (conn + 1);
  assert(conn != NULL);

  while (ctx->stop_flag == 0 && consume_socket(ctx, &conn->client)) {
    conn->birth_time = time(NULL);
    conn->ctx = ctx;

    // Fill in IP, port info early so even if SSL setup below fails,
    // error handler would have the corresponding info.
    // Thanks to Johannes Winkelmann for the patch.
    conn->request_info.remote_port = ntohs(conn->client.rsa.u.sin.sin_port);
    memcpy(&conn->request_info.remote_ip,
           &conn->client.rsa.u.sin.sin_addr.s_addr, 4);
    conn->request_info.remote_ip = ntohl(conn->request_info.remote_ip);
    conn->request_info.is_ssl = conn->client.is_ssl;

    if (!conn->client.is_ssl ||
        (conn->client.is_ssl && sslize(conn, SSL_accept))) {
      process_new_connection(conn);
    }

    close_connection(conn);
  }
  free(conn);

  // Signal master that we're done with connection and exiting
  (void) pthread_mutex_lock(&ctx->mutex);
  ctx->num_threads--;
  (void) pthread_cond_signal(&ctx->cond);
  assert(ctx->num_threads >= 0);
  (void) pthread_mutex_unlock(&ctx->mutex);

  DEBUG_TRACE(("exiting"));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4128, %rsp           # imm = 0x4128
movq %rdi, %rbx
movq 0x88(%rdi), %rdi
callq 0x5810
movslq %eax, %r15
movl $0x4e0, %r12d           # imm = 0x4E0
leaq (%r15,%r12), %rsi
movl $0x1, %edi
callq 0x52d0
movq %rax, %r14
movl %r15d, 0x4d0(%rax)
addq %rax, %r12
movq %r12, 0x4c8(%rax)
cmpl $0x0, (%rbx)
jne 0x11446
leaq 0x468(%r14), %rax
movq %rax, 0x68(%rsp)
leaq 0xe0(%rbx), %rax
movq %rax, 0x30(%rsp)
leaq 0x640(%rbx), %rax
movq %rax, 0x78(%rsp)
leaq 0x138(%rbx), %rax
movq %rax, 0x60(%rsp)
leaq 0x670(%rbx), %rax
movq %rax, 0x58(%rsp)
leaq 0x8(%r14), %rax
movq %rax, 0x20(%rsp)
leaq 0x10(%r14), %rax
movq %rax, 0x28(%rsp)
leaq 0x4d8(%r14), %rax
movq %rax, 0x70(%rsp)
movq %r14, %rax
addq $0x60, %rax
movq %rax, 0x50(%rsp)
xorl %r13d, %r13d
leaq 0x3120(%rsp), %r12
movq 0x30(%rsp), %rdi
callq 0x5740
movl 0x638(%rbx), %eax
cmpl 0x63c(%rbx), %eax
jne 0x101e3
cmpl $0x0, (%rbx)
jne 0x101e3
movq 0x78(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x57b0
jmp 0x101bf
cmpl $0x0, (%rbx)
jne 0x1143c
movslq 0x63c(%rbx), %rcx
movq %rcx, %rax
movabsq $-0x3333333333333333, %rdx # imm = 0xCCCCCCCCCCCCCCCD
mulq %rdx
shrl $0x2, %edx
andl $-0x4, %edx
leal (%rdx,%rdx,4), %eax
subl %eax, %ecx
shll $0x6, %ecx
movq 0x60(%rsp), %rax
movups (%rax,%rcx), %xmm0
movups 0x10(%rax,%rcx), %xmm1
movups 0x20(%rax,%rcx), %xmm2
movups 0x30(%rax,%rcx), %xmm3
movq 0x68(%rsp), %rax
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
incl 0x63c(%rbx)
movl 0x63c(%rbx), %eax
cmpl $0x15, %eax
jl 0x10267
addl $-0x14, 0x63c(%rbx)
addl $-0x14, 0x638(%rbx)
movl 0x63c(%rbx), %eax
cmpl $0x14, %eax
jg 0x1024e
movq 0x58(%rsp), %rdi
callq 0x5030
movq 0x30(%rsp), %rdi
callq 0x5360
xorl %edi, %edi
callq 0x5430
movq %rax, 0x4a8(%r14)
movq %rbx, 0x458(%r14)
movzwl 0x48e(%r14), %eax
rolw $0x8, %ax
movzwl %ax, %eax
movl %eax, 0x48(%r14)
movl 0x490(%r14), %eax
bswapl %eax
movq %rax, 0x40(%r14)
movl 0x49c(%r14), %ecx
movl %ecx, 0x50(%r14)
movq %rbx, %rax
testl %ecx, %ecx
je 0x102e0
movq 0xc52f(%rip), %rsi      # 0x1c7f8
movq %r14, %rdi
callq 0x12013
testl %eax, %eax
je 0x11429
movq 0x458(%r14), %rax
movq 0x78(%rax), %rdi
leaq 0x55e5(%rip), %rsi      # 0x158d0
callq 0x56b0
movl %eax, 0x3c(%rsp)
movq 0x30(%r14), %rdi
testq %rdi, %rdi
je 0x10302
callq 0x55d0
movq %r13, 0x30(%r14)
movl $0x0, 0x54(%r14)
movq 0x28(%rsp), %rax
movq %r13, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl $0xffffffff, 0x4c(%r14) # imm = 0xFFFFFFFF
movq %r13, 0x4c0(%r14)
movq %r13, 0x4b0(%r14)
movq $-0x1, 0x4b8(%r14)
movq %r13, 0x4d4(%r14)
movq 0x4c8(%r14), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x120fa
movl %eax, 0x4d4(%r14)
testl %eax, %eax
jne 0x1038c
movl 0x470(%r14), %esi
movq 0x460(%r14), %rdx
movl 0x4d0(%r14), %r8d
xorl %edi, %edi
movq %r15, %rcx
movq 0x70(%rsp), %r9
callq 0x121ae
movl %eax, 0x4d4(%r14)
testl %eax, %eax
je 0x113fc
jle 0x11429
movq %r12, %rbp
movq 0x4c8(%r14), %rcx
movl %eax, %eax
movb $0x0, -0x1(%rcx,%rax)
movq 0x4c8(%r14), %r15
movb (%r15), %r12b
testb %r12b, %r12b
je 0x103d9
callq 0x5520
movq (%rax), %rax
movzbl %r12b, %ecx
testb $0x20, 0x1(%rax,%rcx,2)
je 0x103d9
movb 0x1(%r15), %r12b
incq %r15
testb %r12b, %r12b
jne 0x103c2
movq %r15, 0x1120(%rsp)
leaq 0x1120(%rsp), %r12
movq %r12, %rdi
leaq 0x4ed5(%rip), %r15      # 0x152c8
movq %r15, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x12675
movq %rax, 0x10(%r14)
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x12675
movq %rax, 0x18(%r14)
movq %r12, %rdi
leaq 0x5e1b(%rip), %rdx      # 0x1623d
movq %rdx, %rsi
xorl %ecx, %ecx
callq 0x12675
movq %rax, %r12
movq %rax, 0x20(%r14)
movq 0x10(%r14), %r15
movq %r15, %rdi
leaq 0x5ace(%rip), %rsi      # 0x15f0f
callq 0x56b0
testl %eax, %eax
je 0x104a9
movq %r15, %rdi
leaq 0x5abf(%rip), %rsi      # 0x15f13
callq 0x56b0
testl %eax, %eax
je 0x104a9
movq %r15, %rdi
leaq 0x5ab1(%rip), %rsi      # 0x15f18
callq 0x56b0
testl %eax, %eax
je 0x104a9
movq %r15, %rdi
leaq 0x5aa3(%rip), %rsi      # 0x15f1d
callq 0x56b0
testl %eax, %eax
je 0x104a9
movq %r15, %rdi
leaq 0x5a98(%rip), %rsi      # 0x15f25
callq 0x56b0
testl %eax, %eax
je 0x104a9
movq %r15, %rdi
leaq 0x5a89(%rip), %rsi      # 0x15f29
callq 0x56b0
testl %eax, %eax
jne 0x104c1
movl $0x5, %edx
movq %r12, %rdi
leaq 0x5a51(%rip), %rsi      # 0x15f09
callq 0x5240
testl %eax, %eax
je 0x10519
movl 0x4d8(%r14), %r8d
movq 0x4c8(%r14), %r9
movq %r14, %rdi
movl $0x190, %esi            # imm = 0x190
leaq 0x5960(%rip), %rdx      # 0x15e3e
leaq 0x5965(%rip), %rcx      # 0x15e4a
xorl %eax, %eax
callq 0x12224
movq %rbp, %r12
cmpq $0x0, (%r14)
jne 0x102f4
cmpl $0x0, 0x3c(%rsp)
jne 0x11429
movq %r14, %rdi
callq 0x124f2
testl %eax, %eax
jne 0x102f4
jmp 0x11429
addq $0x5, %r12
movq %r12, 0x20(%r14)
leaq 0x1120(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x125f5
cmpl $0x0, 0x4a0(%r14)
je 0x105bb
movq 0x20(%r14), %r15
movq %r15, %rdi
leaq 0x5921(%rip), %rsi      # 0x15e6c
callq 0x56b0
testl %eax, %eax
je 0x10594
movq %rbp, %r12
movq %r15, %rdi
leaq 0x609f(%rip), %rsi      # 0x16600
callq 0x56b0
testl %eax, %eax
je 0x10594
movq %r14, %rdi
movl $0x1f9, %esi            # imm = 0x1F9
leaq 0x58f7(%rip), %rdx      # 0x15e70
leaq 0x5cbf(%rip), %rcx      # 0x1623f
xorl %eax, %eax
callq 0x12224
movq %r14, %rdi
callq 0x123d7
jmp 0x104ef
movq 0x20(%rsp), %rdi
leaq 0x58eb(%rip), %rsi      # 0x15e8b
callq 0xe5cf
testq %rax, %rax
je 0x105e3
movq %rax, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x50c0
jmp 0x105ea
movq 0x18(%r14), %rax
movzbl (%rax), %ecx
cmpl $0x2f, %ecx
je 0x1053d
cmpl $0x2a, %ecx
jne 0x104c1
cmpb $0x0, 0x1(%rax)
jne 0x104c1
jmp 0x1053d
movq $-0x1, %rax
movq %rax, 0x4b8(%r14)
xorl %edi, %edi
callq 0x5430
movq %rax, 0x4a8(%r14)
cmpl $0x0, 0x4a0(%r14)
je 0x1080d
movq 0x18(%r14), %r15
cmpb $0x2f, (%r15)
je 0x10eb2
movq %r15, %rdi
leaq 0x5973(%rip), %rsi      # 0x15f98
movq %rbp, %r12
movq %rbp, %rdx
leaq 0x120(%rsp), %rcx
leaq 0x1120(%rsp), %r8
xorl %eax, %eax
callq 0x5490
cmpl $0x2, %eax
je 0x106b8
movq %r15, %rdi
leaq 0x5952(%rip), %rsi      # 0x15fa3
movq %r12, %rdx
leaq 0x120(%rsp), %rcx
leaq 0x1120(%rsp), %r8
xorl %eax, %eax
callq 0x5490
cmpl $0x2, %eax
je 0x106b8
movq %r15, %rdi
leaq 0x5938(%rip), %rsi      # 0x15fb2
movq %r12, %rdx
leaq 0x1120(%rsp), %rcx
xorl %eax, %eax
callq 0x5490
cmpl $0x1, %eax
je 0x106ad
movq %r15, %rdi
leaq 0x5922(%rip), %rsi      # 0x15fbd
movq %r12, %rdx
leaq 0x1120(%rsp), %rcx
xorl %eax, %eax
callq 0x5490
movl $0x50, 0x120(%rsp)
movslq 0x1120(%rsp), %r12
testq %r12, %r12
je 0x10eb2
movq (%r14), %r15
testq %r15, %r15
je 0x10a5b
addq 0x18(%r14), %r12
movq 0x10(%r14), %rdx
movq 0x20(%r14), %r8
movq %r15, %rdi
leaq 0x5894(%rip), %rsi      # 0x15f7f
movq %r12, %rcx
xorl %eax, %eax
callq 0xe860
cmpl $0x0, 0x54(%r14)
leaq 0x588e(%rip), %r13      # 0x15f8f
jle 0x1072f
movq 0x50(%rsp), %r15
xorl %r12d, %r12d
movq (%r14), %rdi
movq -0x8(%r15), %rdx
movq (%r15), %rcx
movq %r13, %rsi
xorl %eax, %eax
callq 0xe860
incq %r12
movslq 0x54(%r14), %rax
addq $0x10, %r15
cmpq %rax, %r12
jl 0x1070b
movq (%r14), %rax
movl 0x470(%rax), %esi
movq 0x460(%rax), %rdx
movl $0x2, %r8d
xorl %edi, %edi
leaq 0x5aef(%rip), %rcx      # 0x1623d
callq 0xe799
movq 0x10(%r14), %rdi
leaq 0x57b5(%rip), %rsi      # 0x15f13
callq 0x56b0
testl %eax, %eax
jne 0x10781
movq (%r14), %rax
movl 0x470(%rax), %edx
movq 0x460(%rax), %rcx
movq %r14, %rdi
xorl %esi, %esi
callq 0x12797
leaq 0x1120(%rsp), %r12
xorl %r13d, %r13d
movq (%r14), %rax
movq 0x460(%rax), %rdi
testq %rdi, %rdi
je 0x107ae
movq %r12, %rsi
movl $0x2000, %edx           # imm = 0x2000
callq *0xc06f(%rip)           # 0x1c818
movl %eax, %r15d
jmp 0x107c6
movl 0x470(%rax), %edi
movl $0x2000, %edx           # imm = 0x2000
movq %r12, %rsi
xorl %ecx, %ecx
callq 0x5180
movq %rax, %r15
testl %r15d, %r15d
jle 0x107eb
movl %r15d, %r8d
movl 0x470(%r14), %esi
movq 0x460(%r14), %rdx
xorl %edi, %edi
movq %r12, %rcx
callq 0xe799
cmpl %eax, %r15d
je 0x1078c
movq (%r14), %rdi
cmpl $0x0, 0x49c(%rdi)
jne 0x10eb2
callq 0x1206a
movq (%r14), %rdi
callq 0x55d0
jmp 0x10eab
movq 0x18(%r14), %r15
movq %r15, %rdi
movl $0x3f, %esi
callq 0x51e0
movq %rax, 0x28(%r14)
testq %rax, %rax
je 0x10838
movq %rax, %rcx
incq %rcx
movq %rcx, 0x28(%r14)
movb $0x0, (%rax)
movq 0x18(%r14), %r15
movq %r15, %rdi
callq 0x5210
movslq %eax, %rsi
movq %rax, %rcx
shlq $0x20, %rcx
movabsq $0x100000000, %rax      # imm = 0x100000000
movq %rcx, 0x18(%rsp)
addq %rax, %rcx
sarq $0x20, %rcx
movq %r15, %rdi
movq %r15, %rdx
xorl %r8d, %r8d
callq 0xeaed
movq 0x18(%r14), %rax
movb (%rax), %dl
testb %dl, %dl
je 0x108c8
movq %rax, %rcx
movq %rbp, %r12
movb %dl, (%rax)
movzbl (%rcx), %edx
incq %rcx
cmpl $0x5c, %edx
je 0x10897
cmpl $0x2f, %edx
je 0x10897
movb (%rcx), %dl
jmp 0x108bf
incq %rcx
movzbl (%rcx), %edx
cmpl $0x2f, %edx
je 0x10894
cmpl $0x5c, %edx
je 0x10894
cmpl $0x2e, %edx
jne 0x108bf
cmpb $0x2e, 0x1(%rcx)
jne 0x108bd
movb 0x2(%rcx), %dl
addq $0x2, %rcx
cmpb $0x2e, %dl
je 0x108a9
jmp 0x108bf
movb $0x2e, %dl
incq %rax
testb %dl, %dl
jne 0x1087e
jmp 0x108cb
movq %rbp, %r12
movb $0x0, (%rax)
movq 0x18(%r14), %r15
movq 0x458(%r14), %rax
movq 0xa0(%rax), %rsi
movq %r15, %rdi
leaq 0x1120(%rsp), %rdx
callq 0x14089
movq 0x1120(%rsp), %r9
movq 0x1128(%rsp), %r8
cltq
addq %r15, %rax
movq %rax, (%rsp)
movl $0x1000, %edx           # imm = 0x1000
movq %r14, %rdi
leaq 0x120(%rsp), %rsi
leaq 0x5d6b(%rip), %rcx      # 0x1668b
xorl %eax, %eax
callq 0x12579
movq 0x458(%r14), %rax
movq 0x30(%rax), %r15
movq %r15, %rdi
leaq 0x40(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x11d0e
testq %rax, %rax
je 0x109d5
movq %rax, %r15
movq 0x18(%r14), %rdi
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
callq 0x54d0
testl %eax, %eax
jne 0x10932
movq 0x80(%rsp), %r9
movq 0x88(%rsp), %r8
movl $0x1000, %edx           # imm = 0x1000
movq %r14, %rdi
movq %r12, %rsi
leaq 0x5c46(%rip), %rcx      # 0x165d2
xorl %eax, %eax
callq 0x12579
movq %r12, %rdi
leaq 0x5fe6(%rip), %rsi      # 0x16983
callq 0x55c0
testq %rax, %rax
jne 0x10c35
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
leaq 0x51ae(%rip), %rsi      # 0x15b6f
leaq 0x57b4(%rip), %rdx      # 0x1617c
movq %r12, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0xfb6a
movq 0x458(%r14), %r12
movq 0x68(%r12), %rdi
testq %rdi, %rdi
je 0x10a36
leaq 0x5f96(%rip), %rsi      # 0x16983
callq 0x55c0
testq %rax, %rax
jne 0x10c35
movq %r12, 0xc43e(%rip)      # 0x1ce40
movq 0x68(%r12), %r15
callq 0x5060
movl (%rax), %edi
callq 0x51a0
leaq 0xbfce(%rip), %rdi      # 0x1c9e8
leaq 0x5eca(%rip), %rsi      # 0x168eb
movq %r15, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xfb6a
movq %rbp, %r12
jmp 0x10c56
leaq 0x120(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5420
testl %eax, %eax
je 0x10b63
movq %rbp, %r12
jmp 0x10bb7
movq 0x10(%r14), %rdi
leaq 0x54b7(%rip), %rsi      # 0x15f1d
callq 0x56b0
movl 0x120(%rsp), %esi
testl %eax, %eax
sete %cl
jne 0x10aa4
movq 0x458(%r14), %rdx
cmpq $0x0, 0x8(%rdx)
jne 0x10aa4
movq %r14, %rdi
leaq 0x5538(%rip), %rsi      # 0x15fc9
leaq 0x554c(%rip), %rdx      # 0x15fe4
xorl %eax, %eax
callq 0xfb6a
jmp 0x10eab
movl %esi, 0x18(%rsp)
movl %eax, 0x38(%rsp)
movb %cl, 0x17(%rsp)
movq %rbp, %rdi
callq 0x5580
testq %rax, %rax
je 0x10e53
movq %rax, %r15
movl $0x2, %edi
movl $0x1, %esi
xorl %edx, %edx
callq 0x5110
cmpl $-0x1, %eax
je 0x10e84
movw $0x2, 0x1120(%rsp)
movl 0x18(%rsp), %ecx
rolw $0x8, %cx
movw %cx, 0x1122(%rsp)
movq 0x18(%r15), %rcx
movq (%rcx), %rcx
movl (%rcx), %ecx
movl %ecx, 0x1124(%rsp)
movl %eax, %r15d
movl %eax, %edi
leaq 0x1120(%rsp), %rsi
movl $0x10, %edx
callq 0x53d0
testl %eax, %eax
je 0x10fd0
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
leaq 0x54db(%rip), %rsi      # 0x16018
leaq 0x54a0(%rip), %rdx      # 0x15fe4
movq %rbp, %rcx
movl 0x18(%rsp), %r8d
movq %rax, %r9
xorl %eax, %eax
callq 0xfb6a
movl %r15d, %edi
callq 0x59c0
jmp 0x10eab
movl 0xa8(%rsp), %eax
movl $0xf000, %ecx           # imm = 0xF000
andl %ecx, %eax
cmpl $0x4000, %eax           # imm = 0x4000
movq %rbp, %r12
jne 0x10bb7
leaq 0x5523(%rip), %rax      # 0x160a5
movq %rax, (%rsp)
movl $0x1000, %edx           # imm = 0x1000
movq %r14, %rdi
leaq 0x1120(%rsp), %r15
movq %r15, %rsi
leaq 0x55f0(%rip), %rcx      # 0x16190
leaq 0x120(%rsp), %r8
movl $0x2f, %r9d
xorl %eax, %eax
callq 0x12579
jmp 0x10c21
leaq 0x120(%rsp), %r15
movq %r15, %rdi
callq 0x5210
leal -0x1(%rax), %ecx
leaq 0x11f(%rsp), %rdx
addq %rdx, %rax
movl %ecx, %r8d
cmpq %r15, %rax
jbe 0x10bea
leal -0x1(%r8), %ecx
cmpb $0x2f, (%rax)
leaq -0x1(%rax), %rax
jne 0x10bd5
leaq 0x54b4(%rip), %rax      # 0x160a5
movq %rax, 0x8(%rsp)
movl $0x2f, (%rsp)
movl $0x1000, %edx           # imm = 0x1000
movq %r14, %rdi
leaq 0x1120(%rsp), %rsi
leaq 0x5583(%rip), %rcx      # 0x16197
movq %r15, %r9
movq %rsi, %r15
xorl %eax, %eax
callq 0x12579
movq %r15, %rdi
leaq 0x5d58(%rip), %rsi      # 0x16983
callq 0x55c0
testq %rax, %rax
je 0x10c56
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x14109
movl %eax, %r12d
movq %r15, %rdi
callq 0x54a0
testl %r12d, %r12d
movq %rbp, %r12
je 0x10cc4
movq 0x458(%r14), %rax
movq 0xc8(%rax), %rcx
movq %rcx, 0x8(%r14)
movq 0xc0(%rax), %rax
testq %rax, %rax
je 0x10c89
xorl %edi, %edi
movq %r14, %rsi
movq 0x20(%rsp), %rdx
callq *%rax
testq %rax, %rax
jne 0x10eb5
leaq 0x120(%rsp), %rdi
leaq 0x540d(%rip), %rsi      # 0x160a5
callq 0x5100
testq %rax, %rax
je 0x10cfa
movq %r14, %rdi
movl $0x193, %esi            # imm = 0x193
leaq 0x5405(%rip), %rdx      # 0x160b6
leaq 0x53f7(%rip), %rcx      # 0x160af
xorl %eax, %eax
callq 0x12224
jmp 0x10eb5
movl $0x191, 0x4c(%r14)      # imm = 0x191
movq 0x458(%r14), %rax
movq 0x38(%rax), %r15
xorl %edi, %edi
callq 0x5430
movq %r14, %rdi
leaq 0x54fc(%rip), %rsi      # 0x161e4
movq %r15, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xe860
jmp 0x10eb5
movq 0x458(%r14), %r12
cmpq $0x0, 0xa0(%r12)
je 0x10e02
movq 0x28(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
leaq 0x5203(%rip), %rsi      # 0x15f25
callq 0x56b0
testl %eax, %eax
je 0x10d3e
movq %r15, %rdi
leaq 0x51f4(%rip), %rsi      # 0x15f29
callq 0x56b0
testl %eax, %eax
jne 0x10d8b
movq 0x20(%r12), %rdi
testq %rdi, %rdi
je 0x10e20
leaq 0x5c30(%rip), %rsi      # 0x16983
callq 0x55c0
testq %rax, %rax
je 0x10e20
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x14109
movl %eax, %r12d
movq %r15, %rdi
callq 0x54a0
testl %r12d, %r12d
je 0x10e20
movq 0x28(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
leaq 0x5190(%rip), %rsi      # 0x15f25
callq 0x56b0
testl %eax, %eax
je 0x10f0f
movq %r15, %rdi
leaq 0x517d(%rip), %rsi      # 0x15f29
callq 0x56b0
testl %eax, %eax
movq %rbp, %r12
je 0x11038
leaq 0x120(%rsp), %rdi
leaq 0x1120(%rsp), %rsi
callq 0x5420
testl %eax, %eax
je 0x1114f
movq %r14, %rdi
movl $0x194, %esi            # imm = 0x194
leaq 0x46ee(%rip), %rdx      # 0x154d6
leaq 0x597e(%rip), %rcx      # 0x1676d
leaq 0x52d9(%rip), %r8       # 0x160cf
xorl %eax, %eax
callq 0x12224
jmp 0x10eb5
movq %r14, %rdi
movl $0x194, %esi            # imm = 0x194
leaq 0x46c5(%rip), %rcx      # 0x154d6
movq %rcx, %rdx
xorl %eax, %eax
callq 0x12224
jmp 0x10eb2
movl $0x191, 0x4c(%r14)      # imm = 0x191
movq 0x458(%r14), %rax
movq 0x38(%rax), %r15
xorl %edi, %edi
callq 0x5430
movq %r14, %rdi
leaq 0x53a0(%rip), %rsi      # 0x161e4
movq %r15, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xe860
jmp 0x10eb2
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
leaq 0x5186(%rip), %rsi      # 0x15fef
leaq 0x5174(%rip), %rdx      # 0x15fe4
leaq 0x3120(%rsp), %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0xfb6a
jmp 0x10eab
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
leaq 0x516f(%rip), %rsi      # 0x16009
leaq 0x5143(%rip), %rdx      # 0x15fe4
movq %rax, %rcx
xorl %eax, %eax
callq 0xfb6a
movq $0x0, (%r14)
movq %rbp, %r12
movq %r14, %rdi
callq 0x123d7
movslq 0x4d4(%r14), %rax
movl 0x4d8(%r14), %ecx
movl %ecx, %edx
subl %eax, %edx
movslq %edx, %rdx
movq 0x4b8(%r14), %rsi
cmpq %rdx, %rsi
cmovll %esi, %edx
cmpq $-0x1, %rsi
cmovel %r13d, %edx
movq 0x4c8(%r14), %rdi
subl %eax, %ecx
subl %edx, %ecx
movl %ecx, 0x4d8(%r14)
addq %rdi, %rax
movslq %edx, %rsi
addq %rax, %rsi
movslq %ecx, %rdx
callq 0x5870
jmp 0x104ef
leaq 0x120(%rsp), %rdi
leaq 0x1120(%rsp), %rsi
callq 0x5420
cmpl $0x1, %eax
movl $0xc9, %eax
sbbl $0x0, %eax
movl %eax, 0x4c(%r14)
leaq 0x122(%rsp), %rdi
movl $0x2f, %esi
callq 0x51e0
testq %rax, %rax
je 0x1107a
movq %rax, %r15
movq %rax, %r12
leaq 0x120(%rsp), %rsi
subq %rsi, %r12
leaq 0x1120(%rsp), %rdi
movq %r12, %rdx
callq 0x53b0
movb $0x0, 0x1120(%rsp,%r12)
leaq 0x1120(%rsp), %rdi
movq %rbp, %r12
movq %rbp, %rsi
callq 0x5420
testl %eax, %eax
je 0x10fa9
leaq 0x1120(%rsp), %rdi
movl $0x1ed, %esi            # imm = 0x1ED
callq 0x5230
testl %eax, %eax
jne 0x1127e
movq %r15, %rdi
incq %rdi
cmpb $0x0, 0x1(%r15)
jne 0x10f3b
movl 0x4c(%r14), %edx
movq %r14, %rdi
leaq 0x527c(%rip), %rsi      # 0x16240
xorl %eax, %eax
callq 0xe860
jmp 0x10eb5
movl %r15d, 0x18(%rsp)
movl $0x1, %edi
movl $0x4e0, %esi            # imm = 0x4E0
callq 0x52d0
testq %rax, %rax
je 0x1124e
movq %rax, %r15
movl 0x18(%rsp), %eax
movl %eax, 0x470(%r15)
movups 0x1120(%rsp), %xmm0
movups %xmm0, 0x48c(%r15)
cmpl $0x0, 0x38(%rsp)
jne 0x11021
movq 0xb7ef(%rip), %rsi      # 0x1c808
movq %r15, %rdi
callq 0x12013
xorl %eax, %eax
movb 0x17(%rsp), %cl
movb %cl, %al
movq %r15, (%r14)
movl %eax, 0x49c(%r15)
jmp 0x106d5
leaq 0x120(%rsp), %r15
movq %r15, %rdi
callq 0x5930
testl %eax, %eax
je 0x112b7
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x5024(%rip), %rdx      # 0x1608f
leaq 0x504e(%rip), %rcx      # 0x160c0
movq %r15, %r8
jmp 0x112a8
leaq 0x120(%rsp), %r15
movq %r15, %rdi
leaq 0x51d7(%rip), %rsi      # 0x16263
callq 0x55c0
testq %rax, %rax
je 0x112d2
movq %rax, %r12
movq %rax, %rdi
callq 0x54f0
movl %eax, %edi
movl $0x2, %esi
movl $0x1, %edx
xorl %eax, %eax
callq 0x5290
movq 0x20(%rsp), %rdi
leaq 0x51a3(%rip), %rsi      # 0x16267
callq 0xe5cf
movq %r13, 0x40(%rsp)
movq %r13, 0x90(%rsp)
testq %rax, %rax
je 0x11117
movq %rax, %rdi
leaq 0x5190(%rip), %rsi      # 0x16275
leaq 0x90(%rsp), %rdx
leaq 0x40(%rsp), %rcx
xorl %eax, %eax
callq 0x5490
testl %eax, %eax
jle 0x11117
movl $0xce, 0x4c(%r14)
movq 0x90(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x52a0
movq %r14, %rdi
movq %r12, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
callq 0x12797
testl %eax, %eax
je 0x11142
movl 0x4c(%r14), %edx
movq %r14, %rdi
leaq 0x5105(%rip), %rsi      # 0x16240
xorl %eax, %eax
callq 0xe860
movq %r12, %rdi
callq 0x54a0
jmp 0x10eb2
movq 0x1150(%rsp), %rax
movq 0x1178(%rsp), %rcx
movq %rax, 0x3128(%rsp)
movq %rcx, 0x3130(%rsp)
movl 0x1138(%rsp), %eax
movl $0xf000, %ecx           # imm = 0xF000
andl %ecx, %eax
xorl %ecx, %ecx
cmpl $0x4000, %eax           # imm = 0x4000
sete %cl
movl %ecx, 0x3120(%rsp)
jne 0x111d7
movq 0x18(%r14), %rdx
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq 0x18(%rsp), %rcx
addq %rax, %rcx
sarq $0x20, %rcx
cmpb $0x2f, (%rdx,%rcx)
jne 0x11306
movq 0x458(%r14), %rax
movq 0x70(%rax), %rdi
leaq 0x120(%rsp), %rsi
movq %r12, %rdx
callq 0x12994
testl %eax, %eax
je 0x11358
movq 0x458(%r14), %rax
movq 0x10(%rax), %rsi
leaq 0x120(%rsp), %r15
movq %r15, %rdi
callq 0x13046
testl %eax, %eax
je 0x11331
movq 0x28(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
leaq 0x4d07(%rip), %rsi      # 0x15f13
callq 0x56b0
testl %eax, %eax
je 0x1131c
movq %r15, %rdi
leaq 0x4cec(%rip), %rsi      # 0x15f0f
callq 0x56b0
testl %eax, %eax
je 0x1131c
movq %r14, %rdi
movl $0x1f5, %esi            # imm = 0x1F5
leaq 0x4f03(%rip), %rdx      # 0x16142
leaq 0x4f0c(%rip), %rcx      # 0x16152
movq %r15, %r8
jmp 0x10df6
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
leaq 0x4dcb(%rip), %rsi      # 0x1602f
leaq 0x4d79(%rip), %rdx      # 0x15fe4
movq %rax, %rcx
xorl %eax, %eax
callq 0xfb6a
movl 0x18(%rsp), %edi
jmp 0x10b59
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x4df6(%rip), %rdx      # 0x1608f
leaq 0x4fb3(%rip), %rcx      # 0x16253
leaq 0x120(%rsp), %r8
movq %rax, %r9
xorl %eax, %eax
callq 0x12224
jmp 0x10eb5
movq %r14, %rdi
movl $0xc8, %esi
leaq 0x41fe(%rip), %rdx      # 0x154c4
leaq 0x4f72(%rip), %rcx      # 0x1623f
jmp 0x10cb8
callq 0x5060
movl (%rax), %edi
callq 0x51a0
movq %r14, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq 0x4da2(%rip), %rdx      # 0x1608f
leaq 0x55f7(%rip), %rcx      # 0x168eb
movq %r15, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0x12224
jmp 0x10eb2
movq %r14, %rdi
leaq 0x4dce(%rip), %rsi      # 0x160de
xorl %eax, %eax
callq 0xe860
jmp 0x10eb5
movq %r14, %rdi
leaq 0x120(%rsp), %rsi
callq 0x130cd
jmp 0x10eb5
movq 0x458(%r14), %rax
movq 0x40(%rax), %rsi
movq %r15, %rdi
callq 0x13046
testl %eax, %eax
je 0x113a7
movq %r14, %rdi
movq %r15, %rsi
callq 0x13a53
jmp 0x10eb5
movq 0x458(%r14), %rax
movq 0x58(%rax), %r15
callq 0x50e0
movq (%rax), %rax
xorl %ecx, %ecx
movzbl (%r15,%rcx), %edi
movl (%rax,%rdi,4), %edx
leaq 0x4554(%rip), %rsi      # 0x158d0
movzbl (%rcx,%rsi), %esi
movl (%rax,%rsi,4), %esi
testl %edi, %edi
je 0x1138e
incq %rcx
cmpl %esi, %edx
je 0x1136d
movq %r14, %rdi
cmpl %esi, %edx
jne 0x113cf
leaq 0x120(%rsp), %rsi
callq 0x12adf
jmp 0x10eb5
movq 0x3130(%rsp), %rsi
movq %r14, %rdi
callq 0x13b0e
movq %r14, %rdi
testl %eax, %eax
je 0x113e7
movl $0x130, %esi            # imm = 0x130
leaq 0x4da5(%rip), %rdx      # 0x1616f
jmp 0x112c6
movl $0x193, %esi            # imm = 0x193
leaq 0x4d35(%rip), %rdx      # 0x16110
leaq 0x4d47(%rip), %rcx      # 0x16129
jmp 0x10cb8
leaq 0x120(%rsp), %rsi
movq %r12, %rdx
callq 0x13d07
jmp 0x10eb5
movl 0x4d8(%r14), %eax
cmpl 0x4d0(%r14), %eax
jne 0x11429
movq %r14, %rdi
movl $0x19d, %esi            # imm = 0x19D
leaq 0x4a11(%rip), %rdx      # 0x15e2c
leaq 0x4e1d(%rip), %rcx      # 0x1623f
xorl %eax, %eax
callq 0x12224
movq %r14, %rdi
callq 0x1206a
cmpl $0x0, (%rbx)
je 0x101b5
jmp 0x11446
movq 0x30(%rsp), %rdi
callq 0x5360
movq %r14, %rdi
callq 0x55d0
leaq 0xe0(%rbx), %r14
movq %r14, %rdi
callq 0x5740
decl 0xd8(%rbx)
addq $0x108, %rbx            # imm = 0x108
movq %rbx, %rdi
callq 0x5030
movq %r14, %rdi
callq 0x5360
addq $0x4128, %rsp           # imm = 0x4128
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq