// File: /workspace/github_c_makefile_star2_O1/ajpaulson[P]srogue11/potions.c
// Function: quaff
int quaff()
{
	struct object *obj;
	struct linked_list *item, *titem;
	struct thing *th;
	int wh;
	char buf[LINLEN];
	bool bless, curse;

	/*
	 * Make certain that it is somethings that we want to drink
	 */
	if ((item = get_item("quaff", POTION)) == NULL)
		return 0;
	obj = OBJPTR(item);
	if (obj->o_type != POTION) {
		msg("That's undrinkable!");
		after = FALSE;
		return 0;
	}
	wh = obj->o_which;
	bless = o_on(obj, ISBLESS);
	curse = o_on(obj, ISCURSED);
	del_pack(item);		/* get rid of it */

	/*
	 * Calculate the effect it has on the poor guy.
	 */
	switch(wh) {
	case P_CONFUSE:
		if (!bless) {
			if (pl_on(ISINVINC))
				msg("You remain level-headed.");
			else {
				chg_abil(WIS,-1,TRUE);		/* confuse his mind */
				if (pl_off(ISHUH)) {
					msg("Wait, what's going on here. Huh? What? Who?");
					if (pl_on(ISHUH))
						lengthen(unconfuse,rnd(8)+HUHDURATION);
					else
						fuse(unconfuse,TRUE,rnd(8)+HUHDURATION);
					player.t_flags |= ISHUH;
				}
			}
			p_know[P_CONFUSE] = TRUE;
		}
	when P_POISON:
		if (!bless) {
			if (pl_off(ISINVINC) && !iswearing(R_SUSTSTR) &&
			  !iswearing(R_SUSAB)) {
				chg_abil(CON,-1,TRUE);		
				chg_abil(STR,-(rnd(3)+1),TRUE);
				msg("You feel very sick now.");
			}
			else
				msg("You feel momentarily sick.");
			p_know[P_POISON] = TRUE;
		}
	when P_HEALING:
		if (!curse) {
			heal_self(4, TRUE);
			msg("You begin to feel better.");
			if (!iswearing(R_SLOW))
				notslow(FALSE);
			sight(FALSE);
			p_know[P_HEALING] = TRUE;
		}
	when P_STRENGTH:
		if (!curse) {
			msg("You feel stronger, now.  What bulging muscles!");
			chg_abil(STR,1,TRUE);
			p_know[P_STRENGTH] = TRUE;
		}
	when P_MFIND:
		/*
		 * Potion of monster detection - find all monsters
		 */
		if (mlist != NULL && !curse) {
			dispmons();
			mpos = 0;
			msg("You begin to sense the presence of monsters--More--");
			p_know[P_MFIND] = TRUE;
			wait_for(cw,' ');
			msg("");		/* clear line */
		}
		else
			msg("You have a strange feeling for a moment, then it passes.");
	when P_TFIND:
		/*
		 * Potion of magic detection.  Show the potions and scrolls
		 */
		if (lvl_obj != NULL && !curse) {
			struct linked_list *mobj;
			struct object *tp;
			bool show;

			show = FALSE;
			wclear(hw);
			for (mobj = lvl_obj; mobj != NULL; mobj = next(mobj)) {
				tp = OBJPTR(mobj);
				if (is_magic(tp)) {
					show = TRUE;
					mvwaddch(hw, tp->o_pos.y, tp->o_pos.x, MAGIC);
				}
			}
			for(titem = mlist; titem != NULL; titem = next(titem)) {
				struct linked_list *pitem;

				th = THINGPTR(titem);
				for(pitem=th->t_pack;pitem!=NULL;pitem=next(pitem)) {
					if (is_magic(ldata(pitem))) {
						show = TRUE;
						mvwaddch(hw,th->t_pos.y, th->t_pos.x, MAGIC);
					}
				}
			}
			if (show) {
				msg("You begin to sense the presence of magic.");
				overlay(hw,cw);
				p_know[P_TFIND] = TRUE;
				break;
			}
		}
		msg("You have a strange feeling for a moment, then it passes.");
	when P_PARALYZE:
		if (!bless) {
			if (pl_on(ISINVINC))
				msg("You feel numb for a moment.");
			else {
				msg("You can't move.");
				player.t_nocmd = HOLDTIME;
			}
			p_know[P_PARALYZE] = TRUE;
		}
	when P_SEEINVIS:
		if (!curse) {
			int invlen = roll(40,20);

			msg("This potion tastes like %s juice.", fruit);
			if (pl_off(CANSEE)) {
				player.t_flags |= CANSEE;
				fuse(unsee, TRUE, invlen);
				light(&hero);
			}
			else
				lengthen(unsee, invlen);
			sight(FALSE);
		}
	when P_RAISE:
		if (!curse) {
			msg("You suddenly feel much more skillful.");
			p_know[P_RAISE] = TRUE;
			chg_abil(DEX,1,TRUE);
			chg_abil(WIS,1,TRUE);
			chg_abil(CON,1,TRUE);
			raise_level();
		}
	when P_XHEAL:
		if (!curse) {
			heal_self(8, TRUE);
			if (rnd(100) < 50)
				chg_abil(CON,1,TRUE);
			msg("You begin to feel much better.");
			p_know[P_XHEAL] = TRUE;
			if (!iswearing(R_SLOW))
				notslow(FALSE);
			unconfuse();
			extinguish(unconfuse);
			sight(FALSE);
		}
	when P_HASTE:
		if (!curse) {
			add_haste(TRUE);
			msg("You feel yourself moving much faster.");
			p_know[P_HASTE] = TRUE;
		}
	when P_INVINC:
		if (!curse) {
			int time = rnd(400) + 350;

			msg("You feel invincible.");
			if (player.t_flags & ISINVINC)
				lengthen(notinvinc,time);
			else
				fuse(notinvinc,TRUE,time);
			player.t_flags |= ISINVINC;
			p_know[P_INVINC] = TRUE;
		}
	when P_SMART:
		if (!curse) {
			msg("You feel more perceptive.");
			p_know[P_SMART] = TRUE;
			chg_abil(WIS,1,TRUE);
		}
	when P_RESTORE:
		if (!curse) {
			msg("Hey, this tastes great. You feel warm all over.");
			him->s_re = max_stats.s_re;
			him->s_ef = max_stats.s_re;
			ringabil();				/* add in rings */
			updpack();				/* update weight */
			p_know[P_RESTORE] = TRUE;
			extinguish(rchg_str);	/* kill restore in from ulodyte */
		}
	when P_BLIND:
		if (!bless) {
			if (pl_on(ISINVINC))
				msg("The light dims for a moment.");
			else {
				chg_abil(WIS,-1,TRUE);
				msg("A cloak of darkness falls around you.");
				if (pl_off(ISBLIND)) {
					player.t_flags |= ISBLIND;
					fuse(sight, TRUE, rnd(400) + 450);
					light(&hero);
				}
			}
			p_know[P_BLIND] = TRUE;
		}
	when P_ETH:
		if (!curse) {
			int ethlen = roll(40,20);

			msg("You feel more vaporous.");
			if (pl_on(ISETHER))
				lengthen(noteth,ethlen);
			else
				fuse(noteth,TRUE,ethlen);
			player.t_flags |= ISETHER;
			p_know[P_ETH] = TRUE;
		}
	when P_NOP:
		msg("This potion tastes extremely dull.");
	when P_DEX:
		if (!curse) {
			chg_abil(DEX,1,TRUE);		/* increase dexterity */
			p_know[P_DEX] = TRUE;
			msg("You feel much more agile.");
		}
	when P_REGEN:
		if (!curse) {
			int reglen = rnd(450) + 450;

			if (pl_on(ISREGEN))
				lengthen(notregen, reglen);
			else
				fuse(notregen, TRUE, reglen);
			player.t_flags |= ISREGEN;
			msg("You feel yourself improved.");
			p_know[P_REGEN] = TRUE;
		}
	when P_DECREP:
	case P_SUPHERO: {
		int howmuch = rnd(3) + 1;

		if (wh == P_DECREP) {
			if (!bless) {
				if (iswearing(R_SUSAB) || pl_on(ISINVINC)) {
					msg("You feel momentarily woozy.");
					howmuch = 0;
				}
				else {
					msg("You feel crippled.");
					howmuch = -howmuch;
					if (!iswearing(R_SUSTSTR))
						chg_abil(STR,howmuch,TRUE);
				}
			}
			else
				howmuch = 0;
		}
		else {			/* potion of superhero */
			if (curse)
				howmuch = 0;
			msg("You feel invigorated.");
			chg_abil(STR,howmuch,TRUE);
		}
		chg_abil(CON,howmuch,TRUE);
		chg_abil(DEX,howmuch,TRUE);
		chg_abil(WIS,howmuch,TRUE);		/* change abilities */
		p_know[wh] = TRUE;
	}
	otherwise:
		msg("What an odd tasting potion!");
		return 0;
	}
	nochange = FALSE;
	if (p_know[wh] && p_guess[wh]) {
		free(p_guess[wh]);
		p_guess[wh] = NULL;
	}
	else if(!p_know[wh] && p_guess[wh] == NULL) {
		strcpy(buf, p_colors[wh]);
		msg(callit);
		if (get_str(buf, cw) == NORM) {
			p_guess[wh] = new(strlen(buf) + 1);
			strcpy(p_guess[wh], buf);
		}
	}
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
leaq 0x10233(%rip), %rdi     # 0x21670
movl $0x21, %esi
callq 0x10881
testq %rax, %rax
je 0x11eb6
movq %rax, %rbx
movq 0x10(%rax), %r14
cmpl $0x21, 0x20(%r14)
jne 0x11503
movl 0x28(%r14), %r13d
movl $0x20, %esi
movq %r14, %rdi
callq 0x95b3
movl %eax, %r15d
movl $0x1, %esi
movq %r14, %rdi
callq 0x95b3
movl %eax, %r14d
movq %rbx, %rdi
callq 0x10cdf
cmpq $0x14, %r13
ja 0x119b4
movslq %r13d, %r12
leaq 0x1017a(%rip), %rax     # 0x2161c
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %ebx, %ebx
movl $0x3, %edi
xorl %eax, %eax
callq 0xc72d
movl %eax, %ebp
cmpl $0x13, %r12d
jne 0x115f1
testb %r15b, %r15b
jne 0x11618
movl $0x10, %edi
callq 0x12d9c
testb %al, %al
jne 0x114ee
movl $0x8, %edi
callq 0x9595
testb %al, %al
je 0x11db9
leaq 0x104b9(%rip), %rdi     # 0x219ae
xorl %ebx, %ebx
xorl %eax, %eax
callq 0xb6e0
jmp 0x11618
leaq 0x1016c(%rip), %rdi     # 0x21676
xorl %eax, %eax
callq 0xb6e0
leaq 0x18df5(%rip), %rax     # 0x2a30d
movb $0x0, (%rax)
jmp 0x11eb6
testb %r14b, %r14b
jne 0x11e10
leaq 0x10380(%rip), %rdi     # 0x218b0
xorl %eax, %eax
callq 0xb6e0
leaq 0x1eec2(%rip), %rax     # 0x30400
movb $0x1, 0x10(%rax)
movl $0x4, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
jmp 0x11e10
testb %r14b, %r14b
jne 0x11e10
movl $0x2, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
leaq 0x1ee81(%rip), %rax     # 0x30400
movb $0x1, 0xe(%rax)
leaq 0x103ee(%rip), %rdi     # 0x21978
jmp 0x11c02
testb %r14b, %r14b
jne 0x11e10
leaq 0x1032b(%rip), %rdi     # 0x218ca
xorl %eax, %eax
callq 0xb6e0
leaq 0x1c7b3(%rip), %rax     # 0x2dd60
movq (%rax), %rcx
leaq 0x1c741(%rip), %rdx     # 0x2dcf8
movups (%rdx), %xmm0
movups %xmm0, (%rcx)
movq (%rax), %rax
movups (%rdx), %xmm0
movups %xmm0, 0x10(%rax)
xorl %eax, %eax
callq 0x12c2b
xorl %eax, %eax
callq 0x95e0
leaq 0x1ee24(%rip), %rax     # 0x30400
movb $0x1, 0xb(%rax)
leaq 0x927(%rip), %rdi       # 0x11f0e
callq 0x8cdc
jmp 0x11e10
incl %ebp
testb %r14b, %r14b
cmovel %ebp, %ebx
leaq 0x103dd(%rip), %rdi     # 0x219dd
xorl %eax, %eax
callq 0xb6e0
movl $0x1, %edi
movl %ebx, %esi
movl $0x1, %edx
callq 0x11f24
movl $0x3, %edi
movl %ebx, %esi
movl $0x1, %edx
callq 0x11f24
movl $0x2, %edi
movl %ebx, %esi
movl $0x1, %edx
callq 0x11f24
movl $0x4, %edi
movl %ebx, %esi
movl $0x1, %edx
callq 0x11f24
leaq 0x1edae(%rip), %rax     # 0x30400
movb $0x1, (%rax,%r12)
jmp 0x11e10
testb %r14b, %r14b
jne 0x11e10
movl $0x28, %edi
movl $0x14, %esi
callq 0xc74e
movl %eax, %ebx
leaq 0x10191(%rip), %rdi     # 0x2180e
leaq 0x1c8ac(%rip), %rsi     # 0x2df30
xorl %eax, %eax
callq 0xb6e0
movl $0x1000, %edi           # imm = 0x1000
callq 0x95a4
testb %al, %al
je 0x11c0e
leaq 0x1c5bc(%rip), %r14     # 0x2dc60
orb $0x10, 0x79(%r14)
leaq -0x875c(%rip), %rdi     # 0x8f54
movl $0x1, %esi
movl %ebx, %edx
callq 0x8c6f
addq $0x50, %r14
movq %r14, %rdi
callq 0xecbc
jmp 0x11c1c
testb %r15b, %r15b
jne 0x11e10
movl $0x8, %edi
callq 0x9595
testb %al, %al
je 0x11c2a
leaq 0x1020b(%rip), %rdi     # 0x218fa
xorl %eax, %eax
callq 0xb6e0
jmp 0x11c94
testb %r14b, %r14b
jne 0x11e10
movl $0x8, %edi
movl $0x1, %esi
callq 0x122a1
movl $0x64, %edi
xorl %eax, %eax
callq 0xc72d
cmpl $0x31, %eax
jg 0x11738
movl $0x3, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
leaq 0x10117(%rip), %rdi     # 0x21856
xorl %eax, %eax
callq 0xb6e0
leaq 0x1ecb3(%rip), %rax     # 0x30400
movb $0x1, 0x9(%rax)
movl $0x12, %edi
callq 0x12d9c
testb %al, %al
jne 0x11768
xorl %edi, %edi
xorl %eax, %eax
callq 0x91eb
xorl %eax, %eax
callq 0x8f28
leaq -0x884e(%rip), %rdi     # 0x8f28
callq 0x8cdc
jmp 0x11c1c
testb %r15b, %r15b
jne 0x11e10
movl $0x8, %edi
callq 0x95a4
leaq 0xff4d(%rip), %rbx      # 0x216e7
testb %al, %al
je 0x117f4
movl $0x2, %edi
callq 0x12d9c
testb %al, %al
jne 0x117f4
movl $0x10, %edi
callq 0x12d9c
testb %al, %al
jne 0x117f4
movl $0x3, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x11f24
movl $0x3, %edi
xorl %eax, %eax
callq 0xc72d
notl %eax
movl $0x1, %edi
movl %eax, %esi
movl $0x1, %edx
callq 0x11f24
leaq 0xfedb(%rip), %rbx      # 0x216cf
movq %rbx, %rdi
xorl %eax, %eax
callq 0xb6e0
leaq 0x1ebfb(%rip), %rax     # 0x30400
movb $0x1, 0x2(%rax)
jmp 0x11e10
testb %r14b, %r14b
jne 0x11e10
movl $0x28, %edi
movl $0x14, %esi
callq 0xc74e
movl %eax, %ebx
leaq 0x1010e(%rip), %rdi     # 0x2193d
xorl %eax, %eax
callq 0xb6e0
movl $0x10000, %edi          # imm = 0x10000
callq 0x9595
leaq -0x8714(%rip), %rdi     # 0x9133
testb %al, %al
je 0x11ca4
movl %ebx, %esi
callq 0x8ca6
jmp 0x11cb0
testb %r14b, %r14b
jne 0x11e10
leaq 0xfeb1(%rip), %rdi      # 0x2171c
xorl %eax, %eax
callq 0xb6e0
movl $0x1, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
leaq 0x1eb73(%rip), %rax     # 0x30400
movb $0x1, 0x3(%rax)
jmp 0x11e10
leaq 0x1bfab(%rip), %rbx     # 0x2d848
cmpq $0x0, (%rbx)
sete %al
orb %r14b, %al
testb $0x1, %al
jne 0x11bfb
leaq 0x1f132(%rip), %r14     # 0x309e8
movq (%r14), %rdi
callq 0x6120
movq (%rbx), %r15
xorl %ebp, %ebp
testq %r15, %r15
je 0x11b6c
movq 0x10(%r15), %rbx
movq %rbx, %rdi
callq 0xb080
testb %al, %al
je 0x118fe
movq (%r14), %rdi
movl (%rbx), %edx
movl 0x4(%rbx), %esi
callq 0x6490
movb $0x1, %bpl
cmpl $-0x1, %eax
je 0x118fe
movq (%r14), %rdi
movl $0x24, %esi
callq 0x64c0
movq (%r15), %r15
jmp 0x118c3
testb %r15b, %r15b
jne 0x11e10
movl $0x8, %edi
callq 0x9595
testb %al, %al
je 0x11ccb
leaq 0xfd65(%rip), %rdi      # 0x2168a
xorl %eax, %eax
callq 0xb6e0
jmp 0x11e06
testb %r15b, %r15b
jne 0x11e10
movl $0x8, %edi
callq 0x9595
testb %al, %al
je 0x11d35
leaq 0xfe8f(%rip), %rdi      # 0x217e2
xorl %eax, %eax
callq 0xb6e0
jmp 0x11d54
testb %r14b, %r14b
jne 0x11e10
movl $0x190, %edi            # imm = 0x190
xorl %eax, %eax
callq 0xc72d
movl %eax, %ebx
addl $0x15e, %ebx            # imm = 0x15E
leaq 0xff18(%rip), %rdi      # 0x2189b
xorl %eax, %eax
callq 0xb6e0
leaq 0x1c2cf(%rip), %r14     # 0x2dc60
testb $0x8, 0x78(%r14)
jne 0x11d64
leaq -0x8760(%rip), %rdi     # 0x9243
movl $0x1, %esi
movl %ebx, %edx
callq 0x8c6f
jmp 0x11d72
leaq 0x10038(%rip), %rdi     # 0x219f3
xorl %eax, %eax
callq 0xb6e0
jmp 0x11eb6
testb %r14b, %r14b
jne 0x11e10
movl $0x1c2, %edi            # imm = 0x1C2
xorl %eax, %eax
callq 0xc72d
movl %eax, %ebx
addl $0x1c2, %ebx            # imm = 0x1C2
movl $0x400, %edi            # imm = 0x400
callq 0x9595
leaq -0x87de(%rip), %rdi     # 0x9217
testb %al, %al
je 0x11d87
movl %ebx, %esi
callq 0x8ca6
jmp 0x11d93
testb %r14b, %r14b
jne 0x11e10
movl $0x4, %edi
movl $0x1, %esi
callq 0x122a1
leaq 0xfcda(%rip), %rdi      # 0x21702
xorl %eax, %eax
callq 0xb6e0
movl $0x12, %edi
callq 0x12d9c
testb %al, %al
jne 0x11a46
xorl %edi, %edi
xorl %eax, %eax
callq 0x91eb
xorl %edi, %edi
xorl %eax, %eax
callq 0x8f62
leaq 0x1e9aa(%rip), %rax     # 0x30400
movb $0x1, 0x5(%rax)
jmp 0x11e10
leaq 0xfeef(%rip), %rdi      # 0x21955
jmp 0x11c02
leaq 0x1bdce(%rip), %rax     # 0x2d840
cmpq $0x0, (%rax)
sete %al
orb %r14b, %al
testb $0x1, %al
jne 0x11bfb
xorl %eax, %eax
callq 0x949d
leaq 0x1bdde(%rip), %rax     # 0x2d870
movl $0x0, (%rax)
leaq 0xfcac(%rip), %rdi      # 0x2174b
xorl %eax, %eax
callq 0xb6e0
leaq 0x1e953(%rip), %rax     # 0x30400
movb $0x1, 0x6(%rax)
leaq 0x1ef28(%rip), %rax     # 0x309e0
movq (%rax), %rdi
movl $0x20, %esi
callq 0xb95e
leaq 0x11e45(%rip), %rdi     # 0x23911
jmp 0x11c02
testb %r14b, %r14b
jne 0x11e10
movl $0x1, %edi
callq 0x12073
leaq 0xfd8a(%rip), %rdi      # 0x21875
xorl %eax, %eax
callq 0xb6e0
leaq 0x1e907(%rip), %rax     # 0x30400
movb $0x1, 0xa(%rax)
jmp 0x11e10
testb %r14b, %r14b
jne 0x11e10
leaq 0xfd1e(%rip), %rdi      # 0x21830
xorl %eax, %eax
callq 0xb6e0
leaq 0x1e8e0(%rip), %rax     # 0x30400
movb $0x1, 0x8(%rax)
movl $0x2, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
movl $0x4, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
movl $0x3, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x11f24
xorl %eax, %eax
callq 0xb05a
jmp 0x11e10
leaq 0x1bccd(%rip), %rax     # 0x2d840
movq (%rax), %rbx
testq %rbx, %rbx
je 0x11bc5
movq 0x10(%rbx), %r15
movq 0x68(%r15), %r13
testq %r13, %r13
je 0x11bc0
movq 0x10(%r13), %rdi
callq 0xb080
testb %al, %al
je 0x11bba
movq (%r14), %rdi
movl 0x50(%r15), %edx
movl 0x54(%r15), %esi
callq 0x6490
movb $0x1, %bpl
cmpl $-0x1, %eax
je 0x11bba
movq (%r14), %rdi
movl $0x24, %esi
callq 0x64c0
movq (%r13), %r13
jmp 0x11b83
movq (%rbx), %rbx
jmp 0x11b76
testb $0x1, %bpl
je 0x11bfb
leaq 0xfbe6(%rip), %rdi      # 0x217b8
xorl %eax, %eax
callq 0xb6e0
movq (%r14), %rdi
leaq 0x1edfd(%rip), %rax     # 0x309e0
movq (%rax), %rsi
callq 0x6370
leaq 0x1e80e(%rip), %rax     # 0x30400
movb $0x1, 0x7(%rax)
jmp 0x11e10
leaq 0xfb7d(%rip), %rdi      # 0x2177f
xorl %eax, %eax
callq 0xb6e0
jmp 0x11e10
leaq -0x8cc1(%rip), %rdi     # 0x8f54
movl %ebx, %esi
callq 0x8ca6
xorl %edi, %edi
xorl %eax, %eax
callq 0x8f62
jmp 0x11e10
movl $0x4, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x11f24
leaq 0xfcd2(%rip), %rdi      # 0x21917
xorl %eax, %eax
callq 0xb6e0
movl $0x1, %edi
callq 0x95a4
testb %al, %al
je 0x11c94
leaq 0x1bfff(%rip), %rbx     # 0x2dc60
orb $0x1, 0x78(%rbx)
movl $0x190, %edi            # imm = 0x190
xorl %eax, %eax
callq 0xc72d
leal 0x1c2(%rax), %edx
leaq -0x8d1c(%rip), %rdi     # 0x8f62
movl $0x1, %esi
callq 0x8c6f
addq $0x50, %rbx
movq %rbx, %rdi
callq 0xecbc
leaq 0x1e765(%rip), %rax     # 0x30400
movb $0x1, 0xc(%rax)
jmp 0x11e10
movl $0x1, %esi
movl %ebx, %edx
callq 0x8c6f
leaq 0x1bfa9(%rip), %rax     # 0x2dc60
orb $0x1, 0x7a(%rax)
leaq 0x1e73e(%rip), %rax     # 0x30400
movb $0x1, 0xf(%rax)
jmp 0x11e10
movl $0x4, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x11f24
movl $0x200, %edi            # imm = 0x200
callq 0x95a4
testb %al, %al
je 0x11e06
leaq 0xf9ab(%rip), %rdi      # 0x216a3
xorl %eax, %eax
callq 0xb6e0
movl $0x200, %edi            # imm = 0x200
callq 0x9595
movl %eax, %ebx
movl $0x8, %edi
xorl %eax, %eax
callq 0xc72d
addl $0x14, %eax
leaq -0x8df9(%rip), %rdi     # 0x8f28
testb %bl, %bl
je 0x11def
movl %eax, %esi
callq 0x8ca6
jmp 0x11dfb
leaq 0xfac2(%rip), %rdi      # 0x217fe
xorl %eax, %eax
callq 0xb6e0
leaq 0x1bf16(%rip), %rax     # 0x2dc60
movl $0x2, 0x88(%rax)
leaq 0x1e6a5(%rip), %rax     # 0x30400
movb $0x1, 0x1(%rax)
jmp 0x11e10
leaq -0x8b28(%rip), %rdi     # 0x9243
movl %ebx, %esi
callq 0x8ca6
orb $0x8, 0x78(%r14)
leaq 0x1e682(%rip), %rax     # 0x30400
movb $0x1, 0x14(%rax)
jmp 0x11e10
movl $0x1, %esi
movl %ebx, %edx
callq 0x8c6f
leaq 0x1bec6(%rip), %rax     # 0x2dc60
orb $0x4, 0x79(%rax)
leaq 0xfbed(%rip), %rdi      # 0x21992
xorl %eax, %eax
callq 0xb6e0
leaq 0x1e64d(%rip), %rax     # 0x30400
movb $0x1, 0x11(%rax)
jmp 0x11e10
leaq 0xfc0a(%rip), %rdi      # 0x219ca
xorl %eax, %eax
callq 0xb6e0
notl %ebp
movl $0x2, %edi
callq 0x12d9c
testb %al, %al
jne 0x11de8
movl $0x1, %edi
movl %ebp, %esi
movl $0x1, %edx
callq 0x11f24
movl %ebp, %ebx
jmp 0x11618
movl $0x1, %esi
movl %eax, %edx
callq 0x8c6f
leaq 0x1be5e(%rip), %rax     # 0x2dc60
orb $0x2, 0x79(%rax)
leaq 0x1e5f3(%rip), %rax     # 0x30400
movb $0x1, (%rax)
leaq 0x1ba8c(%rip), %rax     # 0x2d8a3
movb $0x0, (%rax)
leaq 0x1e5df(%rip), %rax     # 0x30400
movb (%rax,%r12), %al
cmpb $0x1, %al
jne 0x11e4c
leaq 0x1e360(%rip), %rbx     # 0x30190
movq (%rbx,%r12,8), %rdi
testq %rdi, %rdi
je 0x11e48
callq 0x6050
movq $0x0, (%rbx,%r12,8)
jmp 0x11eb6
testb %al, %al
jne 0x11eb6
leaq 0x1e33d(%rip), %r14     # 0x30190
cmpq $0x0, (%r14,%r12,8)
jne 0x11eb6
leaq 0x1e78f(%rip), %rax     # 0x305f0
movq (%rax,%r12,8), %rsi
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x60e0
leaq 0x1851f(%rip), %rdi     # 0x2a396
xorl %eax, %eax
callq 0xb6e0
leaq 0x1eb5b(%rip), %rax     # 0x309e0
movq (%rax), %rsi
movq %rbx, %rdi
callq 0xfe5d
testl %eax, %eax
jne 0x11eb6
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x6170
leal 0x1(%rax), %edi
callq 0xbee3
movq %rax, (%r14,%r12,8)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x60e0
xorl %eax, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop