// File: /workspace/github_c_makefile_star2_O0/ajpaulson[P]srogue11/main.c
// Function: main
int main(int argc,char const* argv[],char **envp)
{
	char *env;
	struct linked_list *item;
	struct object *obj;
	struct passwd *pw;
	struct passwd *getpwuid();
	char alldone, wpt;
	char *getpass(), *xcrypt(), *strrchr();
	int lowtime;
	time_t now;
        char *roguehome();
	char *homedir = roguehome();

#ifdef __DJGPP__
	_fmode = O_BINARY;
#endif

	if (homedir == NULL)
        	homedir = "";

	playuid = getuid();

	if (setuid(playuid) < 0) {
		printf("Cannot change to effective uid: %d\n", playuid);
		exit(1);
	}
	playgid = getgid();

	/* check for print-score option */

	strcpy(scorefile, homedir);

	if (*scorefile)
		strcat(scorefile,"/");
	strcat(scorefile, "srogue.scr");

	if(argc >= 2 && strcmp(argv[1], "-s") == 0)
	{
		showtop(0);
		exit(0);
	}

	if (argc >= 2 && author() && strcmp(argv[1],"-a") == 0)
	{
		wizard = TRUE;
		argv++;
		argc--;
	}

	/* Check to see if he is a wizard */

	if (argc >= 2 && strcmp(argv[1],"-w") == 0)
	{
		if (strcmp(PASSWD, xcrypt(getpass(wizstr),"mT")) == 0)
		{
			wizard = TRUE;
			argv++;
			argc--;
		}
	}
	time(&now);
	lowtime = (int) now;

	/* get home and options from environment */

	if ((env = getenv("HOME")) != NULL)
		strcpy(home, env);
	else if ((pw = getpwuid(playuid)) != NULL)
		strcpy(home, pw->pw_dir);
	else
		home[0] = '\0';

        if (strcmp(home,"/") == 0)
		home[0] = '\0';

        if ((strlen(home) > 0) && (home[strlen(home)-1] != '/'))
		strcat(home, "/");

	strcpy(file_name, home);
	strcat(file_name, "srogue.sav");

	if ((env = getenv("ROGUEOPTS")) != NULL)
		parse_opts(env);

	if (env == NULL || whoami[0] == '\0')
	{
		if((pw = getpwuid(playuid)) == NULL)
		{
			printf("Say, who are you?\n");
			exit(1);
		}
		else
			strucpy(whoami, pw->pw_name, strlen(pw->pw_name));
	}

	if (env == NULL || fruit[0] == '\0')
		strcpy(fruit, "juicy-fruit");

	if (argc == 2)
		if(!restore(argv[1], envp)) /* NOTE: NEVER RETURNS */
			exit(1);

	dnum = (wizard && getenv("SEED") != NULL ?
		atoi(getenv("SEED")) : lowtime + getpid());

	if(wizard)
		printf("Hello %s, welcome to dungeon #%d\n", whoami, dnum);
	else
		printf("Hello %s, One moment while I open the door to the dungeon...\n", whoami);

	fflush(stdout);
	seed = dnum;
	srand48(seed);			/* init rnd number gen */

	signal(SIGINT, byebye);		/* just in case */
	signal(SIGQUIT ,byebye);

	init_everything();

#ifdef __INTERIX
        setenv("TERM","interix");
#endif

	initscr();			/* Start up cursor package */

	if (strcmp(termname(),"dumb") == 0)
	{
		endwin();
		printf("ERROR in terminal parameters.\n");
		printf("Check TERM in environment.\n");
		byebye(1);
	}

	if (LINES < 24 || COLS < 80) {
		endwin();
		printf("ERROR: screen size too small\n");
		byebye(1);
	}

	if ((whoami[0] == '\0') || (*whoami == '\0') || (strcmp(whoami,"dosuser")==0))
	{
		echo();
		mvaddstr(23,2,"Rogue's Name? ");
		wgetnstr(stdscr,whoami,MAXSTR);
		noecho();
	}

	if ((whoami[0] == '\0') || (*whoami == '\0'))
		strcpy(whoami,"Rodney");
	
	setup();

	/* Set up windows */

	cw = newwin(0, 0, 0, 0);
	mw = newwin(0, 0, 0, 0);
	hw = newwin(0, 0, 0, 0);
	waswizard = wizard;

	/* Draw current level */

	new_level(NORMLEV);

	/* Start up daemons and fuses */

	srdaemon(status, TRUE, BEFORE);
	srdaemon(doctor, TRUE, BEFORE);
	srdaemon(stomach, TRUE, BEFORE);
	srdaemon(runners, TRUE, AFTER);
	fuse(swander, TRUE, WANDERTIME);

	/* Give the rogue his weaponry */

	do {
		wpt = pick_one(w_magic);
		switch (wpt)
		{
			case MACE:	case SWORD:	case TWOSWORD:
			case SPEAR:	case TRIDENT:	case SPETUM:
			case BARDICHE:	case PIKE:	case BASWORD:
			case HALBERD:
				alldone = TRUE;
			otherwise:
				alldone = FALSE;
		}
	} while(!alldone);

	item = new_thing(FALSE, WEAPON, wpt);
	obj = OBJPTR(item);
	obj->o_hplus = rnd(3);
	obj->o_dplus = rnd(3);
	obj->o_flags = ISKNOW;
	add_pack(item, TRUE);
	cur_weapon = obj;

	/* Now a bow */

	item = new_thing(FALSE, WEAPON, BOW);
	obj = OBJPTR(item);
	obj->o_hplus = rnd(3);
	obj->o_dplus = rnd(3);
	obj->o_flags = ISKNOW;
	add_pack(item, TRUE);

	/* Now some arrows */

	item = new_thing(FALSE, WEAPON, ARROW);
	obj = OBJPTR(item);
	obj->o_count = 25 + rnd(15);
	obj->o_hplus = rnd(2);
	obj->o_dplus = rnd(2);
	obj->o_flags = ISKNOW;
	add_pack(item, TRUE);

	/* And his suit of armor */

	wpt = pick_one(a_magic);
	item = new_thing(FALSE, ARMOR, wpt);
	obj = OBJPTR(item);
	obj->o_flags = ISKNOW;
	obj->o_ac = armors[wpt].a_class - rnd(4);
	cur_armor = obj;
	add_pack(item, TRUE);
	
	/* Give him some food */

	item = new_thing(FALSE, FOOD, 0);
	add_pack(item, TRUE);

	playit();
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
callq 0xf1d0
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
jne 0xe5b5
leaq 0x1fcfe(%rip), %rax     # 0x2e2af
movq %rax, -0x50(%rbp)
callq 0x6180
movl %eax, %ecx
leaq 0x28d0d(%rip), %rax     # 0x372d0
movl %ecx, (%rax)
leaq 0x28d04(%rip), %rax     # 0x372d0
movl (%rax), %edi
callq 0x6520
cmpl $0x0, %eax
jge 0xe5f9
leaq 0x28cf1(%rip), %rax     # 0x372d0
movl (%rax), %esi
leaq 0x1c97a(%rip), %rdi     # 0x2af62
movb $0x0, %al
callq 0x61b0
movl $0x1, %edi
callq 0x6500
callq 0x6310
movl %eax, %ecx
leaq 0x28ccd(%rip), %rax     # 0x372d4
movl %ecx, (%rax)
movq -0x50(%rbp), %rsi
leaq 0x28e7c(%rip), %rdi     # 0x37490
callq 0x60d0
leaq 0x28e70(%rip), %rax     # 0x37490
cmpb $0x0, (%rax)
je 0xe638
leaq 0x28e64(%rip), %rdi     # 0x37490
leaq 0x1c953(%rip), %rsi     # 0x2af86
callq 0x64d0
leaq 0x28e51(%rip), %rdi     # 0x37490
leaq 0x1c942(%rip), %rsi     # 0x2af88
callq 0x64d0
cmpl $0x2, -0x8(%rbp)
jl 0xe678
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x1c933(%rip), %rsi     # 0x2af93
callq 0x6250
cmpl $0x0, %eax
jne 0xe678
xorl %edi, %edi
callq 0x18f40
xorl %edi, %edi
callq 0x6500
cmpl $0x2, -0x8(%rbp)
jl 0xe6c1
callq 0xf130
testb $0x1, %al
jne 0xe689
jmp 0xe6c1
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x1c8fe(%rip), %rsi     # 0x2af96
callq 0x6250
cmpl $0x0, %eax
jne 0xe6c1
leaq 0x28664(%rip), %rax     # 0x36d0d
movb $0x1, (%rax)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
cmpl $0x2, -0x8(%rbp)
jl 0xe732
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x1c8c3(%rip), %rsi     # 0x2af99
callq 0x6250
cmpl $0x0, %eax
jne 0xe732
leaq 0x24c79(%rip), %rdi     # 0x33360
callq 0x6440
movq %rax, %rdi
leaq 0x1c8b4(%rip), %rsi     # 0x2afaa
movb $0x0, %al
callq 0x27020
movq %rax, %rsi
leaq 0x1c895(%rip), %rdi     # 0x2af9c
callq 0x6250
cmpl $0x0, %eax
jne 0xe730
leaq 0x285f5(%rip), %rax     # 0x36d0d
movb $0x1, (%rax)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xe732
leaq -0x48(%rbp), %rdi
callq 0x62f0
movq -0x48(%rbp), %rax
movl %eax, -0x40(%rbp)
leaq 0x1c9b8(%rip), %rdi     # 0x2b101
callq 0x6030
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0xe76a
movq -0x20(%rbp), %rsi
leaq 0x28d7d(%rip), %rdi     # 0x374e0
callq 0x60d0
jmp 0xe7a4
leaq 0x28b5f(%rip), %rax     # 0x372d0
movl (%rax), %edi
callq 0x6140
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0xe798
movq -0x38(%rbp), %rax
movq 0x20(%rax), %rsi
leaq 0x28d4f(%rip), %rdi     # 0x374e0
callq 0x60d0
jmp 0xe7a2
leaq 0x28d41(%rip), %rax     # 0x374e0
movb $0x0, (%rax)
jmp 0xe7a4
leaq 0x28d35(%rip), %rdi     # 0x374e0
leaq 0x1c7d4(%rip), %rsi     # 0x2af86
callq 0x6250
cmpl $0x0, %eax
jne 0xe7c6
leaq 0x28d1d(%rip), %rax     # 0x374e0
movb $0x0, (%rax)
leaq 0x28d13(%rip), %rdi     # 0x374e0
callq 0x6160
cmpq $0x0, %rax
jbe 0xe80e
leaq 0x28d01(%rip), %rdi     # 0x374e0
callq 0x6160
movq %rax, %rcx
subq $0x1, %rcx
leaq 0x28cee(%rip), %rax     # 0x374e0
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0xe80e
leaq 0x28cde(%rip), %rdi     # 0x374e0
leaq 0x1c77d(%rip), %rsi     # 0x2af86
callq 0x64d0
leaq 0x28c2b(%rip), %rdi     # 0x37440
leaq 0x28cc4(%rip), %rsi     # 0x374e0
callq 0x60d0
leaq 0x28c18(%rip), %rdi     # 0x37440
leaq 0x1c77e(%rip), %rsi     # 0x2afad
callq 0x64d0
leaq 0x1c77d(%rip), %rdi     # 0x2afb8
callq 0x6030
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0xe853
movq -0x20(%rbp), %rdi
callq 0x14070
cmpq $0x0, -0x20(%rbp)
je 0xe869
leaq 0x28aef(%rip), %rax     # 0x37350
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xe8c4
leaq 0x28a60(%rip), %rax     # 0x372d0
movl (%rax), %edi
callq 0x6140
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0xe899
leaq 0x1c73a(%rip), %rdi     # 0x2afc2
movb $0x0, %al
callq 0x61b0
movl $0x1, %edi
callq 0x6500
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rdi
callq 0x6160
movq -0x58(%rbp), %rsi
movl %eax, %edx
leaq 0x28a93(%rip), %rdi     # 0x37350
callq 0x13ff0
jmp 0xe8c4
cmpq $0x0, -0x20(%rbp)
je 0xe8da
leaq 0x28ace(%rip), %rax     # 0x373a0
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xe8ed
leaq 0x28abf(%rip), %rdi     # 0x373a0
leaq 0x1c6ed(%rip), %rsi     # 0x2afd5
callq 0x60d0
cmpl $0x2, -0x8(%rbp)
jne 0xe914
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x1a200
testb $0x1, %al
jne 0xe912
movl $0x1, %edi
callq 0x6500
jmp 0xe914
leaq 0x283f2(%rip), %rax     # 0x36d0d
testb $0x1, (%rax)
je 0xe94b
leaq 0x1c6ba(%rip), %rdi     # 0x2afe1
callq 0x6030
cmpq $0x0, %rax
je 0xe94b
leaq 0x1c6a8(%rip), %rdi     # 0x2afe1
callq 0x6030
movq %rax, %rdi
callq 0x64b0
movl %eax, -0x5c(%rbp)
jmp 0xe960
movl -0x40(%rbp), %eax
movl %eax, -0x60(%rbp)
callq 0x6120
movl %eax, %ecx
movl -0x60(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %ecx
leaq 0x28976(%rip), %rax     # 0x372e0
movl %ecx, (%rax)
leaq 0x2839a(%rip), %rax     # 0x36d0d
testb $0x1, (%rax)
je 0xe998
leaq 0x28961(%rip), %rax     # 0x372e0
movl (%rax), %edx
leaq 0x1c65e(%rip), %rdi     # 0x2afe6
leaq 0x289c1(%rip), %rsi     # 0x37350
movb $0x0, %al
callq 0x61b0
jmp 0xe9ad
leaq 0x1c669(%rip), %rdi     # 0x2b008
leaq 0x289aa(%rip), %rsi     # 0x37350
movb $0x0, %al
callq 0x61b0
movq 0x24604(%rip), %rax     # 0x32fb8
movq (%rax), %rdi
callq 0x6360
leaq 0x2891d(%rip), %rax     # 0x372e0
movl (%rax), %ecx
leaq 0x28910(%rip), %rax     # 0x372dc
movl %ecx, (%rax)
leaq 0x28907(%rip), %rax     # 0x372dc
movslq (%rax), %rdi
callq 0x63d0
movl $0x2, %edi
leaq 0x507(%rip), %rsi       # 0xeef0
callq 0x6280
movl $0x3, %edi
leaq 0x4f6(%rip), %rsi       # 0xeef0
callq 0x6280
movb $0x0, %al
callq 0xd8c0
callq 0x61e0
callq 0x63c0
movq %rax, %rdi
leaq 0x1c62c(%rip), %rsi     # 0x2b046
callq 0x6250
cmpl $0x0, %eax
jne 0xea4f
callq 0x6530
leaq 0x1c61b(%rip), %rdi     # 0x2b04b
movb $0x0, %al
callq 0x61b0
leaq 0x1c62c(%rip), %rdi     # 0x2b06a
movb $0x0, %al
callq 0x61b0
movl $0x1, %edi
callq 0xeef0
movq 0x2458a(%rip), %rax     # 0x32fe0
cmpl $0x18, (%rax)
jl 0xea67
movq 0x24576(%rip), %rax     # 0x32fd8
cmpl $0x50, (%rax)
jge 0xea84
callq 0x6530
leaq 0x1c613(%rip), %rdi     # 0x2b086
movb $0x0, %al
callq 0x61b0
movl $0x1, %edi
callq 0xeef0
leaq 0x288c5(%rip), %rax     # 0x37350
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xeaba
leaq 0x288b6(%rip), %rax     # 0x37350
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xeaba
leaq 0x288a7(%rip), %rdi     # 0x37350
leaq 0x1c5f4(%rip), %rsi     # 0x2b0a4
callq 0x6250
cmpl $0x0, %eax
jne 0xeb1a
callq 0x63a0
movq 0x244fa(%rip), %rax     # 0x32fc0
movq (%rax), %rdi
movl $0x17, %esi
movl $0x2, %edx
callq 0x6490
cmpl $-0x1, %eax
jne 0xeadf
jmp 0xeafa
movq 0x244da(%rip), %rax     # 0x32fc0
movq (%rax), %rdi
leaq 0x1c5bc(%rip), %rsi     # 0x2b0ac
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x6560
movq 0x244bf(%rip), %rax     # 0x32fc0
movq (%rax), %rdi
leaq 0x28845(%rip), %rsi     # 0x37350
movl $0x18, %edx
callq 0x63f0
callq 0x6170
leaq 0x2882f(%rip), %rax     # 0x37350
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0xeb38
leaq 0x28820(%rip), %rax     # 0x37350
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0xeb4b
leaq 0x28811(%rip), %rdi     # 0x37350
leaq 0x1c575(%rip), %rsi     # 0x2b0bb
callq 0x60d0
callq 0xefc0
xorl %ecx, %ecx
movl %ecx, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x60c0
movq %rax, %rcx
leaq 0x2b2e9(%rip), %rax     # 0x39e50
movq %rcx, (%rax)
xorl %ecx, %ecx
movl %ecx, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x60c0
movq %rax, %rcx
leaq 0x2b2df(%rip), %rax     # 0x39e60
movq %rcx, (%rax)
xorl %ecx, %ecx
movl %ecx, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x60c0
movq %rax, %rcx
leaq 0x2b2bd(%rip), %rax     # 0x39e58
movq %rcx, (%rax)
leaq 0x28168(%rip), %rax     # 0x36d0d
movb (%rax), %cl
andb $0x1, %cl
leaq 0x2815f(%rip), %rax     # 0x36d10
movb %cl, (%rax)
xorl %edi, %edi
callq 0x13060
leaq -0xeb1(%rip), %rdi      # 0xdd10
movl $0x1, %edx
movl %edx, %esi
callq 0x9b80
leaq -0x4dd4(%rip), %rdi     # 0x9e00
movl $0x1, %edx
movl %edx, %esi
callq 0x9b80
leaq -0x4a77(%rip), %rdi     # 0xa170
movl $0x1, %edx
movl %edx, %esi
callq 0x9b80
leaq -0x824a(%rip), %rdi     # 0x69b0
movl $0x1, %esi
movl $0x2, %edx
callq 0x9b80
leaq -0x4c80(%rip), %rdi     # 0x9f90
movl $0x1, %esi
movl $0x46, %edx
callq 0x9c30
leaq 0x2636a(%rip), %rdi     # 0x34f90
callq 0x24450
movb %al, -0x3a(%rbp)
movsbl -0x3a(%rbp), %eax
movl %eax, -0x64(%rbp)
subl $0x2, %eax
jb 0xec53
jmp 0xec3c
movl -0x64(%rbp), %eax
subl $0x6, %eax
je 0xec53
jmp 0xec46
movl -0x64(%rbp), %eax
addl $-0xb, %eax
subl $0x6, %eax
ja 0xec59
jmp 0xec53
movb $0x1, -0x39(%rbp)
jmp 0xec5d
movb $0x0, -0x39(%rbp)
jmp 0xec5f
cmpb $0x0, -0x39(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xec1f
movsbl -0x3a(%rbp), %edx
xorl %edi, %edi
movl $0x29, %esi
callq 0x24020
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movl $0x3, %edi
callq 0xef20
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x2c(%rax)
movl $0x3, %edi
callq 0xef20
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x30(%rax)
movq -0x30(%rbp), %rax
movl $0x2, 0x38(%rax)
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x14280
movq -0x30(%rbp), %rcx
leaq 0x27fea(%rip), %rax     # 0x36cc0
movq %rcx, (%rax)
xorl %edi, %edi
movl $0x29, %esi
movl $0x2, %edx
callq 0x24020
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movl $0x3, %edi
callq 0xef20
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x2c(%rax)
movl $0x3, %edi
callq 0xef20
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x30(%rax)
movq -0x30(%rbp), %rax
movl $0x2, 0x38(%rax)
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x14280
xorl %edi, %edi
movl $0x29, %esi
movl $0x3, %edx
callq 0x24020
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movl $0xf, %edi
callq 0xef20
movl %eax, %ecx
addl $0x19, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x24(%rax)
movl $0x2, %edi
callq 0xef20
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x2c(%rax)
movl $0x2, %edi
callq 0xef20
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x30(%rax)
movq -0x30(%rbp), %rax
movl $0x2, 0x38(%rax)
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x14280
leaq 0x260aa(%rip), %rdi     # 0x34e60
callq 0x24450
movb %al, -0x3a(%rbp)
movsbl -0x3a(%rbp), %edx
xorl %edi, %edi
movl $0x5d, %esi
callq 0x24020
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl $0x2, 0x38(%rax)
movsbq -0x3a(%rbp), %rcx
leaq 0x2611b(%rip), %rax     # 0x34f10
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x68(%rbp)
movl $0x4, %edi
callq 0xef20
movl -0x68(%rbp), %ecx
subl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x34(%rax)
movq -0x30(%rbp), %rcx
leaq 0x27ea6(%rip), %rax     # 0x36cc8
movq %rcx, (%rax)
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x14280
xorl %edx, %edx
movl $0x3a, %esi
movl %edx, %edi
callq 0x24020
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x14280
callq 0xf0a0
xorl %eax, %eax
addq $0x70, %rsp
popq %rbp
retq