// File: tomfunkhouser[P]gaps/pkgs/GSV/GSVScene.cpp
// Function: gaps::GSVScene::WriteGSVStream(_IO_FILE*) const
int GSVScene::
WriteGSVStream(FILE *fp) const
{
  // Convenient variables
  int dummy = 0;

  // Make sure everything is uptodate
  R3Box foobar = BBox();
  if (foobar[0][0] == FLT_MAX) printf("Ouch\n");

  // Write magic keyword
  char magic[16] = { '\0' };
  strncpy(magic, "GSV", 16);
  if (fwrite(magic, sizeof(char), 16, fp) != (unsigned int) 16) {
    RNFail("Unable to write GSV scene file\n");
    return 0;
  }

  // Write header
  int endian_test = 1;
  int major_version = 2;
  int minor_version = 0;
  unsigned long long scene_file_offset = 0;
  fwrite(&dummy, sizeof(int), 1, fp);
  fwrite(&dummy, sizeof(int), 1, fp);
  fwrite(&scene_file_offset, sizeof(unsigned long long), 1, fp);
  fwrite(&endian_test, sizeof(int), 1, fp);
  fwrite(&major_version, sizeof(int), 1, fp);
  fwrite(&minor_version, sizeof(int), 1, fp);
  for (int j = 0; j < 53; j++) {
    fwrite(&dummy, sizeof(int), 1, fp);
  }

  // Write points
  for (int ir = 0; ir < NRuns(); ir++) {
    GSVRun *run = Run(ir);
    for (int is = 0; is < run->NSegments(); is++) {
      GSVSegment *segment = run->Segment(is);
      for (int iu = 0; iu < segment->NSurveys(); iu++) {
        GSVSurvey *survey = segment->Survey(iu);
        for (int ia = 0; ia < survey->NScans(); ia++) {
          GSVScan *scan = survey->Scan(ia);
          scan->ReadPoints();
          for (int ie = 0; ie < scan->NScanlines(); ie++) {
            GSVScanline *scanline = scan->Scanline(ie);
            scanline->WritePoints(fp, FALSE);
          }
          scan->ReleasePoints();
        }
      }
    }
  }

  // Get scene file offset
  scene_file_offset = RNFileTell(fp);

  // Write scene 
  int scene_nruns = NRuns();
  R3Box scene_bbox = BBox();
  R4Matrix scene_matrix = Transformation().Matrix();
  fwrite(&scene_nruns, sizeof(int), 1, fp);
  fwrite(&(scene_bbox[0][0]), sizeof(RNCoord), 6, fp);
  fwrite(&(scene_matrix[0][0]), sizeof(RNScalar), 16, fp);
  for (int j = 0; j < 89; j++) {
    fwrite(&dummy, sizeof(int), 1, fp);
  }

  // Write runs
  for (int ir = 0; ir < NRuns(); ir++) {
    GSVRun *run = Run(ir);
    int run_ncameras = run->NCameras();
    int run_nlasers = run->NLasers();
    int run_nsegments = run->NSegments();
    R3Box run_bbox = run->BBox();
    char run_name[256] = { '\0' };
    if (run->Name()) strncpy(run_name, run->Name(), 255);
    fwrite(run_name, sizeof(char), 256, fp);
    fwrite(&run_ncameras, sizeof(int), 1, fp);
    fwrite(&run_nlasers, sizeof(int), 1, fp);
    fwrite(&run_nsegments, sizeof(int), 1, fp);
    fwrite(&(run_bbox[0][0]), sizeof(RNCoord), 6, fp);
    for (int j = 0; j < 23; j++) {
      fwrite(&dummy, sizeof(int), 1, fp);
    }

    // Write cameras
    for (int ic = 0; ic < run->NCameras(); ic++) {
      GSVCamera *camera = run->Camera(ic);
      int camera_ntapestries = camera->NTapestries();
      int camera_distortion_type = camera->DistortionType();
      RNLength camera_focal_x = camera->XFocal();
      RNLength camera_focal_y = camera->YFocal();
      RNCoord camera_center_x = camera->XCenter();
      RNCoord camera_center_y = camera->YCenter();
      RNScalar camera_k1 = camera->K1();
      RNScalar camera_k2 = camera->K2();
      RNScalar camera_k3 = camera->K3();
      RNScalar camera_p1 = camera->P1();
      RNScalar camera_p2 = camera->P2();
      RNAngle camera_fov_max = camera->MaxFov();
      R3Box camera_bbox = camera->BBox();
      int camera_width = camera->ImageWidth();
      int camera_height = camera->ImageHeight();
      fwrite(&camera_ntapestries, sizeof(int), 1, fp);
      fwrite(&camera_distortion_type, sizeof(int), 1, fp);
      fwrite(&camera_focal_x, sizeof(RNLength), 1, fp);
      fwrite(&camera_focal_y, sizeof(RNLength), 1, fp);
      fwrite(&camera_center_x, sizeof(RNCoord), 1, fp);
      fwrite(&camera_center_y, sizeof(RNCoord), 1, fp);
      fwrite(&camera_k1, sizeof(RNScalar), 1, fp);
      fwrite(&camera_k2, sizeof(RNScalar), 1, fp);
      fwrite(&camera_k3, sizeof(RNScalar), 1, fp);
      fwrite(&camera_p1, sizeof(RNScalar), 1, fp);
      fwrite(&camera_p2, sizeof(RNScalar), 1, fp);
      fwrite(&camera_fov_max, sizeof(RNAngle), 1, fp);
      fwrite(&(camera_bbox[0][0]), sizeof(RNCoord), 6, fp);
      fwrite(&camera_width, sizeof(int), 1, fp);
      fwrite(&camera_height, sizeof(int), 1, fp);
      for (int j = 0; j < 13; j++) {
        fwrite(&dummy, sizeof(int), 1, fp);
      }
    }

    // Write lasers
    for (int il = 0; il < run->NLasers(); il++) {
      GSVLaser *laser = run->Laser(il);
      int device_type = laser->DeviceType();
      int max_sweep_index = laser->MaxSweepIndex();
      int max_beam_index = laser->MaxBeamIndex();
      int laser_nsurveys = laser->NSurveys();
      R3Box laser_bbox = laser->BBox();
      fwrite(&device_type, sizeof(int), 1, fp);
      fwrite(&laser_nsurveys, sizeof(int), 1, fp);
      fwrite(&(laser_bbox[0][0]), sizeof(RNCoord), 6, fp);
      fwrite(&max_sweep_index, sizeof(int), 1, fp);
      fwrite(&max_beam_index, sizeof(int), 1, fp);
      for (int j = 0; j < 22; j++) {
        fwrite(&dummy, sizeof(int), 1, fp);
      }
    }

    // Write segments
    for (int is = 0; is < run->NSegments(); is++) {
      GSVSegment *segment = run->Segment(is);
      int segment_nsurveys = segment->NSurveys();
      int segment_ntapestries = segment->NTapestries();
      int segment_npanoramas = segment->NPanoramas();
      R3Box segment_bbox = segment->BBox();
      char segment_name[256] = { '\0' };
      if (segment->Name()) strncpy(segment_name, segment->Name(), 255);
      fwrite(segment_name, sizeof(char), 256, fp);
      fwrite(&segment_nsurveys, sizeof(int), 1, fp);
      fwrite(&segment_ntapestries, sizeof(int), 1, fp);
      fwrite(&segment_npanoramas, sizeof(int), 1, fp);
      fwrite(&(segment_bbox[0][0]), sizeof(RNCoord), 6, fp);
      for (int j = 0; j < 23; j++) {
        fwrite(&dummy, sizeof(int), 1, fp);
      }

      // Write surveys
      for (int iu = 0; iu < segment->NSurveys(); iu++) {
        GSVSurvey *survey = segment->Survey(iu);
        int survey_laser_index = (survey->Laser()) ? survey->Laser()->RunIndex() : -1;
        int survey_nscans = survey->NScans();
        R3Box survey_bbox = segment->BBox();
        fwrite(&survey_laser_index, sizeof(int), 1, fp);
        fwrite(&survey_nscans, sizeof(int), 1, fp);
        fwrite(&(survey_bbox[0][0]), sizeof(RNCoord), 6, fp);
        for (int j = 0; j < 24; j++) {
          fwrite(&dummy, sizeof(int), 1, fp);
        }

        // Write scans
        for (int ia = 0; ia < survey->NScans(); ia++) {
          GSVScan *scan = survey->Scan(ia);
          int scan_nscanlines = scan->NScanlines();
          R3Box scan_bbox = scan->BBox();
          fwrite(&scan_nscanlines, sizeof(int), 1, fp);
          fwrite(&(scan_bbox[0][0]), sizeof(RNCoord), 6, fp);
          for (int j = 0; j < 24; j++) {
            fwrite(&dummy, sizeof(int), 1, fp);
          }

          // Write scanlines
          for (int ie = 0; ie < scan->NScanlines(); ie++) {
            GSVScanline *scanline = scan->Scanline(ie);
            int scanline_npoints = scanline->NPoints();
            R3Point scanline_viewpoint = scanline->Pose().Viewpoint();
            R3Quaternion scanline_orientation = scanline->Pose().Orientation();
            RNScalar scanline_timestamp = scanline->Timestamp();
            int scanline_sweep_index = scanline->SweepIndex();
            R3Box scanline_bbox = scanline->BBox();
            unsigned long long scanline_file_offset = scanline->FileOffset();
            fwrite(&(scanline_npoints), sizeof(int), 1, fp);
            fwrite(&(scanline_viewpoint[0]), sizeof(RNCoord), 3, fp);
            fwrite(&(scanline_orientation[0]), sizeof(RNCoord), 4, fp);
            fwrite(&scanline_timestamp, sizeof(RNScalar), 1, fp);
            fwrite(&(scanline_bbox[0][0]), sizeof(RNCoord), 6, fp);
            fwrite(&(scanline_file_offset), sizeof(unsigned long long), 1, fp);
            fwrite(&(scanline_sweep_index), sizeof(int), 1, fp);
            for (int j = 0; j < 14; j++) {
              fwrite(&dummy, sizeof(int), 1, fp);
            }
          }
        }
      }
      
      // Write tapestries
      for (int it = 0; it < segment->NTapestries(); it++) {
        GSVTapestry *tapestry = segment->Tapestry(it);
        int tapestry_camera_index = (tapestry->Camera()) ? tapestry->Camera()->RunIndex() : -1;
        int tapestry_nimages = tapestry->NImages();
        R3Box tapestry_bbox = segment->BBox();
        fwrite(&tapestry_camera_index, sizeof(int), 1, fp);
        fwrite(&tapestry_nimages, sizeof(int), 1, fp);
        fwrite(&(tapestry_bbox[0][0]), sizeof(RNCoord), 6, fp);
        for (int j = 0; j < 24; j++) {
          fwrite(&dummy, sizeof(int), 1, fp);
        }
      }

      // Write panoramas
      for (int ip = 0; ip < segment->NPanoramas(); ip++) {
        GSVPanorama *panorama = segment->Panorama(ip);
        int panorama_nimages = panorama->NImages();
        R3Point panorama_viewpoint = panorama->Viewpoint();
        RNScalar panorama_timestamp = panorama->Timestamp();
        char panorama_name[256] = { '\0' };
        if (panorama->Name()) strncpy(panorama_name, panorama->Name(), 255);
        fwrite(panorama_name, sizeof(char), 256, fp);
        fwrite(&panorama_nimages, sizeof(int), 1, fp);
        fwrite(&(panorama_viewpoint[0]), sizeof(RNCoord), 3, fp);
        fwrite(&panorama_timestamp, sizeof(RNScalar), 1, fp);
        for (int j = 0; j < 22; j++) {
          fwrite(&dummy, sizeof(int), 1, fp);
        }

        // Write images
        for (int ii = 0; ii < panorama->NImages(); ii++) {
          GSVImage *image = panorama->Image(ii);
          int image_tapestry_index = (image->Tapestry()) ? image->Tapestry()->SegmentIndex() : -1;
          int image_ncolumns = image->Width();
          R3Point image_viewpoint0 = image->Pose(0).Viewpoint();
          R3Point image_viewpoint1 = image->Pose(image->Width()-1).Viewpoint();
          R3Quaternion image_orientation0 = image->Pose(0).Orientation();
          R3Quaternion image_orientation1 = image->Pose(image->Width()-1).Orientation();
          RNScalar image_timestamp0 = image->Timestamp(0);
          RNScalar image_timestamp1 = image->Timestamp(image->Width()-1);
          char image_name[256] = { '\0' };
          if (image->Name()) strncpy(image_name, image->Name(), 255);
          fwrite(image_name, sizeof(char), 256, fp);
          fwrite(&image_tapestry_index, sizeof(int), 1, fp);
          fwrite(&image_ncolumns, sizeof(int), 1, fp);
          fwrite(&(image_viewpoint0[0]), sizeof(RNCoord), 3, fp);
          fwrite(&(image_viewpoint1[0]), sizeof(RNCoord), 3, fp);
          fwrite(&(image_orientation0[0]), sizeof(RNCoord), 4, fp);
          fwrite(&(image_orientation1[0]), sizeof(RNCoord), 4, fp);
          fwrite(&image_timestamp0, sizeof(RNScalar), 1, fp);
          fwrite(&image_timestamp1, sizeof(RNScalar), 1, fp);
          for (int j = 0; j < 14; j++) {
            fwrite(&dummy, sizeof(int), 1, fp);
          }
        }
      }
    }
  }

  // Get end of file offset
  unsigned long long end_of_file_offset = RNFileTell(fp);

  // Re-write header with updated scene file offset
  RNFileSeek(fp, 0, RN_FILE_SEEK_SET);
  fwrite(magic, sizeof(char), 16, fp);
  fwrite(&dummy, sizeof(int), 1, fp);
  fwrite(&dummy, sizeof(int), 1, fp);
  fwrite(&scene_file_offset, sizeof(unsigned long long), 1, fp);
  fwrite(&endian_test, sizeof(int), 1, fp);
  fwrite(&major_version, sizeof(int), 1, fp);
  fwrite(&minor_version, sizeof(int), 1, fp);

  // Seek to end of file
  RNFileSeek(fp, end_of_file_offset, RN_FILE_SEEK_SET);

  // Return success
  return 1;
}

// Assembly:
subq $0xfa8, %rsp            # imm = 0xFA8
movq %rdi, 0xf98(%rsp)
movq %rsi, 0xf90(%rsp)
movq 0xf98(%rsp), %rdi
movq %rdi, 0x4b8(%rsp)
movl $0x0, 0xf8c(%rsp)
callq 0x38940
movq %rax, %rsi
leaq 0xf50(%rsp), %rdi
movq %rdi, 0x4c0(%rsp)
callq 0x151a90
movq 0x4c0(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x4c8(%rsp)
jmp 0x415c8
movq 0x4c8(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x4b0(%rsp)
jmp 0x415e1
movq 0x4b0(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x224a23(%rip), %xmm1   # 0x266018
ucomisd %xmm1, %xmm0
jne 0x41628
jp 0x41628
leaq 0x225769(%rip), %rdi    # 0x266d6d
xorl %eax, %eax
callq 0x290f0
jmp 0x4160d
jmp 0x41628
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
jmp 0x440cf
xorps %xmm0, %xmm0
movaps %xmm0, 0xf30(%rsp)
leaq 0x2256bd(%rip), %rsi    # 0x266cf7
leaq 0xf30(%rsp), %rdi
movq %rdi, 0x498(%rsp)
movl $0x10, %edx
movq %rdx, 0x4a0(%rsp)
callq 0x292d0
movq 0x498(%rsp), %rdi
movq 0x4a0(%rsp), %rdx
movq 0xf90(%rsp), %rcx
movl $0x1, %esi
callq 0x2a360
movq %rax, 0x4a8(%rsp)
jmp 0x41688
movq 0x4a8(%rsp), %rax
cmpq $0x10, %rax
je 0x416c1
leaq 0x2256d6(%rip), %rdi    # 0x266d73
xorl %eax, %eax
callq 0x1cbff0
jmp 0x416a6
movl $0x0, 0xfa4(%rsp)
movl $0x1, 0xf2c(%rsp)
jmp 0x440b3
movl $0x1, 0xf28(%rsp)
movl $0x2, 0xf24(%rsp)
movl $0x0, 0xf20(%rsp)
movq $0x0, 0xf18(%rsp)
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4170f
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41730
movq 0xf90(%rsp), %rcx
leaq 0xf18(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41751
movq 0xf90(%rsp), %rcx
leaq 0xf28(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41772
movq 0xf90(%rsp), %rcx
leaq 0xf24(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41793
movq 0xf90(%rsp), %rcx
leaq 0xf20(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x417b4
movl $0x0, 0xf14(%rsp)
cmpl $0x35, 0xf14(%rsp)
jge 0x417ff
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x417ea
jmp 0x417ec
movl 0xf14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf14(%rsp)
jmp 0x417bf
movl $0x0, 0xf10(%rsp)
movq 0x4b8(%rsp), %rdi
movl 0xf10(%rsp), %eax
movl %eax, 0x490(%rsp)
callq 0x39f90
movl %eax, 0x494(%rsp)
jmp 0x4182e
movl 0x490(%rsp), %eax
movl 0x494(%rsp), %ecx
cmpl %ecx, %eax
jge 0x41ae9
movq 0x4b8(%rsp), %rdi
movl 0xf10(%rsp), %esi
callq 0x39fb0
movq %rax, 0x488(%rsp)
jmp 0x41862
movq 0x488(%rsp), %rax
movq %rax, 0xf08(%rsp)
movl $0x0, 0xf04(%rsp)
movl 0xf04(%rsp), %eax
movl %eax, 0x480(%rsp)
movq 0xf08(%rsp), %rdi
callq 0x39fe0
movl %eax, 0x484(%rsp)
jmp 0x418a1
movl 0x480(%rsp), %eax
movl 0x484(%rsp), %ecx
cmpl %ecx, %eax
jge 0x41ad1
movq 0xf08(%rsp), %rdi
movl 0xf04(%rsp), %esi
callq 0x3a000
movq %rax, 0x478(%rsp)
jmp 0x418d5
movq 0x478(%rsp), %rax
movq %rax, 0xef8(%rsp)
movl $0x0, 0xef4(%rsp)
movl 0xef4(%rsp), %eax
movl %eax, 0x470(%rsp)
movq 0xef8(%rsp), %rdi
callq 0x3a030
movl %eax, 0x474(%rsp)
jmp 0x41914
movl 0x470(%rsp), %eax
movl 0x474(%rsp), %ecx
cmpl %ecx, %eax
jge 0x41ab9
movq 0xef8(%rsp), %rdi
movl 0xef4(%rsp), %esi
callq 0x3a050
movq %rax, 0x468(%rsp)
jmp 0x41948
movq 0x468(%rsp), %rax
movq %rax, 0xee8(%rsp)
movl $0x0, 0xee4(%rsp)
movl 0xee4(%rsp), %eax
movl %eax, 0x460(%rsp)
movq 0xee8(%rsp), %rdi
callq 0x3a080
movl %eax, 0x464(%rsp)
jmp 0x41987
movl 0x460(%rsp), %eax
movl 0x464(%rsp), %ecx
cmpl %ecx, %eax
jge 0x41aa1
movq 0xee8(%rsp), %rdi
movl 0xee4(%rsp), %esi
callq 0x3a0a0
movq %rax, 0x458(%rsp)
jmp 0x419bb
movq 0x458(%rsp), %rax
movq %rax, 0xed8(%rsp)
movq 0xed8(%rsp), %rdi
callq 0x557c0
jmp 0x419da
movl $0x0, 0xed4(%rsp)
movl 0xed4(%rsp), %eax
movl %eax, 0x450(%rsp)
movq 0xed8(%rsp), %rdi
callq 0x3a0d0
movl %eax, 0x454(%rsp)
jmp 0x41a09
movl 0x450(%rsp), %eax
movl 0x454(%rsp), %ecx
cmpl %ecx, %eax
jge 0x41a7a
movq 0xed8(%rsp), %rdi
movl 0xed4(%rsp), %esi
callq 0x3a0f0
movq %rax, 0x448(%rsp)
jmp 0x41a39
movq 0x448(%rsp), %rax
movq %rax, 0xec8(%rsp)
movq 0xec8(%rsp), %rdi
movq 0xf90(%rsp), %rsi
xorl %edx, %edx
callq 0x597b0
jmp 0x41a62
jmp 0x41a64
movl 0xed4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xed4(%rsp)
jmp 0x419e5
movq 0xed8(%rsp), %rdi
callq 0x55960
jmp 0x41a89
jmp 0x41a8b
movl 0xee4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xee4(%rsp)
jmp 0x41963
jmp 0x41aa3
movl 0xef4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xef4(%rsp)
jmp 0x418f0
jmp 0x41abb
movl 0xf04(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf04(%rsp)
jmp 0x4187d
jmp 0x41ad3
movl 0xf10(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf10(%rsp)
jmp 0x4180a
movq 0xf90(%rsp), %rdi
callq 0x1caef0
movq %rax, 0x440(%rsp)
jmp 0x41b00
movq 0x4b8(%rsp), %rdi
movq 0x440(%rsp), %rax
movq %rax, 0xf18(%rsp)
callq 0x39f90
movl %eax, 0x43c(%rsp)
jmp 0x41b26
movq 0x4b8(%rsp), %rdi
movl 0x43c(%rsp), %eax
movl %eax, 0xec4(%rsp)
callq 0x38940
movq %rax, 0x430(%rsp)
jmp 0x41b4b
movq 0x430(%rsp), %rsi
leaq 0xe88(%rsp), %rdi
callq 0x151a90
jmp 0x41b62
movq 0x4b8(%rsp), %rdi
callq 0x448f0
movq %rax, 0x428(%rsp)
jmp 0x41b79
movq 0x428(%rsp), %rdi
callq 0x44900
movq %rax, 0x420(%rsp)
jmp 0x41b90
movq 0x420(%rsp), %rsi
leaq 0xe08(%rsp), %rdi
callq 0x160750
jmp 0x41ba7
movq 0xf90(%rsp), %rcx
leaq 0xec4(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41bc8
leaq 0xe88(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x418(%rsp)
jmp 0x41be1
movq 0x418(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x410(%rsp)
jmp 0x41bfa
movq 0x410(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x41c1b
leaq 0xe08(%rsp), %rdi
xorl %esi, %esi
callq 0x44910
movq %rax, 0x408(%rsp)
jmp 0x41c34
movq 0x408(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x10, %edx
callq 0x2a360
jmp 0x41c55
movl $0x0, 0xe04(%rsp)
cmpl $0x59, 0xe04(%rsp)
jge 0x41cb9
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41c8b
jmp 0x41c8d
movl 0xe04(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xe04(%rsp)
jmp 0x41c60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
jmp 0x440a4
movl $0x0, 0xe00(%rsp)
movq 0x4b8(%rsp), %rdi
movl 0xe00(%rsp), %eax
movl %eax, 0x400(%rsp)
callq 0x39f90
movl %eax, 0x404(%rsp)
jmp 0x41ce8
movl 0x400(%rsp), %eax
movl 0x404(%rsp), %ecx
cmpl %ecx, %eax
jge 0x43f4b
movq 0x4b8(%rsp), %rdi
movl 0xe00(%rsp), %esi
callq 0x39fb0
movq %rax, 0x3f8(%rsp)
jmp 0x41d1c
movq 0x3f8(%rsp), %rax
movq %rax, 0xdf8(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44320
movl %eax, 0x3f4(%rsp)
jmp 0x41d42
movl 0x3f4(%rsp), %eax
movl %eax, 0xdf4(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44340
movl %eax, 0x3f0(%rsp)
jmp 0x41d66
movl 0x3f0(%rsp), %eax
movl %eax, 0xdf0(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x39fe0
movl %eax, 0x3ec(%rsp)
jmp 0x41d8a
movl 0x3ec(%rsp), %eax
movl %eax, 0xdec(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44400
movq %rax, 0x3e0(%rsp)
jmp 0x41daf
movq 0x3e0(%rsp), %rsi
leaq 0xdb0(%rsp), %rdi
callq 0x151a90
jmp 0x41dc6
xorps %xmm0, %xmm0
movaps %xmm0, 0x3c0(%rsp)
movaps %xmm0, 0xda0(%rsp)
movaps %xmm0, 0xd90(%rsp)
movaps %xmm0, 0xd80(%rsp)
movaps %xmm0, 0xd70(%rsp)
movaps %xmm0, 0xd60(%rsp)
movaps %xmm0, 0xd50(%rsp)
movaps %xmm0, 0xd40(%rsp)
movaps %xmm0, 0xd30(%rsp)
movaps %xmm0, 0xd20(%rsp)
movaps %xmm0, 0xd10(%rsp)
movaps %xmm0, 0xd00(%rsp)
movaps %xmm0, 0xcf0(%rsp)
movaps %xmm0, 0xce0(%rsp)
movaps %xmm0, 0xcd0(%rsp)
movaps %xmm0, 0xcc0(%rsp)
movaps %xmm0, 0xcb0(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44310
movq %rax, 0x3d8(%rsp)
jmp 0x41e68
movq 0x3d8(%rsp), %rax
cmpq $0x0, %rax
je 0x41ed2
leaq 0xcb0(%rsp), %rax
movq %rax, 0x3b0(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44310
movq %rax, 0x3b8(%rsp)
jmp 0x41e9d
movq 0x3b8(%rsp), %rsi
movq 0x3b0(%rsp), %rdi
movl $0xff, %edx
callq 0x292d0
jmp 0x41ed2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
jmp 0x43f39
movq 0xf90(%rsp), %rcx
leaq 0xcb0(%rsp), %rdi
movl $0x1, %esi
movl $0x100, %edx            # imm = 0x100
callq 0x2a360
jmp 0x41ef3
movq 0xf90(%rsp), %rcx
leaq 0xdf4(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41f14
movq 0xf90(%rsp), %rcx
leaq 0xdf0(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41f35
movq 0xf90(%rsp), %rcx
leaq 0xdec(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41f56
leaq 0xdb0(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x3a8(%rsp)
jmp 0x41f6f
movq 0x3a8(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x3a0(%rsp)
jmp 0x41f88
movq 0x3a0(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x41fa9
movl $0x0, 0xcac(%rsp)
cmpl $0x17, 0xcac(%rsp)
jge 0x41ff4
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x41fdf
jmp 0x41fe1
movl 0xcac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xcac(%rsp)
jmp 0x41fb4
movl $0x0, 0xca8(%rsp)
movl 0xca8(%rsp), %eax
movl %eax, 0x398(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44320
movl %eax, 0x39c(%rsp)
jmp 0x42023
movl 0x398(%rsp), %eax
movl 0x39c(%rsp), %ecx
cmpl %ecx, %eax
jge 0x4257e
movq 0xdf8(%rsp), %rdi
movl 0xca8(%rsp), %esi
callq 0x447e0
movq %rax, 0x390(%rsp)
jmp 0x42057
movq 0x390(%rsp), %rax
movq %rax, 0xca0(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44930
movl %eax, 0x38c(%rsp)
jmp 0x4207d
movl 0x38c(%rsp), %eax
movl %eax, 0xc9c(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44950
movl %eax, 0x388(%rsp)
jmp 0x420a1
movl 0x388(%rsp), %eax
movl %eax, 0xc98(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44960
movsd %xmm0, 0x380(%rsp)
jmp 0x420c7
movsd 0x380(%rsp), %xmm0
movsd %xmm0, 0xc90(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44970
movsd %xmm0, 0x378(%rsp)
jmp 0x420f1
movsd 0x378(%rsp), %xmm0
movsd %xmm0, 0xc88(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44980
movsd %xmm0, 0x370(%rsp)
jmp 0x4211b
movsd 0x370(%rsp), %xmm0
movsd %xmm0, 0xc80(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44990
movsd %xmm0, 0x368(%rsp)
jmp 0x42145
movsd 0x368(%rsp), %xmm0
movsd %xmm0, 0xc78(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x449a0
movsd %xmm0, 0x360(%rsp)
jmp 0x4216f
movsd 0x360(%rsp), %xmm0
movsd %xmm0, 0xc70(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x449b0
movsd %xmm0, 0x358(%rsp)
jmp 0x42199
movsd 0x358(%rsp), %xmm0
movsd %xmm0, 0xc68(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x449c0
movsd %xmm0, 0x350(%rsp)
jmp 0x421c3
movsd 0x350(%rsp), %xmm0
movsd %xmm0, 0xc60(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x449d0
movsd %xmm0, 0x348(%rsp)
jmp 0x421ed
movsd 0x348(%rsp), %xmm0
movsd %xmm0, 0xc58(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x449e0
movsd %xmm0, 0x340(%rsp)
jmp 0x42217
movsd 0x340(%rsp), %xmm0
movsd %xmm0, 0xc50(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x449f0
movsd %xmm0, 0x338(%rsp)
jmp 0x42241
movsd 0x338(%rsp), %xmm0
movsd %xmm0, 0xc48(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44a10
movq %rax, 0x330(%rsp)
jmp 0x4226a
movq 0x330(%rsp), %rsi
leaq 0xc10(%rsp), %rdi
callq 0x151a90
jmp 0x42281
movq 0xca0(%rsp), %rdi
callq 0x44a60
movl %eax, 0x32c(%rsp)
jmp 0x42297
movl 0x32c(%rsp), %eax
movl %eax, 0xc0c(%rsp)
movq 0xca0(%rsp), %rdi
callq 0x44a90
movl %eax, 0x328(%rsp)
jmp 0x422bb
movl 0x328(%rsp), %eax
movl %eax, 0xc08(%rsp)
movq 0xf90(%rsp), %rcx
leaq 0xc9c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x422ea
movq 0xf90(%rsp), %rcx
leaq 0xc98(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4230b
movq 0xf90(%rsp), %rcx
leaq 0xc90(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4232c
movq 0xf90(%rsp), %rcx
leaq 0xc88(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4234d
movq 0xf90(%rsp), %rcx
leaq 0xc80(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4236e
movq 0xf90(%rsp), %rcx
leaq 0xc78(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4238f
movq 0xf90(%rsp), %rcx
leaq 0xc70(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x423b0
movq 0xf90(%rsp), %rcx
leaq 0xc68(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x423d1
movq 0xf90(%rsp), %rcx
leaq 0xc60(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x423f2
movq 0xf90(%rsp), %rcx
leaq 0xc58(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42413
movq 0xf90(%rsp), %rcx
leaq 0xc50(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42434
movq 0xf90(%rsp), %rcx
leaq 0xc48(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42455
leaq 0xc10(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x320(%rsp)
jmp 0x4246e
movq 0x320(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x318(%rsp)
jmp 0x42487
movq 0x318(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x424a8
movq 0xf90(%rsp), %rcx
leaq 0xc0c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x424c9
movq 0xf90(%rsp), %rcx
leaq 0xc08(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x424ea
movl $0x0, 0xc04(%rsp)
cmpl $0xd, 0xc04(%rsp)
jge 0x4255b
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42520
jmp 0x42522
movl 0xc04(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc04(%rsp)
jmp 0x424f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0xc10(%rsp), %rdi
callq 0x386c0
jmp 0x43f39
leaq 0xc10(%rsp), %rdi
callq 0x386c0
movl 0xca8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xca8(%rsp)
jmp 0x41fff
movl $0x0, 0xc00(%rsp)
movl 0xc00(%rsp), %eax
movl %eax, 0x310(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x44340
movl %eax, 0x314(%rsp)
jmp 0x425ad
movl 0x310(%rsp), %eax
movl 0x314(%rsp), %ecx
cmpl %ecx, %eax
jge 0x4281a
movq 0xdf8(%rsp), %rdi
movl 0xc00(%rsp), %esi
callq 0x44780
movq %rax, 0x308(%rsp)
jmp 0x425e1
movq 0x308(%rsp), %rax
movq %rax, 0xbf8(%rsp)
movq 0xbf8(%rsp), %rdi
callq 0x44ac0
movl %eax, 0x304(%rsp)
jmp 0x42607
movl 0x304(%rsp), %eax
movl %eax, 0xbf4(%rsp)
movq 0xbf8(%rsp), %rdi
callq 0x44ad0
movl %eax, 0x300(%rsp)
jmp 0x4262b
movl 0x300(%rsp), %eax
movl %eax, 0xbf0(%rsp)
movq 0xbf8(%rsp), %rdi
callq 0x44ae0
movl %eax, 0x2fc(%rsp)
jmp 0x4264f
movl 0x2fc(%rsp), %eax
movl %eax, 0xbec(%rsp)
movq 0xbf8(%rsp), %rdi
callq 0x44af0
movl %eax, 0x2f8(%rsp)
jmp 0x42673
movl 0x2f8(%rsp), %eax
movl %eax, 0xbe8(%rsp)
movq 0xbf8(%rsp), %rdi
callq 0x44b10
movq %rax, 0x2f0(%rsp)
jmp 0x42698
movq 0x2f0(%rsp), %rsi
leaq 0xbb0(%rsp), %rdi
callq 0x151a90
jmp 0x426af
movq 0xf90(%rsp), %rcx
leaq 0xbf4(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x426d0
movq 0xf90(%rsp), %rcx
leaq 0xbe8(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x426f1
leaq 0xbb0(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x2e8(%rsp)
jmp 0x4270a
movq 0x2e8(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x2e0(%rsp)
jmp 0x42723
movq 0x2e0(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x42744
movq 0xf90(%rsp), %rcx
leaq 0xbf0(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42765
movq 0xf90(%rsp), %rcx
leaq 0xbec(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42786
movl $0x0, 0xbac(%rsp)
cmpl $0x16, 0xbac(%rsp)
jge 0x427f7
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x427bc
jmp 0x427be
movl 0xbac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xbac(%rsp)
jmp 0x42791
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0xbb0(%rsp), %rdi
callq 0x386c0
jmp 0x43f39
leaq 0xbb0(%rsp), %rdi
callq 0x386c0
movl 0xc00(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc00(%rsp)
jmp 0x42589
movl $0x0, 0xba8(%rsp)
movl 0xba8(%rsp), %eax
movl %eax, 0x2d8(%rsp)
movq 0xdf8(%rsp), %rdi
callq 0x39fe0
movl %eax, 0x2dc(%rsp)
jmp 0x42849
movl 0x2d8(%rsp), %eax
movl 0x2dc(%rsp), %ecx
cmpl %ecx, %eax
jge 0x43f16
movq 0xdf8(%rsp), %rdi
movl 0xba8(%rsp), %esi
callq 0x3a000
movq %rax, 0x2d0(%rsp)
jmp 0x4287d
movq 0x2d0(%rsp), %rax
movq %rax, 0xba0(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x3a030
movl %eax, 0x2cc(%rsp)
jmp 0x428a3
movl 0x2cc(%rsp), %eax
movl %eax, 0xb9c(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44b60
movl %eax, 0x2c8(%rsp)
jmp 0x428c7
movl 0x2c8(%rsp), %eax
movl %eax, 0xb98(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x3a290
movl %eax, 0x2c4(%rsp)
jmp 0x428eb
movl 0x2c4(%rsp), %eax
movl %eax, 0xb94(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44b80
movq %rax, 0x2b8(%rsp)
jmp 0x42910
movq 0x2b8(%rsp), %rsi
leaq 0xb58(%rsp), %rdi
callq 0x151a90
jmp 0x42927
xorps %xmm0, %xmm0
movaps %xmm0, 0x2a0(%rsp)
movaps %xmm0, 0xb40(%rsp)
movaps %xmm0, 0xb30(%rsp)
movaps %xmm0, 0xb20(%rsp)
movaps %xmm0, 0xb10(%rsp)
movaps %xmm0, 0xb00(%rsp)
movaps %xmm0, 0xaf0(%rsp)
movaps %xmm0, 0xae0(%rsp)
movaps %xmm0, 0xad0(%rsp)
movaps %xmm0, 0xac0(%rsp)
movaps %xmm0, 0xab0(%rsp)
movaps %xmm0, 0xaa0(%rsp)
movaps %xmm0, 0xa90(%rsp)
movaps %xmm0, 0xa80(%rsp)
movaps %xmm0, 0xa70(%rsp)
movaps %xmm0, 0xa60(%rsp)
movaps %xmm0, 0xa50(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44bd0
movq %rax, 0x2b0(%rsp)
jmp 0x429c9
movq 0x2b0(%rsp), %rax
cmpq $0x0, %rax
je 0x42a33
leaq 0xa50(%rsp), %rax
movq %rax, 0x290(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44bd0
movq %rax, 0x298(%rsp)
jmp 0x429fe
movq 0x298(%rsp), %rsi
movq 0x290(%rsp), %rdi
movl $0xff, %edx
callq 0x292d0
jmp 0x42a33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
jmp 0x43f07
movq 0xf90(%rsp), %rcx
leaq 0xa50(%rsp), %rdi
movl $0x1, %esi
movl $0x100, %edx            # imm = 0x100
callq 0x2a360
jmp 0x42a54
movq 0xf90(%rsp), %rcx
leaq 0xb9c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42a75
movq 0xf90(%rsp), %rcx
leaq 0xb98(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42a96
movq 0xf90(%rsp), %rcx
leaq 0xb94(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42ab7
leaq 0xb58(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x288(%rsp)
jmp 0x42ad0
movq 0x288(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x280(%rsp)
jmp 0x42ae9
movq 0x280(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x42b0a
movl $0x0, 0xa4c(%rsp)
cmpl $0x17, 0xa4c(%rsp)
jge 0x42b55
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42b40
jmp 0x42b42
movl 0xa4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa4c(%rsp)
jmp 0x42b15
movl $0x0, 0xa48(%rsp)
movl 0xa48(%rsp), %eax
movl %eax, 0x278(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x3a030
movl %eax, 0x27c(%rsp)
jmp 0x42b84
movl 0x278(%rsp), %eax
movl 0x27c(%rsp), %ecx
cmpl %ecx, %eax
jge 0x43335
movq 0xba0(%rsp), %rdi
movl 0xa48(%rsp), %esi
callq 0x3a050
movq %rax, 0x270(%rsp)
jmp 0x42bb8
movq 0x270(%rsp), %rax
movq %rax, 0xa40(%rsp)
movq 0xa40(%rsp), %rdi
callq 0x44bf0
movq %rax, 0x268(%rsp)
jmp 0x42bdf
movq 0x268(%rsp), %rax
cmpq $0x0, %rax
je 0x42c2a
movq 0xa40(%rsp), %rdi
callq 0x44bf0
movq %rax, 0x260(%rsp)
jmp 0x42c04
movq 0x260(%rsp), %rdi
callq 0x44c00
movl %eax, 0x25c(%rsp)
jmp 0x42c1a
movl 0x25c(%rsp), %eax
movl %eax, 0x258(%rsp)
jmp 0x42c38
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, 0x258(%rsp)
jmp 0x42c38
movl 0x258(%rsp), %eax
movl %eax, 0xa3c(%rsp)
movq 0xa40(%rsp), %rdi
callq 0x3a080
movl %eax, 0x254(%rsp)
jmp 0x42c5c
movl 0x254(%rsp), %eax
movl %eax, 0xa38(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44b80
movq %rax, 0x248(%rsp)
jmp 0x42c81
movq 0x248(%rsp), %rsi
leaq 0xa00(%rsp), %rdi
callq 0x151a90
jmp 0x42c98
movq 0xf90(%rsp), %rcx
leaq 0xa3c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42cb9
movq 0xf90(%rsp), %rcx
leaq 0xa38(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42cda
leaq 0xa00(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x240(%rsp)
jmp 0x42cf3
movq 0x240(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x238(%rsp)
jmp 0x42d0c
movq 0x238(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x42d2d
movl $0x0, 0x9fc(%rsp)
cmpl $0x18, 0x9fc(%rsp)
jge 0x42d91
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42d63
jmp 0x42d65
movl 0x9fc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9fc(%rsp)
jmp 0x42d38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
jmp 0x43323
movl $0x0, 0x9f8(%rsp)
movl 0x9f8(%rsp), %eax
movl %eax, 0x230(%rsp)
movq 0xa40(%rsp), %rdi
callq 0x3a080
movl %eax, 0x234(%rsp)
jmp 0x42dc0
movl 0x230(%rsp), %eax
movl 0x234(%rsp), %ecx
cmpl %ecx, %eax
jge 0x43300
movq 0xa40(%rsp), %rdi
movl 0x9f8(%rsp), %esi
callq 0x3a0a0
movq %rax, 0x228(%rsp)
jmp 0x42df4
movq 0x228(%rsp), %rax
movq %rax, 0x9f0(%rsp)
movq 0x9f0(%rsp), %rdi
callq 0x3a0d0
movl %eax, 0x224(%rsp)
jmp 0x42e1a
movl 0x224(%rsp), %eax
movl %eax, 0x9ec(%rsp)
movq 0x9f0(%rsp), %rdi
callq 0x44c10
movq %rax, 0x218(%rsp)
jmp 0x42e3f
movq 0x218(%rsp), %rsi
leaq 0x9b0(%rsp), %rdi
callq 0x151a90
jmp 0x42e56
movq 0xf90(%rsp), %rcx
leaq 0x9ec(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42e77
leaq 0x9b0(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x210(%rsp)
jmp 0x42e90
movq 0x210(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x208(%rsp)
jmp 0x42ea9
movq 0x208(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x42eca
movl $0x0, 0x9ac(%rsp)
cmpl $0x18, 0x9ac(%rsp)
jge 0x42f2e
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x42f00
jmp 0x42f02
movl 0x9ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9ac(%rsp)
jmp 0x42ed5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
jmp 0x432f1
movl $0x0, 0x9a8(%rsp)
movl 0x9a8(%rsp), %eax
movl %eax, 0x200(%rsp)
movq 0x9f0(%rsp), %rdi
callq 0x3a0d0
movl %eax, 0x204(%rsp)
jmp 0x42f5d
movl 0x200(%rsp), %eax
movl 0x204(%rsp), %ecx
cmpl %ecx, %eax
jge 0x432ce
movq 0x9f0(%rsp), %rdi
movl 0x9a8(%rsp), %esi
callq 0x3a0f0
movq %rax, 0x1f8(%rsp)
jmp 0x42f91
movq 0x1f8(%rsp), %rax
movq %rax, 0x9a0(%rsp)
movq 0x9a0(%rsp), %rdi
callq 0x3a120
movl %eax, 0x1f4(%rsp)
jmp 0x42fb7
movl 0x1f4(%rsp), %eax
movl %eax, 0x99c(%rsp)
movq 0x9a0(%rsp), %rdi
callq 0x44c60
movq %rax, 0x1e8(%rsp)
jmp 0x42fdc
movq 0x1e8(%rsp), %rdi
callq 0x3a330
movq %rax, 0x1e0(%rsp)
jmp 0x42ff3
movq 0x1e0(%rsp), %rsi
leaq 0x980(%rsp), %rdi
callq 0x17fdd0
jmp 0x4300a
movq 0x9a0(%rsp), %rdi
callq 0x44c60
movq %rax, 0x1d8(%rsp)
jmp 0x43021
movq 0x1d8(%rsp), %rdi
callq 0x44c70
movq %rax, 0x1d0(%rsp)
jmp 0x43038
movq 0x1d0(%rsp), %rsi
leaq 0x960(%rsp), %rdi
callq 0x15e450
jmp 0x4304f
movq 0x9a0(%rsp), %rdi
callq 0x44c80
movsd %xmm0, 0x1c8(%rsp)
jmp 0x43067
movsd 0x1c8(%rsp), %xmm0
movsd %xmm0, 0x958(%rsp)
movq 0x9a0(%rsp), %rdi
callq 0x44c90
movl %eax, 0x1c4(%rsp)
jmp 0x4308f
movl 0x1c4(%rsp), %eax
movl %eax, 0x954(%rsp)
movq 0x9a0(%rsp), %rdi
callq 0x44cb0
movq %rax, 0x1b8(%rsp)
jmp 0x430b4
movq 0x1b8(%rsp), %rsi
leaq 0x918(%rsp), %rdi
callq 0x151a90
jmp 0x430cb
movq 0x9a0(%rsp), %rdi
callq 0x44cf0
movq %rax, 0x1b0(%rsp)
jmp 0x430e2
movq 0x1b0(%rsp), %rax
movq %rax, 0x910(%rsp)
movq 0xf90(%rsp), %rcx
leaq 0x99c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43113
leaq 0x980(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x1a8(%rsp)
jmp 0x4312c
movq 0x1a8(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x3, %edx
callq 0x2a360
jmp 0x4314d
leaq 0x960(%rsp), %rdi
xorl %esi, %esi
callq 0x44650
movq %rax, 0x1a0(%rsp)
jmp 0x43166
movq 0x1a0(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x4, %edx
callq 0x2a360
jmp 0x43187
movq 0xf90(%rsp), %rcx
leaq 0x958(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x431a8
leaq 0x918(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x198(%rsp)
jmp 0x431c1
movq 0x198(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x190(%rsp)
jmp 0x431da
movq 0x190(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x431fb
movq 0xf90(%rsp), %rcx
leaq 0x910(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4321c
movq 0xf90(%rsp), %rcx
leaq 0x954(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4323d
movl $0x0, 0x90c(%rsp)
cmpl $0xe, 0x90c(%rsp)
jge 0x432ab
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43273
jmp 0x43275
movl 0x90c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x90c(%rsp)
jmp 0x43248
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0x918(%rsp), %rdi
callq 0x386c0
jmp 0x432f1
leaq 0x918(%rsp), %rdi
callq 0x386c0
movl 0x9a8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9a8(%rsp)
jmp 0x42f39
leaq 0x9b0(%rsp), %rdi
callq 0x386c0
movl 0x9f8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9f8(%rsp)
jmp 0x42d9c
leaq 0x9b0(%rsp), %rdi
callq 0x386c0
jmp 0x43323
leaq 0xa00(%rsp), %rdi
callq 0x386c0
movl 0xa48(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa48(%rsp)
jmp 0x42b60
leaq 0xa00(%rsp), %rdi
callq 0x386c0
jmp 0x43f07
movl $0x0, 0x908(%rsp)
movl 0x908(%rsp), %eax
movl %eax, 0x188(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44b60
movl %eax, 0x18c(%rsp)
jmp 0x43364
movl 0x188(%rsp), %eax
movl 0x18c(%rsp), %ecx
cmpl %ecx, %eax
jge 0x435a1
movq 0xba0(%rsp), %rdi
movl 0x908(%rsp), %esi
callq 0x44810
movq %rax, 0x180(%rsp)
jmp 0x43398
movq 0x180(%rsp), %rax
movq %rax, 0x900(%rsp)
movq 0x900(%rsp), %rdi
callq 0x44d00
movq %rax, 0x178(%rsp)
jmp 0x433bf
movq 0x178(%rsp), %rax
cmpq $0x0, %rax
je 0x4340a
movq 0x900(%rsp), %rdi
callq 0x44d00
movq %rax, 0x170(%rsp)
jmp 0x433e4
movq 0x170(%rsp), %rdi
callq 0x44d10
movl %eax, 0x16c(%rsp)
jmp 0x433fa
movl 0x16c(%rsp), %eax
movl %eax, 0x168(%rsp)
jmp 0x43418
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, 0x168(%rsp)
jmp 0x43418
movl 0x168(%rsp), %eax
movl %eax, 0x8fc(%rsp)
movq 0x900(%rsp), %rdi
callq 0x44d20
movl %eax, 0x164(%rsp)
jmp 0x4343c
movl 0x164(%rsp), %eax
movl %eax, 0x8f8(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x44b80
movq %rax, 0x158(%rsp)
jmp 0x43461
movq 0x158(%rsp), %rsi
leaq 0x8c0(%rsp), %rdi
callq 0x151a90
jmp 0x43478
movq 0xf90(%rsp), %rcx
leaq 0x8fc(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43499
movq 0xf90(%rsp), %rcx
leaq 0x8f8(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x434ba
leaq 0x8c0(%rsp), %rdi
xorl %esi, %esi
callq 0x444f0
movq %rax, 0x150(%rsp)
jmp 0x434d3
movq 0x150(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x148(%rsp)
jmp 0x434ec
movq 0x148(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x6, %edx
callq 0x2a360
jmp 0x4350d
movl $0x0, 0x8bc(%rsp)
cmpl $0x18, 0x8bc(%rsp)
jge 0x4357e
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43543
jmp 0x43545
movl 0x8bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8bc(%rsp)
jmp 0x43518
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0x8c0(%rsp), %rdi
callq 0x386c0
jmp 0x43f07
leaq 0x8c0(%rsp), %rdi
callq 0x386c0
movl 0x908(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x908(%rsp)
jmp 0x43340
movl $0x0, 0x8b8(%rsp)
movl 0x8b8(%rsp), %eax
movl %eax, 0x140(%rsp)
movq 0xba0(%rsp), %rdi
callq 0x3a290
movl %eax, 0x144(%rsp)
jmp 0x435d0
movl 0x140(%rsp), %eax
movl 0x144(%rsp), %ecx
cmpl %ecx, %eax
jge 0x43ee4
movq 0xba0(%rsp), %rdi
movl 0x8b8(%rsp), %esi
callq 0x3a2b0
movq %rax, 0x138(%rsp)
jmp 0x43604
movq 0x138(%rsp), %rax
movq %rax, 0x8b0(%rsp)
movq 0x8b0(%rsp), %rdi
callq 0x3a2e0
movl %eax, 0x134(%rsp)
jmp 0x4362a
movl 0x134(%rsp), %eax
movl %eax, 0x8ac(%rsp)
movq 0x8b0(%rsp), %rdi
callq 0x44d40
movq %rax, 0x128(%rsp)
jmp 0x4364f
movq 0x128(%rsp), %rsi
leaq 0x890(%rsp), %rdi
callq 0x17fdd0
jmp 0x43666
movq 0x8b0(%rsp), %rdi
callq 0x44d90
movsd %xmm0, 0x120(%rsp)
jmp 0x4367e
movsd 0x120(%rsp), %xmm0
movsd %xmm0, 0x888(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x100(%rsp)
movaps %xmm0, 0x870(%rsp)
movaps %xmm0, 0x860(%rsp)
movaps %xmm0, 0x850(%rsp)
movaps %xmm0, 0x840(%rsp)
movaps %xmm0, 0x830(%rsp)
movaps %xmm0, 0x820(%rsp)
movaps %xmm0, 0x810(%rsp)
movaps %xmm0, 0x800(%rsp)
movaps %xmm0, 0x7f0(%rsp)
movaps %xmm0, 0x7e0(%rsp)
movaps %xmm0, 0x7d0(%rsp)
movaps %xmm0, 0x7c0(%rsp)
movaps %xmm0, 0x7b0(%rsp)
movaps %xmm0, 0x7a0(%rsp)
movaps %xmm0, 0x790(%rsp)
movaps %xmm0, 0x780(%rsp)
movq 0x8b0(%rsp), %rdi
callq 0x44de0
movq %rax, 0x118(%rsp)
jmp 0x43732
movq 0x118(%rsp), %rax
cmpq $0x0, %rax
je 0x43781
leaq 0x780(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x8b0(%rsp), %rdi
callq 0x44de0
movq %rax, 0xf8(%rsp)
jmp 0x43767
movq 0xf8(%rsp), %rsi
movq 0xf0(%rsp), %rdi
movl $0xff, %edx
callq 0x292d0
movq 0xf90(%rsp), %rcx
leaq 0x780(%rsp), %rdi
movl $0x1, %esi
movl $0x100, %edx            # imm = 0x100
callq 0x2a360
jmp 0x437a2
movq 0xf90(%rsp), %rcx
leaq 0x8ac(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x437c3
leaq 0x890(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0xe8(%rsp)
jmp 0x437dc
movq 0xe8(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x3, %edx
callq 0x2a360
jmp 0x437fd
movq 0xf90(%rsp), %rcx
leaq 0x888(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x4381e
movl $0x0, 0x77c(%rsp)
cmpl $0x16, 0x77c(%rsp)
jge 0x43869
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43854
jmp 0x43856
movl 0x77c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x77c(%rsp)
jmp 0x43829
movl $0x0, 0x778(%rsp)
movl 0x778(%rsp), %eax
movl %eax, 0xe0(%rsp)
movq 0x8b0(%rsp), %rdi
callq 0x3a2e0
movl %eax, 0xe4(%rsp)
jmp 0x43898
movl 0xe0(%rsp), %eax
movl 0xe4(%rsp), %ecx
cmpl %ecx, %eax
jge 0x43ecc
movq 0x8b0(%rsp), %rdi
movl 0x778(%rsp), %esi
callq 0x3a300
movq %rax, 0xd8(%rsp)
jmp 0x438cc
movq 0xd8(%rsp), %rax
movq %rax, 0x770(%rsp)
movq 0x770(%rsp), %rdi
callq 0x44df0
movq %rax, 0xd0(%rsp)
jmp 0x438f3
movq 0xd0(%rsp), %rax
cmpq $0x0, %rax
je 0x4393e
movq 0x770(%rsp), %rdi
callq 0x44df0
movq %rax, 0xc8(%rsp)
jmp 0x43918
movq 0xc8(%rsp), %rdi
callq 0x44e00
movl %eax, 0xc4(%rsp)
jmp 0x4392e
movl 0xc4(%rsp), %eax
movl %eax, 0xc0(%rsp)
jmp 0x4394c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, 0xc0(%rsp)
jmp 0x4394c
movl 0xc0(%rsp), %eax
movl %eax, 0x76c(%rsp)
movq 0x770(%rsp), %rdi
callq 0x4fa70
movl %eax, 0xbc(%rsp)
jmp 0x43970
movl 0xbc(%rsp), %eax
movl %eax, 0x768(%rsp)
movq 0x770(%rsp), %rsi
leaq 0x710(%rsp), %rdi
xorl %edx, %edx
callq 0x4faf0
jmp 0x43997
leaq 0x710(%rsp), %rdi
callq 0x3a330
movq %rax, 0xb0(%rsp)
jmp 0x439ae
movq 0xb0(%rsp), %rsi
leaq 0x750(%rsp), %rdi
callq 0x17fdd0
jmp 0x439c5
leaq 0x710(%rsp), %rdi
callq 0x5e680
movq 0x770(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x4fa70
movl %eax, 0xac(%rsp)
jmp 0x439f0
movq 0xa0(%rsp), %rsi
movl 0xac(%rsp), %edx
decl %edx
leaq 0x6b8(%rsp), %rdi
callq 0x4faf0
jmp 0x43a10
leaq 0x6b8(%rsp), %rdi
callq 0x3a330
movq %rax, 0x98(%rsp)
jmp 0x43a27
movq 0x98(%rsp), %rsi
leaq 0x6f8(%rsp), %rdi
callq 0x17fdd0
jmp 0x43a3e
leaq 0x6b8(%rsp), %rdi
callq 0x5e680
movq 0x770(%rsp), %rsi
leaq 0x658(%rsp), %rdi
xorl %edx, %edx
callq 0x4faf0
jmp 0x43a64
leaq 0x658(%rsp), %rdi
callq 0x44c70
movq %rax, 0x90(%rsp)
jmp 0x43a7b
movq 0x90(%rsp), %rsi
leaq 0x698(%rsp), %rdi
callq 0x15e450
jmp 0x43a92
leaq 0x658(%rsp), %rdi
callq 0x5e680
movq 0x770(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x4fa70
movl %eax, 0x8c(%rsp)
jmp 0x43abd
movq 0x80(%rsp), %rsi
movl 0x8c(%rsp), %edx
decl %edx
leaq 0x5f8(%rsp), %rdi
callq 0x4faf0
jmp 0x43add
leaq 0x5f8(%rsp), %rdi
callq 0x44c70
movq %rax, 0x78(%rsp)
jmp 0x43af1
movq 0x78(%rsp), %rsi
leaq 0x638(%rsp), %rdi
callq 0x15e450
jmp 0x43b05
leaq 0x5f8(%rsp), %rdi
callq 0x5e680
movq 0x770(%rsp), %rdi
xorl %esi, %esi
callq 0x4fc90
movsd %xmm0, 0x70(%rsp)
jmp 0x43b29
movsd 0x70(%rsp), %xmm0
movsd %xmm0, 0x5f0(%rsp)
movq 0x770(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x4fa70
movl %eax, 0x6c(%rsp)
jmp 0x43b50
movq 0x60(%rsp), %rdi
movl 0x6c(%rsp), %esi
decl %esi
callq 0x4fc90
movsd %xmm0, 0x58(%rsp)
jmp 0x43b68
movsd 0x58(%rsp), %xmm0
movsd %xmm0, 0x5e8(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
movaps %xmm0, 0x5d0(%rsp)
movaps %xmm0, 0x5c0(%rsp)
movaps %xmm0, 0x5b0(%rsp)
movaps %xmm0, 0x5a0(%rsp)
movaps %xmm0, 0x590(%rsp)
movaps %xmm0, 0x580(%rsp)
movaps %xmm0, 0x570(%rsp)
movaps %xmm0, 0x560(%rsp)
movaps %xmm0, 0x550(%rsp)
movaps %xmm0, 0x540(%rsp)
movaps %xmm0, 0x530(%rsp)
movaps %xmm0, 0x520(%rsp)
movaps %xmm0, 0x510(%rsp)
movaps %xmm0, 0x500(%rsp)
movaps %xmm0, 0x4f0(%rsp)
movaps %xmm0, 0x4e0(%rsp)
movq 0x770(%rsp), %rdi
callq 0x3ae10
movq %rax, 0x50(%rsp)
jmp 0x43c13
movq 0x50(%rsp), %rax
cmpq $0x0, %rax
je 0x43cf4
leaq 0x4e0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x770(%rsp), %rdi
callq 0x3ae10
movq %rax, 0x38(%rsp)
jmp 0x43c43
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdi
movl $0xff, %edx
callq 0x292d0
jmp 0x43cf4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0x710(%rsp), %rdi
callq 0x5e680
jmp 0x43f07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0x6b8(%rsp), %rdi
callq 0x5e680
jmp 0x43f07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0x658(%rsp), %rdi
callq 0x5e680
jmp 0x43f07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf48(%rsp)
movl %eax, 0xf44(%rsp)
leaq 0x5f8(%rsp), %rdi
callq 0x5e680
jmp 0x43f07
movq 0xf90(%rsp), %rcx
leaq 0x4e0(%rsp), %rdi
movl $0x1, %esi
movl $0x100, %edx            # imm = 0x100
callq 0x2a360
jmp 0x43d15
movq 0xf90(%rsp), %rcx
leaq 0x76c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43d36
movq 0xf90(%rsp), %rcx
leaq 0x768(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43d57
leaq 0x750(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x28(%rsp)
jmp 0x43d6d
movq 0x28(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x3, %edx
callq 0x2a360
jmp 0x43d8b
leaq 0x6f8(%rsp), %rdi
xorl %esi, %esi
callq 0x44530
movq %rax, 0x20(%rsp)
jmp 0x43da1
movq 0x20(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x3, %edx
callq 0x2a360
jmp 0x43dbf
leaq 0x698(%rsp), %rdi
xorl %esi, %esi
callq 0x44650
movq %rax, 0x18(%rsp)
jmp 0x43dd5
movq 0x18(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x4, %edx
callq 0x2a360
jmp 0x43df3
leaq 0x638(%rsp), %rdi
xorl %esi, %esi
callq 0x44650
movq %rax, 0x10(%rsp)
jmp 0x43e09
movq 0x10(%rsp), %rdi
movq 0xf90(%rsp), %rcx
movl $0x8, %esi
movl $0x4, %edx
callq 0x2a360
jmp 0x43e27
movq 0xf90(%rsp), %rcx
leaq 0x5f0(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43e48
movq 0xf90(%rsp), %rcx
leaq 0x5e8(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43e69
movl $0x0, 0x4dc(%rsp)
cmpl $0xe, 0x4dc(%rsp)
jge 0x43eb4
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43e9f
jmp 0x43ea1
movl 0x4dc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4dc(%rsp)
jmp 0x43e74
jmp 0x43eb6
movl 0x778(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x778(%rsp)
jmp 0x43874
jmp 0x43ece
movl 0x8b8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8b8(%rsp)
jmp 0x435ac
leaq 0xb58(%rsp), %rdi
callq 0x386c0
movl 0xba8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xba8(%rsp)
jmp 0x42825
leaq 0xb58(%rsp), %rdi
callq 0x386c0
jmp 0x43f39
leaq 0xdb0(%rsp), %rdi
callq 0x386c0
movl 0xe00(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xe00(%rsp)
jmp 0x41cc4
leaq 0xdb0(%rsp), %rdi
callq 0x386c0
jmp 0x440a4
movq 0xf90(%rsp), %rdi
callq 0x1caef0
movq %rax, 0x8(%rsp)
jmp 0x43f5f
movq 0x8(%rsp), %rax
movq %rax, 0x4d0(%rsp)
movq 0xf90(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x1caea0
jmp 0x43f7f
movq 0xf90(%rsp), %rcx
leaq 0xf30(%rsp), %rdi
movl $0x1, %esi
movl $0x10, %edx
callq 0x2a360
jmp 0x43fa0
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43fc1
movq 0xf90(%rsp), %rcx
leaq 0xf8c(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x43fe2
movq 0xf90(%rsp), %rcx
leaq 0xf18(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x44003
movq 0xf90(%rsp), %rcx
leaq 0xf28(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x44024
movq 0xf90(%rsp), %rcx
leaq 0xf24(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x44045
movq 0xf90(%rsp), %rcx
leaq 0xf20(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2a360
jmp 0x44066
movq 0xf90(%rsp), %rdi
movq 0x4d0(%rsp), %rsi
xorl %edx, %edx
callq 0x1caea0
jmp 0x4407f
movl $0x1, 0xfa4(%rsp)
movl $0x1, 0xf2c(%rsp)
leaq 0xe88(%rsp), %rdi
callq 0x386c0
jmp 0x440b3
leaq 0xe88(%rsp), %rdi
callq 0x386c0
jmp 0x440cf
leaq 0xf50(%rsp), %rdi
callq 0x386c0
movl 0xfa4(%rsp), %eax
addq $0xfa8, %rsp            # imm = 0xFA8
retq
leaq 0xf50(%rsp), %rdi
callq 0x386c0
movq 0xf48(%rsp), %rdi
callq 0x29c10
nopl (%rax)