// File: manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImgList<unsigned char>::font(unsigned int, bool)
static const CImgList<ucharT>& font(const unsigned int font_height, const bool is_variable_width=true) {
      if (!font_height) return CImgList<ucharT>::empty();
      cimg::mutex(11);

      // Decompress nearest base font data if needed.
      const char *data_fonts[] = { cimg::data_font12x13, cimg::data_font20x23, cimg::data_font47x53, 0 };
      const unsigned int data_widths[] = { 12,20,47,90 }, data_heights[] = { 13,23,53,103 },
        data_Ms[] = { 86,79,57,47 };
      const unsigned int data_ind = font_height<=13?0:font_height<=23?1:font_height<=53?2:3;
      static CImg<ucharT> base_fonts[4];
      CImg<ucharT> &base_font = base_fonts[data_ind];
      if (!base_font) {
        const unsigned int w = data_widths[data_ind], h = data_heights[data_ind], M = data_Ms[data_ind];
        base_font.assign(256*w,h);
        const char *data_font = data_fonts[data_ind];
        unsigned char *ptrd = base_font;
        const unsigned char *const ptrde = base_font.end();

        // Special case needed for 90x103 to avoid MS compiler limit with big strings.
        CImg<char> data90x103;
        if (!data_font) {
          ((CImg<char>(cimg::_data_font90x103[0],
                       (unsigned int)std::strlen(cimg::_data_font90x103[0]),1,1,1,true),
            CImg<char>(cimg::_data_font90x103[1],
                       (unsigned int)std::strlen(cimg::_data_font90x103[1])+1,1,1,1,true))>'x').
            move_to(data90x103);
          data_font = data90x103.data();
        }

        // Uncompress font data (decode RLE).
        for (const char *ptrs = data_font; *ptrs; ++ptrs) {
          const int c = *ptrs-M-32, v = c>=0?255:0, n = c>=0?c:-c;
          if (ptrd+n<=ptrde) { std::memset(ptrd,v,n); ptrd+=n; }
          else { std::memset(ptrd,v,ptrde-ptrd); break; }
        }
      }

      // Find optimal font cache location to return.
      static CImgList<ucharT> fonts[16];
      static bool is_variable_widths[16] = { 0 };
      unsigned int ind = ~0U;
      for (int i = 0; i<16; ++i)
        if (!fonts[i] || (is_variable_widths[i]==is_variable_width && font_height==fonts[i][0]._height)) {
          ind = i; break; // Found empty slot or cached font.
        }
      if (ind==~0U) { // No empty slots nor existing font in cache.
        std::memmove(fonts,fonts+1,15*sizeof(CImgList<ucharT>));
        std::memmove(is_variable_widths,is_variable_widths+1,15*sizeof(bool));
        std::memset(fonts+(ind=15),0,sizeof(CImgList<ucharT>));  // Free a slot in cache for new font.
      }
      CImgList<ucharT> &font = fonts[ind];

      // Render requested font.
      if (!font) {
        const unsigned int padding_x = font_height<33?1:font_height<53?2:font_height<103?3:4;
        is_variable_widths[ind] = is_variable_width;
        font = base_font.get_split('x',256);
        if (font_height!=font[0]._height)
          cimglist_for(font,l)
            font[l].resize(cimg::max(1U,font[l]._width*font_height/font[l]._height),font_height,-100,-100,
                           font[0]._height>font_height?2:5);
        if (is_variable_width) font.crop_font();
        cimglist_for(font,l) font[l].resize(font[l]._width + padding_x,-100,1,1,0,0,0.5);
        font.insert(256,0);
        cimglist_for_in(font,0,255,l) font[l].assign(font[l+256]._width,font[l+256]._height,1,3,1);
      }
      cimg::mutex(11,0);
      return font;
    }

// Assembly:
subq $0x248, %rsp            # imm = 0x248
movb %sil, %al
movl %edi, 0x23c(%rsp)
andb $0x1, %al
movb %al, 0x23b(%rsp)
cmpl $0x0, 0x23c(%rsp)
jne 0x183c6
callq 0x19900
movq %rax, 0x240(%rsp)
jmp 0x1906f
movl $0xb, %edi
movl $0x1, %esi
callq 0x12d30
movq 0xe77f4(%rip), %rax     # 0xffbd0
movq %rax, 0x210(%rsp)
movq 0xe77ed(%rip), %rax     # 0xffbd8
movq %rax, 0x218(%rsp)
movq 0xe77e6(%rip), %rax     # 0xffbe0
movq %rax, 0x220(%rsp)
movq 0xe77df(%rip), %rax     # 0xffbe8
movq %rax, 0x228(%rsp)
movq 0xafcd8(%rip), %rax     # 0xc80f0
movq %rax, 0x200(%rsp)
movq 0xafcd1(%rip), %rax     # 0xc80f8
movq %rax, 0x208(%rsp)
movq 0xafcca(%rip), %rax     # 0xc8100
movq %rax, 0x1f0(%rsp)
movq 0xafcc3(%rip), %rax     # 0xc8108
movq %rax, 0x1f8(%rsp)
movq 0xafcbc(%rip), %rax     # 0xc8110
movq %rax, 0x1e0(%rsp)
movq 0xafcb5(%rip), %rax     # 0xc8118
movq %rax, 0x1e8(%rsp)
cmpl $0xd, 0x23c(%rsp)
ja 0x18480
xorl %eax, %eax
movl %eax, 0xac(%rsp)
jmp 0x184c4
cmpl $0x17, 0x23c(%rsp)
ja 0x18498
movl $0x1, %eax
movl %eax, 0xa8(%rsp)
jmp 0x184b6
movl 0x23c(%rsp), %edx
movl $0x3, %eax
movl $0x2, %ecx
cmpl $0x35, %edx
cmovbel %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xa8(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xac(%rsp), %eax
movl %eax, 0x1dc(%rsp)
cmpb $0x0, 0xe8677(%rip)     # 0x100b50
jne 0x18562
leaq 0xe866a(%rip), %rdi     # 0x100b50
callq 0x59d0
cmpl $0x0, %eax
je 0x18562
leaq 0xe85d9(%rip), %rax     # 0x100ad0
movq %rax, 0xa0(%rsp)
jmp 0x18501
movq 0xa0(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x156b0
jmp 0x18518
movq 0x98(%rsp), %rax
addq $0x20, %rax
leaq 0xe85a5(%rip), %rcx     # 0x100ad0
addq $0x80, %rcx
cmpq %rcx, %rax
movq %rax, 0xa0(%rsp)
jne 0x18501
leaq -0x12a26(%rip), %rdi    # 0x5b20
xorl %eax, %eax
movl %eax, %esi
leaq 0xe8027(%rip), %rdx     # 0x100578
callq 0x54a0
leaq 0xe85f3(%rip), %rdi     # 0x100b50
callq 0x5340
movl 0x1dc(%rsp), %eax
movl %eax, %ecx
leaq 0xe855e(%rip), %rax     # 0x100ad0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, 0x1c0(%rsp)
movq 0x1c0(%rsp), %rdi
callq 0x19990
cmpq $0x0, %rax
jne 0x189d6
movl 0x1dc(%rsp), %eax
movl 0x200(%rsp,%rax,4), %eax
movl %eax, 0x1bc(%rsp)
movl 0x1dc(%rsp), %eax
movl 0x1f0(%rsp,%rax,4), %eax
movl %eax, 0x1b8(%rsp)
movl 0x1dc(%rsp), %eax
movl 0x1e0(%rsp,%rax,4), %eax
movl %eax, 0x1b4(%rsp)
movq 0x1c0(%rsp), %rdi
movl 0x1bc(%rsp), %esi
shll $0x8, %esi
movl 0x1b8(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x199a0
movl 0x1dc(%rsp), %eax
movq 0x210(%rsp,%rax,8), %rax
movq %rax, 0x1a8(%rsp)
movq 0x1c0(%rsp), %rdi
callq 0x19990
movq %rax, 0x1a0(%rsp)
movq 0x1c0(%rsp), %rdi
callq 0x19e50
movq %rax, 0x198(%rsp)
leaq 0x178(%rsp), %rdi
callq 0x19e80
cmpq $0x0, 0x1a8(%rsp)
jne 0x1888c
movq 0xe758e(%rip), %rsi     # 0xffbf0
movq %rsp, %rax
movl $0x1, (%rax)
leaq 0x128(%rsp), %rdi
movl $0x9c72, %edx           # imm = 0x9C72
movl $0x1, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
callq 0x19ec0
jmp 0x1868b
movq 0xe7566(%rip), %rsi     # 0xffbf8
movq %rsp, %rax
movl $0x1, (%rax)
leaq 0x108(%rsp), %rdi
movl $0x9cf2, %edx           # imm = 0x9CF2
movl $0x1, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
callq 0x19ec0
jmp 0x186bb
leaq 0x148(%rsp), %rdi
leaq 0x128(%rsp), %rsi
leaq 0x108(%rsp), %rdx
callq 0x1a240
jmp 0x186da
leaq 0x158(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movl $0x78, %edx
callq 0x1a280
jmp 0x186f6
leaq 0x158(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x1a2c0
jmp 0x1870d
leaq 0x158(%rsp), %rdi
callq 0x1a320
leaq 0x148(%rsp), %rdi
callq 0x1a360
leaq 0x108(%rsp), %rdi
callq 0x1a320
leaq 0x128(%rsp), %rdi
callq 0x1a320
leaq 0x178(%rsp), %rdi
callq 0x1a3e0
movq %rax, 0x90(%rsp)
jmp 0x18758
movq 0x90(%rsp), %rax
movq %rax, 0x1a8(%rsp)
jmp 0x1888c
movq %rdx, %rcx
movq %rax, %rdx
movq 0x98(%rsp), %rax
movq %rdx, 0x1d0(%rsp)
movl %ecx, 0x1cc(%rsp)
leaq 0xe833f(%rip), %rcx     # 0x100ad0
cmpq %rax, %rcx
movq %rax, 0x88(%rsp)
je 0x187d3
movq 0x88(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x80(%rsp)
callq 0x15650
movq 0x80(%rsp), %rax
leaq 0xe830a(%rip), %rcx     # 0x100ad0
cmpq %rcx, %rax
movq %rax, 0x88(%rsp)
jne 0x1879e
leaq 0xe8376(%rip), %rdi     # 0x100b50
callq 0x5320
jmp 0x1907f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d0(%rsp)
movl %eax, 0x1cc(%rsp)
jmp 0x189c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d0(%rsp)
movl %eax, 0x1cc(%rsp)
jmp 0x1887a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d0(%rsp)
movl %eax, 0x1cc(%rsp)
jmp 0x1886d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d0(%rsp)
movl %eax, 0x1cc(%rsp)
jmp 0x18860
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d0(%rsp)
movl %eax, 0x1cc(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x1a320
leaq 0x148(%rsp), %rdi
callq 0x1a360
leaq 0x108(%rsp), %rdi
callq 0x1a320
leaq 0x128(%rsp), %rdi
callq 0x1a320
jmp 0x189c4
movq 0x1a8(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0x100(%rsp), %rax
cmpb $0x0, (%rax)
je 0x189b5
movq 0x100(%rsp), %rax
movsbl (%rax), %eax
subl 0x1b4(%rsp), %eax
subl $0x20, %eax
movl %eax, 0xfc(%rsp)
movl 0xfc(%rsp), %edx
xorl %eax, %eax
movl $0xff, %ecx
cmpl $0x0, %edx
cmovgel %ecx, %eax
movl %eax, 0xf8(%rsp)
cmpl $0x0, 0xfc(%rsp)
jl 0x188fb
movl 0xfc(%rsp), %eax
movl %eax, 0x7c(%rsp)
jmp 0x18908
xorl %eax, %eax
subl 0xfc(%rsp), %eax
movl %eax, 0x7c(%rsp)
movl 0x7c(%rsp), %eax
movl %eax, 0xf4(%rsp)
movq 0x1a0(%rsp), %rax
movslq 0xf4(%rsp), %rcx
addq %rcx, %rax
cmpq 0x198(%rsp), %rax
ja 0x1896e
movq 0x1a0(%rsp), %rdi
movl 0xf8(%rsp), %eax
movslq 0xf4(%rsp), %rdx
movzbl %al, %esi
callq 0x52a0
movl 0xf4(%rsp), %ecx
movq 0x1a0(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x1a0(%rsp)
jmp 0x1899a
movq 0x1a0(%rsp), %rdi
movl 0xf8(%rsp), %eax
movq 0x198(%rsp), %rdx
movq 0x1a0(%rsp), %rcx
subq %rcx, %rdx
movzbl %al, %esi
callq 0x52a0
jmp 0x189b5
jmp 0x1899c
movq 0x100(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x100(%rsp)
jmp 0x1889c
leaq 0x178(%rsp), %rdi
callq 0x1a320
jmp 0x189d6
leaq 0x178(%rsp), %rdi
callq 0x1a320
jmp 0x1907f
cmpb $0x0, 0xe8283(%rip)     # 0x100c60
jne 0x18a53
leaq 0xe827a(%rip), %rdi     # 0x100c60
callq 0x59d0
cmpl $0x0, %eax
je 0x18a53
leaq 0xe8169(%rip), %rax     # 0x100b60
movq %rax, 0x70(%rsp)
jmp 0x189fe
movq 0x70(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x15690
jmp 0x18a0f
movq 0x68(%rsp), %rax
addq $0x10, %rax
leaq 0xe8141(%rip), %rcx     # 0x100b60
addq $0x100, %rcx            # imm = 0x100
cmpq %rcx, %rax
movq %rax, 0x70(%rsp)
jne 0x189fe
leaq -0x12ec7(%rip), %rdi    # 0x5b70
xorl %eax, %eax
movl %eax, %esi
leaq 0xe7b36(%rip), %rdx     # 0x100578
callq 0x54a0
leaq 0xe8212(%rip), %rdi     # 0x100c60
callq 0x5340
movl $0xffffffff, 0xf0(%rsp) # imm = 0xFFFFFFFF
movl $0x0, 0xec(%rsp)
cmpl $0x10, 0xec(%rsp)
jge 0x18b83
movslq 0xec(%rsp), %rax
leaq 0xe80da(%rip), %rdi     # 0x100b60
shlq $0x4, %rax
addq %rax, %rdi
callq 0x15910
cmpq $0x0, %rax
je 0x18af6
movslq 0xec(%rsp), %rcx
leaq 0xe81c9(%rip), %rax     # 0x100c70
movb (%rax,%rcx), %al
andb $0x1, %al
movzbl %al, %eax
movb 0x23b(%rsp), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
jne 0x18b6b
movl 0x23c(%rsp), %eax
movl %eax, 0x64(%rsp)
movslq 0xec(%rsp), %rax
leaq 0xe8082(%rip), %rdi     # 0x100b60
shlq $0x4, %rax
addq %rax, %rdi
callq 0x15910
movq %rax, %rcx
movl 0x64(%rsp), %eax
cmpl 0x4(%rcx), %eax
jne 0x18b6b
movl 0xec(%rsp), %eax
movl %eax, 0xf0(%rsp)
jmp 0x18b83
movq %rdx, %rcx
movq %rax, %rdx
movq 0x68(%rsp), %rax
movq %rdx, 0x1d0(%rsp)
movl %ecx, 0x1cc(%rsp)
leaq 0xe8039(%rip), %rcx     # 0x100b60
cmpq %rax, %rcx
movq %rax, 0x58(%rsp)
je 0x18b5a
movq 0x58(%rsp), %rdi
addq $-0x10, %rdi
movq %rdi, 0x50(%rsp)
callq 0x18310
movq 0x50(%rsp), %rax
leaq 0xe8010(%rip), %rcx     # 0x100b60
cmpq %rcx, %rax
movq %rax, 0x58(%rsp)
jne 0x18b31
leaq 0xe80ff(%rip), %rdi     # 0x100c60
callq 0x5320
jmp 0x1907f
jmp 0x18b6d
movl 0xec(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xec(%rsp)
jmp 0x18a69
cmpl $-0x1, 0xf0(%rsp)
jne 0x18c00
leaq 0xe7fcc(%rip), %rdi     # 0x100b60
leaq 0xe7fd5(%rip), %rsi     # 0x100b70
movl $0xf0, %edx
callq 0x58c0
movq 0xe80c5(%rip), %rax     # 0x100c71
movl 0xe80c7(%rip), %ecx     # 0x100c79
movw 0xe80c4(%rip), %dx      # 0x100c7d
movb 0xe80bf(%rip), %sil     # 0x100c7f
movb %sil, 0xe80b7(%rip)     # 0x100c7e
movw %dx, 0xe80ae(%rip)      # 0x100c7c
movl %ecx, 0xe80a4(%rip)     # 0x100c78
movq %rax, 0xe8095(%rip)     # 0x100c70
movl $0xf, 0xf0(%rsp)
leaq 0xe7f73(%rip), %rdi     # 0x100b60
addq $0xf0, %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x52a0
movl 0xf0(%rsp), %eax
movl %eax, %ecx
leaq 0xe7f50(%rip), %rax     # 0x100b60
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
cmpq $0x0, %rax
jne 0x19053
cmpl $0x21, 0x23c(%rsp)
jae 0x18c4b
movl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x18c83
cmpl $0x35, 0x23c(%rsp)
jae 0x18c60
movl $0x2, %eax
movl %eax, 0x48(%rsp)
jmp 0x18c7b
movl 0x23c(%rsp), %edx
movl $0x4, %eax
movl $0x3, %ecx
cmpl $0x67, %edx
cmovbl %ecx, %eax
movl %eax, 0x48(%rsp)
movl 0x48(%rsp), %eax
movl %eax, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
movl %eax, 0xdc(%rsp)
movb 0x23b(%rsp), %dl
movl 0xf0(%rsp), %eax
leaq 0xe7fcd(%rip), %rcx     # 0x100c70
andb $0x1, %dl
movb %dl, (%rax,%rcx)
movq 0x1c0(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
movq %rdi, 0x40(%rsp)
movl $0x78, %edx
movl $0x100, %ecx            # imm = 0x100
callq 0x1a3f0
movq 0x40(%rsp), %rsi
movq 0xe0(%rsp), %rdi
callq 0x1bfc0
jmp 0x18ce1
leaq 0xc8(%rsp), %rdi
callq 0x18310
movl 0x23c(%rsp), %eax
movl %eax, 0x3c(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movq %rax, %rcx
movl 0x3c(%rsp), %eax
cmpl 0x4(%rcx), %eax
je 0x18e79
movl $0x0, 0xc4(%rsp)
movl 0xc4(%rsp), %eax
movq 0xe0(%rsp), %rcx
cmpl (%rcx), %eax
jge 0x18e77
movq 0xe0(%rsp), %rdi
callq 0x15910
movslq 0xc4(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, 0x28(%rsp)
movl $0x1, 0xc0(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movslq 0xc4(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
imull 0x23c(%rsp), %eax
movl %eax, 0x24(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movq %rax, %rcx
movl 0x24(%rsp), %eax
movslq 0xc4(%rsp), %rdx
shlq $0x5, %rdx
addq %rdx, %rcx
xorl %edx, %edx
divl 0x4(%rcx)
movl %eax, 0xbc(%rsp)
leaq 0xc0(%rsp), %rdi
leaq 0xbc(%rsp), %rsi
callq 0x15db0
movl %eax, 0x34(%rsp)
movl 0x23c(%rsp), %eax
movl %eax, 0x38(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movq 0x28(%rsp), %rdi
movl 0x34(%rsp), %esi
movl 0x38(%rsp), %edx
movl 0x4(%rax), %ecx
movl 0x23c(%rsp), %r8d
movl $0x5, %r9d
movl $0x2, %eax
cmpl %r8d, %ecx
cmoval %eax, %r9d
movl $0xffffff9c, %r8d       # imm = 0xFFFFFF9C
xorl %eax, %eax
xorps %xmm3, %xmm3
movl %r8d, %ecx
movl $0x0, (%rsp)
movaps %xmm3, %xmm0
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x15920
movl 0xc4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc4(%rsp)
jmp 0x18d21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d0(%rsp)
movl %eax, 0x1cc(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0x18310
jmp 0x1907f
jmp 0x18e79
testb $0x1, 0x23b(%rsp)
je 0x18e90
movq 0xe0(%rsp), %rdi
callq 0x1bff0
movl $0x0, 0xb8(%rsp)
movl 0xb8(%rsp), %eax
movq 0xe0(%rsp), %rcx
cmpl (%rcx), %eax
jge 0x18f41
movq 0xe0(%rsp), %rdi
callq 0x15910
movslq 0xb8(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, 0x18(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movq 0x18(%rsp), %rdi
movslq 0xb8(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
addl 0xdc(%rsp), %esi
movl $0xffffff9c, %edx       # imm = 0xFFFFFF9C
movl $0x1, %r8d
xorl %r9d, %r9d
movss 0xaf21d(%rip), %xmm0    # 0xc8130
xorps %xmm3, %xmm3
movl %r8d, %ecx
movl $0x0, (%rsp)
movaps %xmm3, %xmm1
movaps %xmm3, %xmm2
callq 0x15920
movl 0xb8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb8(%rsp)
jmp 0x18e9b
movq 0xe0(%rsp), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %edx, %edx
callq 0x1c060
movl $0x0, 0xb4(%rsp)
movq 0xe0(%rsp), %rcx
movl $0xff, %eax
cmpl (%rcx), %eax
jae 0x18f7c
movl $0xff, %eax
movl %eax, 0x14(%rsp)
jmp 0x18f8d
movq 0xe0(%rsp), %rax
movl (%rax), %eax
subl $0x1, %eax
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
movl %eax, 0xb0(%rsp)
movl 0xb4(%rsp), %eax
cmpl 0xb0(%rsp), %eax
jg 0x19051
movq 0xe0(%rsp), %rdi
callq 0x15910
movslq 0xb4(%rsp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movl 0xb4(%rsp), %ecx
addl $0x100, %ecx            # imm = 0x100
movslq %ecx, %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, 0x10(%rsp)
movq 0xe0(%rsp), %rdi
callq 0x15910
movq 0x8(%rsp), %rdi
movl 0x10(%rsp), %esi
movl 0xb4(%rsp), %ecx
addl $0x100, %ecx            # imm = 0x100
movslq %ecx, %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl 0x4(%rax), %edx
movl $0x1, %r9d
movl $0x3, %r8d
movl %r9d, %ecx
callq 0x1c150
movl 0xb4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb4(%rsp)
jmp 0x18f98
jmp 0x19053
movl $0xb, %edi
xorl %esi, %esi
callq 0x12d30
movq 0xe0(%rsp), %rax
movq %rax, 0x240(%rsp)
movq 0x240(%rsp), %rax
addq $0x248, %rsp            # imm = 0x248
retq
movq 0x1d0(%rsp), %rdi
callq 0x5970
nopl (%rax)