// File: manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: int cimg_library::cimg::dialog<unsigned char>(char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, cimg_library::CImg<unsigned char> const&, bool)
inline int dialog(const char *const title, const char *const msg,
                    const char *const button1_label, const char *const button2_label,
                    const char *const button3_label, const char *const button4_label,
                    const char *const button5_label, const char *const button6_label,
                    const CImg<t>& logo, const bool is_centered = false) {
#if cimg_display==0
    cimg::unused(title,msg,button1_label,button2_label,button3_label,button4_label,button5_label,button6_label,
                 logo._data,is_centered);
    throw CImgIOException("cimg::dialog(): No display available.");
#else
    const unsigned char
      black[] = { 0,0,0 }, white[] = { 255,255,255 }, gray[] = { 200,200,200 }, gray2[] = { 150,150,150 };

    // Create buttons and canvas graphics
    CImgList<unsigned char> buttons, cbuttons, sbuttons;
    if (button1_label) { CImg<unsigned char>().draw_text(0,0,button1_label,black,gray,1,13).move_to(buttons);
      if (button2_label) { CImg<unsigned char>().draw_text(0,0,button2_label,black,gray,1,13).move_to(buttons);
        if (button3_label) { CImg<unsigned char>().draw_text(0,0,button3_label,black,gray,1,13).move_to(buttons);
          if (button4_label) { CImg<unsigned char>().draw_text(0,0,button4_label,black,gray,1,13).move_to(buttons);
            if (button5_label) { CImg<unsigned char>().draw_text(0,0,button5_label,black,gray,1,13).move_to(buttons);
              if (button6_label) { CImg<unsigned char>().draw_text(0,0,button6_label,black,gray,1,13).move_to(buttons);
              }}}}}}
    if (!buttons._width)
      throw CImgArgumentException("cimg::dialog(): No buttons have been defined.");
    cimglist_for(buttons,l) buttons[l].resize(-100,-100,1,3);

    unsigned int bw = 0, bh = 0;
    cimglist_for(buttons,l) { bw = cimg::max(bw,buttons[l]._width); bh = cimg::max(bh,buttons[l]._height); }
    bw+=8; bh+=8;
    if (bw<64) bw = 64;
    if (bw>128) bw = 128;
    if (bh<24) bh = 24;
    if (bh>48) bh = 48;

    CImg<unsigned char> button(bw,bh,1,3);
    button.draw_rectangle(0,0,bw-1,bh-1,gray);
    button.draw_line(0,0,bw-1,0,white).draw_line(0,bh-1,0,0,white);
    button.draw_line(bw-1,0,bw-1,bh-1,black).draw_line(bw-1,bh-1,0,bh-1,black);
    button.draw_line(1,bh-2,bw-2,bh-2,gray2).draw_line(bw-2,bh-2,bw-2,1,gray2);
    CImg<unsigned char> sbutton(bw,bh,1,3);
    sbutton.draw_rectangle(0,0,bw-1,bh-1,gray);
    sbutton.draw_line(0,0,bw-1,0,black).draw_line(bw-1,0,bw-1,bh-1,black);
    sbutton.draw_line(bw-1,bh-1,0,bh-1,black).draw_line(0,bh-1,0,0,black);
    sbutton.draw_line(1,1,bw-2,1,white).draw_line(1,bh-2,1,1,white);
    sbutton.draw_line(bw-2,1,bw-2,bh-2,black).draw_line(bw-2,bh-2,1,bh-2,black);
    sbutton.draw_line(2,bh-3,bw-3,bh-3,gray2).draw_line(bw-3,bh-3,bw-3,2,gray2);
    sbutton.draw_line(4,4,bw-5,4,black,1,0xAAAAAAAA,true).draw_line(bw-5,4,bw-5,bh-5,black,1,0xAAAAAAAA,false);
    sbutton.draw_line(bw-5,bh-5,4,bh-5,black,1,0xAAAAAAAA,false).draw_line(4,bh-5,4,4,black,1,0xAAAAAAAA,false);
    CImg<unsigned char> cbutton(bw,bh,1,3);
    cbutton.draw_rectangle(0,0,bw-1,bh-1,black).draw_rectangle(1,1,bw-2,bh-2,gray2).draw_rectangle(2,2,bw-3,bh-3,gray);
    cbutton.draw_line(4,4,bw-5,4,black,1,0xAAAAAAAA,true).draw_line(bw-5,4,bw-5,bh-5,black,1,0xAAAAAAAA,false);
    cbutton.draw_line(bw-5,bh-5,4,bh-5,black,1,0xAAAAAAAA,false).draw_line(4,bh-5,4,4,black,1,0xAAAAAAAA,false);

    cimglist_for(buttons,ll) {
      CImg<unsigned char>(cbutton).draw_image(1+(bw-buttons[ll].width())/2,1+(bh-buttons[ll].height())/2,buttons[ll]).
        move_to(cbuttons);
      CImg<unsigned char>(sbutton).draw_image((bw-buttons[ll].width())/2,(bh-buttons[ll].height())/2,buttons[ll]).
        move_to(sbuttons);
      CImg<unsigned char>(button).draw_image((bw-buttons[ll].width())/2,(bh-buttons[ll].height())/2,buttons[ll]).
        move_to(buttons[ll]);
    }

    CImg<unsigned char> canvas;
    if (msg)
      ((CImg<unsigned char>().draw_text(0,0,"%s",gray,0,1,13,msg)*=-1)+=200).resize(-100,-100,1,3).move_to(canvas);

    const unsigned int
      bwall = (buttons._width-1)*(12+bw) + bw,
      w = cimg::max(196U,36+logo._width+canvas._width,24+bwall),
      h = cimg::max(96U,36+canvas._height+bh,36+logo._height+bh),
      lx = 12 + (canvas._data?0:((w-24-logo._width)/2)),
      ly = (h-12-bh-logo._height)/2,
      tx = lx+logo._width+12,
      ty = (h-12-bh-canvas._height)/2,
      bx = (w-bwall)/2,
      by = h-12-bh;

    if (canvas._data)
      canvas = CImg<unsigned char>(w,h,1,3).
        draw_rectangle(0,0,w-1,h-1,gray).
        draw_line(0,0,w-1,0,white).draw_line(0,h-1,0,0,white).
        draw_line(w-1,0,w-1,h-1,black).draw_line(w-1,h-1,0,h-1,black).
        draw_image(tx,ty,canvas);
    else
      canvas = CImg<unsigned char>(w,h,1,3).
        draw_rectangle(0,0,w-1,h-1,gray).
        draw_line(0,0,w-1,0,white).draw_line(0,h-1,0,0,white).
        draw_line(w-1,0,w-1,h-1,black).draw_line(w-1,h-1,0,h-1,black);
    if (logo._data) canvas.draw_image(lx,ly,logo);

    unsigned int xbuttons[6] = { 0 };
    cimglist_for(buttons,lll) { xbuttons[lll] = bx+(bw+12)*lll; canvas.draw_image(xbuttons[lll],by,buttons[lll]); }

    // Open window and enter events loop
    CImgDisplay disp(canvas,title?title:" ",0,false,is_centered?true:false);
    if (is_centered) disp.move((CImgDisplay::screen_width() - disp.width())/2,
                             (CImgDisplay::screen_height() - disp.height())/2);
    bool stop_flag = false, refresh = false;
    int oselected = -1, oclicked = -1, selected = -1, clicked = -1;
    while (!disp.is_closed() && !stop_flag) {
      if (refresh) {
        if (clicked>=0)
          CImg<unsigned char>(canvas).draw_image(xbuttons[clicked],by,cbuttons[clicked]).display(disp);
        else {
          if (selected>=0)
            CImg<unsigned char>(canvas).draw_image(xbuttons[selected],by,sbuttons[selected]).display(disp);
          else canvas.display(disp);
        }
        refresh = false;
      }
      disp.wait(15);
      if (disp.is_resized()) disp.resize(disp,false);

      if (disp.button()&1)  {
        oclicked = clicked;
        clicked = -1;
        cimglist_for(buttons,l)
          if (disp.mouse_y()>=(int)by && disp.mouse_y()<(int)(by+bh) &&
              disp.mouse_x()>=(int)xbuttons[l] && disp.mouse_x()<(int)(xbuttons[l]+bw)) {
            clicked = selected = l;
            refresh = true;
          }
        if (clicked!=oclicked) refresh = true;
      } else if (clicked>=0) stop_flag = true;

      if (disp.key()) {
        oselected = selected;
        switch (disp.key()) {
        case cimg::keyESC : selected=-1; stop_flag = true; break;
        case cimg::keyENTER : if (selected<0) selected = 0; stop_flag = true; break;
        case cimg::keyTAB :
        case cimg::keyARROWRIGHT :
        case cimg::keyARROWDOWN : selected = (selected+1)%buttons._width; break;
        case cimg::keyARROWLEFT :
        case cimg::keyARROWUP : selected = (selected+buttons._width-1)%buttons._width; break;
        }
        disp.set_key();
        if (selected!=oselected) refresh = true;
      }
    }
    if (!disp) selected = -1;
    return selected;
#endif
  }

// Assembly:
subq $0xb18, %rsp            # imm = 0xB18
movb 0xb38(%rsp), %al
movq 0xb30(%rsp), %r10
movq 0xb28(%rsp), %r10
movq 0xb20(%rsp), %r10
movq %rdi, 0xb10(%rsp)
movq %rsi, 0xb08(%rsp)
movq %rdx, 0xb00(%rsp)
movq %rcx, 0xaf8(%rsp)
movq %r8, 0xaf0(%rsp)
movq %r9, 0xae8(%rsp)
andb $0x1, %al
movb %al, 0xae7(%rsp)
movb $0x0, 0xae6(%rsp)
movw $0x0, 0xae4(%rsp)
movb $-0x1, 0xae2(%rsp)
movw $0xffff, 0xae0(%rsp)    # imm = 0xFFFF
movb $-0x38, 0xade(%rsp)
movw $0xc8c8, 0xadc(%rsp)    # imm = 0xC8C8
movb $-0x6a, 0xada(%rsp)
movw $0x9696, 0xad8(%rsp)    # imm = 0x9696
leaq 0xac8(%rsp), %rdi
callq 0x15690
leaq 0xab8(%rsp), %rdi
callq 0x15690
jmp 0x12fc3
leaq 0xa98(%rsp), %rdi
callq 0x15690
jmp 0x12fd2
cmpq $0x0, 0xb00(%rsp)
je 0x1345e
leaq 0xa78(%rsp), %rdi
callq 0x156b0
jmp 0x12ff0
movq 0xb00(%rsp), %rcx
movq %rsp, %rax
movl $0xd, (%rax)
leaq 0xa78(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r8
leaq 0xadc(%rsp), %r9
movss 0xb50fd(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %edx, %esi
callq 0x156f0
movq %rax, 0x2b8(%rsp)
jmp 0x13036
movq 0x2b8(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x13052
leaq 0xa78(%rsp), %rdi
callq 0x15650
cmpq $0x0, 0xaf8(%rsp)
je 0x1345c
leaq 0xa58(%rsp), %rdi
callq 0x156b0
jmp 0x1307d
movq 0xaf8(%rsp), %rcx
movq %rsp, %rax
movl $0xd, (%rax)
leaq 0xa58(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r8
leaq 0xadc(%rsp), %r9
movss 0xb5070(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %edx, %esi
callq 0x156f0
movq %rax, 0x2b0(%rsp)
jmp 0x130c3
movq 0x2b0(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x130df
leaq 0xa58(%rsp), %rdi
callq 0x15650
cmpq $0x0, 0xaf0(%rsp)
je 0x1345a
leaq 0xa38(%rsp), %rdi
callq 0x156b0
jmp 0x1310a
movq 0xaf0(%rsp), %rcx
movq %rsp, %rax
movl $0xd, (%rax)
leaq 0xa38(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r8
leaq 0xadc(%rsp), %r9
movss 0xb4fe3(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %edx, %esi
callq 0x156f0
movq %rax, 0x2a8(%rsp)
jmp 0x13150
movq 0x2a8(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x1316c
leaq 0xa38(%rsp), %rdi
callq 0x15650
cmpq $0x0, 0xae8(%rsp)
je 0x13458
leaq 0xa18(%rsp), %rdi
callq 0x156b0
jmp 0x13197
movq 0xae8(%rsp), %rcx
movq %rsp, %rax
movl $0xd, (%rax)
leaq 0xa18(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r8
leaq 0xadc(%rsp), %r9
movss 0xb4f56(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %edx, %esi
callq 0x156f0
movq %rax, 0x2a0(%rsp)
jmp 0x131dd
movq 0x2a0(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x131f9
leaq 0xa18(%rsp), %rdi
callq 0x15650
cmpq $0x0, 0xb20(%rsp)
je 0x13456
leaq 0x9f8(%rsp), %rdi
callq 0x156b0
jmp 0x13224
movq 0xb20(%rsp), %rcx
movq %rsp, %rax
movl $0xd, (%rax)
leaq 0x9f8(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r8
leaq 0xadc(%rsp), %r9
movss 0xb4ec9(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %edx, %esi
callq 0x156f0
movq %rax, 0x298(%rsp)
jmp 0x1326a
movq 0x298(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x13286
leaq 0x9f8(%rsp), %rdi
callq 0x15650
cmpq $0x0, 0xb28(%rsp)
je 0x13454
leaq 0x9d8(%rsp), %rdi
callq 0x156b0
jmp 0x132b1
movq 0xb28(%rsp), %rcx
movq %rsp, %rax
movl $0xd, (%rax)
leaq 0x9d8(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r8
leaq 0xadc(%rsp), %r9
movss 0xb4e3c(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %edx, %esi
callq 0x156f0
movq %rax, 0x290(%rsp)
jmp 0x132f7
movq 0x290(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x13313
leaq 0x9d8(%rsp), %rdi
callq 0x15650
jmp 0x13454
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x15483
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x15476
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x15469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0xa78(%rsp), %rdi
callq 0x15650
jmp 0x15469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0xa58(%rsp), %rdi
callq 0x15650
jmp 0x15469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0xa38(%rsp), %rdi
callq 0x15650
jmp 0x15469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0xa18(%rsp), %rdi
callq 0x15650
jmp 0x15469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x9f8(%rsp), %rdi
callq 0x15650
jmp 0x15469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x9d8(%rsp), %rdi
callq 0x15650
jmp 0x15469
jmp 0x13456
jmp 0x13458
jmp 0x1345a
jmp 0x1345c
jmp 0x1345e
cmpl $0x0, 0xac8(%rsp)
jne 0x134d6
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x288(%rsp)
leaq 0xb6791(%rip), %rsi     # 0xc9c18
xorl %eax, %eax
callq 0x12220
jmp 0x13490
movq 0x288(%rsp), %rdi
leaq 0xec6c1(%rip), %rsi     # 0xffb60
leaq -0x1046(%rip), %rdx     # 0x12460
callq 0x5920
jmp 0x1549d
movq 0x288(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
callq 0x53a0
jmp 0x15469
movl $0x0, 0x9d4(%rsp)
movl 0x9d4(%rsp), %eax
cmpl 0xac8(%rsp), %eax
jge 0x13569
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x280(%rsp)
jmp 0x13508
movq 0x280(%rsp), %rdi
movslq 0x9d4(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
movq %rsp, %rax
movl $0x0, (%rax)
movl $0xffffff9c, %edx       # imm = 0xFFFFFF9C
movl $0x3, %r8d
movl $0x1, %r9d
xorps %xmm3, %xmm3
movl %edx, %esi
movl %r9d, %ecx
movaps %xmm3, %xmm0
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x15920
jmp 0x13551
jmp 0x13553
movl 0x9d4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9d4(%rsp)
jmp 0x134e1
movl $0x0, 0x9d0(%rsp)
movl $0x0, 0x9cc(%rsp)
movl $0x0, 0x9c8(%rsp)
movl 0x9c8(%rsp), %eax
cmpl 0xac8(%rsp), %eax
jge 0x1365a
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x278(%rsp)
jmp 0x135b5
movq 0x278(%rsp), %rsi
movslq 0x9c8(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rsi
leaq 0x9d0(%rsp), %rdi
callq 0x15db0
movl %eax, 0x274(%rsp)
jmp 0x135e2
movl 0x274(%rsp), %eax
movl %eax, 0x9d0(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x268(%rsp)
jmp 0x13607
movq 0x268(%rsp), %rax
movslq 0x9c8(%rsp), %rcx
shlq $0x5, %rcx
leaq 0x4(%rax,%rcx), %rsi
leaq 0x9cc(%rsp), %rdi
callq 0x15db0
movl %eax, 0x264(%rsp)
jmp 0x13636
movl 0x264(%rsp), %eax
movl %eax, 0x9cc(%rsp)
movl 0x9c8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9c8(%rsp)
jmp 0x1358a
movl 0x9d0(%rsp), %eax
addl $0x8, %eax
movl %eax, 0x9d0(%rsp)
movl 0x9cc(%rsp), %eax
addl $0x8, %eax
movl %eax, 0x9cc(%rsp)
cmpl $0x40, 0x9d0(%rsp)
jae 0x13691
movl $0x40, 0x9d0(%rsp)
cmpl $0x80, 0x9d0(%rsp)
jbe 0x136a9
movl $0x80, 0x9d0(%rsp)
cmpl $0x18, 0x9cc(%rsp)
jae 0x136be
movl $0x18, 0x9cc(%rsp)
cmpl $0x30, 0x9cc(%rsp)
jbe 0x136d3
movl $0x30, 0x9cc(%rsp)
movl 0x9d0(%rsp), %esi
movl 0x9cc(%rsp), %edx
leaq 0x9a8(%rsp), %rdi
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x15df0
jmp 0x136fb
movl 0x9d0(%rsp), %ecx
decl %ecx
movl 0x9cc(%rsp), %r8d
decl %r8d
leaq 0x9a8(%rsp), %rdi
xorl %edx, %edx
leaq 0xadc(%rsp), %r9
movss 0xb49f7(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
jmp 0x13732
movl 0x9d0(%rsp), %ecx
decl %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x9a8(%rsp), %rdi
xorl %r8d, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb49ba(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0x258(%rsp)
jmp 0x1377b
movq 0x258(%rsp), %rdi
movl 0x9cc(%rsp), %edx
decl %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %r8d, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb4971(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
jmp 0x137bc
movl 0x9d0(%rsp), %ecx
decl %ecx
movl 0x9cc(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x9a8(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r9
movss 0xb4926(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
movq %rax, 0x250(%rsp)
jmp 0x1380b
movq 0x250(%rsp), %rdi
movl 0x9d0(%rsp), %esi
decl %esi
movl 0x9cc(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %ecx, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb48d7(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
jmp 0x13853
movl 0x9cc(%rsp), %r8d
addl $-0x2, %r8d
movl 0x9d0(%rsp), %ecx
addl $-0x2, %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x9a8(%rsp), %rdi
movl $0x1, %esi
leaq 0xad8(%rsp), %r9
movss 0xb488a(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0x248(%rsp)
jmp 0x138a8
movq 0x248(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
addl $-0x2, %ecx
movl 0x9cc(%rsp), %edx
addl $-0x2, %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x1, %r8d
leaq 0xad8(%rsp), %r9
movss 0xb4836(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
jmp 0x138f3
movl 0x9d0(%rsp), %esi
movl 0x9cc(%rsp), %edx
leaq 0x988(%rsp), %rdi
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x15df0
jmp 0x1391b
movl 0x9d0(%rsp), %ecx
decl %ecx
movl 0x9cc(%rsp), %r8d
decl %r8d
leaq 0x988(%rsp), %rdi
xorl %edx, %edx
leaq 0xadc(%rsp), %r9
movss 0xb47d7(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
jmp 0x13952
movl 0x9d0(%rsp), %ecx
decl %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x988(%rsp), %rdi
xorl %r8d, %r8d
leaq 0xae4(%rsp), %r9
movss 0xb479a(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0x240(%rsp)
jmp 0x1399b
movq 0x240(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
decl %ecx
movl 0x9cc(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %edx, %edx
leaq 0xae4(%rsp), %r9
movss 0xb4747(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
jmp 0x139e2
movl 0x9d0(%rsp), %esi
decl %esi
movl 0x9cc(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x988(%rsp), %rdi
xorl %ecx, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb4700(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0x238(%rsp)
jmp 0x13a32
movq 0x238(%rsp), %rdi
movl 0x9cc(%rsp), %edx
decl %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %r8d, %r8d
leaq 0xae4(%rsp), %r9
movss 0xb46ba(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
jmp 0x13a73
movl 0x9d0(%rsp), %ecx
addl $-0x2, %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x988(%rsp), %rdi
movl $0x1, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb4675(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0x230(%rsp)
jmp 0x13ac0
movq 0x230(%rsp), %rdi
movl 0x9cc(%rsp), %edx
addl $-0x2, %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x1, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb4628(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
jmp 0x13b05
movl 0x9d0(%rsp), %ecx
addl $-0x2, %ecx
movl 0x9cc(%rsp), %r8d
addl $-0x2, %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x988(%rsp), %rdi
movl $0x1, %edx
leaq 0xae4(%rsp), %r9
movss 0xb45d8(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
movq %rax, 0x228(%rsp)
jmp 0x13b59
movq 0x228(%rsp), %rdi
movl 0x9d0(%rsp), %esi
addl $-0x2, %esi
movl 0x9cc(%rsp), %r8d
addl $-0x2, %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x1, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb4584(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
jmp 0x13ba6
movl 0x9cc(%rsp), %r8d
addl $-0x3, %r8d
movl 0x9d0(%rsp), %ecx
addl $-0x3, %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x988(%rsp), %rdi
movl $0x2, %esi
leaq 0xad8(%rsp), %r9
movss 0xb4537(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0x220(%rsp)
jmp 0x13bfb
movq 0x220(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
addl $-0x3, %ecx
movl 0x9cc(%rsp), %edx
addl $-0x3, %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x2, %r8d
leaq 0xad8(%rsp), %r9
movss 0xb44e3(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
jmp 0x13c46
movl 0x9d0(%rsp), %ecx
addl $-0x5, %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
leaq 0x988(%rsp), %rdi
movl $0x4, %r8d
leaq 0xae4(%rsp), %r9
movss 0xb44a2(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0x218(%rsp)
jmp 0x13c93
movq 0x218(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
addl $-0x5, %ecx
movl 0x9cc(%rsp), %r8d
addl $-0x5, %r8d
movq %rsp, %rax
movl $0x0, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
movl $0x4, %edx
leaq 0xae4(%rsp), %r9
movss 0xb444a(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
jmp 0x13cdf
movl 0x9d0(%rsp), %esi
addl $-0x5, %esi
movl 0x9cc(%rsp), %r8d
addl $-0x5, %r8d
movq %rsp, %rax
movl $0x0, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
leaq 0x988(%rsp), %rdi
movl $0x4, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb43fe(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0x210(%rsp)
jmp 0x13d34
movq 0x210(%rsp), %rdi
movl 0x9cc(%rsp), %edx
addl $-0x5, %edx
movq %rsp, %rax
movl $0x0, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
movl $0x4, %r8d
leaq 0xae4(%rsp), %r9
movss 0xb43b4(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
jmp 0x13d79
movl 0x9d0(%rsp), %esi
movl 0x9cc(%rsp), %edx
leaq 0x968(%rsp), %rdi
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x15df0
jmp 0x13da1
movl 0x9d0(%rsp), %ecx
decl %ecx
movl 0x9cc(%rsp), %r8d
decl %r8d
leaq 0x968(%rsp), %rdi
xorl %edx, %edx
leaq 0xae4(%rsp), %r9
movss 0xb4351(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
movq %rax, 0x208(%rsp)
jmp 0x13de0
movq 0x208(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
addl $-0x2, %ecx
movl 0x9cc(%rsp), %r8d
addl $-0x2, %r8d
movl $0x1, %edx
leaq 0xad8(%rsp), %r9
movss 0xb430d(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
movq %rax, 0x200(%rsp)
jmp 0x13e24
movq 0x200(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
addl $-0x3, %ecx
movl 0x9cc(%rsp), %r8d
addl $-0x3, %r8d
movl $0x2, %edx
leaq 0xadc(%rsp), %r9
movss 0xb42c9(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
jmp 0x13e60
movl 0x9d0(%rsp), %ecx
addl $-0x5, %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
leaq 0x968(%rsp), %rdi
movl $0x4, %r8d
leaq 0xae4(%rsp), %r9
movss 0xb4288(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0x1f8(%rsp)
jmp 0x13ead
movq 0x1f8(%rsp), %rdi
movl 0x9d0(%rsp), %ecx
addl $-0x5, %ecx
movl 0x9cc(%rsp), %r8d
addl $-0x5, %r8d
movq %rsp, %rax
movl $0x0, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
movl $0x4, %edx
leaq 0xae4(%rsp), %r9
movss 0xb4230(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
jmp 0x13ef9
movl 0x9d0(%rsp), %esi
addl $-0x5, %esi
movl 0x9cc(%rsp), %r8d
addl $-0x5, %r8d
movq %rsp, %rax
movl $0x0, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
leaq 0x968(%rsp), %rdi
movl $0x4, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb41e4(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0x1f0(%rsp)
jmp 0x13f4e
movq 0x1f0(%rsp), %rdi
movl 0x9cc(%rsp), %edx
addl $-0x5, %edx
movq %rsp, %rax
movl $0x0, 0x8(%rax)
movl $0xaaaaaaaa, (%rax)     # imm = 0xAAAAAAAA
movl $0x4, %r8d
leaq 0xae4(%rsp), %r9
movss 0xb419a(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
jmp 0x13f93
movl $0x0, 0x964(%rsp)
movl 0x964(%rsp), %eax
cmpl 0xac8(%rsp), %eax
jge 0x144cd
leaq 0x940(%rsp), %rdi
leaq 0x968(%rsp), %rsi
callq 0x17070
jmp 0x13fc9
movl 0x9d0(%rsp), %eax
movl %eax, 0x1e4(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x1e8(%rsp)
jmp 0x13fee
movq 0x1e8(%rsp), %rdi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x173f0
movl %eax, 0x1e0(%rsp)
jmp 0x14013
movl 0x1e0(%rsp), %ecx
movl 0x1e4(%rsp), %eax
subl %ecx, %eax
shrl %eax
incl %eax
movl %eax, 0x1d0(%rsp)
movl 0x9cc(%rsp), %eax
movl %eax, 0x1d4(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x1d8(%rsp)
jmp 0x14053
movq 0x1d8(%rsp), %rdi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x17400
movl %eax, 0x1cc(%rsp)
jmp 0x14078
movl 0x1cc(%rsp), %ecx
movl 0x1d4(%rsp), %eax
subl %ecx, %eax
shrl %eax
incl %eax
movl %eax, 0x1bc(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x1c0(%rsp)
jmp 0x140aa
movl 0x1bc(%rsp), %edx
movl 0x1d0(%rsp), %esi
movq 0x1c0(%rsp), %rcx
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rcx
leaq 0x940(%rsp), %rdi
movss 0xb4041(%rip), %xmm0    # 0xc8120
callq 0x173b0
movq %rax, 0x1b0(%rsp)
jmp 0x140ee
movq 0x1b0(%rsp), %rdi
leaq 0xab8(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x1410a
leaq 0x940(%rsp), %rdi
callq 0x15650
leaq 0x920(%rsp), %rdi
leaq 0x988(%rsp), %rsi
callq 0x17070
jmp 0x1412e
movl 0x9d0(%rsp), %eax
movl %eax, 0x1a4(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x1a8(%rsp)
jmp 0x14153
movq 0x1a8(%rsp), %rdi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x173f0
movl %eax, 0x1a0(%rsp)
jmp 0x14178
movl 0x1a0(%rsp), %ecx
movl 0x1a4(%rsp), %eax
subl %ecx, %eax
shrl %eax
movl %eax, 0x190(%rsp)
movl 0x9cc(%rsp), %eax
movl %eax, 0x194(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x198(%rsp)
jmp 0x141b6
movq 0x198(%rsp), %rdi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x17400
movl %eax, 0x18c(%rsp)
jmp 0x141db
movl 0x18c(%rsp), %ecx
movl 0x194(%rsp), %eax
subl %ecx, %eax
shrl %eax
movl %eax, 0x17c(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x180(%rsp)
jmp 0x1420b
movl 0x17c(%rsp), %edx
movl 0x190(%rsp), %esi
movq 0x180(%rsp), %rcx
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rcx
leaq 0x920(%rsp), %rdi
movss 0xb3ee0(%rip), %xmm0    # 0xc8120
callq 0x173b0
movq %rax, 0x170(%rsp)
jmp 0x1424f
movq 0x170(%rsp), %rdi
leaq 0xa98(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x15880
jmp 0x1426b
leaq 0x920(%rsp), %rdi
callq 0x15650
leaq 0x900(%rsp), %rdi
leaq 0x9a8(%rsp), %rsi
callq 0x17070
jmp 0x1428f
movl 0x9d0(%rsp), %eax
movl %eax, 0x164(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x168(%rsp)
jmp 0x142b4
movq 0x168(%rsp), %rdi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x173f0
movl %eax, 0x160(%rsp)
jmp 0x142d9
movl 0x160(%rsp), %ecx
movl 0x164(%rsp), %eax
subl %ecx, %eax
shrl %eax
movl %eax, 0x150(%rsp)
movl 0x9cc(%rsp), %eax
movl %eax, 0x154(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x158(%rsp)
jmp 0x14317
movq 0x158(%rsp), %rdi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x17400
movl %eax, 0x14c(%rsp)
jmp 0x1433c
movl 0x14c(%rsp), %ecx
movl 0x154(%rsp), %eax
subl %ecx, %eax
shrl %eax
movl %eax, 0x13c(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x140(%rsp)
jmp 0x1436c
movl 0x13c(%rsp), %edx
movl 0x150(%rsp), %esi
movq 0x140(%rsp), %rcx
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rcx
leaq 0x900(%rsp), %rdi
movss 0xb3d7f(%rip), %xmm0    # 0xc8120
callq 0x173b0
movq %rax, 0x130(%rsp)
jmp 0x143b0
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x128(%rsp)
jmp 0x143c7
movq 0x130(%rsp), %rdi
movq 0x128(%rsp), %rsi
movslq 0x964(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rsi
callq 0x17410
jmp 0x143ed
leaq 0x900(%rsp), %rdi
callq 0x15650
movl 0x964(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x964(%rsp)
jmp 0x13f9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x1545c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x1544f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x15442
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x940(%rsp), %rdi
callq 0x15650
jmp 0x15442
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x920(%rsp), %rdi
callq 0x15650
jmp 0x15442
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x900(%rsp), %rdi
callq 0x15650
jmp 0x15442
leaq 0x8e0(%rsp), %rdi
callq 0x156b0
jmp 0x144dc
cmpq $0x0, 0xb08(%rsp)
je 0x14627
leaq 0x8c0(%rsp), %rdi
callq 0x156b0
jmp 0x144fa
movq 0xb08(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x8(%rax)
movl $0xd, (%rax)
leaq 0xd6296(%rip), %rcx     # 0xea7ac
leaq 0x8c0(%rsp), %rdi
leaq 0xadc(%rsp), %r8
xorl %r9d, %r9d
movss 0xb3bef(%rip), %xmm0    # 0xc8120
movb $0x1, %al
movl %r9d, %esi
movl %r9d, %edx
callq 0x17470
movq %rax, 0x120(%rsp)
jmp 0x14548
movq 0x120(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x17600
movq %rax, 0x118(%rsp)
jmp 0x14564
movq 0x118(%rsp), %rdi
movl $0xc8, %esi
callq 0x176a0
movq %rax, 0x110(%rsp)
jmp 0x14580
movq 0x110(%rsp), %rdi
movq %rsp, %rax
movl $0x0, (%rax)
movl $0xffffff9c, %edx       # imm = 0xFFFFFF9C
movl $0x3, %r8d
movl $0x1, %r9d
xorps %xmm3, %xmm3
movl %edx, %esi
movl %r9d, %ecx
movaps %xmm3, %xmm0
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x15920
movq %rax, 0x108(%rsp)
jmp 0x145c2
movq 0x108(%rsp), %rdi
leaq 0x8e0(%rsp), %rsi
callq 0x17410
jmp 0x145d9
leaq 0x8c0(%rsp), %rdi
callq 0x15650
jmp 0x14627
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x15435
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x8c0(%rsp), %rdi
callq 0x15650
jmp 0x15435
movl 0xac8(%rsp), %eax
decl %eax
movl 0x9d0(%rsp), %ecx
movl %ecx, %edx
addl $0xc, %edx
imull %edx, %eax
addl %ecx, %eax
movl %eax, 0x8bc(%rsp)
movl $0xc4, 0x8b4(%rsp)
movq 0xb30(%rsp), %rax
movl (%rax), %edx
movl 0x8e0(%rsp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x24(%rax,%rcx), %eax
movl %eax, 0x8b0(%rsp)
movl 0x8bc(%rsp), %eax
addl $0x18, %eax
movl %eax, 0x8ac(%rsp)
leaq 0x8b4(%rsp), %rdi
leaq 0x8b0(%rsp), %rsi
leaq 0x8ac(%rsp), %rdx
callq 0x17740
movl %eax, 0x104(%rsp)
jmp 0x146aa
movl 0x104(%rsp), %eax
movl %eax, 0x8b8(%rsp)
movl $0x60, 0x8a4(%rsp)
movl 0x8e4(%rsp), %edx
movl 0x9cc(%rsp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x24(%rax,%rcx), %eax
movl %eax, 0x8a0(%rsp)
movq 0xb30(%rsp), %rax
movl 0x4(%rax), %edx
movl 0x9cc(%rsp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x24(%rax,%rcx), %eax
movl %eax, 0x89c(%rsp)
leaq 0x8a4(%rsp), %rdi
leaq 0x8a0(%rsp), %rsi
leaq 0x89c(%rsp), %rdx
callq 0x17740
movl %eax, 0x100(%rsp)
jmp 0x14727
movl 0x100(%rsp), %eax
movl %eax, 0x8a8(%rsp)
cmpq $0x0, 0x8f8(%rsp)
je 0x1474b
xorl %eax, %eax
movl %eax, 0xfc(%rsp)
jmp 0x14768
movl 0x8b8(%rsp), %eax
subl $0x18, %eax
movq 0xb30(%rsp), %rcx
subl (%rcx), %eax
shrl %eax
movl %eax, 0xfc(%rsp)
movl 0xfc(%rsp), %eax
addl $0xc, %eax
movl %eax, 0x898(%rsp)
movl 0x8a8(%rsp), %eax
subl $0xc, %eax
subl 0x9cc(%rsp), %eax
movq 0xb30(%rsp), %rcx
subl 0x4(%rcx), %eax
shrl %eax
movl %eax, 0x894(%rsp)
movl 0x898(%rsp), %eax
movq 0xb30(%rsp), %rcx
addl (%rcx), %eax
addl $0xc, %eax
movl %eax, 0x890(%rsp)
movl 0x8a8(%rsp), %eax
subl $0xc, %eax
subl 0x9cc(%rsp), %eax
subl 0x8e4(%rsp), %eax
shrl %eax
movl %eax, 0x88c(%rsp)
movl 0x8b8(%rsp), %eax
subl 0x8bc(%rsp), %eax
shrl %eax
movl %eax, 0x888(%rsp)
movl 0x8a8(%rsp), %eax
subl $0xc, %eax
subl 0x9cc(%rsp), %eax
movl %eax, 0x884(%rsp)
cmpq $0x0, 0x8f8(%rsp)
je 0x14a34
movl 0x8b8(%rsp), %esi
movl 0x8a8(%rsp), %edx
leaq 0x860(%rsp), %rdi
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x15df0
jmp 0x14840
movl 0x8b8(%rsp), %ecx
decl %ecx
movl 0x8a8(%rsp), %r8d
decl %r8d
leaq 0x860(%rsp), %rdi
xorl %edx, %edx
leaq 0xadc(%rsp), %r9
movss 0xb38b2(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
movq %rax, 0xf0(%rsp)
jmp 0x1487f
movq 0xf0(%rsp), %rdi
movl 0x8b8(%rsp), %ecx
decl %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %r8d, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb386d(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0xe8(%rsp)
jmp 0x148c8
movq 0xe8(%rsp), %rdi
movl 0x8a8(%rsp), %edx
decl %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %r8d, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb3824(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
movq %rax, 0xe0(%rsp)
jmp 0x14911
movq 0xe0(%rsp), %rdi
movl 0x8b8(%rsp), %ecx
decl %ecx
movl 0x8a8(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %edx, %edx
leaq 0xae4(%rsp), %r9
movss 0xb37d1(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
movq %rax, 0xd8(%rsp)
jmp 0x14960
movq 0xd8(%rsp), %rdi
movl 0x8b8(%rsp), %esi
decl %esi
movl 0x8a8(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %ecx, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb3782(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0xd0(%rsp)
jmp 0x149b0
movq 0xd0(%rsp), %rdi
movl 0x890(%rsp), %esi
movl 0x88c(%rsp), %edx
leaq 0x8e0(%rsp), %rcx
movss 0xb374a(%rip), %xmm0    # 0xc8120
callq 0x173b0
movq %rax, 0xc8(%rsp)
jmp 0x149e5
movq 0xc8(%rsp), %rsi
leaq 0x8e0(%rsp), %rdi
callq 0x17780
jmp 0x149fc
leaq 0x860(%rsp), %rdi
callq 0x15650
jmp 0x14c18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x860(%rsp), %rdi
callq 0x15650
jmp 0x15435
movl 0x8b8(%rsp), %esi
movl 0x8a8(%rsp), %edx
leaq 0x840(%rsp), %rdi
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x15df0
jmp 0x14a5c
movl 0x8b8(%rsp), %ecx
decl %ecx
movl 0x8a8(%rsp), %r8d
decl %r8d
leaq 0x840(%rsp), %rdi
xorl %edx, %edx
leaq 0xadc(%rsp), %r9
movss 0xb3696(%rip), %xmm0    # 0xc8120
movl %edx, %esi
callq 0x160f0
movq %rax, 0xc0(%rsp)
jmp 0x14a9b
movq 0xc0(%rsp), %rdi
movl 0x8b8(%rsp), %ecx
decl %ecx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %r8d, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb3651(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %edx
callq 0x16160
movq %rax, 0xb8(%rsp)
jmp 0x14ae4
movq 0xb8(%rsp), %rdi
movl 0x8a8(%rsp), %edx
decl %edx
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %r8d, %r8d
leaq 0xae0(%rsp), %r9
movss 0xb3608(%rip), %xmm0    # 0xc8120
movl %r8d, %esi
movl %r8d, %ecx
callq 0x16160
movq %rax, 0xb0(%rsp)
jmp 0x14b2d
movq 0xb0(%rsp), %rdi
movl 0x8b8(%rsp), %ecx
decl %ecx
movl 0x8a8(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %edx, %edx
leaq 0xae4(%rsp), %r9
movss 0xb35b5(%rip), %xmm0    # 0xc8120
movl %ecx, %esi
callq 0x16160
movq %rax, 0xa8(%rsp)
jmp 0x14b7c
movq 0xa8(%rsp), %rdi
movl 0x8b8(%rsp), %esi
decl %esi
movl 0x8a8(%rsp), %r8d
decl %r8d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
xorl %ecx, %ecx
leaq 0xae4(%rsp), %r9
movss 0xb3566(%rip), %xmm0    # 0xc8120
movl %r8d, %edx
callq 0x16160
movq %rax, 0xa0(%rsp)
jmp 0x14bcc
movq 0xa0(%rsp), %rsi
leaq 0x8e0(%rsp), %rdi
callq 0x17780
jmp 0x14be3
leaq 0x840(%rsp), %rdi
callq 0x15650
jmp 0x14c18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x840(%rsp), %rdi
callq 0x15650
jmp 0x15435
movq 0xb30(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x14c56
movl 0x898(%rsp), %esi
movl 0x894(%rsp), %edx
movq 0xb30(%rsp), %rcx
leaq 0x8e0(%rsp), %rdi
movss 0xb34d3(%rip), %xmm0    # 0xc8120
callq 0x173b0
jmp 0x14c54
jmp 0x14c56
leaq 0x820(%rsp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x52a0
movl $0x0, 0x81c(%rsp)
movl 0x81c(%rsp), %eax
cmpl 0xac8(%rsp), %eax
jge 0x14d3f
movl 0x888(%rsp), %ecx
movl 0x9d0(%rsp), %edx
addl $0xc, %edx
movslq 0x81c(%rsp), %rax
movl %eax, %esi
imull %esi, %edx
addl %edx, %ecx
movl %ecx, 0x820(%rsp,%rax,4)
movslq 0x81c(%rsp), %rax
movl 0x820(%rsp,%rax,4), %eax
movl %eax, 0x90(%rsp)
movl 0x884(%rsp), %eax
movl %eax, 0x94(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0x15910
movq %rax, 0x98(%rsp)
jmp 0x14ceb
movl 0x94(%rsp), %edx
movl 0x90(%rsp), %esi
movq 0x98(%rsp), %rcx
movslq 0x81c(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rcx
leaq 0x8e0(%rsp), %rdi
movss 0xb3400(%rip), %xmm0    # 0xc8120
callq 0x173b0
jmp 0x14d27
jmp 0x14d29
movl 0x81c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x81c(%rsp)
jmp 0x14c75
cmpq $0x0, 0xb10(%rsp)
je 0x14d5c
movq 0xb10(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x14d6d
leaq 0xd6b6c(%rip), %rax     # 0xeb8cf
movq %rax, 0x88(%rsp)
jmp 0x14d6d
movq 0x88(%rsp), %rdx
movzbl 0xae7(%rsp), %r9d
andl $0x1, %r9d
leaq 0x320(%rsp), %rdi
leaq 0x8e0(%rsp), %rsi
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x177b0
jmp 0x14d9f
testb $0x1, 0xae7(%rsp)
je 0x14e4d
callq 0x17990
movl %eax, 0x84(%rsp)
jmp 0x14dbb
leaq 0x320(%rsp), %rdi
callq 0x17aa0
movl %eax, 0x80(%rsp)
jmp 0x14dd1
movl 0x80(%rsp), %ecx
movl 0x84(%rsp), %eax
subl %ecx, %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl %eax, 0x78(%rsp)
callq 0x17ab0
movl %eax, 0x7c(%rsp)
jmp 0x14df9
leaq 0x320(%rsp), %rdi
callq 0x17bc0
movl %eax, 0x74(%rsp)
jmp 0x14e0c
movl 0x78(%rsp), %esi
movl 0x74(%rsp), %eax
movl 0x7c(%rsp), %edx
subl %eax, %edx
movl %edx, %eax
shrl $0x1f, %eax
addl %eax, %edx
sarl %edx
leaq 0x320(%rsp), %rdi
callq 0x178d0
jmp 0x14e32
jmp 0x14e4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
jmp 0x15428
movb $0x0, 0x31f(%rsp)
movb $0x0, 0x31e(%rsp)
movl $0xffffffff, 0x318(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x314(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x310(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x30c(%rsp) # imm = 0xFFFFFFFF
leaq 0x320(%rsp), %rdi
callq 0x17bd0
movb %al, 0x73(%rsp)
jmp 0x14e9c
movb 0x73(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x72(%rsp)
jne 0x14eba
jmp 0x14ead
movb 0x31f(%rsp), %al
xorb $-0x1, %al
movb %al, 0x72(%rsp)
movb 0x72(%rsp), %al
testb $0x1, %al
jne 0x14ec7
jmp 0x15381
testb $0x1, 0x31e(%rsp)
je 0x150ab
cmpl $0x0, 0x30c(%rsp)
jl 0x14fb0
leaq 0x2e8(%rsp), %rdi
leaq 0x8e0(%rsp), %rsi
callq 0x17070
jmp 0x14efa
movslq 0x30c(%rsp), %rax
movl 0x820(%rsp,%rax,4), %eax
movl %eax, 0x60(%rsp)
movl 0x884(%rsp), %eax
movl %eax, 0x64(%rsp)
leaq 0xab8(%rsp), %rdi
callq 0x15910
movq %rax, 0x68(%rsp)
jmp 0x14f2c
movl 0x64(%rsp), %edx
movl 0x60(%rsp), %esi
movq 0x68(%rsp), %rcx
movslq 0x30c(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rcx
leaq 0x2e8(%rsp), %rdi
movss 0xb31c8(%rip), %xmm0    # 0xc8120
callq 0x173b0
movq %rax, 0x58(%rsp)
jmp 0x14f64
movq 0x58(%rsp), %rdi
leaq 0x320(%rsp), %rsi
callq 0x17bf0
jmp 0x14f78
leaq 0x2e8(%rsp), %rdi
callq 0x15650
jmp 0x150a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x2e8(%rsp), %rdi
callq 0x15650
jmp 0x15428
cmpl $0x0, 0x310(%rsp)
jl 0x15088
leaq 0x2c8(%rsp), %rdi
leaq 0x8e0(%rsp), %rsi
callq 0x17070
jmp 0x14fd5
movslq 0x310(%rsp), %rax
movl 0x820(%rsp,%rax,4), %eax
movl %eax, 0x48(%rsp)
movl 0x884(%rsp), %eax
movl %eax, 0x4c(%rsp)
leaq 0xa98(%rsp), %rdi
callq 0x15910
movq %rax, 0x50(%rsp)
jmp 0x15007
movl 0x4c(%rsp), %edx
movl 0x48(%rsp), %esi
movq 0x50(%rsp), %rcx
movslq 0x310(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rcx
leaq 0x2c8(%rsp), %rdi
movss 0xb30ed(%rip), %xmm0    # 0xc8120
callq 0x173b0
movq %rax, 0x40(%rsp)
jmp 0x1503f
movq 0x40(%rsp), %rdi
leaq 0x320(%rsp), %rsi
callq 0x17bf0
jmp 0x15053
leaq 0x2c8(%rsp), %rdi
callq 0x15650
jmp 0x150a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xab0(%rsp)
movl %eax, 0xaac(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x15650
jmp 0x15428
leaq 0x8e0(%rsp), %rdi
leaq 0x320(%rsp), %rsi
callq 0x17bf0
jmp 0x1509f
jmp 0x150a1
jmp 0x150a3
movb $0x0, 0x31e(%rsp)
leaq 0x320(%rsp), %rdi
movl $0xf, %esi
callq 0x17c20
jmp 0x150bf
leaq 0x320(%rsp), %rdi
callq 0x17c50
movb %al, 0x3f(%rsp)
jmp 0x150d2
movb 0x3f(%rsp), %al
testb $0x1, %al
jne 0x150dc
jmp 0x150f2
leaq 0x320(%rsp), %rsi
xorl %edx, %edx
movq %rsi, %rdi
callq 0x17c70
jmp 0x150f0
jmp 0x150f2
leaq 0x320(%rsp), %rdi
callq 0x17cb0
movl %eax, 0x38(%rsp)
jmp 0x15105
movl 0x38(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x15242
movl 0x30c(%rsp), %eax
movl %eax, 0x314(%rsp)
movl $0xffffffff, 0x30c(%rsp) # imm = 0xFFFFFFFF
movl $0x0, 0x2c4(%rsp)
movl 0x2c4(%rsp), %eax
cmpl 0xac8(%rsp), %eax
jge 0x15228
leaq 0x320(%rsp), %rdi
callq 0x17cc0
movl %eax, 0x34(%rsp)
jmp 0x15160
movl 0x34(%rsp), %eax
cmpl 0x884(%rsp), %eax
jl 0x15210
leaq 0x320(%rsp), %rdi
callq 0x17cc0
movl %eax, 0x30(%rsp)
jmp 0x15184
movl 0x30(%rsp), %eax
movl 0x884(%rsp), %ecx
addl 0x9cc(%rsp), %ecx
cmpl %ecx, %eax
jge 0x15210
leaq 0x320(%rsp), %rdi
callq 0x17ce0
movl %eax, 0x2c(%rsp)
jmp 0x151ad
movl 0x2c(%rsp), %eax
movslq 0x2c4(%rsp), %rcx
cmpl 0x820(%rsp,%rcx,4), %eax
jl 0x15210
leaq 0x320(%rsp), %rdi
callq 0x17ce0
movl %eax, 0x28(%rsp)
jmp 0x151d5
movl 0x28(%rsp), %eax
movslq 0x2c4(%rsp), %rcx
movl 0x820(%rsp,%rcx,4), %ecx
addl 0x9d0(%rsp), %ecx
cmpl %ecx, %eax
jge 0x15210
movl 0x2c4(%rsp), %eax
movl %eax, 0x310(%rsp)
movl %eax, 0x30c(%rsp)
movb $0x1, 0x31e(%rsp)
jmp 0x15212
movl 0x2c4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c4(%rsp)
jmp 0x15139
movl 0x30c(%rsp), %eax
cmpl 0x314(%rsp), %eax
je 0x15240
movb $0x1, 0x31e(%rsp)
jmp 0x15256
cmpl $0x0, 0x30c(%rsp)
jl 0x15254
movb $0x1, 0x31f(%rsp)
jmp 0x15256
leaq 0x320(%rsp), %rdi
xorl %esi, %esi
callq 0x17d00
movl %eax, 0x24(%rsp)
jmp 0x1526b
movl 0x24(%rsp), %eax
cmpl $0x0, %eax
je 0x1537c
movl 0x310(%rsp), %eax
movl %eax, 0x318(%rsp)
leaq 0x320(%rsp), %rdi
xorl %esi, %esi
callq 0x17d00
movl %eax, 0x20(%rsp)
jmp 0x1529b
movl 0x20(%rsp), %eax
subl $0xff09, %eax           # imm = 0xFF09
je 0x15316
jmp 0x152a8
movl 0x20(%rsp), %eax
subl $0xff0d, %eax           # imm = 0xFF0D
je 0x152f7
jmp 0x152b5
movl 0x20(%rsp), %eax
subl $0xff1b, %eax           # imm = 0xFF1B
je 0x152e2
jmp 0x152c2
movl 0x20(%rsp), %eax
addl $0xffff00af, %eax       # imm = 0xFFFF00AF
subl $0x2, %eax
jb 0x15332
jmp 0x152d2
movl 0x20(%rsp), %eax
addl $0xffff00ad, %eax       # imm = 0xFFFF00AD
subl $0x2, %eax
jb 0x15316
jmp 0x15353
movl $0xffffffff, 0x310(%rsp) # imm = 0xFFFFFFFF
movb $0x1, 0x31f(%rsp)
jmp 0x15353
cmpl $0x0, 0x310(%rsp)
jge 0x1530c
movl $0x0, 0x310(%rsp)
movb $0x1, 0x31f(%rsp)
jmp 0x15353
movl 0x310(%rsp), %eax
addl $0x1, %eax
xorl %edx, %edx
divl 0xac8(%rsp)
movl %edx, 0x310(%rsp)
jmp 0x15353
movl 0x310(%rsp), %eax
addl 0xac8(%rsp), %eax
subl $0x1, %eax
xorl %edx, %edx
divl 0xac8(%rsp)
movl %edx, 0x310(%rsp)
leaq 0x320(%rsp), %rdi
callq 0x17d40
jmp 0x15362
movl 0x310(%rsp), %eax
cmpl 0x318(%rsp), %eax
je 0x1537a
movb $0x1, 0x31e(%rsp)
jmp 0x1537c
jmp 0x14e89
leaq 0x320(%rsp), %rdi
callq 0x182d0
movb %al, 0x1f(%rsp)
jmp 0x15394
movb 0x1f(%rsp), %al
testb $0x1, %al
jne 0x153a9
jmp 0x1539e
movl $0xffffffff, 0x310(%rsp) # imm = 0xFFFFFFFF
movl 0x310(%rsp), %eax
movl %eax, 0x18(%rsp)
leaq 0x320(%rsp), %rdi
callq 0x182f0
leaq 0x8e0(%rsp), %rdi
callq 0x15650
leaq 0x968(%rsp), %rdi
callq 0x15650
leaq 0x988(%rsp), %rdi
callq 0x15650
leaq 0x9a8(%rsp), %rdi
callq 0x15650
leaq 0xa98(%rsp), %rdi
callq 0x18310
leaq 0xab8(%rsp), %rdi
callq 0x18310
leaq 0xac8(%rsp), %rdi
callq 0x18310
movl 0x18(%rsp), %eax
addq $0xb18, %rsp            # imm = 0xB18
retq
leaq 0x320(%rsp), %rdi
callq 0x182f0
leaq 0x8e0(%rsp), %rdi
callq 0x15650
leaq 0x968(%rsp), %rdi
callq 0x15650
leaq 0x988(%rsp), %rdi
callq 0x15650
leaq 0x9a8(%rsp), %rdi
callq 0x15650
leaq 0xa98(%rsp), %rdi
callq 0x18310
leaq 0xab8(%rsp), %rdi
callq 0x18310
leaq 0xac8(%rsp), %rdi
callq 0x18310
movq 0xab0(%rsp), %rdi
callq 0x5970
nopl (%rax)