// File: /workspace/github_cpp_makefile_star2_O3/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x648, %rsp            # imm = 0x648
movq %rsi, 0x70(%rsp)
movq %rdi, %rbp
movb $0x0, 0xe(%rsp)
movw $0x0, 0xc(%rsp)
movb $-0x1, 0x16(%rsp)
movw $0xffff, 0x14(%rsp)     # imm = 0xFFFF
movb $-0x38, 0x12(%rsp)
movw $0xc8c8, 0x10(%rsp)     # imm = 0xC8C8
movb $-0x6a, 0x1a(%rsp)
movw $0x9696, 0x18(%rsp)     # imm = 0x9696
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0xb0(%rsp)
movaps %xmm0, 0xa0(%rsp)
testq %rdx, %rdx
je 0xccaa
movq %r9, %rbx
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %rcx
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
subq $0x8, %rsp
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
movss 0x61952(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movb $0x1, %al
pushq $0xd
callq 0xe22e
addq $0x10, %rsp
movq %rax, %r12
leaq 0x20(%rsp), %rdi
movl (%rdi), %r13d
movl $0x1, %esi
movl %r13d, %edx
callq 0x11e62
shlq $0x5, %r13
addq 0x8(%rax), %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xc9b6
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xc9b6
callq 0x4690
testq %r15, %r15
je 0xccaa
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
subq $0x8, %rsp
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
movss 0x618c1(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movq %r15, %rcx
movb $0x1, %al
pushq $0xd
callq 0xe22e
addq $0x10, %rsp
movq %rax, %r15
leaq 0x20(%rsp), %rdi
movl (%rdi), %r12d
movl $0x1, %esi
movl %r12d, %edx
callq 0x11e62
shlq $0x5, %r12
addq 0x8(%rax), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xca4a
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xca4a
callq 0x4690
testq %r14, %r14
je 0xccaa
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
subq $0x8, %rsp
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
movss 0x6182d(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movq %r14, %rcx
movb $0x1, %al
pushq $0xd
callq 0xe22e
addq $0x10, %rsp
movq %rax, %r14
leaq 0x20(%rsp), %rdi
movl (%rdi), %r15d
movl $0x1, %esi
movl %r15d, %edx
callq 0x11e62
shlq $0x5, %r15
addq 0x8(%rax), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xcade
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xcade
callq 0x4690
testq %rbx, %rbx
je 0xccaa
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
subq $0x8, %rsp
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
movss 0x61799(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rcx
movb $0x1, %al
pushq $0xd
callq 0xe22e
addq $0x10, %rsp
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
movl (%rdi), %r14d
movl $0x1, %esi
movl %r14d, %edx
callq 0x11e62
shlq $0x5, %r14
addq 0x8(%rax), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xeed2
movq 0x680(%rsp), %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xcb7a
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xcb7a
callq 0x4690
testq %rbx, %rbx
je 0xccaa
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
subq $0x8, %rsp
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
movss 0x616fd(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rcx
movb $0x1, %al
pushq $0xd
callq 0xe22e
addq $0x10, %rsp
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
movl (%rdi), %r14d
movl $0x1, %esi
movl %r14d, %edx
callq 0x11e62
shlq $0x5, %r14
addq 0x8(%rax), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xeed2
movq 0x688(%rsp), %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xcc16
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xcc16
callq 0x4690
testq %rbx, %rbx
je 0xccaa
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
subq $0x8, %rsp
leaq 0x14(%rsp), %r8
leaq 0x18(%rsp), %r9
movss 0x61661(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rcx
movb $0x1, %al
pushq $0xd
callq 0xe22e
addq $0x10, %rsp
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
movl (%rdi), %r14d
movl $0x1, %esi
movl %r14d, %edx
callq 0x11e62
shlq $0x5, %r14
addq 0x8(%rax), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xccaa
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xccaa
callq 0x4690
cmpl $0x0, 0x20(%rsp)
je 0xde2d
movl $0x8, %ebx
jle 0xcd56
xorl %r14d, %r14d
xorl %r15d, %r15d
movq 0x28(%rsp), %rdi
addq %r14, %rdi
subq $0x8, %rsp
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
xorps %xmm3, %xmm3
movl $0xffffff9c, %esi       # imm = 0xFFFFFF9C
movl $0xffffff9c, %edx       # imm = 0xFFFFFF9C
movl $0x1, %ecx
movl $0x3, %r8d
movl $0x1, %r9d
pushq $0x0
callq 0xe338
addq $0x10, %rsp
incq %r15
movslq 0x20(%rsp), %rax
addq $0x20, %r14
cmpq %rax, %r15
jl 0xccc6
movl $0x8, %ecx
testl %eax, %eax
jle 0xcd5b
movq 0x28(%rsp), %rdx
shlq $0x5, %rax
xorl %esi, %esi
xorl %ecx, %ecx
xorl %ebx, %ebx
movl %ebx, %edi
movl %ecx, %r8d
movl (%rdx,%rsi), %ecx
movl 0x4(%rdx,%rsi), %ebx
cmpl %ecx, %r8d
cmoval %r8d, %ecx
cmpl %ebx, %edi
cmoval %edi, %ebx
addq $0x20, %rsi
cmpq %rsi, %rax
jne 0xcd2d
addl $0x8, %ecx
addl $0x8, %ebx
jmp 0xcd5b
movl $0x8, %ecx
movq %rbp, 0x148(%rsp)
movl $0x80, %eax
cmpl %eax, %ecx
cmovbl %ecx, %eax
cmpl $0x41, %eax
movl $0x40, %r14d
cmovael %eax, %r14d
cmpl $0x30, %ebx
movl $0x30, %eax
cmovbl %ebx, %eax
cmpl $0x19, %eax
movl $0x18, %r12d
cmovael %eax, %r12d
leaq 0xe0(%rsp), %rdi
movl %r14d, %esi
movl %r12d, %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0xe578
movq %r14, 0x38(%rsp)
leal -0x1(%r14), %ebp
leal -0x1(%r12), %r13d
leaq 0xe0(%rsp), %rdi
movl 0x8(%rdi), %eax
decl %eax
leaq 0x10(%rsp), %r10
movss 0x614d8(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq %r10
pushq %rax
callq 0x1e27a
addq $0x10, %rsp
leaq 0xe0(%rsp), %rdi
leaq 0x14(%rsp), %r9
movss 0x614ab(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movl %ebp, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x14(%rsp), %r9
movss 0x61488(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %esi, %esi
movl %r13d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xe0(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x61459(%rip), %xmm0    # 0x6e2b0
movl %ebp, %esi
xorl %edx, %edx
movl %ebp, %ecx
movl %r13d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x61436(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %ebp, %esi
movl %r13d, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leal -0x2(%r12), %r14d
movq 0x38(%rsp), %rax
leal -0x2(%rax), %ebx
leaq 0xe0(%rsp), %rdi
leaq 0x18(%rsp), %r9
movss 0x613fa(%rip), %xmm0    # 0x6e2b0
movl $0x1, %esi
movl %r14d, %edx
movl %ebx, %ecx
movl %r14d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x18(%rsp), %r9
movss 0x613d3(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %ebx, %esi
movl %r14d, %edx
movl %ebx, %ecx
movl $0x1, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
movl %ebx, 0x1c(%rsp)
movl %r14d, 0x48(%rsp)
leaq 0x80(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl %r12d, %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0xe578
leaq 0x80(%rsp), %rdi
movl 0x8(%rdi), %eax
decl %eax
movss 0x61378(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
leaq 0x10(%rsp), %r10
pushq %r10
pushq %rax
callq 0x1e27a
addq $0x10, %rsp
leaq 0x80(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x61346(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
movl %ebp, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x61323(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %ebp, %esi
xorl %edx, %edx
movl %ebp, %ecx
movl %r13d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x80(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x612f5(%rip), %xmm0    # 0x6e2b0
movl %ebp, %esi
movl %r13d, %edx
xorl %ecx, %ecx
movl %r13d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x612d1(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %esi, %esi
movl %r13d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x80(%rsp), %rdi
leaq 0x14(%rsp), %r9
movss 0x612a2(%rip), %xmm0    # 0x6e2b0
movl $0x1, %esi
movl $0x1, %edx
movl 0x1c(%rsp), %ecx
movl $0x1, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x14(%rsp), %r9
movss 0x61274(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl $0x1, %esi
movl 0x48(%rsp), %edx
movl $0x1, %ecx
movl $0x1, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x80(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x6123b(%rip), %xmm0    # 0x6e2b0
movl 0x1c(%rsp), %ecx
movl %ecx, %esi
movl $0x1, %edx
movl 0x48(%rsp), %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x61211(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl 0x1c(%rsp), %esi
movl 0x48(%rsp), %edx
movl $0x1, %ecx
movl %edx, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leal -0x3(%r12), %edx
movq 0x38(%rsp), %rax
leal -0x3(%rax), %ecx
leaq 0x80(%rsp), %rdi
leaq 0x18(%rsp), %r9
movss 0x611cf(%rip), %xmm0    # 0x6e2b0
movl $0x2, %esi
movl %ecx, 0x78(%rsp)
movl %edx, 0x44(%rsp)
movl %edx, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x18(%rsp), %r9
movss 0x611a5(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl 0x78(%rsp), %ecx
movl %ecx, %esi
movl 0x44(%rsp), %edx
movl $0x2, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
movq 0x38(%rsp), %rax
leal -0x5(%rax), %ebx
leaq 0x80(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x61168(%rip), %xmm0    # 0x6e2b0
movl $0x4, %esi
movl $0x4, %edx
movl %ebx, %ecx
movl $0x4, %r8d
pushq $0x1
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leal -0x5(%r12), %r15d
leaq 0xc(%rsp), %r9
movss 0x61134(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %ebx, %esi
movl $0x4, %edx
movl %ebx, %ecx
movl %r15d, %r8d
pushq $0x0
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leaq 0x80(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x61100(%rip), %xmm0    # 0x6e2b0
movl %ebx, %esi
movl %r15d, %edx
movl $0x4, %ecx
movl %r15d, %r8d
pushq $0x0
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x610d6(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl $0x4, %esi
movl %r15d, %edx
movl $0x4, %ecx
movl $0x4, %r8d
movq %r9, %r14
pushq $0x0
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leaq 0x100(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl %r12d, %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0xe578
leaq 0x100(%rsp), %rdi
movl 0x8(%rdi), %eax
decl %eax
movss 0x61078(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq %r14
pushq %rax
callq 0x1e27a
addq $0x10, %rsp
movl 0x8(%rax), %r10d
decl %r10d
movss 0x61051(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl 0x1c(%rsp), %r8d
movl 0x48(%rsp), %r9d
leaq 0x18(%rsp), %rax
pushq %rax
pushq %r10
callq 0x1e27a
addq $0x10, %rsp
movl 0x8(%rax), %r10d
decl %r10d
movss 0x61018(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl $0x2, %esi
movl $0x2, %edx
xorl %ecx, %ecx
movl 0x78(%rsp), %r8d
movl 0x44(%rsp), %r9d
leaq 0x10(%rsp), %rax
pushq %rax
pushq %r10
callq 0x1e27a
addq $0x10, %rsp
leaq 0x100(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x60fd9(%rip), %xmm0    # 0x6e2b0
movl $0x4, %esi
movl $0x4, %edx
movl %ebx, %ecx
movl $0x4, %r8d
pushq $0x1
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x60faa(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %ebx, %esi
movl $0x4, %edx
movl %ebx, %ecx
movl %r15d, %r8d
pushq $0x0
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leaq 0x100(%rsp), %rdi
leaq 0xc(%rsp), %r9
movss 0x60f76(%rip), %xmm0    # 0x6e2b0
movl %ebx, %esi
movl %r15d, %edx
movl $0x4, %ecx
movl %r15d, %r8d
pushq $0x0
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x60f4c(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl $0x4, %esi
movl %r15d, %edx
movl $0x4, %ecx
movl $0x4, %r8d
pushq $0x0
pushq $-0x55555556            # imm = 0xAAAAAAAA
callq 0xe6dc
addq $0x10, %rsp
movl 0x20(%rsp), %r15d
testl %r15d, %r15d
movq 0x38(%rsp), %rbp
movq 0x70(%rsp), %r10
jle 0xd562
xorl %r14d, %r14d
leaq 0x150(%rsp), %rbx
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x100(%rsp), %rsi
callq 0xed1e
movq 0x28(%rsp), %rax
movl %ebp, %esi
subl (%rax,%r14), %esi
leaq (%rax,%r14), %r9
shrl %esi
incl %esi
movl %r12d, %edx
subl 0x4(%rax,%r14), %edx
shrl %edx
incl %edx
movq %rbx, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
movss 0x60ec1(%rip), %xmm0    # 0x6e2b0
callq 0x13c00
movq %rax, %rbp
movl 0xb0(%rsp), %r15d
leaq 0xb0(%rsp), %rdi
movl $0x1, %esi
movl %r15d, %edx
callq 0x11e62
shlq $0x5, %r15
addq 0x8(%rax), %r15
movq %rbp, %rdi
movq %r15, %rsi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xd443
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xd443
callq 0x4690
movq %rbx, %rdi
leaq 0x80(%rsp), %rsi
callq 0xed1e
movq 0x38(%rsp), %rcx
movq 0x28(%rsp), %rax
leaq (%rax,%r14), %r9
movl %ecx, %esi
subl (%rax,%r14), %esi
shrl %esi
movl %r12d, %edx
subl 0x4(%rax,%r14), %edx
shrl %edx
movq %rbx, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
movss 0x60e2d(%rip), %xmm0    # 0x6e2b0
callq 0x13c00
movq %rax, %rbp
movl 0xa0(%rsp), %r15d
leaq 0xa0(%rsp), %rdi
movl $0x1, %esi
movl %r15d, %edx
callq 0x11e62
shlq $0x5, %r15
addq 0x8(%rax), %r15
movq %rbp, %rdi
movq %r15, %rsi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xd4d7
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xd4d7
callq 0x4690
movq %rbx, %rdi
leaq 0xe0(%rsp), %rsi
callq 0xed1e
movq 0x38(%rsp), %rbp
movq 0x28(%rsp), %rax
leaq (%rax,%r14), %r9
movl %ebp, %esi
subl (%rax,%r14), %esi
shrl %esi
movl %r12d, %edx
subl 0x4(%rax,%r14), %edx
shrl %edx
movq %rbx, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
movss 0x60d99(%rip), %xmm0    # 0x6e2b0
callq 0x13c00
movq 0x28(%rsp), %rsi
addq %r14, %rsi
movq %rax, %rdi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xd548
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xd548
callq 0x4690
incq %r13
movslq 0x20(%rsp), %r15
addq $0x20, %r14
cmpq %r15, %r13
jl 0xd3b0
movq 0x70(%rsp), %r10
movq $0x0, 0x68(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movb $0x0, 0x60(%rsp)
testq %r10, %r10
je 0xd65b
leaq 0x150(%rsp), %rdi
movq $0x0, 0x18(%rdi)
movaps %xmm0, (%rdi)
movb $0x0, 0x10(%rdi)
leaq 0x83392(%rip), %rcx     # 0x90931
leaq 0x10(%rsp), %r8
movss 0x60d04(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
xorl %r9d, %r9d
movb $0x1, %al
pushq %r10
pushq $0xd
callq 0xef44
addq $0x10, %rsp
movq %rax, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xf04a
movq %rax, %rdi
movl $0xc8, %esi
callq 0xf0c0
subq $0x8, %rsp
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
xorps %xmm3, %xmm3
movq %rax, %rdi
movl $0xffffff9c, %esi       # imm = 0xFFFFFF9C
movl $0xffffff9c, %edx       # imm = 0xFFFFFF9C
movl $0x1, %ecx
movl $0x3, %r8d
movl $0x1, %r9d
pushq $0x0
callq 0xe338
addq $0x10, %rsp
leaq 0x50(%rsp), %rsi
movq %rax, %rdi
callq 0xeed2
cmpb $0x0, 0x160(%rsp)
jne 0xd63e
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xd63e
callq 0x4690
movl 0x20(%rsp), %r15d
movl 0x50(%rsp), %r14d
movl 0x54(%rsp), %edi
cmpq $0x0, 0x68(%rsp)
sete %al
addl $0x24, %r14d
jmp 0xd665
movl $0x24, %r14d
xorl %edi, %edi
movb $0x1, %al
movq 0x690(%rsp), %rdx
decl %r15d
leal 0xc(%rbp), %r13d
imull %r13d, %r15d
movl (%rdx), %r8d
addl %r8d, %r14d
leal (%r15,%rbp), %ecx
addl $0x18, %ecx
cmpl %ecx, %r14d
movl %ecx, 0x44(%rsp)
cmoval %r14d, %ecx
movl 0x4(%rdx), %edx
cmpl $0xc5, %ecx
movl $0xc4, %esi
cmovael %ecx, %esi
movq %rdi, 0x70(%rsp)
leal (%rdi,%r12), %ecx
addl $0x24, %ecx
movq %rdx, 0x78(%rsp)
addl %r12d, %edx
addl $0x24, %edx
cmpl %edx, %ecx
cmoval %ecx, %edx
cmpl $0x61, %edx
movl $0x60, %ebx
cmovael %edx, %ebx
leal -0xc(%rbx), %ebp
movl %ebp, 0x1c(%rsp)
subl %r12d, %ebp
movl %esi, %ecx
movq %r8, 0x140(%rsp)
subl %r8d, %ecx
addl $-0x18, %ecx
shrl %ecx
addl $0xc, %ecx
testb %al, %al
movl $0xc, %eax
cmovnel %ecx, %eax
movq %rax, 0x48(%rsp)
je 0xd82b
leaq 0x150(%rsp), %rdi
movl %ebx, %edx
movl $0x1, %ecx
movl %esi, %r12d
movl $0x3, %r8d
callq 0xe578
decl %r12d
decl %ebx
leaq 0x150(%rsp), %rdi
movl 0x8(%rdi), %eax
decl %eax
movss 0x60b7d(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %r12d, %r8d
movl %ebx, %r9d
leaq 0x10(%rsp), %r10
pushq %r10
pushq %rax
callq 0x1e27a
addq $0x10, %rsp
leaq 0x14(%rsp), %r9
movss 0x60b53(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
movl %r12d, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x14(%rsp), %r9
movss 0x60b2c(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %esi, %esi
movl %ebx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x60b06(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %r12d, %esi
xorl %edx, %edx
movl %r12d, %ecx
movl %ebx, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x60ade(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %r12d, %esi
movl %ebx, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
movq 0x18(%rax), %rsi
movl (%rax), %edx
movl 0x4(%rax), %ecx
movl 0x8(%rax), %r8d
movl 0xc(%rax), %r9d
leaq 0x50(%rsp), %rdi
callq 0x14476
cmpb $0x0, 0x160(%rsp)
jne 0xd986
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xd986
jmp 0xd981
leaq 0x150(%rsp), %rdi
movl %ebx, %edx
movl $0x1, %ecx
movl %esi, %r12d
movl $0x3, %r8d
callq 0xe578
decl %r12d
decl %ebx
leaq 0x150(%rsp), %rdi
movl 0x8(%rdi), %eax
decl %eax
movss 0x60a4e(%rip), %xmm0    # 0x6e2b0
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %r12d, %r8d
movl %ebx, %r9d
leaq 0x10(%rsp), %r10
pushq %r10
pushq %rax
callq 0x1e27a
addq $0x10, %rsp
leaq 0x14(%rsp), %r9
movss 0x60a24(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
movl %r12d, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0x14(%rsp), %r9
movss 0x609fd(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %esi, %esi
movl %ebx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x609d7(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %r12d, %esi
xorl %edx, %edx
movl %r12d, %ecx
movl %ebx, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
leaq 0xc(%rsp), %r9
movss 0x609af(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
movl %r12d, %esi
movl %ebx, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
pushq $0x1
pushq $-0x1
callq 0xe6dc
addq $0x10, %rsp
movl %ebp, %edx
subl 0x70(%rsp), %edx
shrl %edx
movq 0x48(%rsp), %rcx
movq 0x140(%rsp), %rsi
addl %ecx, %esi
addl $0xc, %esi
leaq 0x50(%rsp), %r9
movss 0x6096e(%rip), %xmm0    # 0x6e2b0
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x13c00
movq 0x18(%rax), %rsi
movl (%rax), %edx
movl 0x4(%rax), %ecx
movl 0x8(%rax), %r8d
movl 0xc(%rax), %r9d
leaq 0x50(%rsp), %rdi
callq 0x14476
cmpb $0x0, 0x160(%rsp)
jne 0xd986
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xd986
callq 0x4690
movq 0x690(%rsp), %r9
cmpq $0x0, 0x18(%r9)
je 0xd9b9
movl %ebp, %edx
subl 0x78(%rsp), %edx
shrl %edx
leaq 0x50(%rsp), %rdi
movss 0x60906(%rip), %xmm0    # 0x6e2b0
movq 0x48(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x13c00
xorps %xmm0, %xmm0
movaps %xmm0, 0x120(%rsp)
movq $0x0, 0x130(%rsp)
cmpl $0x0, 0x20(%rsp)
jle 0xda43
movl 0x44(%rsp), %eax
cmpl %r14d, %eax
cmoval %eax, %r14d
cmpl $0xc5, %r14d
movl $0xc4, %ebx
cmovael %r14d, %ebx
subl %r15d, %ebx
subl 0x38(%rsp), %ebx
shrl %ebx
xorl %r14d, %r14d
leaq 0x50(%rsp), %r15
xorl %r12d, %r12d
movl %ebx, 0x120(%rsp,%r12,4)
movq 0x28(%rsp), %r9
addq %r14, %r9
movq %r15, %rdi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movss 0x60886(%rip), %xmm0    # 0x6e2b0
callq 0x13c00
incq %r12
movslq 0x20(%rsp), %rax
addl %r13d, %ebx
addq $0x20, %r14
cmpq %rax, %r12
jl 0xda06
movb 0x698(%rsp), %bl
movq 0x148(%rsp), %rax
testq %rax, %rax
leaq 0x83fe6(%rip), %rdx     # 0x91a42
cmovneq %rax, %rdx
movzbl %bl, %r9d
leaq 0x150(%rsp), %rdi
leaq 0x50(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xf132
testb %bl, %bl
je 0xdab8
callq 0xf284
movl %eax, %ebx
movl 0x168(%rsp), %r14d
callq 0xf38a
subl %r14d, %ebx
movl %ebx, %esi
shrl $0x1f, %esi
addl %ebx, %esi
sarl %esi
leaq 0x150(%rsp), %rdi
subl 0x1c(%rdi), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
callq 0xf194
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
cmpb $0x0, 0x5b0(%rsp)
jne 0xdd60
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
xorl %r12d, %r12d
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
testb $0x1, %r12b
je 0xdbe4
testl %ebx, %ebx
js 0xdb5c
leaq 0xc0(%rsp), %r14
movq %r14, %rdi
leaq 0x50(%rsp), %rsi
callq 0xed1e
movl %ebx, %r9d
movl 0x120(%rsp,%r9,4), %esi
shlq $0x5, %r9
addq 0xb8(%rsp), %r9
movq %r14, %rdi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movss 0x6078a(%rip), %xmm0    # 0x6e2b0
callq 0x13c00
leaq 0x150(%rsp), %rdi
movq %rax, %rsi
callq 0x354de
cmpb $0x0, 0xd0(%rsp)
jne 0xdbe4
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0xdbe4
jmp 0xdbcb
testl %r15d, %r15d
js 0xdbd2
leaq 0xc0(%rsp), %r14
movq %r14, %rdi
leaq 0x50(%rsp), %rsi
callq 0xed1e
movl %r15d, %r9d
movl 0x120(%rsp,%r9,4), %esi
shlq $0x5, %r9
addq 0xa8(%rsp), %r9
movq %r14, %rdi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movss 0x60711(%rip), %xmm0    # 0x6e2b0
callq 0x13c00
leaq 0x150(%rsp), %rdi
movq %rax, %rsi
callq 0x354de
cmpb $0x0, 0xd0(%rsp)
jne 0xdbe4
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0xdbe4
callq 0x4690
jmp 0xdbe4
leaq 0x150(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x354de
leaq 0x150(%rsp), %rdi
movl $0xf, %esi
callq 0xf490
movb 0x5b1(%rsp), %al
cmpb $0x1, %al
jne 0xdc1e
movl 0x168(%rsp), %esi
movl 0x16c(%rsp), %edx
leaq 0x150(%rsp), %rdi
xorl %ecx, %ecx
callq 0x355b8
testl $0x1, 0x198(%rsp)
jne 0xdc36
testl %ebx, %ebx
setns %r14b
xorl %r12d, %r12d
jmp 0xdcac
movslq 0x20(%rsp), %rcx
testq %rcx, %rcx
jle 0xdc97
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
xorl %esi, %esi
xorl %edx, %edx
movl 0x5a8(%rsp), %edi
cmpl %ebp, %edi
jl 0xdc8d
movl 0x5a8(%rsp), %edi
cmpl 0x1c(%rsp), %edi
jge 0xdc8d
movl 0x5a4(%rsp), %r8d
movl 0x120(%rsp,%rsi,4), %edi
cmpl %edi, %r8d
jl 0xdc8d
movl 0x5a4(%rsp), %r8d
addl 0x38(%rsp), %edi
cmpl %edi, %r8d
jge 0xdc8d
movb $0x1, %dl
movl %esi, %r15d
movl %esi, %eax
incq %rsi
cmpq %rsi, %rcx
jne 0xdc49
jmp 0xdc9e
xorl %edx, %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl %ebx, %eax
setne %r12b
orb %dl, %r12b
xorl %r14d, %r14d
movl %eax, %ebx
cmpl $0x0, 0x19c(%rsp)
je 0xdd4d
movl 0x19c(%rsp), %eax
cmpl $0xff50, %eax           # imm = 0xFF50
jle 0xdce2
leal -0xff51(%rax), %ecx
cmpl $0x2, %ecx
jb 0xdd0e
addl $0xffff00ad, %eax       # imm = 0xFFFF00AD
cmpl $0x2, %eax
jb 0xdd02
movl %r15d, %r13d
jmp 0xdd31
cmpl $0xff09, %eax           # imm = 0xFF09
je 0xdd02
cmpl $0xff0d, %eax           # imm = 0xFF0D
je 0xdd21
movl %r15d, %r13d
cmpl $0xff1b, %eax           # imm = 0xFF1B
jne 0xdd31
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0xdd2e
leal 0x1(%r15), %eax
xorl %edx, %edx
divl 0x20(%rsp)
jmp 0xdd1c
movl 0x20(%rsp), %ecx
leal (%r15,%rcx), %eax
decl %eax
xorl %edx, %edx
divl %ecx
movl %edx, %r13d
jmp 0xdd31
testl %r15d, %r15d
movl $0x0, %r13d
cmovgl %r15d, %r13d
movb $0x1, %r14b
leaq 0x150(%rsp), %rdi
callq 0xf558
cmpl %r15d, %r13d
setne %al
orb %r12b, %al
movl %eax, %r12d
movl %r13d, %r15d
cmpb $0x0, 0x5b0(%rsp)
jne 0xdd60
testb %r14b, %r14b
je 0xdada
leaq 0x150(%rsp), %rdi
movl 0x18(%rdi), %r14d
movl 0x1c(%rdi), %ebp
callq 0x1e520
cmpb $0x0, 0x60(%rsp)
jne 0xdd8a
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0xdd8a
callq 0x4690
cmpb $0x0, 0x110(%rsp)
jne 0xdda6
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0xdda6
callq 0x4690
cmpb $0x0, 0x90(%rsp)
jne 0xddc2
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0xddc2
callq 0x4690
cmpb $0x0, 0xf0(%rsp)
jne 0xddde
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0xddde
callq 0x4690
xorl %ebx, %ebx
cmpl $0x1, %r14d
movl $0x0, %eax
sbbl %eax, %eax
cmpl $0x1, %ebp
sbbl %ebx, %ebx
orl %r15d, %ebx
orl %eax, %ebx
leaq 0xa0(%rsp), %rdi
callq 0xfa04
leaq 0xb0(%rsp), %rdi
callq 0xfa04
leaq 0x20(%rsp), %rdi
callq 0xfa04
movl %ebx, %eax
addq $0x648, %rsp            # imm = 0x648
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %rax, %r14
leaq 0x61f38(%rip), %rsi     # 0x6fd79
movq %rax, %rdi
xorl %eax, %eax
callq 0xc16a
leaq 0x99dfe(%rip), %rsi     # 0xa7c50
movq 0x9a177(%rip), %rdx     # 0xa7fd0
movq %r14, %rdi
callq 0x4910
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe143
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
jmp 0xe13e
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe143
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
jmp 0xe13e
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe143
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
jmp 0xe13e
jmp 0xe060
jmp 0xe060
jmp 0xe065
movq %rax, %rbx
movq %r14, %rdi
callq 0x43c0
jmp 0xe143
jmp 0xe060
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe143
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
jmp 0xe13e
jmp 0xe090
jmp 0xe060
jmp 0xe04c
jmp 0xe023
jmp 0xe065
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe143
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
jmp 0xe13e
jmp 0xe06d
jmp 0xe06d
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe07d
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe07d
jmp 0xdffc
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe143
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
jmp 0xe13e
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe07d
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe07d
jmp 0xdffc
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe07d
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe07d
callq 0x4690
jmp 0xe07d
movq %rax, %rbx
cmpb $0x0, 0xd0(%rsp)
jne 0xe070
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0xe070
jmp 0xe045
jmp 0xe06d
jmp 0xe058
movq %rax, %rbx
jmp 0xe127
movq %rax, %rbx
cmpb $0x0, 0xd0(%rsp)
jne 0xe070
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0xe070
callq 0x4690
jmp 0xe070
movq %rax, %rbx
jmp 0xe10b
jmp 0xe058
jmp 0xe058
movq %rax, %rbx
jmp 0xe0ef
movq %rax, %rbx
jmp 0xe07d
movq %rax, %rbx
jmp 0xe143
movq %rax, %rbx
leaq 0x150(%rsp), %rdi
callq 0x1e520
cmpb $0x0, 0x60(%rsp)
jne 0xe0ef
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0xe0ef
jmp 0xe0ea
movq %rax, %rdi
callq 0xa02c
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe0ef
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe0ef
jmp 0xe0ea
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe0ef
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe0ef
jmp 0xe0ea
movq %rax, %rbx
cmpb $0x0, 0x160(%rsp)
jne 0xe0ef
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0xe0ef
callq 0x4690
cmpb $0x0, 0x110(%rsp)
jne 0xe10b
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0xe10b
callq 0x4690
cmpb $0x0, 0x90(%rsp)
jne 0xe127
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0xe127
callq 0x4690
cmpb $0x0, 0xf0(%rsp)
jne 0xe143
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0xe143
callq 0x4690
leaq 0xa0(%rsp), %rdi
callq 0xfa04
leaq 0xb0(%rsp), %rdi
callq 0xfa04
leaq 0x20(%rsp), %rdi
callq 0xfa04
movq %rbx, %rdi
callq 0x4960
nop