// File: mortrevere[P]ninjat/main.cpp
// Function: clientCare(int, std::vector<int, std::allocator<int>>&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
int clientCare(int csock, std::vector<int>& clients, std::vector<std::string>& nicks) {
  char buffer[65535];
  std::string in, nick, lastPrivate, to, password;
  int error = 0, attempt = 0;
  bool authenticated = !PRIVATE;
  info("Taken care of client !");
  if(csock != INVALID_SOCKET) {

    if(fileExists(MOTD_PATH)) {
      std::string motd = "\n" + fileRead(MOTD_PATH);
      size_t pos = 0;
      while((pos = motd.find("\n", pos)) != std::string::npos) {
        motd.replace(pos, 1, "\n\t\t\t\t\t\t");
        pos += 7;
      }
      s(motd + "\n", csock);
    }

    while(1) {
      info("Waiting for data ...");
      error = recv(csock,buffer,65535,0);
      if (error <= 0) {
        info("Peer disconnected.");
        clientCleanup(csock, clients, nicks);
        return 0;
      }
      else {
        buffer[error] = '\0';
        in = buffer;

        if(in.substr(0,5) == "/quit")
        {
          clientCleanup(csock, clients, nicks);
          return 0;
        }

        if(!authenticated) {
          if(in.substr(0,6) == "/auth ") {
            password = in.substr(6);
            password = password.substr(0,password.length() - 1);
            if(password == PASSWORD) {
              authenticated = true;
              s("OK. Use /nick to get a nickname and talk now.\n", csock);
            } else {
              attempt++;
              s("WRONG PASSWORD. (" + std::to_string(attempt) + "/" + std::to_string(MAX_ATTEMPT)  + ")\n", csock);
              if(attempt == MAX_ATTEMPT) {
                clientCleanup(csock, clients, nicks, false);
                return 0;
              }
            }
          } else {
            s("THIS SERVER IS PASSWORD-PROTECTED : use /auth <pw> to log in\n", csock);
          }
        } else {
          if(in.substr(0,6) == "/nick ") {
            nick = in.substr(6);
            nick = nick.substr(0,nick.length() - 1);
            if(nick.length() > 16) {
              s(" *** [ERROR] : Nicknames are 16-char-long at most.\n", csock);
            } else {
              setNick(csock,clients,nicks,nick);
              sAll(" *** [INFO] changed nick to : <" + nick + ">\n", clients);
              s(buildList(nicks) + "\n", csock);
            }
          }
          else if(in.substr(0,5) == "/list") {
            s(buildList(nicks) + "\n", csock);
          }
          else if(in.substr(0,3) == "/p ") {
            to = in.substr(3,in.substr(3).find(" "));

            if(to == ".") {
              if(lastPrivate != "") {
                s(" *** [PRIVATE] " + nick + " : " + in.substr(4 + in.substr(3).find(" ")), clients[getIndexByNick(lastPrivate, nicks)]);
                s(" >>> [PRIVATE] " + nick + " : " + in.substr(4 + in.substr(3).find(" ")), csock);
              }
              else {
                s(" >>> [PRIVATE] [ERR] SERVER : How can you use /p . <message> if you haven't spoke to anyone before ?\n", csock);
              }
            }
            else {
              if(to != nick) {
                if(getIndexByNick(to, nicks) != -1) {
                  lastPrivate = to;
                  s(" *** [PRIVATE] " + nick + " : " + in.substr(4 + in.substr(3).find(" ")), clients[getIndexByNick(to, nicks)]);
                  s(" >>> [PRIVATE] " + nick + " : " + in.substr(4 + in.substr(3).find(" ")), csock);
                }
                else {
                  s(" >>> [PRIVATE] [ERR] SERVER : It seems like " + to + " is not connected. Sorry.\n", csock);
                }
              }
              else {
                s(" >>> [PRIVATE] [ERR] SERVER : DO NOT TALK TO YOURSELF.\n", csock);
              }
            }
          }
          else if(in != "\n") {
            if(nick != "")
              sAll("<" + nick + "> " + in, clients);
            else
              s(" *** [ERROR] : Please identify first, using /nick <nickname>\n", csock);
          }
        }
        std::cout << " *** [RECV] : " << in;
      }
    }
  }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10a90, %rsp          # imm = 0x10A90
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq -0x10040(%rbp), %rdi
callq 0x33c0
leaq -0x10060(%rbp), %rdi
callq 0x33c0
leaq -0x10080(%rbp), %rdi
callq 0x33c0
leaq -0x100a0(%rbp), %rdi
callq 0x33c0
leaq -0x100c0(%rbp), %rdi
callq 0x33c0
movl $0x0, -0x100c4(%rbp)
movl $0x0, -0x100c8(%rbp)
movb $0x1, -0x100c9(%rbp)
leaq -0x100f1(%rbp), %rdi
movq %rdi, -0x10988(%rbp)
callq 0x34b0
movq -0x10988(%rbp), %rdx
leaq 0x7c7f(%rip), %rsi      # 0xc07d
leaq -0x100f0(%rbp), %rdi
callq 0x6ee0
jmp 0x440c
leaq -0x100f0(%rbp), %rdi
callq 0x3740
jmp 0x441a
leaq -0x100f0(%rbp), %rdi
callq 0x31d0
leaq -0x100f1(%rbp), %rdi
callq 0x32f0
cmpl $-0x1, -0x8(%rbp)
je 0x607a
leaq -0x10129(%rbp), %rdi
movq %rdi, -0x10990(%rbp)
callq 0x34b0
movq -0x10990(%rbp), %rdx
leaq 0x7c37(%rip), %rsi      # 0xc094
leaq -0x10128(%rbp), %rdi
callq 0x6ee0
jmp 0x446b
leaq -0x10128(%rbp), %rdi
callq 0x39d0
movb %al, -0x10991(%rbp)
jmp 0x447f
leaq -0x10128(%rbp), %rdi
callq 0x31d0
leaq -0x10129(%rbp), %rdi
callq 0x32f0
movb -0x10991(%rbp), %al
testb $0x1, %al
jne 0x44a6
jmp 0x470d
leaq -0x10191(%rbp), %rdi
movq %rdi, -0x109a0(%rbp)
callq 0x34b0
movq -0x109a0(%rbp), %rdx
leaq 0x7bcd(%rip), %rsi      # 0xc094
leaq -0x10190(%rbp), %rdi
callq 0x6ee0
jmp 0x44d5
leaq -0x10170(%rbp), %rdi
leaq -0x10190(%rbp), %rsi
callq 0x37c0
jmp 0x44ea
leaq 0x7f42(%rip), %rsi      # 0xc433
leaq -0x10150(%rbp), %rdi
leaq -0x10170(%rbp), %rdx
callq 0x7340
jmp 0x4506
leaq -0x10170(%rbp), %rdi
callq 0x31d0
leaq -0x10190(%rbp), %rdi
callq 0x31d0
leaq -0x10191(%rbp), %rdi
callq 0x32f0
movq $0x0, -0x101a0(%rbp)
movq -0x101a0(%rbp), %rdx
leaq -0x10150(%rbp), %rdi
leaq 0x7ee9(%rip), %rsi      # 0xc433
callq 0x3530
movq %rax, -0x101a0(%rbp)
cmpq $-0x1, %rax
je 0x4692
movq -0x101a0(%rbp), %rsi
leaq 0x7b2d(%rip), %rcx      # 0xc09b
leaq -0x10150(%rbp), %rdi
movl $0x1, %edx
callq 0x31c0
jmp 0x4581
movq -0x101a0(%rbp), %rax
addq $0x7, %rax
movq %rax, -0x101a0(%rbp)
jmp 0x4535
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x45c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x100f0(%rbp), %rdi
callq 0x31d0
leaq -0x100f1(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x460a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10128(%rbp), %rdi
callq 0x31d0
leaq -0x10129(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x466d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4661
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10170(%rbp), %rdi
callq 0x31d0
leaq -0x10190(%rbp), %rdi
callq 0x31d0
leaq -0x10191(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x46fc
leaq 0x7d9a(%rip), %rdx      # 0xc433
leaq -0x101c0(%rbp), %rdi
leaq -0x10150(%rbp), %rsi
callq 0x76b0
jmp 0x46ae
movl -0x8(%rbp), %esi
leaq -0x101c0(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x46c4
leaq -0x101c0(%rbp), %rdi
callq 0x31d0
leaq -0x10150(%rbp), %rdi
callq 0x31d0
jmp 0x470d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x101c0(%rbp), %rdi
callq 0x31d0
leaq -0x10150(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
jmp 0x470f
jmp 0x4711
leaq -0x101e1(%rbp), %rdi
movq %rdi, -0x109a8(%rbp)
callq 0x34b0
movq -0x109a8(%rbp), %rdx
leaq 0x7971(%rip), %rsi      # 0xc0a3
leaq -0x101e0(%rbp), %rdi
callq 0x6ee0
jmp 0x4740
leaq -0x101e0(%rbp), %rdi
callq 0x3740
jmp 0x474e
leaq -0x101e0(%rbp), %rdi
callq 0x31d0
leaq -0x101e1(%rbp), %rdi
callq 0x32f0
movl -0x8(%rbp), %edi
leaq -0x10020(%rbp), %rsi
movl $0xffff, %edx           # imm = 0xFFFF
xorl %ecx, %ecx
callq 0x30f0
movq %rax, -0x109b0(%rbp)
jmp 0x4785
movq -0x109b0(%rbp), %rax
movl %eax, -0x100c4(%rbp)
cmpl $0x0, -0x100c4(%rbp)
jg 0x48be
leaq -0x10209(%rbp), %rdi
movq %rdi, -0x109b8(%rbp)
callq 0x34b0
movq -0x109b8(%rbp), %rdx
leaq 0x78f8(%rip), %rsi      # 0xc0b8
leaq -0x10208(%rbp), %rdi
callq 0x6ee0
jmp 0x47ce
leaq -0x10208(%rbp), %rdi
callq 0x3740
jmp 0x47dc
leaq -0x10208(%rbp), %rdi
callq 0x31d0
leaq -0x10209(%rbp), %rdi
callq 0x32f0
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %ecx
callq 0x4150
jmp 0x480b
movl $0x0, -0x4(%rbp)
movl $0x1, -0x10210(%rbp)
jmp 0x608b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4853
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x101e0(%rbp), %rdi
callq 0x31d0
leaq -0x101e1(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x48ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10208(%rbp), %rdi
callq 0x31d0
leaq -0x10209(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movslq -0x100c4(%rbp), %rax
movb $0x0, -0x10020(%rbp,%rax)
leaq -0x10040(%rbp), %rdi
leaq -0x10020(%rbp), %rsi
callq 0x33a0
jmp 0x48e2
xorl %eax, %eax
movl %eax, %edx
leaq -0x10230(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x5, %ecx
callq 0x32c0
jmp 0x4900
leaq 0x77c4(%rip), %rsi      # 0xc0cb
leaq -0x10230(%rbp), %rdi
callq 0x7730
movb %al, -0x109b9(%rbp)
jmp 0x491b
leaq -0x10230(%rbp), %rdi
callq 0x31d0
movb -0x109b9(%rbp), %al
testb $0x1, %al
jne 0x4933
jmp 0x4983
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %ecx
callq 0x4150
jmp 0x494a
movl $0x0, -0x4(%rbp)
movl $0x1, -0x10210(%rbp)
jmp 0x608b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10230(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
testb $0x1, -0x100c9(%rbp)
jne 0x4e31
xorl %eax, %eax
movl %eax, %edx
leaq -0x10250(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x6, %ecx
callq 0x32c0
jmp 0x49ae
leaq 0x771c(%rip), %rsi      # 0xc0d1
leaq -0x10250(%rbp), %rdi
callq 0x7730
movb %al, -0x109ba(%rbp)
jmp 0x49c9
leaq -0x10250(%rbp), %rdi
callq 0x31d0
movb -0x109ba(%rbp), %al
testb $0x1, %al
jne 0x49e4
jmp 0x4d8a
leaq -0x10270(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x6, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x4a05
leaq -0x100c0(%rbp), %rdi
movq %rdi, -0x109c8(%rbp)
leaq -0x10270(%rbp), %rsi
movq %rsi, -0x109d0(%rbp)
callq 0x3350
movq -0x109d0(%rbp), %rdi
callq 0x31d0
movq -0x109c8(%rbp), %rdi
callq 0x33f0
movq -0x109c8(%rbp), %rsi
movq %rax, %rcx
decq %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x10290(%rbp), %rdi
callq 0x32c0
jmp 0x4a5d
leaq -0x100c0(%rbp), %rdi
movq %rdi, -0x109e0(%rbp)
leaq -0x10290(%rbp), %rsi
movq %rsi, -0x109e8(%rbp)
callq 0x3350
movq -0x109e8(%rbp), %rdi
callq 0x31d0
movq -0x109e0(%rbp), %rdi
leaq 0x7640(%rip), %rsi      # 0xc0d8
callq 0x7730
movb %al, -0x109d1(%rbp)
jmp 0x4aa5
movb -0x109d1(%rbp), %al
testb $0x1, %al
jne 0x4ab4
jmp 0x4b83
movb $0x1, -0x100c9(%rbp)
leaq -0x102b1(%rbp), %rdi
movq %rdi, -0x109f0(%rbp)
callq 0x34b0
movq -0x109f0(%rbp), %rdx
leaq 0x7607(%rip), %rsi      # 0xc0e3
leaq -0x102b0(%rbp), %rdi
callq 0x6ee0
jmp 0x4aea
movl -0x8(%rbp), %esi
leaq -0x102b0(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x4b00
leaq -0x102b0(%rbp), %rdi
callq 0x31d0
leaq -0x102b1(%rbp), %rdi
callq 0x32f0
jmp 0x4d85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10250(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4b72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x102b0(%rbp), %rdi
callq 0x31d0
leaq -0x102b1(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movl -0x100c8(%rbp), %eax
incl %eax
movl %eax, -0x100c8(%rbp)
movl -0x100c8(%rbp), %esi
leaq -0x10358(%rbp), %rdi
callq 0x7830
jmp 0x4ba5
leaq 0x7566(%rip), %rsi      # 0xc112
leaq -0x10338(%rbp), %rdi
leaq -0x10358(%rbp), %rdx
callq 0x7340
jmp 0x4bc1
leaq 0x755c(%rip), %rdx      # 0xc124
leaq -0x10318(%rbp), %rdi
leaq -0x10338(%rbp), %rsi
callq 0x71f0
jmp 0x4bdd
leaq -0x10378(%rbp), %rdi
movl $0x3, %esi
callq 0x7830
jmp 0x4bf0
leaq -0x102f8(%rbp), %rdi
leaq -0x10318(%rbp), %rsi
leaq -0x10378(%rbp), %rdx
callq 0x7760
jmp 0x4c0c
leaq 0x7513(%rip), %rdx      # 0xc126
leaq -0x102d8(%rbp), %rdi
leaq -0x102f8(%rbp), %rsi
callq 0x71f0
jmp 0x4c28
movl -0x8(%rbp), %esi
leaq -0x102d8(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x4c3e
leaq -0x102d8(%rbp), %rdi
callq 0x31d0
leaq -0x102f8(%rbp), %rdi
callq 0x31d0
leaq -0x10378(%rbp), %rdi
callq 0x31d0
leaq -0x10318(%rbp), %rdi
callq 0x31d0
leaq -0x10338(%rbp), %rdi
callq 0x31d0
leaq -0x10358(%rbp), %rdi
callq 0x31d0
cmpl $0x3, -0x100c8(%rbp)
jne 0x4d83
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4150
jmp 0x4ca7
movl $0x0, -0x4(%rbp)
movl $0x1, -0x10210(%rbp)
jmp 0x608b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4d72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4d66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4d5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4d4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4d42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x102d8(%rbp), %rdi
callq 0x31d0
leaq -0x102f8(%rbp), %rdi
callq 0x31d0
leaq -0x10378(%rbp), %rdi
callq 0x31d0
leaq -0x10318(%rbp), %rdi
callq 0x31d0
leaq -0x10338(%rbp), %rdi
callq 0x31d0
leaq -0x10358(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
jmp 0x4d85
jmp 0x4e2c
leaq -0x10399(%rbp), %rdi
movq %rdi, -0x109f8(%rbp)
callq 0x34b0
movq -0x109f8(%rbp), %rdx
leaq 0x737e(%rip), %rsi      # 0xc129
leaq -0x10398(%rbp), %rdi
callq 0x6ee0
jmp 0x4db9
movl -0x8(%rbp), %esi
leaq -0x10398(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x4dcf
leaq -0x10398(%rbp), %rdi
callq 0x31d0
leaq -0x10399(%rbp), %rdi
callq 0x32f0
jmp 0x4e2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4e1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10398(%rbp), %rdi
callq 0x31d0
leaq -0x10399(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
jmp 0x6042
xorl %eax, %eax
movl %eax, %edx
leaq -0x103c0(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x6, %ecx
callq 0x32c0
jmp 0x4e4f
leaq 0x7311(%rip), %rsi      # 0xc167
leaq -0x103c0(%rbp), %rdi
callq 0x7730
movb %al, -0x109f9(%rbp)
jmp 0x4e6a
leaq -0x103c0(%rbp), %rdi
callq 0x31d0
movb -0x109f9(%rbp), %al
testb $0x1, %al
jne 0x4e85
jmp 0x51ce
leaq -0x103e0(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x6, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x4ea6
leaq -0x10060(%rbp), %rdi
movq %rdi, -0x10a08(%rbp)
leaq -0x103e0(%rbp), %rsi
movq %rsi, -0x10a10(%rbp)
callq 0x3350
movq -0x10a10(%rbp), %rdi
callq 0x31d0
movq -0x10a08(%rbp), %rdi
callq 0x33f0
movq -0x10a08(%rbp), %rsi
movq %rax, %rcx
decq %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x10400(%rbp), %rdi
callq 0x32c0
jmp 0x4efe
leaq -0x10060(%rbp), %rdi
leaq -0x10400(%rbp), %rsi
callq 0x3350
leaq -0x10400(%rbp), %rdi
callq 0x31d0
leaq -0x10060(%rbp), %rdi
callq 0x33f0
cmpq $0x10, %rax
jbe 0x4ffb
leaq -0x10421(%rbp), %rdi
movq %rdi, -0x10a18(%rbp)
callq 0x34b0
movq -0x10a18(%rbp), %rdx
leaq 0x721a(%rip), %rsi      # 0xc16e
leaq -0x10420(%rbp), %rdi
callq 0x6ee0
jmp 0x4f62
movl -0x8(%rbp), %esi
leaq -0x10420(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x4f78
leaq -0x10420(%rbp), %rdi
callq 0x31d0
leaq -0x10421(%rbp), %rdi
callq 0x32f0
jmp 0x51c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x103c0(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x4fea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10420(%rbp), %rdi
callq 0x31d0
leaq -0x10421(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
movl -0x8(%rbp), %eax
movl %eax, -0x10a2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x10a28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10a20(%rbp)
leaq -0x10448(%rbp), %rdi
leaq -0x10060(%rbp), %rsi
callq 0x3140
jmp 0x502f
movq -0x10a20(%rbp), %rdx
movq -0x10a28(%rbp), %rsi
movl -0x10a2c(%rbp), %edi
leaq -0x10448(%rbp), %rcx
callq 0x3fb0
jmp 0x5051
leaq -0x10448(%rbp), %rdi
callq 0x31d0
leaq 0x713e(%rip), %rsi      # 0xc1a2
leaq -0x10488(%rbp), %rdi
leaq -0x10060(%rbp), %rdx
callq 0x70a0
jmp 0x5079
leaq 0x7290(%rip), %rdx      # 0xc310
leaq -0x10468(%rbp), %rdi
leaq -0x10488(%rbp), %rsi
callq 0x71f0
jmp 0x5095
movq -0x10(%rbp), %rsi
leaq -0x10468(%rbp), %rdi
callq 0x3ca0
jmp 0x50a7
leaq -0x10468(%rbp), %rdi
callq 0x31d0
leaq -0x10488(%rbp), %rdi
callq 0x31d0
movq -0x18(%rbp), %rsi
leaq -0x104c8(%rbp), %rdi
callq 0x3d70
jmp 0x50d1
leaq 0x735b(%rip), %rdx      # 0xc433
leaq -0x104a8(%rbp), %rdi
leaq -0x104c8(%rbp), %rsi
callq 0x71f0
jmp 0x50ed
movl -0x8(%rbp), %esi
leaq -0x104a8(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5103
leaq -0x104a8(%rbp), %rdi
callq 0x31d0
leaq -0x104c8(%rbp), %rdi
callq 0x31d0
jmp 0x51c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10448(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5175
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10468(%rbp), %rdi
callq 0x31d0
leaq -0x10488(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x51b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x104a8(%rbp), %rdi
callq 0x31d0
leaq -0x104c8(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
jmp 0x6040
xorl %eax, %eax
movl %eax, %edx
leaq -0x104e8(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x5, %ecx
callq 0x32c0
jmp 0x51ec
leaq 0x6fcf(%rip), %rsi      # 0xc1c2
leaq -0x104e8(%rbp), %rdi
callq 0x7730
movb %al, -0x10a2d(%rbp)
jmp 0x5207
leaq -0x104e8(%rbp), %rdi
callq 0x31d0
movb -0x10a2d(%rbp), %al
testb $0x1, %al
jne 0x5222
jmp 0x52e9
movq -0x18(%rbp), %rsi
leaq -0x10528(%rbp), %rdi
callq 0x3d70
jmp 0x5234
leaq 0x71f8(%rip), %rdx      # 0xc433
leaq -0x10508(%rbp), %rdi
leaq -0x10528(%rbp), %rsi
callq 0x71f0
jmp 0x5250
movl -0x8(%rbp), %esi
leaq -0x10508(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5266
leaq -0x10508(%rbp), %rdi
callq 0x31d0
leaq -0x10528(%rbp), %rdi
callq 0x31d0
jmp 0x603e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x104e8(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x52d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10508(%rbp), %rdi
callq 0x31d0
leaq -0x10528(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
xorl %eax, %eax
movl %eax, %edx
leaq -0x10548(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %ecx
callq 0x32c0
jmp 0x5307
leaq 0x6eba(%rip), %rsi      # 0xc1c8
leaq -0x10548(%rbp), %rdi
callq 0x7730
movb %al, -0x10a2e(%rbp)
jmp 0x5322
leaq -0x10548(%rbp), %rdi
callq 0x31d0
movb -0x10a2e(%rbp), %al
testb $0x1, %al
jne 0x533d
jmp 0x5e50
leaq -0x10588(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x535e
leaq 0x6cec(%rip), %rsi      # 0xc051
xorl %eax, %eax
movl %eax, %edx
leaq -0x10588(%rbp), %rdi
callq 0x3530
movq %rax, %rcx
leaq -0x10568(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %edx
callq 0x32c0
jmp 0x5392
leaq -0x100a0(%rbp), %rdi
movq %rdi, -0x10a38(%rbp)
leaq -0x10568(%rbp), %rsi
movq %rsi, -0x10a40(%rbp)
callq 0x3350
movq -0x10a40(%rbp), %rdi
callq 0x31d0
leaq -0x10588(%rbp), %rdi
callq 0x31d0
movq -0x10a38(%rbp), %rdi
leaq 0x6cdd(%rip), %rsi      # 0xc0b6
callq 0x7730
movb %al, -0x10a2f(%rbp)
jmp 0x53e6
movb -0x10a2f(%rbp), %al
testb $0x1, %al
jne 0x53f5
jmp 0x58c6
leaq 0x6ca6(%rip), %rsi      # 0xc0a2
leaq -0x10080(%rbp), %rdi
callq 0x7680
movb %al, -0x10a41(%rbp)
jmp 0x5410
movb -0x10a41(%rbp), %al
testb $0x1, %al
jne 0x541f
jmp 0x581f
leaq 0x6da6(%rip), %rsi      # 0xc1cc
leaq -0x105e8(%rbp), %rdi
leaq -0x10060(%rbp), %rdx
callq 0x70a0
jmp 0x543b
leaq 0x6c0d(%rip), %rdx      # 0xc04f
leaq -0x105c8(%rbp), %rdi
leaq -0x105e8(%rbp), %rsi
callq 0x71f0
jmp 0x5457
leaq -0x10628(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x5478
leaq 0x6bd2(%rip), %rsi      # 0xc051
xorl %eax, %eax
movl %eax, %edx
leaq -0x10628(%rbp), %rdi
callq 0x3530
movq %rax, %rdx
addq $0x4, %rdx
leaq -0x10608(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movq $-0x1, %rcx
callq 0x32c0
jmp 0x54b2
leaq -0x105a8(%rbp), %rdi
leaq -0x105c8(%rbp), %rsi
leaq -0x10608(%rbp), %rdx
callq 0x7760
jmp 0x54ce
movq -0x10(%rbp), %rax
movq %rax, -0x10a50(%rbp)
leaq -0x10648(%rbp), %rdi
leaq -0x10080(%rbp), %rsi
callq 0x3140
jmp 0x54ee
movq -0x18(%rbp), %rsi
leaq -0x10648(%rbp), %rdi
callq 0x40c0
movq -0x10a50(%rbp), %rdi
movslq %eax, %rsi
callq 0x71d0
movl (%rax), %esi
leaq -0x105a8(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5522
leaq -0x10648(%rbp), %rdi
callq 0x31d0
leaq -0x105a8(%rbp), %rdi
callq 0x31d0
leaq -0x10608(%rbp), %rdi
callq 0x31d0
leaq -0x10628(%rbp), %rdi
callq 0x31d0
leaq -0x105c8(%rbp), %rdi
callq 0x31d0
leaq -0x105e8(%rbp), %rdi
callq 0x31d0
leaq 0x6c6b(%rip), %rsi      # 0xc1dc
leaq -0x106a8(%rbp), %rdi
leaq -0x10060(%rbp), %rdx
callq 0x70a0
jmp 0x5586
leaq 0x6ac2(%rip), %rdx      # 0xc04f
leaq -0x10688(%rbp), %rdi
leaq -0x106a8(%rbp), %rsi
callq 0x71f0
jmp 0x55a2
leaq -0x106e8(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x55c3
leaq 0x6a87(%rip), %rsi      # 0xc051
xorl %eax, %eax
movl %eax, %edx
leaq -0x106e8(%rbp), %rdi
callq 0x3530
movq %rax, %rdx
addq $0x4, %rdx
leaq -0x106c8(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movq $-0x1, %rcx
callq 0x32c0
jmp 0x55fd
leaq -0x10668(%rbp), %rdi
leaq -0x10688(%rbp), %rsi
leaq -0x106c8(%rbp), %rdx
callq 0x7760
jmp 0x5619
movl -0x8(%rbp), %esi
leaq -0x10668(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x562f
leaq -0x10668(%rbp), %rdi
callq 0x31d0
leaq -0x106c8(%rbp), %rdi
callq 0x31d0
leaq -0x106e8(%rbp), %rdi
callq 0x31d0
leaq -0x10688(%rbp), %rdi
callq 0x31d0
leaq -0x106a8(%rbp), %rdi
callq 0x31d0
jmp 0x58c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10548(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10588(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x576b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x575f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5753
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5747
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x573b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10648(%rbp), %rdi
callq 0x31d0
leaq -0x105a8(%rbp), %rdi
callq 0x31d0
leaq -0x10608(%rbp), %rdi
callq 0x31d0
leaq -0x10628(%rbp), %rdi
callq 0x31d0
leaq -0x105c8(%rbp), %rdi
callq 0x31d0
leaq -0x105e8(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x580e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5802
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x57f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x57ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10668(%rbp), %rdi
callq 0x31d0
leaq -0x106c8(%rbp), %rdi
callq 0x31d0
leaq -0x106e8(%rbp), %rdi
callq 0x31d0
leaq -0x10688(%rbp), %rdi
callq 0x31d0
leaq -0x106a8(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
leaq -0x10709(%rbp), %rdi
movq %rdi, -0x10a58(%rbp)
callq 0x34b0
movq -0x10a58(%rbp), %rdx
leaq 0x69ac(%rip), %rsi      # 0xc1ec
leaq -0x10708(%rbp), %rdi
callq 0x6ee0
jmp 0x584e
movl -0x8(%rbp), %esi
leaq -0x10708(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5864
leaq -0x10708(%rbp), %rdi
callq 0x31d0
leaq -0x10709(%rbp), %rdi
callq 0x32f0
jmp 0x58c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x58b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10708(%rbp), %rdi
callq 0x31d0
leaq -0x10709(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
jmp 0x5e4b
leaq -0x100a0(%rbp), %rdi
leaq -0x10060(%rbp), %rsi
callq 0x7950
testb $0x1, %al
jne 0x58e2
jmp 0x5da7
leaq -0x10730(%rbp), %rdi
leaq -0x100a0(%rbp), %rsi
callq 0x3140
jmp 0x58f7
movq -0x18(%rbp), %rsi
leaq -0x10730(%rbp), %rdi
callq 0x40c0
movl %eax, -0x10a5c(%rbp)
leaq -0x10730(%rbp), %rdi
callq 0x31d0
movl -0x10a5c(%rbp), %eax
cmpl $-0x1, %eax
je 0x5cf7
leaq -0x10080(%rbp), %rdi
leaq -0x100a0(%rbp), %rsi
callq 0x3040
jmp 0x593d
leaq 0x6888(%rip), %rsi      # 0xc1cc
leaq -0x10790(%rbp), %rdi
leaq -0x10060(%rbp), %rdx
callq 0x70a0
jmp 0x5959
leaq 0x66ef(%rip), %rdx      # 0xc04f
leaq -0x10770(%rbp), %rdi
leaq -0x10790(%rbp), %rsi
callq 0x71f0
jmp 0x5975
leaq -0x107d0(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x5996
leaq 0x66b4(%rip), %rsi      # 0xc051
xorl %eax, %eax
movl %eax, %edx
leaq -0x107d0(%rbp), %rdi
callq 0x3530
movq %rax, %rdx
addq $0x4, %rdx
leaq -0x107b0(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movq $-0x1, %rcx
callq 0x32c0
jmp 0x59d0
leaq -0x10750(%rbp), %rdi
leaq -0x10770(%rbp), %rsi
leaq -0x107b0(%rbp), %rdx
callq 0x7760
jmp 0x59ec
movq -0x10(%rbp), %rax
movq %rax, -0x10a68(%rbp)
leaq -0x107f0(%rbp), %rdi
leaq -0x100a0(%rbp), %rsi
callq 0x3140
jmp 0x5a0c
movq -0x18(%rbp), %rsi
leaq -0x107f0(%rbp), %rdi
callq 0x40c0
movq -0x10a68(%rbp), %rdi
movslq %eax, %rsi
callq 0x71d0
movl (%rax), %esi
leaq -0x10750(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5a40
leaq -0x107f0(%rbp), %rdi
callq 0x31d0
leaq -0x10750(%rbp), %rdi
callq 0x31d0
leaq -0x107b0(%rbp), %rdi
callq 0x31d0
leaq -0x107d0(%rbp), %rdi
callq 0x31d0
leaq -0x10770(%rbp), %rdi
callq 0x31d0
leaq -0x10790(%rbp), %rdi
callq 0x31d0
leaq 0x674d(%rip), %rsi      # 0xc1dc
leaq -0x10850(%rbp), %rdi
leaq -0x10060(%rbp), %rdx
callq 0x70a0
jmp 0x5aa4
leaq 0x65a4(%rip), %rdx      # 0xc04f
leaq -0x10830(%rbp), %rdi
leaq -0x10850(%rbp), %rsi
callq 0x71f0
jmp 0x5ac0
leaq -0x10890(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0x5ae1
leaq 0x6569(%rip), %rsi      # 0xc051
xorl %eax, %eax
movl %eax, %edx
leaq -0x10890(%rbp), %rdi
callq 0x3530
movq %rax, %rdx
addq $0x4, %rdx
leaq -0x10870(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
movq $-0x1, %rcx
callq 0x32c0
jmp 0x5b1b
leaq -0x10810(%rbp), %rdi
leaq -0x10830(%rbp), %rsi
leaq -0x10870(%rbp), %rdx
callq 0x7760
jmp 0x5b37
movl -0x8(%rbp), %esi
leaq -0x10810(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5b4d
leaq -0x10810(%rbp), %rdi
callq 0x31d0
leaq -0x10870(%rbp), %rdi
callq 0x31d0
leaq -0x10890(%rbp), %rdi
callq 0x31d0
leaq -0x10830(%rbp), %rdi
callq 0x31d0
leaq -0x10850(%rbp), %rdi
callq 0x31d0
jmp 0x5da2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5c43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5c37
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5c2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5c1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5c13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x107f0(%rbp), %rdi
callq 0x31d0
leaq -0x10750(%rbp), %rdi
callq 0x31d0
leaq -0x107b0(%rbp), %rdi
callq 0x31d0
leaq -0x107d0(%rbp), %rdi
callq 0x31d0
leaq -0x10770(%rbp), %rdi
callq 0x31d0
leaq -0x10790(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5ce6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5cda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5cce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5cc2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10810(%rbp), %rdi
callq 0x31d0
leaq -0x10870(%rbp), %rdi
callq 0x31d0
leaq -0x10890(%rbp), %rdi
callq 0x31d0
leaq -0x10830(%rbp), %rdi
callq 0x31d0
leaq -0x10850(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
leaq 0x6554(%rip), %rsi      # 0xc252
leaq -0x108d0(%rbp), %rdi
leaq -0x100a0(%rbp), %rdx
callq 0x70a0
jmp 0x5d13
leaq 0x6565(%rip), %rdx      # 0xc27f
leaq -0x108b0(%rbp), %rdi
leaq -0x108d0(%rbp), %rsi
callq 0x71f0
jmp 0x5d2f
movl -0x8(%rbp), %esi
leaq -0x108b0(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5d45
leaq -0x108b0(%rbp), %rdi
callq 0x31d0
leaq -0x108d0(%rbp), %rdi
callq 0x31d0
jmp 0x5da2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5d91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x108b0(%rbp), %rdi
callq 0x31d0
leaq -0x108d0(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
jmp 0x5e49
leaq -0x108f1(%rbp), %rdi
movq %rdi, -0x10a70(%rbp)
callq 0x34b0
movq -0x10a70(%rbp), %rdx
leaq 0x64d2(%rip), %rsi      # 0xc29a
leaq -0x108f0(%rbp), %rdi
callq 0x6ee0
jmp 0x5dd6
movl -0x8(%rbp), %esi
leaq -0x108f0(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5dec
leaq -0x108f0(%rbp), %rdi
callq 0x31d0
leaq -0x108f1(%rbp), %rdi
callq 0x32f0
jmp 0x5e49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5e38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x108f0(%rbp), %rdi
callq 0x31d0
leaq -0x108f1(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
jmp 0x5e4b
jmp 0x603c
leaq 0x65dc(%rip), %rsi      # 0xc433
leaq -0x10040(%rbp), %rdi
callq 0x7680
movb %al, -0x10a71(%rbp)
jmp 0x5e6b
movb -0x10a71(%rbp), %al
testb $0x1, %al
jne 0x5e7a
jmp 0x603a
leaq 0x6221(%rip), %rsi      # 0xc0a2
leaq -0x10060(%rbp), %rdi
callq 0x7680
movb %al, -0x10a72(%rbp)
jmp 0x5e95
movb -0x10a72(%rbp), %al
testb $0x1, %al
jne 0x5ea4
jmp 0x5f96
leaq 0x6315(%rip), %rsi      # 0xc1c0
leaq -0x10958(%rbp), %rdi
leaq -0x10060(%rbp), %rdx
callq 0x70a0
jmp 0x5ec0
leaq 0x640b(%rip), %rdx      # 0xc2d2
leaq -0x10938(%rbp), %rdi
leaq -0x10958(%rbp), %rsi
callq 0x71f0
jmp 0x5edc
leaq -0x10918(%rbp), %rdi
leaq -0x10938(%rbp), %rsi
leaq -0x10040(%rbp), %rdx
callq 0x7980
jmp 0x5ef8
movq -0x10(%rbp), %rsi
leaq -0x10918(%rbp), %rdi
callq 0x3ca0
jmp 0x5f0a
leaq -0x10918(%rbp), %rdi
callq 0x31d0
leaq -0x10938(%rbp), %rdi
callq 0x31d0
leaq -0x10958(%rbp), %rdi
callq 0x31d0
jmp 0x6038
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5f85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x5f79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10918(%rbp), %rdi
callq 0x31d0
leaq -0x10938(%rbp), %rdi
callq 0x31d0
leaq -0x10958(%rbp), %rdi
callq 0x31d0
jmp 0x60d3
leaq -0x10979(%rbp), %rdi
movq %rdi, -0x10a80(%rbp)
callq 0x34b0
movq -0x10a80(%rbp), %rdx
leaq 0x631e(%rip), %rsi      # 0xc2d5
leaq -0x10978(%rbp), %rdi
callq 0x6ee0
jmp 0x5fc5
movl -0x8(%rbp), %esi
leaq -0x10978(%rbp), %rdi
movl $0x1, %edx
callq 0x3c00
jmp 0x5fdb
leaq -0x10978(%rbp), %rdi
callq 0x31d0
leaq -0x10979(%rbp), %rdi
callq 0x32f0
jmp 0x6038
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
jmp 0x6027
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10100(%rbp)
movl %eax, -0x10104(%rbp)
leaq -0x10978(%rbp), %rdi
callq 0x31d0
leaq -0x10979(%rbp), %rdi
callq 0x32f0
jmp 0x60d3
jmp 0x603a
jmp 0x603c
jmp 0x603e
jmp 0x6040
jmp 0x6042
movq 0xbf8f(%rip), %rdi      # 0x11fd8
leaq 0x62c3(%rip), %rsi      # 0xc313
callq 0x3290
movq %rax, -0x10a88(%rbp)
jmp 0x605e
movq -0x10a88(%rbp), %rdi
leaq -0x10040(%rbp), %rsi
callq 0x3270
jmp 0x6073
jmp 0x6075
jmp 0x470f
movl $0x0, -0x4(%rbp)
movl $0x1, -0x10210(%rbp)
leaq -0x100c0(%rbp), %rdi
callq 0x31d0
leaq -0x100a0(%rbp), %rdi
callq 0x31d0
leaq -0x10080(%rbp), %rdi
callq 0x31d0
leaq -0x10060(%rbp), %rdi
callq 0x31d0
leaq -0x10040(%rbp), %rdi
callq 0x31d0
movl -0x4(%rbp), %eax
addq $0x10a90, %rsp          # imm = 0x10A90
popq %rbp
retq
leaq -0x100c0(%rbp), %rdi
callq 0x31d0
leaq -0x100a0(%rbp), %rdi
callq 0x31d0
leaq -0x10080(%rbp), %rdi
callq 0x31d0
leaq -0x10060(%rbp), %rdi
callq 0x31d0
leaq -0x10040(%rbp), %rdi
callq 0x31d0
movq -0x10100(%rbp), %rdi
callq 0x34a0
nopl (%rax,%rax)