// File: /workspace/github_c_makefile_star2_O0/annoroad[P]fqtools_plus/fqtools.c
// Function: new_space
local space* new_space(struct pool* pool){
	space* space = (struct space*)malloc(sizeof(struct space));
	space->use = new_lock(1);
	space->pool = pool;
	space->next = NULL;
	space->readclass = (struct readclass*)malloc(sizeof(struct readclass));
	space->readclass->read1 = NULL;
	space->readclass->read2 = NULL;
	space->readclass->stat = (struct STAT*)malloc(sizeof(struct STAT));
	memset(space->readclass->stat,0,sizeof(struct STAT));
	space->readclass->read1 = (struct readline*)malloc(sizeof(struct readline));
	memset(space->readclass->read1,0,sizeof(readline));
	space->readclass->read1->adapter = NULL;
	if (*g.sequence1) space->readclass->read1->adapter = initalign(g.sequence1, g.min_overlap);
	if (g.single_or_pair){
		space->readclass->read2 = (struct readline*)malloc(sizeof(struct readline));
		memset(space->readclass->read2,0,sizeof(struct readline));
		space->readclass->read2->adapter = NULL;
		if (*g.sequence2) space->readclass->read2->adapter = initalign(g.sequence2, g.min_overlap);
	}
	return(space);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl $0x20, %edi
callq 0x21b0
movq %rax, 0x8(%rsp)
movl $0x1, %edi
callq 0x7f60
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movl $0x18, %edi
callq 0x21b0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, (%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x8(%rax)
movl $0x6e078, %edi          # imm = 0x6E078
callq 0x21b0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
xorl %esi, %esi
movl $0x6e078, %edx          # imm = 0x6E078
callq 0x2110
movl $0x1428, %edi           # imm = 0x1428
callq 0x21b0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
xorl %esi, %esi
movl $0x1428, %edx           # imm = 0x1428
callq 0x2110
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq $0x0, 0x1420(%rax)
movq 0x5897(%rip), %rax      # 0xd228
cmpb $0x0, (%rax)
je 0x79be
movq 0x588b(%rip), %rdi      # 0xd228
movl 0x5895(%rip), %esi      # 0xd238
callq 0x8a80
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rcx, 0x1420(%rax)
cmpb $0x0, 0x5813(%rip)      # 0xd1d8
je 0x7a4d
movl $0x1428, %edi           # imm = 0x1428
callq 0x21b0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
movl $0x1428, %edx           # imm = 0x1428
callq 0x2110
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x1420(%rax)
movq 0x5813(%rip), %rax      # 0xd230
cmpb $0x0, (%rax)
je 0x7a4b
movq 0x5807(%rip), %rdi      # 0xd230
movl 0x5809(%rip), %esi      # 0xd238
callq 0x8a80
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x1420(%rax)
jmp 0x7a4d
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)