// File: dguglielmi[P]dlan-linux-software/common/dlanmonitor.cpp
// Function: CDlanMonitor::TriggerUnknownDevices(std::_Rb_tree_iterator<std::pair<CMACAddress const, CDlanMonitor::NetwAdapter>>)
void CDlanMonitor::TriggerUnknownDevices(
  std::map<CMACAddress,NetwAdapter>::iterator itNIC)
{
  if(((m_eMode & eMonitorHP1) == eMonitorHP1) || ((m_eMode & eMonitorTurbo) == eMonitorTurbo))
  {
    itNIC->second.setDevicesToTrigger.insert(
      itNIC->second.setParamsAndStatsResponses.begin(), itNIC->second.setParamsAndStatsResponses.end());
    itNIC->second.setDevicesToTrigger.insert(
      itNIC->second.setRemoteTurboResponses.begin(), itNIC->second.setRemoteTurboResponses.end());

    for(std::set<CMACAddress>::iterator itDeviceToTrigger = itNIC->second.setDevicesToTrigger.begin();
      (itDeviceToTrigger != itNIC->second.setDevicesToTrigger.end()); ++itDeviceToTrigger)
    {
      bool bIsWellKnown = false;

      if(itNIC->second.mapLocalDevices.find(*itDeviceToTrigger) != itNIC->second.mapLocalDevices.end())
        bIsWellKnown = true;

      for(std::map<CMACAddress,LocalDevice>::iterator itLocalDevice = itNIC->second.mapLocalDevices.begin();
        (bIsWellKnown == false) && (itLocalDevice != itNIC->second.mapLocalDevices.end()); ++itLocalDevice)
      {
        if(itLocalDevice->second.mapRemoteDeviceAges.find(*itDeviceToTrigger) != itLocalDevice->second.mapRemoteDeviceAges.end())
          bIsWellKnown = true;
      }

      if(!bIsWellKnown)
      {
        itNIC->second.queuePendingPackets.push(
          new HomePlugMMEs::ParamsAndStats::CRequest(*itDeviceToTrigger, itNIC->first));
      }
    }

    for(std::map<CMACAddress,LocalDevice>::iterator itLocalDevice = itNIC->second.mapLocalDevices.begin();
      (itLocalDevice != itNIC->second.mapLocalDevices.end()); ++itLocalDevice)
    {
      for(std::map<CMACAddress,int>::iterator itRemoteDevice = itLocalDevice->second.mapRemoteDeviceAges.begin();
        (itRemoteDevice != itLocalDevice->second.mapRemoteDeviceAges.end()); ++itRemoteDevice)
      {
        if(itRemoteDevice->second >= m_timings.RemoteRefreshAge)
        {
          itNIC->second.queuePendingPackets.push(
            new HomePlugMMEs::ParamsAndStats::CRequest(itRemoteDevice->first, itNIC->first));
        }
      }
    }
  }

  if((m_eMode & eMonitorThunderbolt) == eMonitorThunderbolt)
  {
    std::set<CMACAddress> setGetVersion, setGetUserData;
    std::map<CMACAddress,std::string> mapUnknownGetVersionResponses = itNIC->second.mapGetVersionResponses;
  
    for(std::map<CMACAddress,NetworkInfoResponse>::const_iterator itNetworkInfo = itNIC->second.mapNetworkInfoResponses.begin();
      itNetworkInfo != itNIC->second.mapNetworkInfoResponses.end(); ++itNetworkInfo)
    {
      mapUnknownGetVersionResponses.erase(itNetworkInfo->first);
    
      for(std::list<HomePlugAvMMEs::ThunderNetworkInfo::StationInfo>::const_iterator itStation = itNetworkInfo->second.stations.begin();
        itStation != itNetworkInfo->second.stations.end(); ++itStation)
      {
        mapUnknownGetVersionResponses.erase(itStation->GetAddress());

        if(itNIC->second.mapGetVersionResponses.find(itStation->GetAddress()) == itNIC->second.mapGetVersionResponses.end())
          setGetVersion.insert(itStation->GetAddress());

        if(itNIC->second.mapUserDataResponses.find(itStation->GetAddress()) == itNIC->second.mapUserDataResponses.end())
          setGetUserData.insert(itStation->GetAddress());
      }
    }

    for(std::set<CMACAddress>::iterator it = setGetVersion.begin(); it != setGetVersion.end(); ++it)
    {
      itNIC->second.queuePendingPackets.push(new HomePlugAvMMEs::ThunderGetVersion::CRequest(*it, itNIC->first));
    }

    for(std::map<CMACAddress,std::string>::iterator it = mapUnknownGetVersionResponses.begin(); 
      it != mapUnknownGetVersionResponses.end(); ++it)
    {
      itNIC->second.queuePendingPackets.push(new HomePlugAvMMEs::ThunderGetVersion::CRequest(it->first, itNIC->first));
    }

    for(std::set<CMACAddress>::iterator it = setGetUserData.begin(); it != setGetUserData.end(); ++it)
    {
      itNIC->second.queuePendingPackets.push(new HomePlugAvMMEs::ThunderReadModuleData::CRequest(*it, itNIC->first, 
        HomePlugAvMMEs::ThunderReadModuleData::ePib, 208, 36));
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x330, %rsp            # imm = 0x330
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x208(%rbp)
movl 0x20(%rax), %eax
andl $0x3, %eax
cmpl $0x3, %eax
je 0x12f0f
movq -0x208(%rbp), %rax
movl 0x20(%rax), %eax
andl $0xc, %eax
cmpl $0xc, %eax
jne 0x13412
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x8, %rax
addq $0x70, %rax
movq %rax, -0x218(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x10, %rdi
callq 0x179b0
movq %rax, -0x18(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x10, %rdi
callq 0x179e0
movq -0x218(%rbp), %rdi
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x185a0
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x8, %rax
addq $0x70, %rax
movq %rax, -0x210(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x40, %rdi
callq 0x179b0
movq %rax, -0x28(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x40, %rdi
callq 0x179e0
movq -0x210(%rbp), %rdi
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0x185a0
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x70, %rdi
callq 0x179b0
movq %rax, -0x38(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x70, %rdi
callq 0x179e0
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xe190
testb $0x1, %al
jne 0x1302b
jmp 0x13250
movb $0x0, -0x41(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x8, %rax
addq $0x160, %rax            # imm = 0x160
movq %rax, -0x220(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xe1c0
movq -0x220(%rbp), %rdi
movq %rax, %rsi
callq 0x185e0
movq %rax, -0x50(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x160, %rdi            # imm = 0x160
callq 0x17fc0
movq %rax, -0x58(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x17f90
testb $0x1, %al
jne 0x13098
jmp 0x1309c
movb $0x1, -0x41(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x160, %rdi            # imm = 0x160
callq 0x17dd0
movq %rax, -0x60(%rbp)
movb -0x41(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x221(%rbp)
jne 0x13104
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x160, %rdi            # imm = 0x160
callq 0x17fc0
movq %rax, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x17f90
movb %al, -0x221(%rbp)
movb -0x221(%rbp), %al
testb $0x1, %al
jne 0x13110
jmp 0x13188
leaq -0x60(%rbp), %rdi
callq 0x17e00
addq $0x8, %rax
addq $0x10, %rax
movq %rax, -0x230(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xe1c0
movq -0x230(%rbp), %rdi
movq %rax, %rsi
callq 0x18080
movq %rax, -0x70(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x17e00
movq %rax, %rdi
addq $0x8, %rdi
addq $0x10, %rdi
callq 0x180b0
movq %rax, -0x78(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x18050
testb $0x1, %al
jne 0x13174
jmp 0x13178
movb $0x1, -0x41(%rbp)
jmp 0x1317a
leaq -0x60(%rbp), %rdi
callq 0x18270
jmp 0x130bc
testb $0x1, -0x41(%rbp)
jne 0x13240
leaq -0x8(%rbp), %rdi
movq %rdi, -0x248(%rbp)
callq 0x17d40
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x258(%rbp)
movl $0x20, %edi
callq 0x5320
movq %rax, -0x240(%rbp)
movq %rax, -0x250(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xe1c0
movq -0x248(%rbp), %rdi
movq %rax, -0x238(%rbp)
callq 0x17d40
movq -0x240(%rbp), %rdi
movq -0x238(%rbp), %rsi
movq %rax, %rdx
callq 0x184e0
jmp 0x131fb
movq -0x258(%rbp), %rdi
movq -0x250(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x80(%rbp), %rsi
callq 0x182a0
jmp 0x13240
movq -0x250(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
movl $0x20, %esi
callq 0x5330
jmp 0x13b31
jmp 0x13242
leaq -0x38(%rbp), %rdi
callq 0xe1f0
jmp 0x12ff8
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x160, %rdi            # imm = 0x160
callq 0x17dd0
movq %rax, -0x98(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x160, %rdi            # imm = 0x160
callq 0x17fc0
movq %rax, -0xa0(%rbp)
leaq -0x98(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x17f90
testb $0x1, %al
jne 0x132b2
jmp 0x13410
leaq -0x98(%rbp), %rdi
callq 0x17e00
movq %rax, %rdi
addq $0x8, %rdi
addq $0x10, %rdi
callq 0x18190
movq %rax, -0xa8(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x17e00
movq %rax, %rdi
addq $0x8, %rdi
addq $0x10, %rdi
callq 0x180b0
movq %rax, -0xb0(%rbp)
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x18050
testb $0x1, %al
jne 0x13314
jmp 0x133fd
leaq -0xa8(%rbp), %rdi
callq 0x180e0
movq -0x208(%rbp), %rcx
movl 0x8(%rax), %eax
cmpl 0x4c(%rcx), %eax
jl 0x133ea
leaq -0x8(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x17d40
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x280(%rbp)
movl $0x20, %edi
callq 0x5320
movq %rax, -0x268(%rbp)
movq %rax, -0x278(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x180e0
movq -0x270(%rbp), %rdi
movq %rax, -0x260(%rbp)
callq 0x17d40
movq -0x268(%rbp), %rdi
movq -0x260(%rbp), %rsi
movq %rax, %rdx
callq 0x184e0
jmp 0x1339f
movq -0x280(%rbp), %rdi
movq -0x278(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x182a0
jmp 0x133ea
movq -0x278(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
movl $0x20, %esi
callq 0x5330
jmp 0x13b31
jmp 0x133ec
leaq -0xa8(%rbp), %rdi
callq 0x18240
jmp 0x132d5
jmp 0x133ff
leaq -0x98(%rbp), %rdi
callq 0x18270
jmp 0x13273
jmp 0x13412
movq -0x208(%rbp), %rax
movl 0x20(%rax), %eax
andl $0x30, %eax
cmpl $0x30, %eax
jne 0x13b28
leaq -0xe8(%rbp), %rdi
callq 0x17910
leaq -0x118(%rbp), %rdi
callq 0x17910
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rsi
addq $0xd8, %rsi
leaq -0x148(%rbp), %rdi
callq 0x18610
jmp 0x13461
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0x18640
movq %rax, -0x158(%rbp)
leaq -0x150(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x18670
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0x186c0
movq %rax, -0x168(%rbp)
leaq -0x160(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x18670
leaq -0x150(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x18690
testb $0x1, %al
jne 0x134e9
jmp 0x137d7
leaq -0x150(%rbp), %rdi
callq 0x18720
movq %rax, %rsi
leaq -0x148(%rbp), %rdi
callq 0x186f0
jmp 0x13506
leaq -0x150(%rbp), %rdi
callq 0x18720
movq %rax, %rdi
addq $0x8, %rdi
addq $0x8, %rdi
callq 0x18750
movq %rax, -0x170(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x18720
movq %rax, %rdi
addq $0x8, %rdi
addq $0x8, %rdi
callq 0x187b0
movq %rax, -0x178(%rbp)
leaq -0x170(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x18780
testb $0x1, %al
jne 0x13568
jmp 0x137c4
leaq -0x170(%rbp), %rdi
callq 0x187e0
movq %rax, %rdi
callq 0x18800
movq %rax, -0x288(%rbp)
jmp 0x13585
movq -0x288(%rbp), %rsi
leaq -0x148(%rbp), %rdi
callq 0x186f0
jmp 0x1359a
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0xd8, %rax
movq %rax, -0x298(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x187e0
movq %rax, %rdi
callq 0x18800
movq %rax, -0x290(%rbp)
jmp 0x135cd
movq -0x290(%rbp), %rsi
movq -0x298(%rbp), %rdi
callq 0x18840
movq %rax, -0x2a0(%rbp)
jmp 0x135e9
movq -0x2a0(%rbp), %rax
movq %rax, -0x180(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0xd0, %rdi
callq 0x18870
movq %rax, -0x188(%rbp)
leaq -0x180(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x18810
testb $0x1, %al
jne 0x13636
jmp 0x136bf
leaq -0x170(%rbp), %rdi
callq 0x187e0
movq %rax, %rdi
callq 0x18800
movq %rax, -0x2a8(%rbp)
jmp 0x13653
movq -0x2a8(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x17930
movb %dl, -0x2b1(%rbp)
movq %rax, -0x2b0(%rbp)
jmp 0x13675
movb -0x2b1(%rbp), %al
movq -0x2b0(%rbp), %rcx
movq %rcx, -0x198(%rbp)
movb %al, -0x190(%rbp)
jmp 0x136bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x13b0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x13b02
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x108, %rax            # imm = 0x108
movq %rax, -0x2c8(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x187e0
movq %rax, %rdi
callq 0x18800
movq %rax, -0x2c0(%rbp)
jmp 0x136f2
movq -0x2c0(%rbp), %rsi
movq -0x2c8(%rbp), %rdi
callq 0x188d0
movq %rax, -0x2d0(%rbp)
jmp 0x1370e
movq -0x2d0(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq %rax, %rdi
addq $0x8, %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0x18900
movq %rax, -0x1a8(%rbp)
leaq -0x1a0(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x188a0
testb $0x1, %al
jne 0x13758
jmp 0x137b1
leaq -0x170(%rbp), %rdi
callq 0x187e0
movq %rax, %rdi
callq 0x18800
movq %rax, -0x2d8(%rbp)
jmp 0x13775
movq -0x2d8(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x17930
movb %dl, -0x2e1(%rbp)
movq %rax, -0x2e0(%rbp)
jmp 0x13797
movb -0x2e1(%rbp), %al
movq -0x2e0(%rbp), %rcx
movq %rcx, -0x1b8(%rbp)
movb %al, -0x1b0(%rbp)
jmp 0x137b3
leaq -0x170(%rbp), %rdi
callq 0x18930
jmp 0x13529
jmp 0x137c6
leaq -0x150(%rbp), %rdi
callq 0x18950
jmp 0x13497
leaq -0xe8(%rbp), %rdi
callq 0x179b0
movq %rax, -0x1c0(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x179e0
movq %rax, -0x1c8(%rbp)
leaq -0x1c0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xe190
testb $0x1, %al
jne 0x13819
jmp 0x138d4
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x2f8(%rbp)
movl $0x20, %edi
callq 0x5320
movq %rax, -0x2f0(%rbp)
jmp 0x13842
leaq -0x1c0(%rbp), %rdi
callq 0xe1c0
movq %rax, -0x300(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq -0x2f0(%rbp), %rdi
movq -0x300(%rbp), %rsi
movq %rax, %rdx
callq 0x183c0
jmp 0x13876
movq -0x2f8(%rbp), %rdi
movq -0x2f0(%rbp), %rax
movq %rax, -0x1d0(%rbp)
leaq -0x1d0(%rbp), %rsi
callq 0x182a0
jmp 0x13899
jmp 0x1389b
leaq -0x1c0(%rbp), %rdi
callq 0xe1f0
jmp 0x137ea
movq -0x2f0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
movl $0x20, %esi
callq 0x5330
jmp 0x13b02
leaq -0x148(%rbp), %rdi
callq 0x18980
movq %rax, -0x1d8(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x18870
movq %rax, -0x1e0(%rbp)
leaq -0x1d8(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x189b0
testb $0x1, %al
jne 0x13916
jmp 0x139d1
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x310(%rbp)
movl $0x20, %edi
callq 0x5320
movq %rax, -0x308(%rbp)
jmp 0x1393f
leaq -0x1d8(%rbp), %rdi
callq 0x189e0
movq %rax, -0x318(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq -0x308(%rbp), %rdi
movq -0x318(%rbp), %rsi
movq %rax, %rdx
callq 0x183c0
jmp 0x13973
movq -0x310(%rbp), %rdi
movq -0x308(%rbp), %rax
movq %rax, -0x1e8(%rbp)
leaq -0x1e8(%rbp), %rsi
callq 0x182a0
jmp 0x13996
jmp 0x13998
leaq -0x1d8(%rbp), %rdi
callq 0x18a00
jmp 0x138e7
movq -0x308(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
movl $0x20, %esi
callq 0x5330
jmp 0x13b02
leaq -0x118(%rbp), %rdi
callq 0x179b0
movq %rax, -0x1f0(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x179e0
movq %rax, -0x1f8(%rbp)
leaq -0x1f0(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0xe190
testb $0x1, %al
jne 0x13a13
jmp 0x13adc
leaq -0x8(%rbp), %rdi
callq 0x17d40
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x328(%rbp)
movl $0x28, %edi
callq 0x5320
movq %rax, -0x320(%rbp)
jmp 0x13a3c
leaq -0x1f0(%rbp), %rdi
callq 0xe1c0
movq %rax, -0x330(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x17d40
movq -0x320(%rbp), %rdi
movq -0x330(%rbp), %rsi
movq %rax, %rdx
movl $0x2, %ecx
movl $0xd0, %r8d
movl $0x24, %r9d
callq 0x18300
jmp 0x13a81
movq -0x328(%rbp), %rdi
movq -0x320(%rbp), %rax
movq %rax, -0x200(%rbp)
leaq -0x200(%rbp), %rsi
callq 0x182a0
jmp 0x13aa4
jmp 0x13aa6
leaq -0x1f0(%rbp), %rdi
callq 0xe1f0
jmp 0x139e4
movq -0x320(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
movl $0x28, %esi
callq 0x5330
jmp 0x13b02
leaq -0x148(%rbp), %rdi
callq 0x87f0
leaq -0x118(%rbp), %rdi
callq 0x8810
leaq -0xe8(%rbp), %rdi
callq 0x8810
jmp 0x13b28
leaq -0x148(%rbp), %rdi
callq 0x87f0
leaq -0x118(%rbp), %rdi
callq 0x8810
leaq -0xe8(%rbp), %rdi
callq 0x8810
jmp 0x13b31
addq $0x330, %rsp            # imm = 0x330
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0x5530
nopl (%rax)