// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/samtools-0.1.18/bam.c
// Function: bam_format1_core
char *bam_format1_core(const bam_header_t *header, const bam1_t *b, int of)
{
	uint8_t *s = bam1_seq(b), *t = bam1_qual(b);
	int i;
	const bam1_core_t *c = &b->core;
	kstring_t str;
	str.l = str.m = 0; str.s = 0;

	kputsn(bam1_qname(b), c->l_qname-1, &str); kputc('\t', &str);
	if (of == BAM_OFDEC) { kputw(c->flag, &str); kputc('\t', &str); }
	else if (of == BAM_OFHEX) ksprintf(&str, "0x%x\t", c->flag);
	else { // BAM_OFSTR
		for (i = 0; i < 16; ++i)
			if ((c->flag & 1<<i) && bam_flag2char_table[i])
				kputc(bam_flag2char_table[i], &str);
		kputc('\t', &str);
	}
	if (c->tid < 0) kputsn("*\t", 2, &str);
	else {
		if (header) kputs(header->target_name[c->tid] , &str);
		else kputw(c->tid, &str);
		kputc('\t', &str);
	}
	kputw(c->pos + 1, &str); kputc('\t', &str); kputw(c->qual, &str); kputc('\t', &str);
	if (c->n_cigar == 0) kputc('*', &str);
	else {
		for (i = 0; i < c->n_cigar; ++i) {
			kputw(bam1_cigar(b)[i]>>BAM_CIGAR_SHIFT, &str);
			kputc("MIDNSHP=X"[bam1_cigar(b)[i]&BAM_CIGAR_MASK], &str);
		}
	}
	kputc('\t', &str);
	if (c->mtid < 0) kputsn("*\t", 2, &str);
	else if (c->mtid == c->tid) kputsn("=\t", 2, &str);
	else {
		if (header) kputs(header->target_name[c->mtid], &str);
		else kputw(c->mtid, &str);
		kputc('\t', &str);
	}
	kputw(c->mpos + 1, &str); kputc('\t', &str); kputw(c->isize, &str); kputc('\t', &str);
	if (c->l_qseq) {
		for (i = 0; i < c->l_qseq; ++i) kputc(bam_nt16_rev_table[bam1_seqi(s, i)], &str);
		kputc('\t', &str);
		if (t[0] == 0xff) kputc('*', &str);
		else for (i = 0; i < c->l_qseq; ++i) kputc(t[i] + 33, &str);
	} else kputsn("*\t*", 3, &str);
	s = bam1_aux(b);
	while (s < b->data + b->data_len) {
		uint8_t type, key[2];
		key[0] = s[0]; key[1] = s[1];
		s += 2; type = *s; ++s;
		kputc('\t', &str); kputsn((char*)key, 2, &str); kputc(':', &str);
		if (type == 'A') { kputsn("A:", 2, &str); kputc(*s, &str); ++s; }
		else if (type == 'C') { kputsn("i:", 2, &str); kputw(*s, &str); ++s; }
		else if (type == 'c') { kputsn("i:", 2, &str); kputw(*(int8_t*)s, &str); ++s; }
		else if (type == 'S') { kputsn("i:", 2, &str); kputw(*(uint16_t*)s, &str); s += 2; }
		else if (type == 's') { kputsn("i:", 2, &str); kputw(*(int16_t*)s, &str); s += 2; }
		else if (type == 'I') { kputsn("i:", 2, &str); kputuw(*(uint32_t*)s, &str); s += 4; }
		else if (type == 'i') { kputsn("i:", 2, &str); kputw(*(int32_t*)s, &str); s += 4; }
		else if (type == 'f') { ksprintf(&str, "f:%g", *(float*)s); s += 4; }
		else if (type == 'd') { ksprintf(&str, "d:%lg", *(double*)s); s += 8; }
		else if (type == 'Z' || type == 'H') { kputc(type, &str); kputc(':', &str); while (*s) kputc(*s++, &str); ++s; }
		else if (type == 'B') {
			uint8_t sub_type = *(s++);
			int32_t n;
			memcpy(&n, s, 4);
			s += 4; // no point to the start of the array
			kputc(type, &str); kputc(':', &str); kputc(sub_type, &str); // write the typing
			for (i = 0; i < n; ++i) {
				kputc(',', &str);
				if ('c' == sub_type || 'c' == sub_type) { kputw(*(int8_t*)s, &str); ++s; }
				else if ('C' == sub_type) { kputw(*(uint8_t*)s, &str); ++s; }
				else if ('s' == sub_type) { kputw(*(int16_t*)s, &str); s += 2; }
				else if ('S' == sub_type) { kputw(*(uint16_t*)s, &str); s += 2; }
				else if ('i' == sub_type) { kputw(*(int32_t*)s, &str); s += 4; }
				else if ('I' == sub_type) { kputuw(*(uint32_t*)s, &str); s += 4; }
				else if ('f' == sub_type) { ksprintf(&str, "%g", *(float*)s); s += 4; }
			}
		}
	}
	return str.s;
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movl %edx, 0x64(%rsp)
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x30, %rcx
shll $0x2, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x18, %rcx
andq $0xff, %rcx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x58(%rsp)
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x30, %rcx
shll $0x2, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x18, %rcx
andq $0xff, %rcx
movslq %ecx, %rcx
addq %rcx, %rax
movq 0x68(%rsp), %rcx
movl 0x10(%rcx), %ecx
addl $0x1, %ecx
sarl %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x50(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x40(%rsp)
movq $0x0, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
movq $0x0, 0x38(%rsp)
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rdi
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
shrq $0x18, %rax
andq $0xff, %rax
movl %eax, %esi
subl $0x1, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
cmpl $0x0, 0x64(%rsp)
jne 0x36673a
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
shrq $0x20, %rax
andq $0xffff, %rax           # imm = 0xFFFF
movl %eax, %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x3667f9
cmpl $0x1, 0x64(%rsp)
jne 0x36676e
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
shrq $0x20, %rax
andq $0xffff, %rax           # imm = 0xFFFF
movl %eax, %edx
leaq 0x28(%rsp), %rdi
leaq 0x236f0e(%rip), %rsi    # 0x59d670
movb $0x0, %al
callq 0x4f8db0
jmp 0x3667f7
movl $0x0, 0x4c(%rsp)
cmpl $0x10, 0x4c(%rsp)
jge 0x3667e8
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
shrq $0x20, %rax
andq $0xffff, %rax           # imm = 0xFFFF
movl 0x4c(%rsp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x3667d9
leaq 0x2d89bd(%rip), %rax    # 0x63f168
movq (%rax), %rax
movslq 0x4c(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x3667d9
leaq 0x2d89a5(%rip), %rax    # 0x63f168
movq (%rax), %rax
movslq 0x4c(%rsp), %rcx
movsbl (%rax,%rcx), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x3667db
movl 0x4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x366776
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x3667f9
movq 0x40(%rsp), %rax
cmpl $0x0, (%rax)
jge 0x36681b
leaq 0x236e6c(%rip), %rdi    # 0x59d676
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
jmp 0x366864
cmpq $0x0, 0x70(%rsp)
je 0x366844
movq 0x70(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x40(%rsp), %rcx
movslq (%rcx), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x28(%rsp), %rsi
callq 0x367690
jmp 0x366855
movq 0x40(%rsp), %rax
movl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x40(%rsp), %rax
movl 0x4(%rax), %edi
addl $0x1, %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
shrq $0x10, %rax
andq $0xff, %rax
movl %eax, %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
shrq $0x30, %rax
cmpl $0x0, %eax
jne 0x3668dc
movl $0x2a, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x36698e
movl $0x0, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
movq 0x40(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x30, %rcx
cmpl %ecx, %eax
jge 0x36698c
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x18, %rcx
andq $0xff, %rcx
movslq %ecx, %rcx
addq %rcx, %rax
movslq 0x4c(%rsp), %rcx
movl (%rax,%rcx,4), %edi
shrl $0x4, %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x18, %rcx
andq $0xff, %rcx
movslq %ecx, %rcx
addq %rcx, %rax
movslq 0x4c(%rsp), %rcx
movl (%rax,%rcx,4), %eax
andl $0xf, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x236d0b(%rip), %rax    # 0x59d679
movsbl (%rax,%rcx), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movl 0x4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x3668e4
jmp 0x36698e
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x40(%rsp), %rax
cmpl $0x0, 0x14(%rax)
jge 0x3669c0
leaq 0x236cc7(%rip), %rdi    # 0x59d676
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
jmp 0x366a36
movq 0x40(%rsp), %rax
movl 0x14(%rax), %eax
movq 0x40(%rsp), %rcx
cmpl (%rcx), %eax
jne 0x3669e9
leaq 0x236cab(%rip), %rdi    # 0x59d683
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
jmp 0x366a34
cmpq $0x0, 0x70(%rsp)
je 0x366a13
movq 0x70(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x40(%rsp), %rcx
movslq 0x14(%rcx), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x28(%rsp), %rsi
callq 0x367690
jmp 0x366a25
movq 0x40(%rsp), %rax
movl 0x14(%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x366a36
movq 0x40(%rsp), %rax
movl 0x18(%rax), %edi
addl $0x1, %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x40(%rsp), %rax
movl 0x1c(%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x40(%rsp), %rax
cmpl $0x0, 0x10(%rax)
je 0x366b95
movl $0x0, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
movq 0x40(%rsp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x366b24
leaq 0x2d89c5(%rip), %rax    # 0x63f470
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
movl 0x4c(%rsp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq 0x8(%rsp), %rax
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, 0x1c(%rsp)
movl 0x4c(%rsp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movq 0x10(%rsp), %rax
movl %edx, %esi
movl 0x1c(%rsp), %edx
movl $0x1, %ecx
subl %esi, %ecx
shll $0x2, %ecx
sarl %cl, %edx
movl %edx, %ecx
andl $0xf, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movl 0x4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x366a92
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x50(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xff, %eax
jne 0x366b53
movl $0x2a, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x366b93
movl $0x0, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
movq 0x40(%rsp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x366b91
movq 0x50(%rsp), %rax
movslq 0x4c(%rsp), %rcx
movzbl (%rax,%rcx), %edi
addl $0x21, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movl 0x4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x366b5b
jmp 0x366b93
jmp 0x366bab
leaq 0x236aea(%rip), %rdi    # 0x59d686
movl $0x3, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x30, %rcx
shll $0x2, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq $0x18, %rcx
andq $0xff, %rcx
movslq %ecx, %rcx
addq %rcx, %rax
movq 0x68(%rsp), %rcx
movslq 0x10(%rcx), %rcx
addq %rcx, %rax
movq %rax, (%rsp)
movq 0x68(%rsp), %rax
movl 0x10(%rax), %eax
addl $0x1, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq (%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq 0x68(%rsp), %rcx
movq 0x30(%rcx), %rcx
movq 0x68(%rsp), %rdx
movslq 0x24(%rdx), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x3671ae
movq 0x58(%rsp), %rax
movb (%rax), %al
movb %al, 0x25(%rsp)
movq 0x58(%rsp), %rax
movb 0x1(%rax), %al
movb %al, 0x26(%rsp)
movq 0x58(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movb (%rax), %al
movb %al, 0x27(%rsp)
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
movl $0x9, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
leaq 0x25(%rsp), %rdi
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movl $0x3a, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movzbl 0x27(%rsp), %eax
cmpl $0x41, %eax
jne 0x366cf0
leaq 0x2369ce(%rip), %rdi    # 0x59d68a
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movzbl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x3671a9
movzbl 0x27(%rsp), %eax
cmpl $0x43, %eax
jne 0x366d35
leaq 0x217656(%rip), %rdi    # 0x57e357
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movzbl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x3671a7
movzbl 0x27(%rsp), %eax
cmpl $0x63, %eax
jne 0x366d7a
leaq 0x217611(%rip), %rdi    # 0x57e357
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movsbl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x3671a5
movzbl 0x27(%rsp), %eax
cmpl $0x53, %eax
jne 0x366dbf
leaq 0x2175cc(%rip), %rdi    # 0x57e357
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movzwl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x58(%rsp)
jmp 0x3671a3
movzbl 0x27(%rsp), %eax
cmpl $0x73, %eax
jne 0x366e04
leaq 0x217587(%rip), %rdi    # 0x57e357
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movswl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x58(%rsp)
jmp 0x3671a1
movzbl 0x27(%rsp), %eax
cmpl $0x49, %eax
jne 0x366e48
leaq 0x217542(%rip), %rdi    # 0x57e357
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x3676d0
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
jmp 0x36719f
movzbl 0x27(%rsp), %eax
cmpl $0x69, %eax
jne 0x366e8c
leaq 0x2174fe(%rip), %rdi    # 0x57e357
movl $0x2, %esi
leaq 0x28(%rsp), %rdx
callq 0x3671c0
movq 0x58(%rsp), %rax
movl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
jmp 0x36719d
movzbl 0x27(%rsp), %eax
cmpl $0x66, %eax
jne 0x366ec9
movq 0x58(%rsp), %rax
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x28(%rsp), %rdi
leaq 0x2367de(%rip), %rsi    # 0x59d68d
movb $0x1, %al
callq 0x4f8db0
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
jmp 0x36719b
movzbl 0x27(%rsp), %eax
cmpl $0x64, %eax
jne 0x366f02
movq 0x58(%rsp), %rax
movsd (%rax), %xmm0
leaq 0x28(%rsp), %rdi
leaq 0x2367aa(%rip), %rsi    # 0x59d692
movb $0x1, %al
callq 0x4f8db0
movq 0x58(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x58(%rsp)
jmp 0x367199
movzbl 0x27(%rsp), %eax
cmpl $0x5a, %eax
je 0x366f16
movzbl 0x27(%rsp), %eax
cmpl $0x48, %eax
jne 0x366f71
movzbl 0x27(%rsp), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movl $0x3a, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movq 0x58(%rsp), %rax
cmpb $0x0, (%rax)
je 0x366f5e
movq 0x58(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x58(%rsp)
movzbl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
jmp 0x366f34
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x367197
movzbl 0x27(%rsp), %eax
cmpl $0x42, %eax
jne 0x367195
movq 0x58(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x58(%rsp)
movb (%rax), %al
movb %al, 0x24(%rsp)
movq 0x58(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x20(%rsp)
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
movzbl 0x27(%rsp), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movl $0x3a, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movzbl 0x24(%rsp), %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movl $0x0, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
cmpl 0x20(%rsp), %eax
jge 0x367193
movl $0x2c, %edi
leaq 0x28(%rsp), %rsi
callq 0x367310
movzbl 0x24(%rsp), %ecx
movl $0x63, %eax
cmpl %ecx, %eax
je 0x36701d
movzbl 0x24(%rsp), %ecx
movl $0x63, %eax
cmpl %ecx, %eax
jne 0x367042
movq 0x58(%rsp), %rax
movsbl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x367181
movzbl 0x24(%rsp), %ecx
movl $0x43, %eax
cmpl %ecx, %eax
jne 0x367075
movq 0x58(%rsp), %rax
movzbl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x36717f
movzbl 0x24(%rsp), %ecx
movl $0x73, %eax
cmpl %ecx, %eax
jne 0x3670a8
movq 0x58(%rsp), %rax
movswl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x58(%rsp)
jmp 0x36717d
movzbl 0x24(%rsp), %ecx
movl $0x53, %eax
cmpl %ecx, %eax
jne 0x3670db
movq 0x58(%rsp), %rax
movzwl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x58(%rsp)
jmp 0x36717b
movzbl 0x24(%rsp), %ecx
movl $0x69, %eax
cmpl %ecx, %eax
jne 0x36710a
movq 0x58(%rsp), %rax
movl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x367460
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
jmp 0x367179
movzbl 0x24(%rsp), %ecx
movl $0x49, %eax
cmpl %ecx, %eax
jne 0x367139
movq 0x58(%rsp), %rax
movl (%rax), %edi
leaq 0x28(%rsp), %rsi
callq 0x3676d0
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
jmp 0x367177
movzbl 0x24(%rsp), %ecx
movl $0x66, %eax
cmpl %ecx, %eax
jne 0x367175
movq 0x58(%rsp), %rax
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x28(%rsp), %rdi
leaq 0x23652f(%rip), %rsi    # 0x59d68f
movb $0x1, %al
callq 0x4f8db0
movq 0x58(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x58(%rsp)
jmp 0x367177
jmp 0x367179
jmp 0x36717b
jmp 0x36717d
jmp 0x36717f
jmp 0x367181
jmp 0x367183
movl 0x4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x366fe4
jmp 0x367195
jmp 0x367197
jmp 0x367199
jmp 0x36719b
jmp 0x36719d
jmp 0x36719f
jmp 0x3671a1
jmp 0x3671a3
jmp 0x3671a5
jmp 0x3671a7
jmp 0x3671a9
jmp 0x366c18
movq 0x38(%rsp), %rax
addq $0x78, %rsp
retq
nopl (%rax,%rax)