// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10528, %rsp          # imm = 0x10528
movq %rdx, 0x88(%rsp)
movq %rsi, 0x90(%rsp)
movl %edi, 0x4(%rsp)
leaq 0x58(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0xc8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x78(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x148(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x510(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x2e8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x3eef(%rip), %rsi      # 0x707d
leaq 0x3efe(%rip), %rdx      # 0x7093
leaq 0x2d8(%rsp), %rdi
callq 0x62ae
leaq 0x2d8(%rsp), %rdi
callq 0x25d6
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x31cc
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
cmpl $-0x1, 0x4(%rsp)
je 0x489f
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3ead(%rip), %rsi      # 0x7094
leaq 0x3eac(%rip), %rdx      # 0x709a
leaq 0x28(%rsp), %rdi
callq 0x62ae
leaq 0x2d8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
movl $0x8, %edx
callq 0x2320
leaq 0x2d8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movl 0x2f8(%rsp,%rax), %ebx
callq 0x2070
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x3241
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
testl %ebx, %ebx
jne 0x3417
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0x3e37(%rip), %rsi      # 0x7094
leaq 0x3e36(%rip), %rdx      # 0x709a
callq 0x62ae
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x269a
leaq 0x4101(%rip), %rcx      # 0x7380
leaq 0x28(%rsp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x2270
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x32bf
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x32c6
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x32f8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x3314
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x4065(%rip), %rsi      # 0x7380
leaq 0x2d8(%rsp), %rdi
movl $0x1, %ecx
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
je 0x3387
movq %rax, %rbx
leaq 0x3d5c(%rip), %r14      # 0x709b
leaq 0x2d8(%rsp), %r15
leaq 0x4032(%rip), %r12      # 0x7380
movl $0x1, %edx
movl $0x7, %r8d
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
callq 0x2270
addq $0x7, %rbx
movl $0x1, %ecx
movq %r15, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2360
movq %rax, %rbx
cmpq $-0x1, %rax
jne 0x334e
leaq 0x208(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x2d8(%rsp), %rsi
movq 0x2e0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1f8(%rsp), %rdi
callq 0x621e
leaq 0x3fc6(%rip), %rsi      # 0x7380
leaq 0x1f8(%rsp), %rdi
callq 0x23b0
leaq 0x1f8(%rsp), %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x1f8(%rsp), %rdi
cmpq %r14, %rdi
je 0x33fa
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3417
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x168(%rsp), %r14
leaq 0x2d8(%rsp), %r13
leaq 0x48(%rsp), %r12
movq %rbp, 0x2d8(%rsp)
movq %r13, %rdi
leaq 0x3c65(%rip), %rsi      # 0x70a3
leaq 0x3c72(%rip), %rdx      # 0x70b7
callq 0x62ae
movq %r13, %rdi
callq 0x25d6
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x346f
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movl $0xffff, %edx           # imm = 0xFFFF
movl 0x4(%rsp), %edi
leaq 0x520(%rsp), %rsi
xorl %ecx, %ecx
callq 0x20c0
testl %eax, %eax
jle 0x4839
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movb $0x0, 0x520(%rsp,%rax)
movq %r14, %rbx
movq 0x50(%rsp), %r14
leaq 0x520(%rsp), %r15
movq %r15, %rdi
callq 0x2100
movq %r12, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
callq 0x22f0
movl $0x5, %ecx
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x2250
movq %r13, %rdi
leaq 0x3be8(%rip), %rsi      # 0x70cb
callq 0x2090
movl %eax, %r14d
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3508
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
testl %r14d, %r14d
je 0x4881
movl $0x6, %ecx
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x2250
movq %r13, %rdi
leaq 0x3ba4(%rip), %rsi      # 0x70d1
callq 0x2090
movl %eax, %r14d
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3552
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
testl %r14d, %r14d
je 0x367d
movl $0x5, %ecx
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x2250
movq %r13, %rdi
leaq 0x3bb5(%rip), %rsi      # 0x712c
callq 0x2090
movl %eax, %r14d
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x359c
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
testl %r14d, %r14d
je 0x3783
movl $0x3, %ecx
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x2250
movq %r13, %rdi
leaq 0x3b71(%rip), %rsi      # 0x7132
callq 0x2090
movl %eax, %r14d
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x35e6
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
testl %r14d, %r14d
je 0x38ac
movq %r12, %rdi
leaq 0x3d87(%rip), %rsi      # 0x7380
callq 0x2090
testl %eax, %eax
movq %rbx, %r14
je 0x3c12
leaq 0xb8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x3a87(%rip), %rsi      # 0x70a2
callq 0x2090
testl %eax, %eax
je 0x3c45
leaq 0x8(%rsp), %r15
movq %r15, %rdi
leaq 0x3af3(%rip), %rsi      # 0x712a
movq %rbx, %rdx
callq 0x5ea9
movq %r15, %rdi
leaq 0x3bf3(%rip), %rsi      # 0x723c
callq 0x23b0
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d1f
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x3d25
movl $0x6, %edx
movq %r13, %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movq %rbx, %r14
leaq 0xb8(%rsp), %rdi
movq %r13, %rsi
callq 0x22b0
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x36c4
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0xc0(%rsp), %rcx
decq %rcx
movq %r13, %rdi
leaq 0xb8(%rsp), %rbx
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2250
movq %rbx, %rdi
movq %r13, %rsi
callq 0x22b0
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x370c
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0xc0(%rsp), %rdx
cmpq $0x11, %rdx
jb 0x37e0
leaq 0x2c8(%rsp), %rax
movq %rax, 0x2b8(%rsp)
leaq 0x2b8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x3998(%rip), %rsi      # 0x70d8
leaq 0x39c4(%rip), %rdx      # 0x710b
callq 0x62ae
movq %rbx, %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0x3c12
movq 0x2c8(%rsp), %rsi
jmp 0x3c0a
movq %r13, %rdi
movq 0x88(%rsp), %rsi
callq 0x2ad0
movq %rbx, %r14
movq %r13, %rdi
leaq 0x3be0(%rip), %rsi      # 0x7380
callq 0x23b0
leaq 0x1a8(%rsp), %rsi
movq %rsi, 0x198(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3a7e
movq %rdx, 0x198(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1a8(%rsp)
jmp 0x3a84
leaq 0x1e8(%rsp), %rax
movq %rax, 0x1d8(%rsp)
movq 0xb8(%rsp), %rsi
addq %rsi, %rdx
leaq 0x1d8(%rsp), %rdi
callq 0x621e
movl 0x4(%rsp), %edi
movq 0x90(%rsp), %rsi
movq 0x88(%rsp), %rdx
leaq 0x1d8(%rsp), %rcx
callq 0x2d70
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x384e
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x28(%rsp), %rbx
movq %rbx, %rdi
leaq 0x38af(%rip), %rsi      # 0x710c
leaq 0xb8(%rsp), %rdx
callq 0x5ea9
movq %rbx, %rdi
leaq 0x3a06(%rip), %rsi      # 0x727a
callq 0x23b0
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3adb
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x3ae2
movl $0x3, %edx
leaq 0x28(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movl $0x1, %ecx
movq %r14, %rdi
leaq 0x377a(%rip), %rsi      # 0x7051
xorl %edx, %edx
callq 0x2360
movl $0x3, %edx
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rcx
callq 0x2250
leaq 0xb8(%rsp), %r14
leaq 0x138(%rsp), %rdi
movq %r13, %rsi
callq 0x22b0
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3926
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x3942
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x138(%rsp), %rdi
leaq 0x3765(%rip), %rsi      # 0x70b6
callq 0x2090
testl %eax, %eax
je 0x3caa
movq 0x140(%rsp), %r14
cmpq 0xc0(%rsp), %r14
jne 0x3999
testq %r14, %r14
je 0x3e05
movq 0xb8(%rsp), %rsi
movq 0x138(%rsp), %rdi
movq %r14, %rdx
callq 0x2240
testl %eax, %eax
je 0x3e05
leaq 0x4f0(%rsp), %rax
movq %rax, 0x4e0(%rsp)
movq 0x138(%rsp), %rsi
addq %rsi, %r14
leaq 0x4e0(%rsp), %rdi
movq %r14, %rdx
callq 0x621e
leaq 0x4e0(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x2dee
movl %eax, %r14d
movq 0x4e0(%rsp), %rdi
leaq 0x4f0(%rsp), %rax
cmpq %rax, %rdi
je 0x3a01
movq 0x4f0(%rsp), %rsi
incq %rsi
callq 0x2230
cmpl $-0x1, %r14d
je 0x3e6d
leaq 0x68(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x2150
movq %rbx, %r14
leaq 0x28(%rsp), %r15
movq %r15, %rdi
leaq 0x3707(%rip), %rsi      # 0x7136
leaq 0xb8(%rsp), %rdx
callq 0x5ea9
movq %r15, %rdi
leaq 0x3609(%rip), %rsi      # 0x704f
callq 0x23b0
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3f39
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x3f40
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1a0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x198(%rsp), %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x3bf5
movq 0x1a8(%rsp), %rsi
jmp 0x3bed
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
movq 0x90(%rsp), %rsi
callq 0x29d3
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3b2a
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x3b46
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
movq %r13, %rdi
movq 0x88(%rsp), %rsi
callq 0x2ad0
movq %r13, %rdi
leaq 0x3820(%rip), %rsi      # 0x7380
callq 0x23b0
leaq 0x1c8(%rsp), %rsi
movq %rsi, 0x1b8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3b99
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x3b9f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1b8(%rsp), %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x3bf5
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3c12
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movl $0xe, %edx
movq 0x63ba(%rip), %rdi      # 0x9fd8
leaq 0x3658(%rip), %rsi      # 0x727d
callq 0x2280
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x639d(%rip), %rdi      # 0x9fd8
callq 0x2280
jmp 0x342c
leaq 0x228(%rsp), %rax
movq %rax, 0x218(%rsp)
leaq 0x218(%rsp), %rbx
movq %rbx, %rdi
leaq 0x35d8(%rip), %rsi      # 0x723f
leaq 0x360e(%rip), %rdx      # 0x727c
callq 0x62ae
movq %rbx, %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x3c12
movq 0x228(%rsp), %rsi
jmp 0x3c0a
leaq 0x68(%rsp), %rdi
leaq 0x33ec(%rip), %rsi      # 0x70a2
callq 0x2090
testl %eax, %eax
je 0x3ed1
leaq 0x28(%rsp), %r15
movq %r15, %rdi
leaq 0x3464(%rip), %rsi      # 0x7136
movq %r14, %rdx
callq 0x5ea9
movq %rbx, %r14
movq %r15, %rdi
leaq 0x3368(%rip), %rsi      # 0x704f
callq 0x23b0
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4009
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x4010
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
leaq 0x28(%rsp), %rdi
callq 0x20a0
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d7d
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x3d84
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
movq 0x90(%rsp), %rsi
callq 0x29d3
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3dcc
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x3de8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x3c12
movq 0x18(%rsp), %rsi
jmp 0x3c0a
leaq 0x248(%rsp), %rax
movq %rax, 0x238(%rsp)
leaq 0x238(%rsp), %r14
movq %r14, %rdi
leaq 0x33dd(%rip), %rsi      # 0x7204
leaq 0x340d(%rip), %rdx      # 0x723b
callq 0x62ae
movq %r14, %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq %rbx, %r14
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0x3c12
movq 0x248(%rsp), %rsi
jmp 0x3c0a
movq %r13, %rdi
leaq 0x3345(%rip), %rsi      # 0x71bc
leaq 0x138(%rsp), %rdx
callq 0x5ea9
movq %rbx, %r14
movq %r13, %rdi
leaq 0x3358(%rip), %rsi      # 0x71e9
callq 0x23b0
leaq 0x188(%rsp), %rsi
movq %rsi, 0x178(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4419
movq %rdx, 0x178(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x188(%rsp)
jmp 0x441f
leaq 0x288(%rsp), %rax
movq %rax, 0x278(%rsp)
leaq 0x278(%rsp), %r15
movq %r15, %rdi
leaq 0x3263(%rip), %rsi      # 0x7156
leaq 0x32c1(%rip), %rdx      # 0x71bb
callq 0x62ae
movq %rbx, %r14
movq %r15, %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0x3c12
movq 0x288(%rsp), %rsi
jmp 0x3c0a
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x3, %edx
leaq 0x98(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x30c8(%rip), %rsi      # 0x7051
xorl %edx, %edx
callq 0x2360
leaq 0x4(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movq 0x2d8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x3fc2
movq 0x2e8(%rsp), %rsi
movq 0x2e0(%rsp), %r8
movq 0x10(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x3ff7
movl $0xf, %esi
leaq 0x18(%rsp), %rdi
cmpq %rdi, 0x8(%rsp)
je 0x3fee
movq 0x18(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x40d9
movq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x20a0
jmp 0x40e7
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x3, %edx
leaq 0x98(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movl $0x1, %ecx
movq %rbx, %rdi
leaq 0x2ff8(%rip), %rsi      # 0x7051
xorl %edx, %edx
callq 0x2360
leaq 0x4(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movq 0x2d8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x4092
movq 0x2e8(%rsp), %rsi
movq 0x2e0(%rsp), %r8
movq 0x10(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x40c7
movl $0xf, %esi
leaq 0x18(%rsp), %rdi
cmpq %rdi, 0x8(%rsp)
je 0x40be
movq 0x18(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4476
movq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x20a0
jmp 0x4484
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2270
movq %r14, 0x158(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4110
movq %rdx, 0x158(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x168(%rsp)
jmp 0x4117
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x160(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
movq 0x138(%rsp), %rsi
movq 0x140(%rsp), %rdx
addq %rsi, %rdx
leaq 0x258(%rsp), %r15
movq %r15, %rdi
callq 0x621e
movq %r15, %rdi
movq 0x88(%rsp), %rsi
callq 0x2dee
cltq
movq 0x90(%rsp), %rcx
movq (%rcx), %rcx
movl (%rcx,%rax,4), %esi
leaq 0x158(%rsp), %rdi
movl $0x1, %edx
callq 0x2960
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x41c1
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x158(%rsp), %rdi
cmpq %r14, %rdi
je 0x41de
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x41fa
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x421f
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x423c
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4258
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x28(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2edf(%rip), %rsi      # 0x7146
leaq 0xb8(%rsp), %rdx
callq 0x5ea9
movq %rbx, %rdi
leaq 0x2dd1(%rip), %rsi      # 0x704f
callq 0x23b0
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x42af
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x42b6
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x3, %edx
leaq 0x98(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movl $0x1, %ecx
movq %rbx, %rdi
leaq 0x2d52(%rip), %rsi      # 0x7051
xorl %edx, %edx
callq 0x2360
leaq 0x4(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movq 0x2d8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x4338
movq 0x2e8(%rsp), %rsi
movq 0x2e0(%rsp), %r8
movq 0x10(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4369
movl $0xf, %esi
leaq 0x18(%rsp), %rdi
cmpq %rdi, 0x8(%rsp)
je 0x4364
movq 0x18(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4378
movq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x20a0
jmp 0x4386
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2270
leaq 0xe8(%rsp), %rsi
movq %rsi, 0xd8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x43b7
movq %rdx, 0xd8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe8(%rsp)
jmp 0x43bd
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xe0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd8(%rsp), %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0x47be
movq 0xe8(%rsp), %rsi
jmp 0x47b6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x180(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x178(%rsp), %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x3bf5
movq 0x188(%rsp), %rsi
jmp 0x3bed
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2270
leaq 0x128(%rsp), %rsi
movq %rsi, 0x118(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x44b5
movq %rdx, 0x118(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x128(%rsp)
jmp 0x44bb
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x120(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x2a8(%rsp), %rax
movq %rax, 0x298(%rsp)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x298(%rsp), %rbx
movq %rbx, %rdi
callq 0x621e
movq %rbx, %rdi
movq 0x88(%rsp), %rsi
callq 0x2dee
cltq
movq 0x90(%rsp), %rcx
movq (%rcx), %rcx
movl (%rcx,%rax,4), %esi
leaq 0x118(%rsp), %rdi
movl $0x1, %edx
callq 0x2960
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0x455f
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x4584
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x45a0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x45c5
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x45e2
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x45fe
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0x28(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2b39(%rip), %rsi      # 0x7146
leaq 0xb8(%rsp), %rdx
callq 0x5ea9
movq %rbx, %rdi
leaq 0x2a2b(%rip), %rsi      # 0x704f
callq 0x23b0
movq %rbp, 0x2d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4655
movq %rdx, 0x2d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e8(%rsp)
jmp 0x465c
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x3, %edx
leaq 0x98(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movl $0x1, %ecx
movq %rbx, %rdi
leaq 0x29ac(%rip), %rsi      # 0x7051
xorl %edx, %edx
callq 0x2360
leaq 0x4(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %r12, %rsi
movq $-0x1, %rcx
callq 0x2250
movq 0x2d8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x46de
movq 0x2e8(%rsp), %rsi
movq 0x2e0(%rsp), %r8
movq 0x10(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x470f
movl $0xf, %esi
leaq 0x18(%rsp), %rdi
cmpq %rdi, 0x8(%rsp)
je 0x470a
movq 0x18(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x471e
movq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x20a0
jmp 0x472c
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2270
leaq 0x108(%rsp), %rsi
movq %rsi, 0xf8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x475d
movq %rdx, 0xf8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x108(%rsp)
jmp 0x4763
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x100(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xf8(%rsp), %rdi
movl 0x4(%rsp), %esi
movl $0x1, %edx
callq 0x2960
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x47be
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x47da
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x47ff
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x481c
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x3c12
movq 0x38(%rsp), %rsi
jmp 0x3c0a
leaq 0x2d8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x286d(%rip), %rsi      # 0x70b8
leaq 0x2878(%rip), %rdx      # 0x70ca
callq 0x62ae
leaq 0x2d8(%rsp), %rdi
callq 0x25d6
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4881
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
movl 0x4(%rsp), %edi
movq 0x90(%rsp), %rsi
movq 0x88(%rsp), %rdx
movl $0x1, %ecx
callq 0x2e61
movq 0x500(%rsp), %rdi
leaq 0x510(%rsp), %rax
cmpq %rax, %rdi
je 0x48c4
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
leaq 0x58(%rsp), %rbx
leaq 0x78(%rsp), %r14
je 0x48f3
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x490a
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x492f
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4946
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2230
xorl %eax, %eax
addq $0x10528, %rsp          # imm = 0x10528
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r12
movq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x288(%rsp), %rsi
jmp 0x4db2
jmp 0x4dbc
movq %rax, %r12
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x4d9d
movq 0x188(%rsp), %rsi
jmp 0x4d7c
jmp 0x4d9a
jmp 0x4dbc
jmp 0x49bd
movq %rax, %r12
movq 0x1f8(%rsp), %rdi
cmpq %r14, %rdi
je 0x4d9d
movq 0x208(%rsp), %rsi
jmp 0x4d7c
jmp 0x4d9a
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
jne 0x4c4d
jmp 0x4c5f
jmp 0x4c5c
jmp 0x4dbc
movq %rax, %r12
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x248(%rsp), %rsi
jmp 0x4db2
jmp 0x4dbc
jmp 0x4d9a
jmp 0x4dbc
movq %rax, %r12
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x4b6d
movq 0x108(%rsp), %rsi
jmp 0x4b60
jmp 0x4b6a
jmp 0x4b8b
jmp 0x4cf6
jmp 0x4d18
jmp 0x4dbc
movq %rax, %r12
movq 0x298(%rsp), %rdi
leaq 0x2a8(%rsp), %rax
cmpq %rax, %rdi
je 0x4aaa
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4aaa
movq %rax, %r12
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x4b6d
movq 0x128(%rsp), %rsi
jmp 0x4b60
jmp 0x4b6a
jmp 0x4b8b
jmp 0x4cf6
jmp 0x4d18
jmp 0x4dbc
movq %rax, %r12
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0x4b6d
movq 0xe8(%rsp), %rsi
jmp 0x4b60
jmp 0x4b6a
jmp 0x4b8b
jmp 0x4cf6
jmp 0x4d18
jmp 0x4dbc
movq %rax, %r12
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x4b4b
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4b4b
movq %rax, %r12
movq 0x158(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b6d
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4b6d
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4b8e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4b8e
movq %rax, %r12
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x4cf9
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4cf9
jmp 0x4cf6
jmp 0x4d18
jmp 0x4dbc
movq %rax, %r12
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x228(%rsp), %rsi
jmp 0x4db2
jmp 0x4dbc
jmp 0x4dbc
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
jne 0x4d2e
jmp 0x4dbf
jmp 0x4dbc
movq %rax, %r12
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4c3e
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4c3e
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4c5f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4c5f
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x18(%rsp), %rsi
jmp 0x4db2
jmp 0x4dbc
jmp 0x4d9a
jmp 0x4dbc
jmp 0x4d18
jmp 0x4dbc
movq %rax, %r12
movq 0x2b8(%rsp), %rdi
leaq 0x2c8(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x2c8(%rsp), %rsi
jmp 0x4db2
jmp 0x4dbc
movq %rax, %r12
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x4d9d
movq 0x1c8(%rsp), %rsi
jmp 0x4d7c
jmp 0x4d9a
jmp 0x4dbc
movq %rax, %r12
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4d1b
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4d1b
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x38(%rsp), %rsi
jmp 0x4db2
jmp 0x4dbc
movq %rax, %r12
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x4dbf
movq 0x1e8(%rsp), %rsi
jmp 0x4db2
movq %rax, %r12
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x4d9d
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4d9d
jmp 0x4d9a
jmp 0x4dbc
jmp 0x4dbc
jmp 0x4dbc
jmp 0x4dbc
jmp 0x4d9a
jmp 0x4dbc
jmp 0x4dbc
jmp 0x4dbc
jmp 0x4dbc
movq %rax, %r12
movq 0x2d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4dbf
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4dbf
movq %rax, %r12
leaq 0x58(%rsp), %r14
leaq 0x78(%rsp), %r15
movq 0x500(%rsp), %rdi
leaq 0x510(%rsp), %rax
cmpq %rax, %rdi
je 0x4dee
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x4e13
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4e2a
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x4e4f
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x4e66
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2230
movq %r12, %rdi
callq 0x2370