// File: /workspace/github_c_makefile_star2_O2/nurse[P]nkf/nkf.c
// Function: main
int
main(int argc, char **argv)
{
    FILE  *fin;
    unsigned char  *cp;

    char *outfname = NULL;
    char *origfname;

#ifdef EASYWIN /*Easy Win */
    _BufferSize.y = 400;/*Set Scroll Buffer Size*/
#endif
#ifdef DEFAULT_CODE_LOCALE
    setlocale(LC_CTYPE, "");
#endif
    nkf_state_init();

    for (argc--,argv++; (argc > 0) && **argv == '-'; argc--, argv++) {
	cp = (unsigned char *)*argv;
	options(cp);
#ifdef EXEC_IO
	if (exec_f){
	    int fds[2], pid;
	    if (pipe(fds) < 0 || (pid = fork()) < 0){
		abort();
	    }
	    if (pid == 0){
		if (exec_f > 0){
		    close(fds[0]);
		    dup2(fds[1], 1);
		}else{
		    close(fds[1]);
		    dup2(fds[0], 0);
		}
		execvp(argv[1], &argv[1]);
	    }
	    if (exec_f > 0){
		close(fds[1]);
		dup2(fds[0], 0);
	    }else{
		close(fds[0]);
		dup2(fds[1], 1);
	    }
	    argc = 0;
	    break;
	}
#endif
    }

    if (guess_f) {
#ifdef CHECK_OPTION
	int debug_f_back = debug_f;
#endif
#ifdef EXEC_IO
	int exec_f_back = exec_f;
#endif
#ifdef X0212_ENABLE
	int x0212_f_back = x0212_f;
#endif
	int x0213_f_back = x0213_f;
	int guess_f_back = guess_f;
	reinit();
	guess_f = guess_f_back;
	mime_f = FALSE;
#ifdef CHECK_OPTION
	debug_f = debug_f_back;
#endif
#ifdef EXEC_IO
	exec_f = exec_f_back;
#endif
	x0212_f = x0212_f_back;
	x0213_f = x0213_f_back;
    }

    if (binmode_f == TRUE)
#if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__))
	if (freopen("","wb",stdout) == NULL)
	    return (-1);
#else
    setbinmode(stdout);
#endif

    if (unbuf_f)
	setbuf(stdout, (char *) NULL);
    else
	setvbuffer(stdout, (char *) stdobuf, IOBUF_SIZE);

    if (argc == 0) {
	if (binmode_f == TRUE)
#if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__))
	    if (freopen("","rb",stdin) == NULL) return (-1);
#else
	setbinmode(stdin);
#endif
	setvbuffer(stdin, (char *) stdibuf, IOBUF_SIZE);
	if (nop_f)
	    noconvert(stdin);
	else {
	    kanji_convert(stdin);
	    if (guess_f) print_guessed_code(NULL);
	}
    } else {
	int nfiles = argc;
	int is_argument_error = FALSE;
	while (argc--) {
	    input_codename = NULL;
	    input_eol = 0;
#ifdef CHECK_OPTION
	    iconv_for_check = 0;
#endif
	    if ((fin = fopen((origfname = *argv++), "r")) == NULL) {
		perror(*(argv-1));
		is_argument_error = TRUE;
		continue;
	    } else {
#ifdef OVERWRITE
		int fd = 0;
		int fd_backup = 0;
#endif

		/* reopen file for stdout */
		if (file_out_f == TRUE) {
#ifdef OVERWRITE
		    if (overwrite_f){
			outfname = nkf_xmalloc(strlen(origfname)
					  + strlen(".nkftmpXXXXXX")
					  + 1);
			strcpy(outfname, origfname);
#ifdef MSDOS
			{
			    int i;
			    for (i = strlen(outfname); i; --i){
				if (outfname[i - 1] == '/'
				    || outfname[i - 1] == '\\'){
				    break;
				}
			    }
			    outfname[i] = '\0';
			}
			strcat(outfname, "ntXXXXXX");
			mktemp(outfname);
			fd = open(outfname, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL,
				  S_IREAD | S_IWRITE);
#else
			strcat(outfname, ".nkftmpXXXXXX");
			fd = mkstemp(outfname);
#endif
			if (fd < 0
			    || (fd_backup = dup(fileno(stdout))) < 0
			    || dup2(fd, fileno(stdout)) < 0
			   ){
			    perror(origfname);
			    return -1;
			}
		    }else
#endif
		    if(argc == 1) {
			outfname = *argv++;
			argc--;
		    } else {
			outfname = "nkf.out";
		    }

		    if(freopen(outfname, "w", stdout) == NULL) {
			perror (outfname);
			return (-1);
		    }
		    if (binmode_f == TRUE) {
#if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__))
			if (freopen("","wb",stdout) == NULL)
			    return (-1);
#else
			setbinmode(stdout);
#endif
		    }
		}
		if (binmode_f == TRUE)
#if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__))
		    if (freopen("","rb",fin) == NULL)
			return (-1);
#else
		setbinmode(fin);
#endif
		setvbuffer(fin, (char *) stdibuf, IOBUF_SIZE);
		if (nop_f)
		    noconvert(fin);
		else {
		    char *filename = NULL;
		    kanji_convert(fin);
		    if (nfiles > 1) filename = origfname;
		    if (guess_f) print_guessed_code(filename);
		}
		fclose(fin);
#ifdef OVERWRITE
		if (overwrite_f) {
		    struct stat     sb;
#if defined(MSDOS) && !defined(__MINGW32__) && !defined(__WIN32__) && !defined(__WATCOMC__) && !defined(__EMX__) && !defined(__OS2__) && !defined(__DJGPP__)
		    time_t tb[2];
#else
		    struct utimbuf  tb;
#endif

		    fflush(stdout);
		    close(fd);
		    if (dup2(fd_backup, fileno(stdout)) < 0){
			perror("dup2");
		    }
		    if (stat(origfname, &sb)) {
			fprintf(stderr, "Can't stat %s\n", origfname);
		    }
		    /* $B%Q!<%_%C%7%g%s$rI|85(B */
		    if (chmod(outfname, sb.st_mode)) {
			fprintf(stderr, "Can't set permission %s\n", outfname);
		    }

		    /* $B%?%$%`%9%?%s%W$rI|85(B */
		    if(preserve_time_f){
#if defined(MSDOS) && !defined(__MINGW32__) && !defined(__WIN32__) && !defined(__WATCOMC__) && !defined(__EMX__) && !defined(__OS2__) && !defined(__DJGPP__)
			tb[0] = tb[1] = sb.st_mtime;
			if (utime(outfname, tb)) {
			    fprintf(stderr, "Can't set timestamp %s\n", outfname);
			}
#else
			tb.actime  = sb.st_atime;
			tb.modtime = sb.st_mtime;
			if (utime(outfname, &tb)) {
			    fprintf(stderr, "Can't set timestamp %s\n", outfname);
			}
#endif
		    }
		    if(backup_f){
			char *backup_filename = get_backup_filename(backup_suffix, origfname);
#ifdef MSDOS
			unlink(backup_filename);
#endif
			if (rename(origfname, backup_filename)) {
			    perror(backup_filename);
			    fprintf(stderr, "Can't rename %s to %s\n",
				    origfname, backup_filename);
			}
			nkf_xfree(backup_filename);
		    }else{
#ifdef MSDOS
			if (unlink(origfname)){
			    perror(origfname);
			}
#endif
		    }
		    if (rename(outfname, origfname)) {
			perror(origfname);
			fprintf(stderr, "Can't rename %s to %s\n",
				outfname, origfname);
		    }
		    nkf_xfree(outfname);
		}
#endif
	    }
	}
	if (is_argument_error)
	    return(-1);
    }
#ifdef EASYWIN /*Easy Win */
    if (file_out_f == FALSE)
	scanf("%d",&end_check);
    else
	fclose(stdout);
#else /* for Other OS */
    if (file_out_f == TRUE)
	fclose(stdout);
#endif /*Easy Win */
    return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq %rsi, %r14
movl %edi, %ebx
leaq 0x988d(%rip), %rsi      # 0x1711b
xorl %edi, %edi
callq 0xc1c0
callq 0xefa0
movq %rbx, %r8
testl %r8d, %r8d
pushq $0x1
popq %rax
cmovlel %r8d, %eax
movl %eax, 0x44(%rsp)
leaq 0x87ca(%rip), %r9       # 0x1607c
movl %r8d, %eax
addq $0x8, %r14
leal -0x1(%rax), %r8d
cmpl $0x2, %eax
movq %r14, 0x38(%rsp)
jl 0xe775
movq (%r14), %rbx
cmpb $0x2d, (%rbx)
jne 0xe779
cmpb $0x0, 0x46c52(%rip)     # 0x54530
jne 0xe723
movb (%rbx), %al
testb %al, %al
je 0xd8f1
incq %rbx
cmpb $0x2d, %al
jne 0xd8e4
movl 0x46c88(%rip), %r10d    # 0x54580
movl 0x46c61(%rip), %r11d    # 0x54560
movb 0x46c1f(%rip), %al      # 0x54524
movb %al, 0x30(%rsp)
movl 0x46c49(%rip), %eax     # 0x54558
movl %eax, 0x24(%rsp)
xorl %ebp, %ebp
movb (%rbx), %al
movq %rbx, %rsi
movq %rbp, %rbx
movq %rbx, %rbp
movq %rsi, %r15
testb %al, %al
jne 0xd930
testq %rbp, %rbp
je 0xe723
testb %al, %al
je 0xe6ea
leaq 0x1(%r15), %r12
movzbl %al, %edx
leal -0x2d(%rdx), %eax
cmpl $0x4b, %eax
ja 0xdd84
movslq (%r9,%rax,4), %rdi
addq %r9, %rdi
leaq 0x37faf(%rip), %rax     # 0x45908
leaq 0x37f00(%rip), %rcx     # 0x45860
leaq 0x38001(%rip), %rsi     # 0x45968
jmpq *%rdi
movzbl (%r12), %eax
testb $-0x21, %al
je 0xe6f2
xorl %eax, %eax
movl %eax, 0x58(%rsp)
cmpq $0x34, %rax
je 0xe6fb
movq %rax, %rdx
shlq $0x4, %rdx
leaq 0x3821c(%rip), %rcx     # 0x45bb0
movq (%rdx,%rcx), %rdx
xorl %r14d, %r14d
xorl %esi, %esi
movl %esi, 0x48(%rsp)
movzbl (%rdx,%rsi), %edi
testl %edi, %edi
je 0xd9bc
cmpl $0x3d, %edi
je 0xd9bc
cmpb (%r12,%rsi), %dil
jne 0xd9bc
incq %rsi
incl %r14d
jmp 0xd99d
movl %esi, %r13d
movb (%r12,%r13), %dl
cmpb %dl, %dil
je 0xd9d2
cmpb $0x20, %dl
je 0xd9d2
incq %rax
jmp 0xd978
movq %r12, %rbx
movzbl (%rbx), %edx
testb $-0x21, %dl
je 0xd9e2
incq %rbx
jmp 0xd9d5
movl %eax, %edx
shlq $0x4, %rdx
movq 0x8(%rdx,%rcx), %rsi
movb (%rsi), %al
testb %al, %al
jne 0xd91d
movl %r11d, 0x8(%rsp)
movl %r10d, 0xc(%rsp)
movq %r8, 0x10(%rsp)
addq %rdx, %rcx
movq (%rcx), %rdi
leaq 0x91d3(%rip), %rsi      # 0x16be6
movq %rdi, 0x18(%rsp)
callq 0xc130
testl %eax, %eax
je 0xef99
leaq (%r12,%r13), %rax
incq %rax
movq %rax, 0x28(%rsp)
leaq 0x91b3(%rip), %rsi      # 0x16beb
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe156
leaq 0x919e(%rip), %rsi      # 0x16bef
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe24c
leaq 0x9189(%rip), %rsi      # 0x16bf3
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe2dc
leaq 0x9177(%rip), %rsi      # 0x16bfa
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe39c
leaq 0x9168(%rip), %rsi      # 0x16c04
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe3b2
leaq 0x915a(%rip), %rsi      # 0x16c0f
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe3c8
leaq 0x914a(%rip), %rsi      # 0x16c18
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe3df
leaq 0x913b(%rip), %rsi      # 0x16c22
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe421
leaq 0x912c(%rip), %rsi      # 0x16c2c
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe42a
leaq 0x911d(%rip), %rsi      # 0x16c36
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe433
leaq 0x9112(%rip), %rsi      # 0x16c44
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe43c
leaq 0x9103(%rip), %rsi      # 0x16c4e
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe445
leaq 0x90f3(%rip), %rsi      # 0x16c57
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe44e
leaq 0x90d7(%rip), %rsi      # 0x16c54
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe468
leaq 0x90c7(%rip), %rsi      # 0x16c5d
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe47f
leaq 0x90b7(%rip), %rsi      # 0x16c66
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe48b
leaq 0x90a4(%rip), %rsi      # 0x16c6c
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe497
leaq 0x9097(%rip), %rsi      # 0x16c78
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4a3
leaq 0x9090(%rip), %rsi      # 0x16c8a
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4af
leaq 0x907f(%rip), %rsi      # 0x16c92
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4bc
leaq 0x906e(%rip), %rsi      # 0x16c9a
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4c5
leaq 0x905c(%rip), %rsi      # 0x16ca1
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4ce
leaq 0x904b(%rip), %rsi      # 0x16ca9
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4d7
leaq 0x903a(%rip), %rsi      # 0x16cb1
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe4e0
leaq 0x902c(%rip), %rsi      # 0x16cbc
movq 0x18(%rsp), %rdi
callq 0xc130
movl %r14d, %r14d
testl %eax, %eax
je 0xe4f3
leaq 0x901c(%rip), %rsi      # 0x16cc8
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe5c4
leaq 0x900e(%rip), %rsi      # 0x16cd3
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
je 0xe646
leaq 0x9003(%rip), %rsi      # 0x16ce1
movq 0x18(%rsp), %rdi
callq 0xc130
testl %eax, %eax
jne 0xe74a
movq 0x28(%rsp), %rax
movb (%rax), %al
addb $-0x21, %al
cmpb $0x5d, %al
movq 0x10(%rsp), %r8
leaq 0x8375(%rip), %r9       # 0x1607c
movl 0xc(%rsp), %r10d
movl 0x8(%rsp), %r11d
ja 0xd915
addq %r14, %r15
pushq $0x3
popq %rax
leal -0x2(%rax), %ecx
movl %ecx, 0x58(%rsp)
movzbl (%r15,%rax), %ecx
leal -0x21(%rcx), %edx
cmpb $0x5d, %dl
ja 0xe406
movq 0x28(%rsp), %rdx
movb (%rdx), %dl
leaq 0x466dd(%rip), %rsi     # 0x54420
movb %dl, (%rcx,%rsi)
incq %rax
jmp 0xdd1d
incq %r12
addb $-0x30, %al
btsl %eax, %r11d
movl %r11d, 0x46805(%rip)    # 0x54560
movzbl (%r12), %eax
leal -0x30(%rax), %ecx
cmpb $0x4, %cl
jbe 0xdd4b
orl $0x1, %r11d
movl %r11d, 0x467ed(%rip)    # 0x54560
jmp 0xe244
movq %rcx, 0x467b9(%rip)     # 0x54538
jmp 0xe244
cmpl $0x20, %edx
jne 0xe72d
movb (%r12), %al
testb %al, %al
je 0xe244
incq %r12
cmpb $0x2d, %al
jne 0xdd8d
jmp 0xe244
movb $0x1, 0x467b0(%rip)     # 0x5455c
jmp 0xe244
movl $0xa, 0x467c9(%rip)     # 0x54584
jmp 0xe244
movb $0x0, 0x3e5e9(%rip)     # 0x4c3b0
jmp 0xe244
movzbl 0x1(%r15), %eax
leal -0x30(%rax), %ecx
addq $0x2, %r15
addl $-0x30, %eax
cmpb $0xa, %cl
pushq $0x1
popq %rcx
cmovbl %eax, %ecx
cmovbq %r15, %r12
movl 0x24(%rsp), %eax
orl %ecx, %eax
movl %eax, 0x24(%rsp)
movl %eax, 0x46760(%rip)     # 0x54558
jmp 0xe244
movzbl (%r12), %eax
cmpl $0x31, %eax
je 0xe196
cmpl $0x33, %eax
je 0xe18b
cmpl $0x38, %eax
jne 0xe1df
addq $0x2, %r15
leaq 0x37c00(%rip), %rax     # 0x45a28
movq %rax, 0x465e1(%rip)     # 0x54410
jmp 0xe2d4
movzbl (%r12), %eax
cmpl $0x51, %eax
je 0xe10c
cmpl $0x42, %eax
jne 0xe125
movl $0x42, 0x46723(%rip)    # 0x54578
jmp 0xe116
movzbl (%r12), %eax
cmpl $0x30, %eax
je 0xe2c9
cmpl $0x42, %eax
je 0xde88
cmpl $0x4e, %eax
je 0xe2ae
cmpl $0x53, %eax
je 0xe2a2
cmpl $0x51, %eax
jne 0xe2ba
addq $0x2, %r15
movl %eax, 0x466de(%rip)     # 0x54570
movl $0x7, 0x466d8(%rip)     # 0x54574
jmp 0xe2d4
movl $0x1, 0x3e3f5(%rip)     # 0x4c2a0
jmp 0xe244
movb $0x1, 0x466ad(%rip)     # 0x54564
movb $0x1, 0x466aa(%rip)     # 0x54568
addq $0x2, %r15
xorl %eax, %eax
movq %r12, %rbx
movl %eax, 0x4669f(%rip)     # 0x5456c
movb (%rbx), %cl
leal -0x30(%rcx), %edx
cmpb $0x9, %dl
ja 0xdef0
imull $0xa, %eax, %eax
movl %eax, 0x4668c(%rip)     # 0x5456c
movzbl (%rbx), %ecx
incq %rbx
addl %ecx, %eax
addl $-0x30, %eax
incq %r15
jmp 0xdec7
decl %eax
cmpl $0x1fff, %eax           # imm = 0x1FFF
jb 0xdf05
movl $0x3c, 0x46669(%rip)    # 0x5456c
movb (%rbx), %cl
cmpb $0x2d, %cl
jne 0xd915
xorl %eax, %eax
movl %eax, 0x3e3c2(%rip)     # 0x4c2d8
movb (%r15), %cl
addb $-0x30, %cl
cmpb $0x9, %cl
ja 0xe2d4
imull $0xa, %eax, %eax
movl %eax, 0x3e3aa(%rip)     # 0x4c2d8
movzbl (%r15), %ecx
addl %ecx, %eax
addl $-0x30, %eax
incq %r15
jmp 0xdf10
movb 0x1(%r15), %cl
addb $-0x30, %cl
addq $0x2, %r15
pushq $0x1
popq %rax
movl %eax, %edx
shll %cl, %edx
cmpb $0xa, %cl
cmovael %eax, %edx
cmovbq %r15, %r12
orl %edx, %r10d
movl %r10d, 0x4661e(%rip)    # 0x54580
jmp 0xe244
movq %rsi, 0x464a2(%rip)     # 0x54410
jmp 0xe244
movzbl (%r12), %eax
cmpl $0x30, %eax
je 0xe299
cmpl $0x6d, %eax
je 0xe281
cmpl $0x77, %eax
je 0xe28d
movq %r12, %rbx
cmpl $0x75, %eax
jne 0xd915
movl $0xa, 0x465db(%rip)     # 0x54584
jmp 0xe2d0
movzbl (%r12), %eax
leal -0x42(%rax), %ecx
movq %r12, %rbx
cmpl $0x8, %ecx
ja 0xd915
movl $0x141, %edx            # imm = 0x141
btl %ecx, %edx
movq %r12, %rbx
jae 0xd915
addq $0x2, %r15
movb %al, 0x3e2e3(%rip)      # 0x4c2c0
jmp 0xe2d4
movzbl (%r12), %eax
movl %eax, %ecx
orl $0x2, %ecx
movq %r12, %rbx
cmpl $0x42, %ecx
jne 0xd915
addq $0x2, %r15
movb %al, 0x3e2bf(%rip)      # 0x4c2c1
jmp 0xe2d4
movb $0x1, 0x463d2(%rip)     # 0x543e0
jmp 0xe244
movq %rcx, 0x463f6(%rip)     # 0x54410
jmp 0xe244
movb $0x1, 0x463ca(%rip)     # 0x543f0
jmp 0xe244
movzbl (%r12), %eax
cmpl $0x31, %eax
je 0xe1fa
cmpl $0x33, %eax
je 0xe1ef
cmpl $0x38, %eax
jne 0xe236
cmpb $0x30, 0x2(%r15)
jne 0xe2f9
addq $0x3, %r15
leaq 0x379df(%rip), %rax     # 0x45a40
jmp 0xe30b
andl $0x0, 0x3e233(%rip)     # 0x4c2a0
jmp 0xe244
movb $0x1, 0x3e337(%rip)     # 0x4c3b0
jmp 0xe244
movl $0xd0a, 0x464fc(%rip)   # imm = 0xD0A
jmp 0xe244
movq %rsi, 0x464a4(%rip)     # 0x54538
jmp 0xe244
movzbl (%r12), %eax
cmpl $0x32, %eax
je 0xe134
cmpl $0x31, %eax
jne 0xe147
addq $0x2, %r15
movl $0x1, 0x46302(%rip)     # 0x543c0
jmp 0xe2d4
movb $0x1, 0x4648a(%rip)     # 0x54554
leaq 0x37777(%rip), %rax     # 0x45848
jmp 0xe1e6
movb (%r12), %al
leal -0x32(%rax), %ecx
cmpb $0x7, %cl
ja 0xe0f1
movl $0x2, 0x3e2b4(%rip)     # 0x4c3a0
jmp 0xe2d0
andb $-0x2, %al
addq $0x2, %r15
cmpb $0x30, %al
movl $0x1, 0x3e29d(%rip)     # 0x4c3a0
cmoveq %r15, %r12
jmp 0xe244
movl $0x51, 0x46462(%rip)    # 0x54578
movl $0x7, 0x4645c(%rip)     # 0x5457c
jmp 0xe2d0
movl $0x1, 0x4644d(%rip)     # 0x5457c
jmp 0xe244
addq $0x2, %r15
movl $0x2, 0x4627e(%rip)     # 0x543c0
jmp 0xe2d4
movl $0x1, 0x4626f(%rip)     # 0x543c0
jmp 0xe244
movq 0x28(%rsp), %rdi
callq 0x11e4a
testq %rax, %rax
movq 0x10(%rsp), %r8
leaq 0x7f0d(%rip), %r9       # 0x1607c
movl 0xc(%rsp), %r10d
movl 0x8(%rsp), %r11d
je 0xd915
movq %rax, 0x4628a(%rip)     # 0x54410
jmp 0xd915
cmpb $0x32, 0x2(%r15)
jne 0xe1df
xorl %eax, %eax
jmp 0xe19f
movb $0x1, %al
cmpb $0x36, 0x2(%r15)
jne 0xe1df
movl $0x1, 0x3e12b(%rip)     # 0x4c2d4
movzbl 0x3(%r15), %esi
pushq $0x1f
popq %rcx
pushq $0x1a
popq %rdx
cmpl $0x42, %esi
je 0xe314
cmpl $0x4c, %esi
jne 0xe31a
addq $0x4, %r15
movl $0x2, 0x3e100(%rip)     # 0x4c2d4
pushq $0x21
popq %rcx
pushq $0x1c
popq %rdx
jmp 0xe31e
leaq 0x37842(%rip), %rax     # 0x45a28
movq %rax, 0x46223(%rip)     # 0x54410
jmp 0xe244
cmpb $0x32, 0x2(%r15)
jne 0xe236
xorl %eax, %eax
jmp 0xe203
movb $0x1, %al
cmpb $0x36, 0x2(%r15)
jne 0xe236
movzbl 0x3(%r15), %edx
cmpl $0x42, %edx
je 0xe222
cmpl $0x4c, %edx
jne 0xe341
movb $0x1, 0x46307(%rip)     # 0x54524
movb $0x1, 0x30(%rsp)
movb $0x1, 0x462f7(%rip)     # 0x54520
movb 0x4(%r15), %dl
addq $0x4, %r15
jmp 0xe345
leaq 0x377eb(%rip), %rax     # 0x45a28
movq %rax, 0x462f4(%rip)     # 0x54538
movq %r12, %rbx
jmp 0xd915
movq 0x28(%rsp), %rdi
callq 0x11e4a
testq %rax, %rax
movq 0x10(%rsp), %r8
leaq 0x7e17(%rip), %r9       # 0x1607c
movl 0xc(%rsp), %r10d
movl 0x8(%rsp), %r11d
je 0xd915
movq %rax, 0x462bc(%rip)     # 0x54538
jmp 0xd915
movl $0xd, 0x462f9(%rip)     # 0x54584
jmp 0xe2d0
movl $0xd0a, 0x462ed(%rip)   # imm = 0xD0A
jmp 0xe2d0
andl $0x0, 0x462e4(%rip)     # 0x54584
jmp 0xe2d0
movl $0x8, 0x3dfe4(%rip)     # 0x4c290
jmp 0xe2d0
movl $0x1, 0x3dfd8(%rip)     # 0x4c290
jmp 0xe2d0
movl $0x8, 0x3dfcc(%rip)     # 0x4c290
jmp 0xe244
andl $0x0, 0x3dfc0(%rip)     # 0x4c290
addq $0x2, %r15
movq %r15, %rbx
jmp 0xd915
movq 0x28(%rsp), %rax
movb (%rax), %al
andb $-0x2, %al
xorl %ecx, %ecx
cmpb $0x30, %al
setne %cl
incl %ecx
movl %ecx, 0x3e0ac(%rip)     # 0x4c3a0
jmp 0xe406
addq $0x2, %r15
movb $0x1, 0x4621c(%rip)     # 0x54520
leaq 0x3774d(%rip), %rax     # 0x45a58
movq %rax, 0x46226(%rip)     # 0x54538
jmp 0xe2d4
addq $0x4, %r15
jmp 0xe31e
addq $0x3, %r15
movq %r15, %rbx
testb %al, %al
cmoveq %rcx, %rdx
imulq $0x18, %rdx, %rax
leaq 0x374fe(%rip), %rcx     # 0x45830
addq %rax, %rcx
movq %rcx, 0x460d4(%rip)     # 0x54410
jmp 0xd915
addq $0x3, %r15
movzbl 0x30(%rsp), %ecx
cmpb $0x30, %dl
jne 0xe36f
movb $0x0, 0x461ca(%rip)     # 0x54520
incq %r15
andl $0x1, %ecx
xorb $0x1, %al
movzbl %al, %eax
leaq (%rax,%rax,4), %rax
leaq (%rax,%rcx,2), %rcx
addq $0x1a, %rcx
jmp 0xe382
andl $0x1, %ecx
addl %ecx, %ecx
leaq 0x1b(%rcx), %rdx
orq $0x20, %rcx
testb %al, %al
cmovneq %rdx, %rcx
imulq $0x18, %rcx, %rax
leaq 0x374a3(%rip), %rcx     # 0x45830
addq %rax, %rcx
movq %rcx, 0x461a1(%rip)     # 0x54538
jmp 0xe2d4
movb $0x1, %al
movb %al, 0x4603c(%rip)      # 0x543e0
movb %al, 0x4603a(%rip)      # 0x543e4
movb %al, 0x46038(%rip)      # 0x543e8
jmp 0xe406
movb $0x1, %al
movb %al, 0x46026(%rip)      # 0x543e0
movb %al, 0x46024(%rip)      # 0x543e4
movb %al, 0x46022(%rip)      # 0x543e8
jmp 0xe3f4
movb $0x1, %al
movb %al, 0x46010(%rip)      # 0x543e0
movb %al, 0x4600e(%rip)      # 0x543e4
movb $0x0, 0x4600b(%rip)     # 0x543e8
jmp 0xe406
movb $0x1, %al
movb %al, 0x45ff9(%rip)      # 0x543e0
movb %al, 0x45ff7(%rip)      # 0x543e4
movb $0x0, 0x45ff4(%rip)     # 0x543e8
movb %al, 0x45ff2(%rip)      # 0x543ec
movq 0x28(%rsp), %rax
movq %rax, 0x3de92(%rip)     # 0x4c298
movq 0x10(%rsp), %r8
leaq 0x7c6a(%rip), %r9       # 0x1607c
movl 0xc(%rsp), %r10d
movl 0x8(%rsp), %r11d
jmp 0xd915
movb $0x1, 0x46118(%rip)     # 0x54540
jmp 0xe406
movb $0x1, 0x46113(%rip)     # 0x54544
jmp 0xe406
movb $0x1, 0x4610e(%rip)     # 0x54548
jmp 0xe406
movb $0x1, 0x46109(%rip)     # 0x5454c
jmp 0xe406
movb $0x1, 0x3df58(%rip)     # 0x4c3a4
jmp 0xe406
movb $0x1, 0x45f9f(%rip)     # 0x543f4
orl $-0x1, 0x3de54(%rip)    # 0x4c2b0
movl $0x2, 0x45f92(%rip)     # 0x543f8
jmp 0xe406
andl $0x0, 0x3de41(%rip)     # 0x4c2b0
movb $0x0, 0x45f7e(%rip)     # 0x543f4
andl $0x0, 0x45f7b(%rip)     # 0x543f8
jmp 0xe406
orl $-0x1, 0x3de2a(%rip)    # 0x4c2b0
jmp 0xe406
movb $0x1, 0x3df16(%rip)     # 0x4c3a8
jmp 0xe406
movb $0x1, 0x45f6a(%rip)     # 0x54408
jmp 0xe406
movb $0x1, 0x45f52(%rip)     # 0x543fc
jmp 0xe406
andq $0x0, 0x45f49(%rip)     # 0x54400
jmp 0xe406
leaq 0x3a36(%rip), %rax      # 0x11ef9
jmp 0xe4e7
leaq 0x3b6b(%rip), %rax      # 0x12037
jmp 0xe4e7
leaq 0x3ba3(%rip), %rax      # 0x12078
jmp 0xe4e7
leaq 0x3cd7(%rip), %rax      # 0x121b5
jmp 0xe4e7
leaq 0x3d0f(%rip), %rax      # 0x121f6
movq %rax, 0x45f12(%rip)     # 0x54400
jmp 0xe406
andl $0x0, 0x3ddd6(%rip)     # 0x4c2d0
leaq 0x3cf5(%rip), %rax      # 0x121f6
movq %rax, 0x45ef8(%rip)     # 0x54400
movq 0x28(%rsp), %rax
cmpb $0x30, (%rax)
jne 0xe5d3
addq %r13, %r12
movzbl 0x2(%r12), %eax
orl $0x20, %eax
cmpl $0x78, %eax
jne 0xe652
leaq (%r15,%r14), %rax
addq $0x4, %rax
xorl %ecx, %ecx
xorl %edi, %edi
leal 0x2(%rcx), %edx
movl %edx, 0x58(%rsp)
cmpq $0x6, %rcx
je 0xe6c0
movb (%rax,%rcx), %dl
leal -0x30(%rdx), %esi
cmpb $0xa, %sil
jb 0xe577
movzbl %dl, %edx
addl $-0x41, %edx
cmpl $0x25, %edx
ja 0xe6c0
movabsq $0x3f0000003f, %rsi     # imm = 0x3F0000003F
btq %rdx, %rsi
jae 0xe6c0
shll $0x4, %edi
movl %edi, 0x3dd50(%rip)     # 0x4c2d0
movzbl (%rax,%rcx), %edx
leal -0x30(%rdx), %esi
cmpb $0x9, %sil
ja 0xe592
addl $-0x30, %edx
jmp 0xe5b4
leal -0x41(%rdx), %esi
cmpb $0x5, %sil
ja 0xe5a0
addl $-0x37, %edx
jmp 0xe5b4
leal -0x61(%rdx), %esi
addl $-0x57, %edx
xorl %r8d, %r8d
cmpb $0x6, %sil
cmovbl %edx, %r8d
movl %r8d, %edx
orl %edx, %edi
movl %edi, 0x3dd14(%rip)     # 0x4c2d0
incq %rcx
jmp 0xe537
movl $0x1, 0x45e2a(%rip)     # 0x543f8
jmp 0xe406
leaq (%r15,%r14), %rax
addq $0x2, %rax
xorl %ecx, %ecx
xorl %edi, %edi
movl %ecx, 0x58(%rsp)
cmpq $0x7, %rcx
je 0xe6c0
movb (%rax,%rcx), %dl
addb $-0x30, %dl
cmpb $0x9, %dl
ja 0xe6c0
imull $0xa, %edi, %edx
movl %edx, 0x3dccb(%rip)     # 0x4c2d0
movzbl (%rax,%rcx), %edi
leal -0x30(%rdi), %esi
cmpb $0x9, %sil
ja 0xe617
addl $-0x30, %edi
jmp 0xe639
leal -0x41(%rdi), %esi
cmpb $0x5, %sil
ja 0xe625
addl $-0x37, %edi
jmp 0xe639
leal -0x61(%rdi), %esi
addl $-0x57, %edi
xorl %r8d, %r8d
cmpb $0x6, %sil
cmovbl %edi, %r8d
movl %r8d, %edi
addl %edx, %edi
movl %edi, 0x3dc8f(%rip)     # 0x4c2d0
incq %rcx
jmp 0xe5df
movb $0x1, 0x45f03(%rip)     # 0x54550
jmp 0xe406
leaq (%r15,%r14), %rax
addq $0x3, %rax
xorl %ecx, %ecx
xorl %edi, %edi
leal 0x1(%rcx), %edx
movl %edx, 0x58(%rsp)
cmpq $0x7, %rcx
je 0xe6c0
movb (%rax,%rcx), %dl
andb $-0x8, %dl
cmpb $0x30, %dl
jne 0xe6c0
shll $0x3, %edi
movl %edi, 0x3dc51(%rip)     # 0x4c2d0
movzbl (%rax,%rcx), %edx
leal -0x30(%rdx), %esi
cmpb $0x9, %sil
ja 0xe691
addl $-0x30, %edx
jmp 0xe6b3
leal -0x41(%rdx), %esi
cmpb $0x5, %sil
ja 0xe69f
addl $-0x37, %edx
jmp 0xe6b3
leal -0x61(%rdx), %esi
addl $-0x57, %edx
xorl %r8d, %r8d
cmpb $0x6, %sil
cmovbl %edx, %r8d
movl %r8d, %edx
addl %edx, %edi
movl %edi, 0x3dc15(%rip)     # 0x4c2d0
incq %rcx
jmp 0xe65e
leaq 0x58(%rsp), %r12
leaq 0x48(%rsp), %r14
movq %r12, %rsi
movq %r14, %rdx
callq 0x116b7
movl (%r12), %eax
shll $0x8, %eax
orl (%r14), %eax
movl %eax, 0x3dbeb(%rip)     # 0x4c2d0
jmp 0xe406
movq %rbp, %rbx
jmp 0xd913
movb $0x1, 0x45e37(%rip)     # 0x54530
jmp 0xe723
movq 0x3d8f6(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x84bf(%rip), %rsi      # 0x16bcb
movq %r12, %rdx
xorl %eax, %eax
movq %r8, %rbx
callq 0xc140
leaq 0x795c(%rip), %r9       # 0x1607c
movq %rbx, %r8
movq 0x38(%rsp), %r14
jmp 0xd8b2
movq 0x3d8c4(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x85ca(%rip), %rsi      # 0x16d08
xorl %eax, %eax
movq %r8, %rbx
callq 0xc140
jmp 0xe719
movq 0x3d8a7(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x858e(%rip), %rsi      # 0x16ce9
movq 0x18(%rsp), %rdx
xorl %eax, %eax
callq 0xc140
movq 0x10(%rsp), %r8
leaq 0x7909(%rip), %r9       # 0x1607c
jmp 0xe723
movl 0x44(%rsp), %eax
movq %rax, 0x18(%rsp)
movl 0x3dc1c(%rip), %ebp     # 0x4c3a0
testl %ebp, %ebp
je 0xea3e
movb 0x3dc11(%rip), %r12b    # 0x4c3a4
movb 0x3dc0e(%rip), %r15b    # 0x4c3a8
leaq 0x3d99f(%rip), %rax     # 0x4c140
movb 0x3dc05(%rip), %bl      # 0x4c3ac
movabsq $0x8000000000, %rcx     # imm = 0x8000000000
cmpq $0x0, (%rax)
je 0xe7c9
movq %rcx, 0x8(%rax)
andl $0x0, 0x10(%rax)
andl $0x0, 0x30(%rax)
addq $0x38, %rax
jmp 0xe7b1
andl $0x0, 0x45c48(%rip)     # 0x54418
andl $0x0, 0x45be9(%rip)     # 0x543c0
andl $0x0, 0x45d7a(%rip)     # 0x54558
andl $0x0, 0x45d7b(%rip)     # 0x54560
xorl %eax, %eax
andl $0x0, 0x45d86(%rip)     # 0x54574
movb %al, 0x3dbbc(%rip)      # 0x4c3b0
andl $0x0, 0x45d85(%rip)     # 0x54580
movb %al, 0x45d5b(%rip)      # 0x5455c
andl $0x0, 0x45d74(%rip)     # 0x5457c
movl $0x8, 0x3da7e(%rip)     # 0x4c290
orl $-0x1, 0x3da87(%rip)    # 0x4c2a0
movb %al, 0x45d35(%rip)      # 0x54554
andl $0x0, 0x45bd2(%rip)     # 0x543f8
movb %al, 0x45bc4(%rip)      # 0x543f0
andq $0x0, 0x45bcc(%rip)     # 0x54400
movb %al, 0x45bce(%rip)      # 0x54408
movb %al, 0x45bbc(%rip)      # 0x543fc
movl $0x3f, 0x3da86(%rip)    # 0x4c2d0
pushq $0x1
popq %rcx
movl %ecx, 0x3da81(%rip)     # 0x4c2d4
movb %al, 0x45cc7(%rip)      # 0x54520
movb %al, 0x45cc5(%rip)      # 0x54524
movb %al, 0x45ceb(%rip)      # 0x54550
movb %al, 0x45cd5(%rip)      # 0x54540
movb %al, 0x45cd3(%rip)      # 0x54544
movb %al, 0x45cd1(%rip)      # 0x54548
movb %al, 0x45ccf(%rip)      # 0x5454c
movb %al, 0x3db21(%rip)      # 0x4c3a4
andl $0x0, 0x3db16(%rip)     # 0x4c3a0
movb $0x1, 0x45b63(%rip)     # 0x543f4
movl %ecx, 0x3da19(%rip)     # 0x4c2b0
movb %al, 0x3db0b(%rip)      # 0x4c3a8
movb %al, 0x3db09(%rip)      # 0x4c3ac
leaq 0x45b76(%rip), %rcx     # 0x54420
cmpq $0x100, %rax            # imm = 0x100
je 0xe8bb
movb $0x0, (%rax,%rcx)
incq %rax
jmp 0xe8aa
andl $0x0, 0x45cc6(%rip)     # 0x54588
andl $0x0, 0x45d0f(%rip)     # 0x545d8
andl $0x0, 0x45ca8(%rip)     # 0x54578
andl $0x0, 0x45d05(%rip)     # 0x545dc
andl $0x0, 0x45d02(%rip)     # 0x545e0
andl $0x0, 0x45cff(%rip)     # 0x545e4
xorl %eax, %eax
movb %al, 0x45c77(%rip)      # 0x54564
andl $0x0, 0x45c78(%rip)     # 0x5456c
movb %al, 0x45c6e(%rip)      # 0x54568
movb $0x42, %cl
movb %cl, 0x3d9bf(%rip)      # 0x4c2c1
movb %cl, 0x3d9b8(%rip)      # 0x4c2c0
movl $0xa, 0x3d9c6(%rip)     # 0x4c2d8
leaq 0x2789(%rip), %rcx      # 0x110a2
movq %rcx, 0x3d9c0(%rip)     # 0x4c2e0
movq %rcx, 0x3d9c1(%rip)     # 0x4c2e8
movq %rcx, 0x3d9c2(%rip)     # 0x4c2f0
movq %rcx, 0x3d9c3(%rip)     # 0x4c2f8
movq %rcx, 0x3d9c4(%rip)     # 0x4c300
movq %rcx, 0x3d9c5(%rip)     # 0x4c308
movq %rcx, 0x3d9c6(%rip)     # 0x4c310
leaq 0x3007(%rip), %rcx      # 0x11958
movq %rcx, 0x3d960(%rip)     # 0x4c2b8
leaq 0x39af(%rip), %rdx      # 0x1230e
movq %rdx, 0x3d9b2(%rip)     # 0x4c318
leaq 0x39bb(%rip), %rsi      # 0x12328
movq %rsi, 0x3d9ac(%rip)     # 0x4c320
movq %rdx, 0x3d9ad(%rip)     # 0x4c328
movq %rsi, 0x3d9ae(%rip)     # 0x4c330
andl $0x0, 0x45a83(%rip)     # 0x5440c
movq %rcx, 0x3d9a8(%rip)     # 0x4c338
andl $0x0, 0x45c51(%rip)     # 0x545e8
movq %rdx, 0x3d9a2(%rip)     # 0x4c340
andl $0x0, 0x45bcb(%rip)     # 0x54570
movq %rsi, 0x3d99c(%rip)     # 0x4c348
andl $0x0, 0x45bd1(%rip)     # 0x54584
movq %rdx, 0x3d996(%rip)     # 0x4c350
andl $0x0, 0x45a0f(%rip)     # 0x543d0
movq %rsi, 0x3d990(%rip)     # 0x4c358
andl $0x0, 0x45c25(%rip)     # 0x545f4
movb %al, 0x45a0b(%rip)      # 0x543e0
andq $0x0, 0x459fb(%rip)     # 0x543d8
movb %al, 0x45c09(%rip)      # 0x545ec
andq $0x0, 0x459dd(%rip)     # 0x543c8
movb %al, 0x45b3f(%rip)      # 0x54530
andq $0x0, 0x45a17(%rip)     # 0x54410
movb %al, 0x45bf1(%rip)      # 0x545f0
andq $0x0, 0x45b31(%rip)     # 0x54538
movq %r8, %r14
callq 0xefa0
movq %r14, %r8
andl $0x0, 0x3d877(%rip)     # 0x4c290
movl %ebp, 0x3d981(%rip)     # 0x4c3a0
andb $0x1, %r12b
movb %r12b, 0x3d97a(%rip)    # 0x4c3a4
andb $0x1, %r15b
movb %r15b, 0x3d973(%rip)    # 0x4c3a8
andb $0x1, %bl
movb %bl, 0x3d96e(%rip)      # 0x4c3ac
movq %r8, 0x10(%rsp)
movq 0x3d54e(%rip), %rax     # 0x4bf98
movq (%rax), %rdi
cmpb $0x1, 0x3d95c(%rip)     # 0x4c3b0
jne 0xea5f
xorl %esi, %esi
callq 0xc0b0
jmp 0xea72
leaq 0x3d95a(%rip), %rsi     # 0x4c3c0
movl $0x4000, %ecx           # imm = 0x4000
xorl %edx, %edx
callq 0xc1d0
cmpl $0x0, 0x10(%rsp)
je 0xef01
xorl %r12d, %r12d
movl $0x0, 0x24(%rsp)
movq %r12, 0x30(%rsp)
movq 0x38(%rsp), %r14
leaq 0x10(%r14), %rbx
movl 0x10(%rsp), %r12d
xorl %r15d, %r15d
cmpl %r15d, %r12d
je 0xeef5
andq $0x0, 0x45919(%rip)     # 0x543c8
andl $0x0, 0x4591a(%rip)     # 0x543d0
andq $0x0, 0x4591a(%rip)     # 0x543d8
movq (%r14,%r15,8), %rbp
movq %rbp, %rdi
leaq 0x81ee(%rip), %rsi      # 0x16cba
callq 0xc1f0
testq %rax, %rax
jne 0xeaef
movq (%r14,%r15,8), %rdi
callq 0xc200
addq $0x8, %rbx
incq %r15
pushq $0x1
popq %rax
movl %eax, 0x24(%rsp)
jmp 0xea9e
movq %rax, %r13
leaq -0x8(%rbx), %r14
leal -0x1(%r12), %eax
subq %r15, %rax
cmpb $0x0, 0x458db(%rip)     # 0x543e0
je 0xebb6
cmpb $0x1, 0x458d2(%rip)     # 0x543e4
jne 0xebcc
movq %rax, 0x10(%rsp)
movq %rbp, %rdi
callq 0xc0a0
leaq 0xe(%rax), %rdi
callq 0x10d32
movq %rax, %r12
movq %rax, %rdi
movq %rbp, %rsi
callq 0xc070
movq %r12, %rdi
callq 0xc0a0
movabsq $0x58706d74666b6e2e, %rcx # imm = 0x58706D74666B6E2E
movq %rcx, (%r12,%rax)
movabsq $0x58585858585870, %rcx # imm = 0x58585858585870
movq %rcx, 0x6(%r12,%rax)
movq %r12, %rdi
callq 0xc1a0
testl %eax, %eax
js 0xef74
movl %eax, %r15d
movq 0x3d41d(%rip), %rax     # 0x4bf98
movq (%rax), %rdi
callq 0xc160
movl %eax, %edi
callq 0xc0e0
testl %eax, %eax
js 0xef74
movl %eax, %ebx
movq 0x3d3fd(%rip), %rax     # 0x4bf98
movq (%rax), %rdi
callq 0xc160
movl %r15d, %edi
movl %eax, %esi
callq 0xc0c0
testl %eax, %eax
jns 0xec01
jmp 0xef74
movq %rax, 0x10(%rsp)
xorl %r15d, %r15d
movq %r14, 0x38(%rsp)
xorl %ebx, %ebx
movq 0x30(%rsp), %r12
jmp 0xec28
addq $-0x2, %r12
cmpl %r15d, %r12d
jne 0xebf0
movq 0x38(%rsp), %rax
movq 0x8(%rax,%r15,8), %r12
movq $0x0, 0x10(%rsp)
movq %rbx, %r14
xorl %r15d, %r15d
jmp 0xebff
movq %rax, 0x10(%rsp)
xorl %r15d, %r15d
leaq 0x7f3a(%rip), %r12      # 0x16b39
xorl %ebx, %ebx
movq 0x3d390(%rip), %rax     # 0x4bf98
movq (%rax), %rdx
movq %r12, %rdi
leaq 0x814a(%rip), %rsi      # 0x16d5f
callq 0xc100
testq %rax, %rax
je 0xef79
movq %r14, 0x38(%rsp)
movl $0x4000, %ecx           # imm = 0x4000
movq %r13, %rdi
leaq 0x41789(%rip), %rsi     # 0x503c0
xorl %edx, %edx
callq 0xc1d0
cmpl $0x0, 0x4577b(%rip)     # 0x543c0
je 0xec51
movq %r13, %rdi
callq 0xf01c
jmp 0xec75
movq %r13, %rdi
callq 0xf04f
cmpl $0x0, 0x3d740(%rip)     # 0x4c3a0
je 0xec75
cmpl $0x3, 0x18(%rsp)
movl $0x0, %edi
cmovgeq %rbp, %rdi
callq 0x10b67
movq %r13, %rdi
callq 0xc090
cmpb $0x1, 0x45760(%rip)     # 0x543e4
jne 0xea88
movq 0x3d307(%rip), %r14     # 0x4bf98
movq (%r14), %rdi
callq 0xc180
movl %r15d, %edi
callq 0xc120
movq (%r14), %rdi
callq 0xc160
movl %ebx, %edi
movl %eax, %esi
callq 0xc0c0
testl %eax, %eax
js 0xee2e
movq %rbp, %rdi
leaq 0x58(%rsp), %rsi
callq 0xc150
testl %eax, %eax
jne 0xee3f
movl 0x70(%rsp), %esi
movq %r12, %rdi
callq 0xc1e0
testl %eax, %eax
jne 0xee5f
cmpb $0x1, 0x456fe(%rip)     # 0x543e8
jne 0xed1b
movq 0xa0(%rsp), %rax
movq 0xb0(%rsp), %rcx
movq %rax, 0x48(%rsp)
movq %rcx, 0x50(%rsp)
movq %r12, %rdi
leaq 0x48(%rsp), %rsi
callq 0xc030
testl %eax, %eax
jne 0xeeaa
cmpb $0x1, 0x456ca(%rip)     # 0x543ec
jne 0xee12
movq 0x3d569(%rip), %rbx     # 0x4c298
movq %rbp, %rdi
callq 0xc0a0
movq %rax, %r15
xorl %r13d, %r13d
movq %rbx, %rax
movzbl (%rax), %ecx
cmpl $0x2a, %ecx
je 0xed4e
testl %ecx, %ecx
jne 0xed51
jmp 0xed56
incl %r13d
incq %rax
jmp 0xed40
movq %r12, 0x30(%rsp)
movq %rbx, %rdi
callq 0xc0a0
movq %rax, %r12
testl %r13d, %r13d
je 0xedc0
leal -0x1(%r15), %eax
imull %eax, %r13d
movslq %r13d, %rax
leaq (%rax,%r12), %rdi
incq %rdi
callq 0x10d32
movq %rax, %r13
movslq %r15d, %r12
xorl %r14d, %r14d
movzbl (%rbx), %ecx
movslq %r14d, %rax
addq %r13, %rax
cmpl $0x2a, %ecx
je 0xeda4
testl %ecx, %ecx
je 0xedef
movb %cl, (%rax)
pushq $0x1
popq %rax
jmp 0xedb8
movb $0x0, (%rax)
movq %r13, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0xc110
movl %r15d, %eax
addl %eax, %r14d
incq %rbx
jmp 0xed8b
addq %r15, %r12
leal 0x1(%r12), %eax
movslq %eax, %rdi
callq 0x10d32
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
callq 0xc070
movq %r13, %rdi
movq %rbx, %rsi
callq 0xc220
movslq %r12d, %rax
addq %r13, %rax
movb $0x0, (%rax)
movq %rbp, %rdi
movq %r13, %rsi
callq 0xc210
testl %eax, %eax
movq 0x30(%rsp), %r12
jne 0xeeca
movq %r13, %rdi
callq 0xc040
movq %r12, %rdi
movq %rbp, %rsi
callq 0xc210
testl %eax, %eax
jne 0xee7f
movq %r12, %rdi
callq 0xc040
jmp 0xea88
leaq 0x7d0c(%rip), %rdi      # 0x16b41
callq 0xc200
jmp 0xecba
movq 0x3d1b2(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x7cf6(%rip), %rsi      # 0x16b46
movq %rbp, %rdx
xorl %eax, %eax
callq 0xc140
jmp 0xeccf
movq 0x3d192(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x7ce5(%rip), %rsi      # 0x16b55
movq %r12, %rdx
xorl %eax, %eax
callq 0xc140
jmp 0xece3
movq %rbp, %rdi
callq 0xc200
movq 0x3d16a(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x7cee(%rip), %rsi      # 0x16b86
movq %r12, %rdx
movq %rbp, %rcx
xorl %eax, %eax
callq 0xc140
jmp 0xee21
movq 0x3d147(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x7cb3(%rip), %rsi      # 0x16b6e
movq %r12, %rdx
xorl %eax, %eax
callq 0xc140
jmp 0xed1b
movq %r13, %rdi
callq 0xc200
movq 0x3d11f(%rip), %rax     # 0x4bff8
movq (%rax), %rdi
leaq 0x7ca3(%rip), %rsi      # 0x16b86
movq %rbp, %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0xc140
jmp 0xee0a
cmpl $0x0, 0x24(%rsp)
je 0xef46
pushq $-0x1
popq %rbx
jmp 0xef60
movq 0x3d0a0(%rip), %rbx     # 0x4bfa8
movq (%rbx), %rdi
leaq 0x414ae(%rip), %rsi     # 0x503c0
movl $0x4000, %ecx           # imm = 0x4000
xorl %edx, %edx
callq 0xc1d0
cmpl $0x0, 0x4549b(%rip)     # 0x543c0
movq (%rbx), %rdi
je 0xef31
callq 0xf01c
jmp 0xef46
callq 0xf04f
cmpl $0x0, 0x3d463(%rip)     # 0x4c3a0
je 0xef46
xorl %edi, %edi
callq 0x10b67
xorl %ebx, %ebx
cmpb $0x1, 0x45491(%rip)     # 0x543e0
jne 0xef60
movq 0x3d040(%rip), %rax     # 0x4bf98
movq (%rax), %rdi
callq 0xc090
movl %ebx, %eax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbp, %rdi
jmp 0xef7c
movq %r12, %rdi
callq 0xc200
jmp 0xeefc
callq 0x12213
jmp 0xef92
callq 0x12272
xorl %edi, %edi
callq 0xc230
callq 0x11d97
jmp 0xef92