// File: /workspace/github_c_makefile_star2_O2/mcaimi[P]st/x.c
// Function: xinit
void
xinit(int w, int h)
{
  XGCValues gcvalues;
  Cursor cursor;
  Window parent, root;
  pid_t thispid = getpid();
  XColor xmousefg, xmousebg;

  xw.scr = XDefaultScreen(xw.dpy);
  xw.depth = (USE_ARGB) ? 32: XDefaultDepth(xw.dpy, xw.scr);
  if (!USE_ARGB)
    xw.vis = XDefaultVisual(xw.dpy, xw.scr);
  else {
    XVisualInfo *vis;
    XRenderPictFormat *fmt;
    int nvi;
    int i;

    XVisualInfo tpl = {
      .screen = xw.scr,
      .depth = 32,
      .class = TrueColor
    };

    vis = XGetVisualInfo(xw.dpy,
        VisualScreenMask | VisualDepthMask | VisualClassMask,
        &tpl, &nvi);
    xw.vis = NULL;
    for (i = 0; i < nvi; i++) {
      fmt = XRenderFindVisualFormat(xw.dpy, vis[i].visual);
      if (fmt->type == PictTypeDirect && fmt->direct.alphaMask) {
        xw.vis = vis[i].visual;
        break;
      }
    }

    XFree(vis);

    if (!xw.vis) {
      fprintf(stderr, "Couldn't find ARGB visual.\n");
      exit(1);
    }
  }

  /* font */
  if (!FcInit())
    die("could not init fontconfig.\n");

  usedfont = (opt_font == NULL)? font : opt_font;
  xloadfonts(usedfont, 0);
  xloadsparefonts();

  /* colors */
  if (!USE_ARGB)
    xw.cmap = XDefaultColormap(xw.dpy, xw.scr);
  else
    xw.cmap = XCreateColormap(xw.dpy, XRootWindow(xw.dpy, xw.scr),
        xw.vis, None);
  xloadcols();

  /* adjust fixed window geometry */
  switch (geometryMode) {
    case CellGeometry:
      win.w = 2 * win.dynborder_w + w * win.cw;
      win.h = 2 * win.dynborder_h + h * win.ch;
      break;
    case PixelGeometry:
      win.w = w;
      win.h = h;
      break;
  }

  if (xw.gm & XNegative)
    xw.l += DisplayWidth(xw.dpy, xw.scr) - win.w - 2;
  if (xw.gm & YNegative)
    xw.t += DisplayHeight(xw.dpy, xw.scr) - win.h - 2;

  /* Events */
  xw.attrs.background_pixel = dc.col[defaultbg].pixel;
  xw.attrs.border_pixel = dc.col[defaultbg].pixel;
  xw.attrs.bit_gravity = NorthWestGravity;
  xw.attrs.event_mask = FocusChangeMask | KeyPressMask | KeyReleaseMask
    | ExposureMask | VisibilityChangeMask | StructureNotifyMask
    | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
  xw.attrs.colormap = xw.cmap;

  root = XRootWindow(xw.dpy, xw.scr);
  if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0)))) 
    parent = root;
  xw.win = XCreateWindow(xw.dpy, root, xw.l, xw.t,
      win.w, win.h, 0, xw.depth, InputOutput,
      xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity
      | CWEventMask | CWColormap, &xw.attrs);

  if (parent != root)
    XReparentWindow(xw.dpy, xw.win, parent, xw.l, xw.t);

  snprintf(winid, LEN(winid), "%lu", (unsigned long)xw.win);

  memset(&gcvalues, 0, sizeof(gcvalues));
  gcvalues.graphics_exposures = False;
  xw.buf = XCreatePixmap(xw.dpy, xw.win, win.w, win.h, xw.depth);
  dc.gc = XCreateGC(xw.dpy, (USE_ARGB) ? xw.buf: parent,
      GCGraphicsExposures, &gcvalues);
  XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel);
  XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, win.w, win.h);

  /* font spec buffer */
  xw.specbuf = xmalloc(cols * sizeof(GlyphFontSpec));

  /* Xft rendering context */
  xw.draw = XftDrawCreate(xw.dpy, xw.buf, xw.vis, xw.cmap);

  /* input methods */
  if (!ximopen(xw.dpy)) {
    XRegisterIMInstantiateCallback(xw.dpy, NULL, NULL, NULL, ximinstantiate, NULL);
  }

  /* white cursor, black outline */
  cursor = XCreateFontCursor(xw.dpy, mouseshape);
  XDefineCursor(xw.dpy, xw.win, cursor);

  if (XParseColor(xw.dpy, xw.cmap, colorname[mousefg], &xmousefg) == 0) {
    xmousefg.red   = 0xffff;
    xmousefg.green = 0xffff;
    xmousefg.blue  = 0xffff;
  }

  if (XParseColor(xw.dpy, xw.cmap, colorname[mousebg], &xmousebg) == 0) {
    xmousebg.red   = 0x0000;
    xmousebg.green = 0x0000;
    xmousebg.blue  = 0x0000;
  }

  XRecolorCursor(xw.dpy, cursor, &xmousefg, &xmousebg);

  xw.xembed = XInternAtom(xw.dpy, "_XEMBED", False);
  xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False);
  xw.netwmname = XInternAtom(xw.dpy, "XA_WM_NAME", False);
  xw.netwmiconname = XInternAtom(xw.dpy, "_NET__WM_ICON_NAME", False);
  XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1);

  xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False);
  // get window properties status
  xw.window_state = XInternAtom(xw.dpy, "_NET_WM_STATE", False);
  // get window fullscreen status
  xw.window_fullscreen = XInternAtom(xw.dpy, "_NET_WM_STATE_FULLSCREEN", False);

  XChangeProperty(xw.dpy, xw.win, xw.netwmpid, XA_CARDINAL, 32,
      PropModeReplace, (uchar *)&thispid, 1);

  win.mode = MODE_NUMLOCK;
  resettitle();
  xhints();

  /* load icon */
  if (taskbaricon != 0)
    load_icon();

  XMapWindow(xw.dpy, xw.win);
  XSync(xw.dpy, False);

  clock_gettime(CLOCK_MONOTONIC, &xsel.tclick1);
  clock_gettime(CLOCK_MONOTONIC, &xsel.tclick2);
  xsel.primary = NULL;
  xsel.clipboard = NULL;
  xsel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0);
  if (xsel.xtarget == None)
    xsel.xtarget = XA_STRING;

  boxdraw_xinit(xw.dpy, xw.cmap, xw.draw, xw.vis);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movl %esi, %ebx
movl %edi, %r14d
callq 0x62b0
movl %eax, 0xc(%rsp)
movq 0x12d51(%rip), %rdi     # 0x20bc8
callq 0x64d0
movl %eax, 0x12e66(%rip)     # 0x20ce8
cmpl $0xff, 0xf718(%rip)     # 0x1d5a4
je 0xdea4
cmpq $0x0, 0x12e6a(%rip)     # 0x20d00
jne 0xdea4
movl $0x20, 0x12e4e(%rip)    # 0x20cf0
jmp 0xded8
movq 0x12d1d(%rip), %rdi     # 0x20bc8
movl %eax, %esi
callq 0x6880
movq 0x12e47(%rip), %rcx     # 0x20d00
cmpl $0xff, 0xf6e1(%rip)     # 0x1d5a4
movl %eax, 0x12e27(%rip)     # 0x20cf0
je 0xdf5b
testq %rcx, %rcx
jne 0xdf5b
xorps %xmm0, %xmm0
leaq 0x30(%rsp), %rdx
movaps %xmm0, 0x10(%rdx)
movaps %xmm0, 0x30(%rdx)
movaps %xmm0, 0x20(%rdx)
movaps %xmm0, (%rdx)
movl 0x12df3(%rip), %eax     # 0x20ce8
movl %eax, 0x10(%rdx)
movabsq $0x400000020, %rax      # imm = 0x400000020
movq %rax, 0x14(%rdx)
movq 0x12cbb(%rip), %rdi     # 0x20bc8
pushq $0xe
popq %rsi
leaq 0x10(%rsp), %rcx
callq 0x6850
andq $0x0, 0x12d4e(%rip)     # 0x20c70
movq %rax, %r15
xorl %r12d, %r12d
movq %rax, %r13
movslq 0x10(%rsp), %rax
cmpq %rax, %r12
jge 0xdf81
movq 0x12c8c(%rip), %rdi     # 0x20bc8
movq (%r13), %rsi
callq 0x6050
cmpl $0x1, 0x8(%rax)
jne 0xdf52
cmpw $0x0, 0x1e(%rax)
jne 0xdf76
incq %r12
addq $0x40, %r13
jmp 0xdf2b
movq 0x12c66(%rip), %rdi     # 0x20bc8
movl 0x12d80(%rip), %esi     # 0x20ce8
callq 0x62d0
movq %rax, 0x12cfc(%rip)     # 0x20c70
jmp 0xdf97
movq (%r13), %rax
movq %rax, 0x12cef(%rip)     # 0x20c70
movq %r15, %rdi
callq 0x60a0
cmpq $0x0, 0x12cdf(%rip)     # 0x20c70
je 0xe652
callq 0x6a00
testl %eax, %eax
jne 0xdfae
leaq 0x82d1(%rip), %rdi      # 0x16278
xorl %eax, %eax
callq 0x6c0a
movq 0x12e03(%rip), %rdi     # 0x20db8
testq %rdi, %rdi
jne 0xdfc1
movq 0xf5ff(%rip), %rdi      # 0x1d5c0
movq %rdi, 0x12de0(%rip)     # 0x20da8
xorps %xmm0, %xmm0
callq 0xd11d
callq 0xe8e4
cmpl $0xff, 0xf5c5(%rip)     # 0x1d5a4
movq 0x12be2(%rip), %r15     # 0x20bc8
movl 0x12cfc(%rip), %esi     # 0x20ce8
je 0xe016
cmpq $0x0, 0x12d0a(%rip)     # 0x20d00
jne 0xe016
movq %r15, %rdi
callq 0x62e0
movq 0x12c69(%rip), %rdx     # 0x20c70
movq %r15, %rdi
movq %rax, %rsi
xorl %ecx, %ecx
callq 0x6290
jmp 0xe01e
movq %r15, %rdi
callq 0x65f0
movq %rax, 0x12bab(%rip)     # 0x20bd0
callq 0xb4d8
cmpb $0x0, 0x12d8f(%rip)     # 0x20dc0
jne 0xe055
movl 0x12ceb(%rip), %eax     # 0x20d24
imull 0x12ceb(%rip), %r14d    # 0x20d2c
leal (%r14,%rax,2), %r14d
movl 0x12cd5(%rip), %eax     # 0x20d20
imull 0x12cd6(%rip), %ebx     # 0x20d28
leal (%rbx,%rax,2), %ebx
movl %r14d, 0x12cbc(%rip)    # 0x20d18
movl %ebx, 0x12cba(%rip)     # 0x20d1c
movl 0x12c94(%rip), %eax     # 0x20cfc
movq 0x12b59(%rip), %rdi     # 0x20bc8
movslq 0x12c72(%rip), %rsi     # 0x20ce8
testb $0x10, %al
je 0xe0a0
movq 0xe8(%rdi), %rcx
movq %rsi, %rdx
shlq $0x7, %rdx
movl 0x18(%rcx,%rdx), %ecx
movl 0x12c62(%rip), %edx     # 0x20cf4
subl %r14d, %ecx
addl %edx, %ecx
addl $-0x2, %ecx
movl %ecx, 0x12c54(%rip)     # 0x20cf4
testb $0x20, %al
je 0xe0c9
movq 0xe8(%rdi), %rax
movq %rsi, %rcx
shlq $0x7, %rcx
movl 0x1c(%rax,%rcx), %eax
movl 0x12c3c(%rip), %ecx     # 0x20cf8
subl %ebx, %eax
addl %ecx, %eax
addl $-0x2, %eax
movl %eax, 0x12c2f(%rip)     # 0x20cf8
movq 0x12a00(%rip), %rax     # 0x20ad0
movl 0xf4d6(%rip), %ecx      # 0x1d5ac
shlq $0x4, %rcx
movq (%rax,%rcx), %rax
movq %rax, 0x12b9b(%rip)     # 0x20c80
movq %rax, 0x12ba4(%rip)     # 0x20c90
movl $0x1, 0x12ba2(%rip)     # 0x20c98
movq $0x23a00f, 0x12bbf(%rip) # imm = 0x23A00F
movq 0x12ac8(%rip), %rax     # 0x20bd0
movq %rax, 0x12bc9(%rip)     # 0x20cd8
callq 0x62e0
movq %rax, %rbx
movq 0x12be2(%rip), %rdi     # 0x20d00
testq %rdi, %rdi
je 0xe134
xorl %esi, %esi
xorl %edx, %edx
callq 0x6510
movq %rax, %r14
testq %rax, %rax
jne 0xe137
movq %rbx, %r14
movq 0x12a8a(%rip), %rdi     # 0x20bc8
movl 0x12bb0(%rip), %edx     # 0x20cf4
movl 0x12bae(%rip), %ecx     # 0x20cf8
movl 0x12bc7(%rip), %r8d     # 0x20d18
movl 0x12bc4(%rip), %r9d     # 0x20d1c
movl 0x12b92(%rip), %eax     # 0x20cf0
leaq 0x12b13(%rip), %r10     # 0x20c78
movq %rbx, %rsi
pushq %r10
pushq $0x281a                 # imm = 0x281A
pushq 0x12afb(%rip)           # 0x20c70
pushq $0x1
pushq %rax
pushq $0x0
callq 0x6270
addq $0x30, %rsp
movq %rax, 0x12a4e(%rip)     # 0x20bd8
cmpq %rbx, %r14
je 0xe1b5
movq 0x12a32(%rip), %rdi     # 0x20bc8
movl 0x12b58(%rip), %ecx     # 0x20cf4
movl 0x12b55(%rip), %r8d     # 0x20cf8
movq %rax, %rsi
movq %r14, %rdx
callq 0x6940
movq 0x12a23(%rip), %rax     # 0x20bd8
leaq 0x12c94(%rip), %rdi     # 0x20e50
leaq 0x80d1(%rip), %rdx      # 0x16294
pushq $0x40
popq %rbx
movq %rbx, %rsi
movq %rax, %rcx
xorl %eax, %eax
callq 0x60d0
xorps %xmm0, %xmm0
leaq 0x30(%rsp), %r15
movaps %xmm0, (%r15)
movaps %xmm0, 0x10(%r15)
movaps %xmm0, 0x20(%r15)
movaps %xmm0, 0x30(%r15)
movaps %xmm0, 0x40(%r15)
movaps %xmm0, 0x50(%r15)
movaps %xmm0, 0x60(%r15)
movaps %xmm0, 0x70(%r15)
movq 0x129bf(%rip), %rdi     # 0x20bc8
movq 0x129c8(%rip), %rsi     # 0x20bd8
movl 0x12b02(%rip), %edx     # 0x20d18
movl 0x12b00(%rip), %ecx     # 0x20d1c
movl 0x12acd(%rip), %r8d     # 0x20cf0
callq 0x6960
movq %rax, 0x129b1(%rip)     # 0x20be0
movq 0x12992(%rip), %rdi     # 0x20bc8
cmpq $0x0, 0x12ac2(%rip)     # 0x20d00
cmovneq %r14, %rax
cmpl $0xff, 0xf358(%rip)     # 0x1d5a4
cmovneq %rax, %r14
movl $0x10000, %edx          # imm = 0x10000
movq %r14, %rsi
movq %r15, %rcx
callq 0x65b0
movq %rax, 0x12959(%rip)     # 0x20bc0
movq 0x1295a(%rip), %rdi     # 0x20bc8
movq 0x1285b(%rip), %rcx     # 0x20ad0
movl 0xf331(%rip), %edx      # 0x1d5ac
shlq $0x4, %rdx
movq (%rcx,%rdx), %rdx
movq %rax, %rsi
callq 0x63f0
movq 0x12936(%rip), %rdi     # 0x20bc8
movq 0x12947(%rip), %rsi     # 0x20be0
movq 0x12920(%rip), %rdx     # 0x20bc0
movl 0x12a71(%rip), %r9d     # 0x20d18
movl 0x12a6f(%rip), %eax     # 0x20d1c
subq $0x8, %rsp
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0x6400
popq %rcx
popq %rdx
movl 0xfb40(%rip), %edi      # 0x1de04
shlq $0x4, %rdi
callq 0x6be0
movq %rax, 0x12914(%rip)     # 0x20be8
movq 0x128ed(%rip), %rdi     # 0x20bc8
movq 0x128fe(%rip), %rsi     # 0x20be0
movq 0x12987(%rip), %rdx     # 0x20c70
movq 0x128e0(%rip), %rcx     # 0x20bd0
callq 0x6980
movq %rax, 0x1296c(%rip)     # 0x20c68
callq 0xeb78
testl %eax, %eax
jne 0xe321
movq 0x128bc(%rip), %rdi     # 0x20bc8
leaq 0x981(%rip), %r8        # 0xec94
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x6350
movq 0x128a0(%rip), %rdi     # 0x20bc8
movl $0x98, %esi
callq 0x6090
movq %rax, %r14
movq 0x1288c(%rip), %rdi     # 0x20bc8
movq 0x12895(%rip), %rsi     # 0x20bd8
movq %rax, %rdx
callq 0x67c0
movq 0x12876(%rip), %rdi     # 0x20bc8
movq 0x12877(%rip), %rsi     # 0x20bd0
movq 0xf2a8(%rip), %rdx      # 0x1d608
leaq 0x10(%rsp), %rcx
callq 0x6770
testl %eax, %eax
jne 0xe379
orl $-0x1, 0x18(%rsp)
orw $-0x1, 0x1c(%rsp)
movq 0x12848(%rip), %rdi     # 0x20bc8
movq 0x12849(%rip), %rsi     # 0x20bd0
movq 0xf242(%rip), %rdx      # 0x1d5d0
leaq 0x20(%rsp), %rcx
callq 0x6770
testl %eax, %eax
jne 0xe3a7
andl $0x0, 0x28(%rsp)
andw $0x0, 0x2c(%rsp)
movq 0x1281a(%rip), %rdi     # 0x20bc8
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %rcx
movq %r14, %rsi
callq 0x6300
movq 0x12801(%rip), %rdi     # 0x20bc8
leaq 0x7eca(%rip), %rsi      # 0x16298
xorl %edx, %edx
callq 0x6800
movq %rax, 0x12814(%rip)     # 0x20bf0
movq 0x127e5(%rip), %rdi     # 0x20bc8
leaq 0x7eb6(%rip), %rsi      # 0x162a0
xorl %edx, %edx
callq 0x6800
movq %rax, 0x12800(%rip)     # 0x20bf8
leaq 0x127f9(%rip), %r14     # 0x20bf8
movq 0x127c2(%rip), %rdi     # 0x20bc8
leaq 0x7ea4(%rip), %rsi      # 0x162b1
xorl %edx, %edx
callq 0x6800
movq %rax, 0x127e5(%rip)     # 0x20c00
movq 0x127a6(%rip), %rdi     # 0x20bc8
leaq 0x7e93(%rip), %rsi      # 0x162bc
xorl %edx, %edx
callq 0x6800
movq %rax, 0x127d1(%rip)     # 0x20c08
movq 0x1278a(%rip), %rdi     # 0x20bc8
movq 0x12793(%rip), %rsi     # 0x20bd8
pushq $0x1
popq %rcx
movq %r14, %rdx
callq 0x6470
movq 0x12771(%rip), %rdi     # 0x20bc8
leaq 0x7e71(%rip), %rsi      # 0x162cf
xorl %edx, %edx
callq 0x6800
movq %rax, 0x127a4(%rip)     # 0x20c10
movq 0x12755(%rip), %rdi     # 0x20bc8
leaq 0x7e61(%rip), %rsi      # 0x162db
xorl %edx, %edx
callq 0x6800
movq %rax, 0x12798(%rip)     # 0x20c20
movq 0x12739(%rip), %rdi     # 0x20bc8
leaq 0x7e53(%rip), %rsi      # 0x162e9
xorl %edx, %edx
callq 0x6800
movq %rax, 0x12774(%rip)     # 0x20c18
movq 0x1271d(%rip), %rdi     # 0x20bc8
movq 0x12726(%rip), %rsi     # 0x20bd8
movq 0x12757(%rip), %rdx     # 0x20c10
leaq 0xc(%rsp), %rax
pushq $0x6
popq %rcx
pushq $0x20
popq %r8
xorl %r9d, %r9d
pushq $0x1
pushq %rax
callq 0x68a0
popq %rcx
popq %rdx
movl $0x20000, 0x12858(%rip) # imm = 0x20000
callq 0x8a9d
callq 0xecbd
cmpl $0x0, 0x125cb(%rip)     # 0x20ab8
je 0xe5af
movq 0x126ce(%rip), %rdi     # 0x20bc8
leaq 0x7f19(%rip), %rsi      # 0x1641a
xorl %edx, %edx
callq 0x6800
movq %rax, 0x12729(%rip)     # 0x20c38
movq 0x126b2(%rip), %rdi     # 0x20bc8
leaq 0x7f0a(%rip), %rsi      # 0x16427
xorl %edx, %edx
callq 0x6800
movq %rax, %r14
movq %rax, 0x12712(%rip)     # 0x20c40
movq 0x12693(%rip), %r15     # 0x20bc8
movq 0x1269c(%rip), %r12     # 0x20bd8
movq 0x126f5(%rip), %r13     # 0x20c38
pushq $0x1
popq %rdi
movl $0x8010, %esi           # imm = 0x8010
callq 0x67e0
movq %rax, %rbp
movq %rbx, (%rax)
movq %rbx, 0x8(%rax)
leaq 0x7ecf(%rip), %rdi      # 0x16430
pushq $0x40
popq %rdx
pushq $0x20
popq %rcx
movl %edx, %esi
xorl %eax, %eax
callq 0x60b0
pushq $0x3
popq %rax
leaq 0x36aa(%rip), %rcx      # 0x11c24
cmpq $0x1003, %rax           # imm = 0x1003
je 0xe58f
movl (%rcx,%rax,4), %edx
movq %rdx, -0x8(%rbp,%rax,8)
incq %rax
jmp 0xe57a
pushq $0x20
popq %r8
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
movq %r14, %rcx
xorl %r9d, %r9d
pushq $0x1002                 # imm = 0x1002
pushq %rbp
callq 0x68a0
popq %rcx
popq %rdx
movq 0x12612(%rip), %rdi     # 0x20bc8
movq 0x1261b(%rip), %rsi     # 0x20bd8
callq 0x6530
movq 0x125ff(%rip), %rdi     # 0x20bc8
xorl %esi, %esi
callq 0x6690
leaq 0x12829(%rip), %rsi     # 0x20e00
pushq $0x1
popq %rbx
movl %ebx, %edi
callq 0x6150
leaq 0x12828(%rip), %rsi     # 0x20e10
movl %ebx, %edi
callq 0x6150
xorps %xmm0, %xmm0
movups %xmm0, 0x127f7(%rip)    # 0x20df0
movq 0x125c8(%rip), %rdi     # 0x20bc8
leaq 0x7cfb(%rip), %rsi      # 0x16302
xorl %edx, %edx
callq 0x6800
testq %rax, %rax
pushq $0x1f
popq %rcx
cmovneq %rax, %rcx
movq %rcx, 0x127c9(%rip)     # 0x20de8
movq 0x125a2(%rip), %rdi     # 0x20bc8
movq 0x125a3(%rip), %rsi     # 0x20bd0
movq 0x12634(%rip), %rdx     # 0x20c68
movq 0x12635(%rip), %rcx     # 0x20c70
callq 0xfc0c
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0xe997(%rip), %rax      # 0x1cff0
movq (%rax), %rcx
leaq 0x7bf9(%rip), %rdi      # 0x1625c
pushq $0x1b
popq %rsi
pushq $0x1
popq %rdx
callq 0x6900
pushq $0x1
popq %rdi
callq 0x61b0