// File: /workspace/github_c_makefile_star2_O0/sonicse[P]dbf2mysql/dbf.c
// Function: dbf_get_memo_data
static int dbf_get_memo_data(dbhead *dbh, field *fldp,  u_long blknum)
{
    u_long	offset;
    u_long	req_offset;
    u_long	len;
    u_long	typ;
    u_char	*sp;
    int		done;
    int		i;

    req_offset = blknum * dbh->mb_blksiz;
    if ((offset = lseek(dbh->db_memofd, req_offset, SEEK_SET)) == -1)
    {
	perror("memofile lseek");
	return 1;
    }

    if (offset != req_offset)
    {
	char	msg[256];
	int	saverrno = errno;

	snprintf(msg, sizeof(msg),
		 "memofile lseek failed, block %lu expected %lu actual %lu code %d",
		 blknum,
		 req_offset,
		 offset,
		 saverrno);
	msg[sizeof(msg)-1] = 0;
	errno = saverrno;
	perror(msg);
	memset(fldp->db_contents, 0, fldp->db_blen);
	return 1;
    }

    switch(dbh->db_memo)
    {
      case DBF_MTYPE_FPT:
	if ((read(dbh->db_memofd, dbh->mb_buffer, sizeof(dbf_memo_block_header))) < 0)
	{
	    perror("memofile read");
	    return 1;
	}
	sp = ((dbf_memo_block_header *)(dbh->mb_buffer))->header;
	typ = (sp[0]<<24) + (sp[1]<<16) + (sp[2]<<8) + (sp[3]<<0);
	sp = ((dbf_memo_block_header *)(dbh->mb_buffer))->length;
	len = (sp[0]<<24) + (sp[1]<<16) + (sp[2]<<8) + (sp[3]<<0);
#if 0
	printf("memo-read blk: %3lu offset %5lu(0x%04lx) type %2lx size %3ld(0x%03lx)",
	       blknum, offset, offset, typ, len, len);
#endif
	if (dbh->mb_bufsiz < len)
	{
	    int	newsiz = (((len + 4095)/4096)+1)*4096-16;
	    void *tmpptr = realloc(dbh->mb_buffer, newsiz);
	    if (tmpptr != NULL)
	    {
		dbh->mb_buffer = tmpptr;
		dbh->mb_bufsiz = newsiz;
	    }
	}
	len = (len < dbh->mb_bufsiz) ? len : dbh->mb_bufsiz;
	if ((read(dbh->db_memofd, dbh->mb_buffer, len)) < 0)
	{
	    perror("memofile read");
	    return 1;
	}

	switch(typ)
	{
	  case 0x00:		/* Picture type */
	  case 0x02:		/* Object type */
	    fldp->db_contents[0] = '\0';
	    break;

	  case 0x01:		/* Memo type */
	    if (fldp->db_blen <= len)
	    {
		void *tmpptr = realloc(fldp->db_contents, len + 1);
		if (tmpptr != NULL)
		{
		    fldp->db_contents = tmpptr;
		    fldp->db_blen = len + 1;
		}
	    }
	    len = (len < fldp->db_blen) ? len : fldp->db_blen - 1;
	    strncpy(fldp->db_contents, (char *)dbh->mb_buffer, len);
	    fldp->db_contents[len] = '\0';
#if 0
	    printf(" '%s'\n", fldp->db_contents);
#endif
	    break;

	  default:	/* Something wrong */
	    break;
	}
	break;

      case DBF_MTYPE_DBT3:
	done = 0;
	len = 0;
	sp = dbh->mb_buffer;
	while(!done)
	{
	    if (dbh->mb_bufsiz < len + DBF_DBT_BLOCK_SIZE)
	    {
		int	newsiz = len + DBF_DBT_BLOCK_SIZE * 4;
		void	*tmpptr = realloc(dbh->mb_buffer, newsiz);
		if (tmpptr != NULL)
		{
		    dbh->mb_buffer = tmpptr;
		    dbh->mb_bufsiz = newsiz;
		    sp = dbh->mb_buffer + len;
		}
		else
		{
		    perror("dbIII memo field malloc failure");
		    exit(1);
		}
	    }
	    if (read(dbh->db_memofd, sp, DBF_DBT_BLOCK_SIZE) < DBF_DBT_BLOCK_SIZE)
	    {
		perror("memofile read");
		fldp->db_contents[0] = '\0';
		return 1;
	    }
	    for (i = 0; i < DBF_DBT_BLOCK_SIZE; i++)
	    {
		if (*sp != 0x1a)
		{
		    len++;
		    sp++;
		}
		else
		{
		    done = 1;
		    break;
		}
	    }
	}
	*sp = '\0';
	if (fldp->db_blen <= len)
	{
	    void *tmpptr = realloc(fldp->db_contents, len + 1);
	    if (tmpptr != NULL)
	    {
		fldp->db_contents = tmpptr;
		fldp->db_blen = len + 1;
	    }
	}
	len = (len < fldp->db_blen) ? len : fldp->db_blen - 1;
	strncpy(fldp->db_contents, (char *)dbh->mb_buffer, len);
	fldp->db_contents[len] = '\0';
	break;

      case DBF_MTYPE_DBT4:
	if ((read(dbh->db_memofd, dbh->mb_buffer, sizeof(dbf_memo_block_header))) < 0)
	{
	    perror("memofile read");
	    return 1;
	}
	sp = ((dbf_memo_block_header *)(dbh->mb_buffer))->header;
	typ = (sp[0]<<24) + (sp[1]<<16) + (sp[2]<<8) + (sp[3]<<0);
	len = get_long(((dbf_memo_block_header *)(dbh->mb_buffer))->length);
	if (typ != 0xFFFF0800)
	{
	    fprintf(stderr, "corrupt memo header in field %s memo block %lu\n",
		    fldp->db_name, blknum);
	    memset(fldp->db_contents, 0, fldp->db_blen);
	    return 1;
	}
	if (dbh->mb_bufsiz < len)
	{
	    int	newsiz = (((len + 4095)/4096)+1)*4096-16;
	    void *tmpptr = realloc(dbh->mb_buffer, newsiz);
	    if (tmpptr != NULL)
	    {
		dbh->mb_buffer = tmpptr;
		dbh->mb_bufsiz = newsiz;
	    }
	}
	len = (len < dbh->mb_bufsiz) ? len : dbh->mb_bufsiz;
	if ((read(dbh->db_memofd, dbh->mb_buffer, len)) < 0)
	{
	    perror("memofile read");
	    return 1;
	}
	if (fldp->db_blen <= len)
	{
	    void *tmpptr = realloc(fldp->db_contents, len + 1);
	    if (tmpptr != NULL)
	    {
		fldp->db_contents = tmpptr;
		fldp->db_blen = len + 1;
	    }
	}
	len = (len < fldp->db_blen) ? len : fldp->db_blen - 1;
	strncpy(fldp->db_contents, (char *)dbh->mb_buffer, len);
	fldp->db_contents[len] = '\0';
	break;

      case DBF_MTYPE_NONE:
	fldp->db_contents[0] = '\0';
	break;

      default:
	fprintf(stderr, "Sorry don't support memo fields on this database type yet\n");
	dbh->db_memo = DBF_MTYPE_NONE;
	return 1;
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
imulq 0x68(%rcx), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movl 0x50(%rax), %edi
movq -0x30(%rbp), %rsi
xorl %edx, %edx
callq 0x2370
movq %rax, -0x28(%rbp)
cmpq $-0x1, %rax
jne 0x5f9c
leaq 0x2dd6(%rip), %rdi      # 0x8d61
callq 0x2160
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
je 0x6032
callq 0x2040
movl (%rax), %eax
movl %eax, -0x154(%rbp)
leaq -0x150(%rbp), %rdi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %r9
movl -0x154(%rbp), %eax
movl $0x100, %esi            # imm = 0x100
leaq 0x2d94(%rip), %rdx      # 0x8d70
movl %eax, (%rsp)
movb $0x0, %al
callq 0x2300
movb $0x0, -0x51(%rbp)
movl -0x154(%rbp), %eax
movl %eax, -0x19c(%rbp)
callq 0x2040
movl -0x19c(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x150(%rbp), %rdi
callq 0x2160
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
xorl %esi, %esi
callq 0x2110
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x10(%rbp), %rax
movzbl 0x10(%rax), %eax
movq %rax, -0x1a8(%rbp)
subq $0x4, %rax
ja 0x679c
movq -0x1a8(%rbp), %rax
leaq 0x2ab7(%rip), %rcx      # 0x8b10
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movl 0x50(%rax), %edi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movl $0x8, %edx
callq 0x22a0
cmpq $0x0, %rax
jge 0x6099
leaq 0x2d29(%rip), %rdi      # 0x8db1
callq 0x2160
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
shll $0x18, %eax
movq -0x48(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x48(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x48(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x0, %ecx
addl %ecx, %eax
cltq
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x4, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
shll $0x18, %eax
movq -0x48(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x48(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x48(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x0, %ecx
addl %ecx, %eax
cltq
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
cmpq -0x38(%rbp), %rax
jae 0x6196
movq -0x38(%rbp), %rax
addq $0xfff, %rax            # imm = 0xFFF
shrq $0xc, %rax
addq $0x1, %rax
shlq $0xc, %rax
subq $0x10, %rax
movl %eax, -0x158(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rdi
movslq -0x158(%rbp), %rsi
callq 0x2320
movq %rax, -0x160(%rbp)
cmpq $0x0, -0x160(%rbp)
je 0x6194
movq -0x160(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
movslq -0x158(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x60(%rax)
jmp 0x6196
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x60(%rcx), %rax
jae 0x61b1
movq -0x38(%rbp), %rax
movq %rax, -0x1b0(%rbp)
jmp 0x61c0
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x50(%rax), %edi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x38(%rbp), %rdx
callq 0x22a0
cmpq $0x0, %rax
jge 0x6201
leaq 0x2bc1(%rip), %rdi      # 0x8db1
callq 0x2160
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x40(%rbp), %rax
movq %rax, -0x1b8(%rbp)
testq %rax, %rax
je 0x6235
jmp 0x6213
movq -0x1b8(%rbp), %rax
subq $0x1, %rax
je 0x6245
jmp 0x6222
movq -0x1b8(%rbp), %rax
subq $0x2, %rax
jne 0x62fe
jmp 0x6235
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movb $0x0, (%rax)
jmp 0x6300
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x38(%rbp), %rax
ja 0x629a
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x38(%rbp), %rsi
addq $0x1, %rsi
callq 0x2320
movq %rax, -0x168(%rbp)
cmpq $0x0, -0x168(%rbp)
je 0x6298
movq -0x168(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rbp), %rcx
addq $0x1, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x629a
movq -0x38(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x62b5
movq -0x38(%rbp), %rax
movq %rax, -0x1c0(%rbp)
jmp 0x62c8
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
subq $0x1, %rax
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x38(%rbp), %rdx
callq 0x2100
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
jmp 0x6300
jmp 0x6300
jmp 0x67c5
movl $0x0, -0x4c(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x48(%rbp)
cmpl $0x0, -0x4c(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6332
jmp 0x6458
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x38(%rbp), %rcx
addq $0x200, %rcx            # imm = 0x200
cmpq %rcx, %rax
jae 0x63c7
movq -0x38(%rbp), %rax
addq $0x800, %rax            # imm = 0x800
movl %eax, -0x16c(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rdi
movslq -0x16c(%rbp), %rsi
callq 0x2320
movq %rax, -0x178(%rbp)
cmpq $0x0, -0x178(%rbp)
je 0x63af
movq -0x178(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
movslq -0x16c(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x60(%rax)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x63c5
leaq 0x2a09(%rip), %rdi      # 0x8dbf
callq 0x2160
movl $0x1, %edi
callq 0x2230
jmp 0x63c7
movq -0x10(%rbp), %rax
movl 0x50(%rax), %edi
movq -0x48(%rbp), %rsi
movl $0x200, %edx            # imm = 0x200
callq 0x22a0
cmpq $0x200, %rax            # imm = 0x200
jge 0x6407
leaq 0x29c6(%rip), %rdi      # 0x8db1
callq 0x2160
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movb $0x0, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movl $0x0, -0x50(%rbp)
cmpl $0x200, -0x50(%rbp)     # imm = 0x200
jge 0x6453
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x1a, %eax
je 0x643d
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x48(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x6446
movl $0x1, -0x4c(%rbp)
jmp 0x6453
jmp 0x6448
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x640e
jmp 0x6320
movq -0x48(%rbp), %rax
movb $0x0, (%rax)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x38(%rbp), %rax
ja 0x64b4
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x38(%rbp), %rsi
addq $0x1, %rsi
callq 0x2320
movq %rax, -0x180(%rbp)
cmpq $0x0, -0x180(%rbp)
je 0x64b2
movq -0x180(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rbp), %rcx
addq $0x1, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x64b4
movq -0x38(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x64cf
movq -0x38(%rbp), %rax
movq %rax, -0x1c8(%rbp)
jmp 0x64e2
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
subq $0x1, %rax
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x38(%rbp), %rdx
callq 0x2100
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
jmp 0x67c5
movq -0x10(%rbp), %rax
movl 0x50(%rax), %edi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movl $0x8, %edx
callq 0x22a0
cmpq $0x0, %rax
jge 0x6552
leaq 0x2870(%rip), %rdi      # 0x8db1
callq 0x2160
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
shll $0x18, %eax
movq -0x48(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x48(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x48(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x0, %ecx
addl %ecx, %eax
cltq
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rdi
addq $0x4, %rdi
callq 0x6f70
movq %rax, -0x38(%rbp)
movl $0xffff0800, %eax       # imm = 0xFFFF0800
cmpq %rax, -0x40(%rbp)
je 0x65f8
movq 0x4a1c(%rip), %rax      # 0xafd8
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x2811(%rip), %rsi      # 0x8ddf
movb $0x0, %al
callq 0x2290
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
xorl %esi, %esi
callq 0x2110
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
cmpq -0x38(%rbp), %rax
jae 0x666b
movq -0x38(%rbp), %rax
addq $0xfff, %rax            # imm = 0xFFF
shrq $0xc, %rax
addq $0x1, %rax
shlq $0xc, %rax
subq $0x10, %rax
movl %eax, -0x184(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rdi
movslq -0x184(%rbp), %rsi
callq 0x2320
movq %rax, -0x190(%rbp)
cmpq $0x0, -0x190(%rbp)
je 0x6669
movq -0x190(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
movslq -0x184(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x60(%rax)
jmp 0x666b
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x60(%rcx), %rax
jae 0x6686
movq -0x38(%rbp), %rax
movq %rax, -0x1d0(%rbp)
jmp 0x6695
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x50(%rax), %edi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x38(%rbp), %rdx
callq 0x22a0
cmpq $0x0, %rax
jge 0x66d6
leaq 0x26ec(%rip), %rdi      # 0x8db1
callq 0x2160
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x38(%rbp), %rax
ja 0x672b
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x38(%rbp), %rsi
addq $0x1, %rsi
callq 0x2320
movq %rax, -0x198(%rbp)
cmpq $0x0, -0x198(%rbp)
je 0x6729
movq -0x198(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rbp), %rcx
addq $0x1, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x672b
movq -0x38(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x6746
movq -0x38(%rbp), %rax
movq %rax, -0x1d8(%rbp)
jmp 0x6759
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
subq $0x1, %rax
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x38(%rbp), %rdx
callq 0x2100
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
jmp 0x67c5
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movb $0x0, (%rax)
jmp 0x67c5
movq 0x4835(%rip), %rax      # 0xafd8
movq (%rax), %rdi
leaq 0x2662(%rip), %rsi      # 0x8e0f
movb $0x0, %al
callq 0x2290
movq -0x10(%rbp), %rax
movb $0x0, 0x10(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x67cc
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
nopl (%rax,%rax)