// File: /workspace/github_c_makefile_star2_O0/NedFreed[P]msglint/msglint.c
// Function: wprintf
static void wprintf(dbinfo *db, const char *dt, const char *fmt, ...)
{
    static const char *lastfmt = NULL;
    static int numfmt = 0;
    const char *str;
    msgtoken *mtok = NULL;
    va_list pvar;
    char wbuf[256], pat[3], tmpstr[256], c;
    int indent, pad, pos, len, num, wused = 0;

    va_start(pvar, fmt);

    /* exit on silent mode, or too many repeats of previous error */
    if (silent || (lastfmt == fmt && ++numfmt > 2)) {
	va_end(pvar);
	return;
    }

    /* handle duplicate message suppression */
    if (lastfmt != fmt) {
	if (numfmt > 2) {
	    num = numfmt - 2;
	    numfmt = 0;
	    wprintf(NULL, w_warn,
		    "suppressed %d duplicate%s of previous WARNING",
		    num, num == 1 ? "" : "s");
	}
	lastfmt = dt == w_warn ? fmt : NULL;
	numfmt = 0;
    }

    /* do prefix */
    indent = pos = strlen(dt);
    fprintf(outfile, "%s", dt);

    /* loop between formatting characters */
    while (*fmt != '\0') {
	str = fmt;
	while (*fmt != '\0' && *fmt != '%')  ++fmt;
	wordwrap(str, fmt - str, indent, &pos, wbuf, sizeof (wbuf), &wused);
	if (*fmt == '\0') break;
	len = 0;
	pad = 0;
	switch (*++fmt) {
	  case '0': case '1': case '2': case '3': case '4':
	  case '5': case '6': case '7': case '8': case '9':
	    str = fmt - 1;
	    while (isdigit(*fmt)) {
		pad = pad * 10 + (*fmt - '0');
		++fmt;
	    }
	    len = fmt - str + 1;
	    if (*fmt != 's') break;
	    /* fall through */
	  case 's':
	    str = va_arg(pvar, char *);
	    len = strlen(str);
	    break;
	  case 'd':
	  case 'u':
	  case 'o':
	  case 'x':
	    num = va_arg(pvar, int);
	    pat[0] = '%';
	    pat[1] = *fmt;
	    pat[2] = '\0';
	    sprintf(tmpstr, pat, num);
	    len = strlen(tmpstr);
	    str = tmpstr;
	    break;
	  case 'm':
	    str = va_arg(pvar, char *);
	    for (len = 0; len < 16; ++len) {
		tmpstr[len*2]   = hexchars[(*(unsigned char *)(str+len))>>4];
		tmpstr[len*2+1] = hexchars[(*(unsigned char *)(str+len))&0xf];
	    }
	    str = tmpstr;
	    len = 32;
	    break;
	  case 'c':
	    c = va_arg(pvar, int);
	    if (c >= 0x20 && c < 0x7f) {
		sprintf(tmpstr, "'%c'", c);
	    } else if ((unsigned char) c < 0x20) {
		sprintf(tmpstr, "^%c", c + '@');
	    } else if (c == 0x7f) {
		strcpy(tmpstr, "^?");
	    } else {
		sprintf(tmpstr, "0%o, 0x%02x",
			(int) (unsigned char) c,
			(int) (unsigned char) c);
	    }
	    str = tmpstr;
	    len = strlen(tmpstr);
	    break;
	  case 't':
	  case 'T':
	    mtok = va_arg(pvar, msgtoken *);
	    if (mtok == NULL) {
		len = 0;
	    } else {
		len = mtok->len;
		str = mtok->data;
		if (*fmt == 'T') {
		    wordwrap("token '", 7, indent, &pos, wbuf, sizeof (wbuf),
			     &wused);
		}
	    }
	    break;
	  case '.':
	    if (fmt[1] == '*' && fmt[2] == 's') {
		len = va_arg(pvar, int);
		str = va_arg(pvar, char *);
		fmt += 2;
		break;
	    }
	    /* fall through */
	  default:
	    len = 2;
	    str = fmt - 1;
	    break;
	}
	if (pad) {
	    wordwrap(pad_str, pad - len, indent, &pos, wbuf, sizeof (wbuf),
		     &wused);
	}
	if (len) {
	    wordwrap(str, len, indent, &pos, wbuf, sizeof (wbuf), &wused);
	}
	if (*fmt == 'T' && mtok != NULL) {
	    wordwrap("'", 1, indent, &pos, wbuf, sizeof (wbuf), &wused);
	}
	++fmt;
    }

    /* handle debugging suffix */
    if (db != NULL) {
	str = (fmt[-1] == ' ') ? "" : " in ";
	if (db->headlen) {
	    sprintf(tmpstr, "%s%sheader '%.*s' at line", str,
		    db->flags & DB_INDATE ? "quoted date in " :
		    db->flags & DB_INTYPE ? "type parameter in " : "",
		    db->headlen, db->headname);
	} else {
	    sprintf(tmpstr, " at line");
	}
	len = strlen(tmpstr);
	if (db->endline > db->startline) {
	    sprintf(tmpstr + len, "s %d-%d", db->startline, db->endline);
	} else {
	    sprintf(tmpstr + len, " %d", db->endline);
	}
	len += strlen(tmpstr + len);
	wordwrap(tmpstr, len, indent, &pos, wbuf, sizeof (wbuf), &wused);
    }

    /* flush word buffer */
    wordwrap(NULL, 0, indent, &pos, wbuf, sizeof (wbuf), &wused);

    va_end(pvar);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x400, %rsp            # imm = 0x400
testb %al, %al
je 0x2e97
movaps %xmm0, -0x2f0(%rbp)
movaps %xmm1, -0x2e0(%rbp)
movaps %xmm2, -0x2d0(%rbp)
movaps %xmm3, -0x2c0(%rbp)
movaps %xmm4, -0x2b0(%rbp)
movaps %xmm5, -0x2a0(%rbp)
movaps %xmm6, -0x290(%rbp)
movaps %xmm7, -0x280(%rbp)
movq %r9, -0x2f8(%rbp)
movq %r8, -0x300(%rbp)
movq %rcx, -0x308(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x26c(%rbp)
leaq -0x40(%rbp), %rax
leaq -0x320(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq 0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x30, 0x4(%rax)
movl $0x18, (%rax)
cmpl $0x0, 0x11df3(%rip)     # 0x14ce8
jne 0x2f18
movq 0x12012(%rip), %rax     # 0x14f10
cmpq -0x18(%rbp), %rax
jne 0x2f21
movl 0x1200e(%rip), %eax     # 0x14f18
addl $0x1, %eax
movl %eax, 0x12005(%rip)     # 0x14f18
cmpl $0x2, %eax
jle 0x2f21
leaq -0x40(%rbp), %rax
jmp 0x3997
movq 0x11fe8(%rip), %rax     # 0x14f10
cmpq -0x18(%rbp), %rax
je 0x2fcb
cmpl $0x2, 0x11fdf(%rip)     # 0x14f18
jle 0x2f8e
movl 0x11fd7(%rip), %eax     # 0x14f18
subl $0x2, %eax
movl %eax, -0x268(%rbp)
movl $0x0, 0x11fc4(%rip)     # 0x14f18
movl -0x268(%rbp), %ecx
movl -0x268(%rbp), %edx
leaq 0xe9b1(%rip), %r8       # 0x11918
leaq 0xd8ec(%rip), %rax      # 0x1085a
cmpl $0x1, %edx
cmoveq %rax, %r8
xorl %eax, %eax
movl %eax, %edi
leaq 0xc3f1(%rip), %rsi      # 0xf371
leaq 0xd82e(%rip), %rdx      # 0x107b5
movb $0x0, %al
callq 0x2e50
leaq 0xc3dc(%rip), %rax      # 0xf371
cmpq %rax, -0x10(%rbp)
jne 0x2fa8
movq -0x18(%rbp), %rax
movq %rax, -0x328(%rbp)
jmp 0x2fb3
xorl %eax, %eax
movq %rax, -0x328(%rbp)
jmp 0x2fb3
movq -0x328(%rbp), %rax
movq %rax, 0x11f4f(%rip)     # 0x14f10
movl $0x0, 0x11f4d(%rip)     # 0x14f18
movq -0x10(%rbp), %rdi
callq 0x20b0
movl %eax, -0x260(%rbp)
movl %eax, -0x258(%rbp)
movq 0x11d21(%rip), %rdi     # 0x14d08
movq -0x10(%rbp), %rdx
leaq 0xe925(%rip), %rsi      # 0x11917
movb $0x0, %al
callq 0x2100
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x37ab
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x329(%rbp)
je 0x3038
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x25, %eax
setne %al
movb %al, -0x329(%rbp)
movb -0x329(%rbp), %al
testb $0x1, %al
jne 0x3044
jmp 0x3052
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x3011
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
movl %eax, %esi
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x309e
jmp 0x37ab
movl $0x0, -0x264(%rbp)
movl $0x0, -0x25c(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, -0x18(%rbp)
movsbl 0x1(%rax), %eax
addl $-0x2e, %eax
movl %eax, %ecx
movq %rcx, -0x338(%rbp)
subl $0x4a, %eax
ja 0x36b8
movq -0x338(%rbp), %rax
leaq 0xb035(%rip), %rcx      # 0xe11c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x20(%rbp)
callq 0x21d0
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x3143
imull $0xa, -0x25c(%rbp), %eax
movq -0x18(%rbp), %rcx
movsbl (%rcx), %ecx
subl $0x30, %ecx
addl %ecx, %eax
movl %eax, -0x25c(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x30fc
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
addq $0x1, %rax
movl %eax, -0x264(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x73, %eax
je 0x3169
jmp 0x36ce
jmp 0x316b
leaq -0x40(%rbp), %rax
movq %rax, -0x348(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x33c(%rbp)
cmpl $0x28, %eax
ja 0x31a6
movq -0x348(%rbp), %rcx
movl -0x33c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x350(%rbp)
jmp 0x31c3
movq -0x348(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x350(%rbp)
movq -0x350(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x20b0
movl %eax, -0x264(%rbp)
jmp 0x36ce
leaq -0x40(%rbp), %rax
movq %rax, -0x360(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x354(%rbp)
cmpl $0x28, %eax
ja 0x3220
movq -0x360(%rbp), %rcx
movl -0x354(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x368(%rbp)
jmp 0x323d
movq -0x360(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x368(%rbp)
movq -0x368(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x268(%rbp)
movb $0x25, -0x143(%rbp)
movq -0x18(%rbp), %rax
movb (%rax), %al
movb %al, -0x142(%rbp)
movb $0x0, -0x141(%rbp)
leaq -0x250(%rbp), %rdi
leaq -0x143(%rbp), %rsi
movl -0x268(%rbp), %edx
movb $0x0, %al
callq 0x21b0
leaq -0x250(%rbp), %rdi
callq 0x20b0
movl %eax, -0x264(%rbp)
leaq -0x250(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x36ce
leaq -0x40(%rbp), %rax
movq %rax, -0x378(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x36c(%rbp)
cmpl $0x28, %eax
ja 0x32de
movq -0x378(%rbp), %rcx
movl -0x36c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x380(%rbp)
jmp 0x32fb
movq -0x378(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movl $0x0, -0x264(%rbp)
cmpl $0x10, -0x264(%rbp)
jge 0x3390
movq -0x20(%rbp), %rax
movslq -0x264(%rbp), %rcx
movzbl (%rax,%rcx), %eax
sarl $0x4, %eax
movslq %eax, %rcx
leaq 0xc028(%rip), %rax      # 0xf360
movb (%rax,%rcx), %cl
movl -0x264(%rbp), %eax
shll %eax
cltq
movb %cl, -0x250(%rbp,%rax)
movq -0x20(%rbp), %rax
movslq -0x264(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0xf, %eax
movslq %eax, %rcx
leaq 0xbff8(%rip), %rax      # 0xf360
movb (%rax,%rcx), %cl
movl -0x264(%rbp), %eax
shll %eax
addl $0x1, %eax
cltq
movb %cl, -0x250(%rbp,%rax)
movl -0x264(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x264(%rbp)
jmp 0x3313
leaq -0x250(%rbp), %rax
movq %rax, -0x20(%rbp)
movl $0x20, -0x264(%rbp)
jmp 0x36ce
leaq -0x40(%rbp), %rax
movq %rax, -0x390(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x384(%rbp)
cmpl $0x28, %eax
ja 0x33e5
movq -0x390(%rbp), %rcx
movl -0x384(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x398(%rbp)
jmp 0x3402
movq -0x390(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x398(%rbp)
movq -0x398(%rbp), %rax
movl (%rax), %eax
movb %al, -0x251(%rbp)
movsbl -0x251(%rbp), %eax
cmpl $0x20, %eax
jl 0x3447
movsbl -0x251(%rbp), %eax
cmpl $0x7f, %eax
jge 0x3447
leaq -0x250(%rbp), %rdi
movsbl -0x251(%rbp), %edx
leaq 0xd3a5(%rip), %rsi      # 0x107e3
movb $0x0, %al
callq 0x21b0
jmp 0x34bc
movzbl -0x251(%rbp), %eax
cmpl $0x20, %eax
jge 0x3474
leaq -0x250(%rbp), %rdi
movsbl -0x251(%rbp), %edx
addl $0x40, %edx
leaq 0xd37d(%rip), %rsi      # 0x107e8
movb $0x0, %al
callq 0x21b0
jmp 0x34ba
movsbl -0x251(%rbp), %eax
cmpl $0x7f, %eax
jne 0x3495
leaq -0x250(%rbp), %rdi
leaq 0xd35e(%rip), %rsi      # 0x107ec
callq 0x2070
jmp 0x34b8
leaq -0x250(%rbp), %rdi
movzbl -0x251(%rbp), %edx
movzbl -0x251(%rbp), %ecx
leaq 0xd33e(%rip), %rsi      # 0x107ef
movb $0x0, %al
callq 0x21b0
jmp 0x34ba
jmp 0x34bc
leaq -0x250(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x20b0
movl %eax, -0x264(%rbp)
jmp 0x36ce
leaq -0x40(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x39c(%rbp)
cmpl $0x28, %eax
ja 0x3519
movq -0x3a8(%rbp), %rcx
movl -0x39c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x3b0(%rbp)
jmp 0x3536
movq -0x3a8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x3b0(%rbp)
movq -0x3b0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x3557
movl $0x0, -0x264(%rbp)
jmp 0x35b4
movq -0x28(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x264(%rbp)
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x54, %eax
jne 0x35b2
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
leaq 0xd26b(%rip), %rdi      # 0x107fb
movl $0x7, %esi
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
jmp 0x35b4
jmp 0x36ce
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2a, %eax
jne 0x36b6
movq -0x18(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x73, %eax
jne 0x36b6
leaq -0x40(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3b4(%rbp)
cmpl $0x28, %eax
ja 0x3616
movq -0x3c0(%rbp), %rcx
movl -0x3b4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x3c8(%rbp)
jmp 0x3633
movq -0x3c0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x264(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3cc(%rbp)
cmpl $0x28, %eax
ja 0x367d
movq -0x3d8(%rbp), %rcx
movl -0x3cc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x3e0(%rbp)
jmp 0x369a
movq -0x3d8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x3e0(%rbp)
movq -0x3e0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0x36ce
jmp 0x36b8
movl $0x2, -0x264(%rbp)
movq -0x18(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x25c(%rbp)
je 0x3714
movl -0x25c(%rbp), %esi
subl -0x264(%rbp), %esi
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
leaq 0xbc89(%rip), %rdi      # 0xf380
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
cmpl $0x0, -0x264(%rbp)
je 0x3751
movq -0x20(%rbp), %rdi
movl -0x264(%rbp), %esi
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x54, %eax
jne 0x379a
cmpq $0x0, -0x28(%rbp)
je 0x379a
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
leaq 0xd089(%rip), %rdi      # 0x10801
movl $0x1, %esi
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x2ff9
cmpq $0x0, -0x8(%rbp)
je 0x3963
movq -0x18(%rbp), %rax
movsbl -0x1(%rax), %edx
leaq 0xd063(%rip), %rax      # 0x10828
leaq 0xd08e(%rip), %rcx      # 0x1085a
cmpl $0x20, %edx
cmoveq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x10(%rax)
je 0x3877
leaq -0x250(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq -0x8(%rbp), %rax
movl 0x14(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x381d
leaq 0xd009(%rip), %rax      # 0x1081d
movq %rax, -0x3f8(%rbp)
jmp 0x3843
movq -0x8(%rbp), %rax
movl 0x14(%rax), %edx
andl $0x2, %edx
leaq 0xd02c(%rip), %rax      # 0x1085a
leaq 0xcff8(%rip), %rcx      # 0x1082d
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x3f8(%rbp)
movq -0x3e8(%rbp), %rdx
movq -0x3f0(%rbp), %rdi
movq -0x3f8(%rbp), %rcx
movq -0x8(%rbp), %rax
movl 0x10(%rax), %r8d
movq -0x8(%rbp), %rax
movq (%rax), %r9
leaq 0xcf95(%rip), %rsi      # 0x10803
movb $0x0, %al
callq 0x21b0
jmp 0x388c
leaq -0x250(%rbp), %rdi
leaq 0xcf8f(%rip), %rsi      # 0x10814
movb $0x0, %al
callq 0x21b0
leaq -0x250(%rbp), %rdi
callq 0x20b0
movl %eax, -0x264(%rbp)
movq -0x8(%rbp), %rax
movl 0xc(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jle 0x38dd
leaq -0x250(%rbp), %rdi
movslq -0x264(%rbp), %rax
addq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edx
movq -0x8(%rbp), %rax
movl 0xc(%rax), %ecx
leaq 0xd36b(%rip), %rsi      # 0x10c3f
movb $0x0, %al
callq 0x21b0
jmp 0x3903
leaq -0x250(%rbp), %rdi
movslq -0x264(%rbp), %rax
addq %rax, %rdi
movq -0x8(%rbp), %rax
movl 0xc(%rax), %edx
leaq 0xd6c3(%rip), %rsi      # 0x10fbf
movb $0x0, %al
callq 0x21b0
leaq -0x250(%rbp), %rdi
movslq -0x264(%rbp), %rax
addq %rax, %rdi
callq 0x20b0
movq %rax, %rcx
movslq -0x264(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x264(%rbp)
leaq -0x250(%rbp), %rdi
movl -0x264(%rbp), %esi
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
movl -0x258(%rbp), %edx
leaq -0x140(%rbp), %r8
xorl %eax, %eax
movl %eax, %edi
xorl %esi, %esi
leaq -0x260(%rbp), %rcx
movl $0x100, %r9d            # imm = 0x100
leaq -0x26c(%rbp), %rax
movq %rax, (%rsp)
callq 0x4260
leaq -0x40(%rbp), %rax
addq $0x400, %rsp            # imm = 0x400
popq %rbp
retq