// File: /workspace/github_cpp_makefile_star2_O3/huiwenliuge[P]EmoAnaer/src/DictCreate.cpp
// Function: fldDic(_IO_FILE*, int)
ChUTF8* fldDic(FILE* fp,int dim){
    ChUTF8* ret = tabCreate();
    char* tmp=(char*)calloc(sizeof(char),7);
    fscanf(fp,"%s\n",tmp);
    std::cout<<tmp<<std::endl;
    int lenTmp,i;
    double dtmp;
    while(fscanf(fp,"%s ",tmp)!=-1){
        lenTmp=retLenUTF8(tmp);
        //std::cout<<tmp<<std::endl;
        ChUTF8 NewS = (ChUTF8)malloc(sizeof(struct chUTF8));
        NewS->schar=(char*)malloc(sizeof(char)*(lenTmp+1));
        memcpy(NewS->schar,tmp,lenTmp);
        NewS->schar[lenTmp]='\0';
        NewS->vecftr=(double*)malloc(sizeof(double)*dim);
        for(i=0;i<dim;++i){
            fscanf(fp,"#%lf#",&dtmp);
            NewS->vecftr[i]=dtmp;
        }
        fgetc(fp);
        hashput(ret,NewS);
        memset(tmp,'\0',7*sizeof(char));
    }
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movl %esi, -0x2c(%rbp)
movq %rdi, %r14
movl $0x8, %edi
movl $0x20000, %esi          # imm = 0x20000
callq 0x20c0
movq %rax, -0x38(%rbp)
movl $0x1, %edi
movl $0x7, %esi
callq 0x20c0
movq %rax, %r12
leaq 0x10f4(%rip), %rsi      # 0x6076
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x2280
testq %r12, %r12
je 0x4fb0
movq %r12, %rdi
callq 0x2080
movq 0x3035(%rip), %rdi      # 0x7fd8
movq %r12, %rsi
movq %rax, %rdx
callq 0x21a0
jmp 0x4fce
movq 0x3021(%rip), %rax      # 0x7fd8
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x2240
movq 0x3003(%rip), %rbx      # 0x7fd8
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20e0
leaq 0x11e8(%rip), %rsi      # 0x61eb
movq %r14, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x2280
cmpl $-0x1, %eax
je 0x5131
movslq -0x2c(%rbp), %rax
leaq (,%rax,8), %rcx
movq %rcx, -0x60(%rbp)
movl %eax, %eax
movq %rax, -0x50(%rbp)
movq %r12, -0x40(%rbp)
movq %r14, -0x58(%rbp)
movb (%r12), %al
movl $0x1, %ebx
cmpb $-0x40, %al
jb 0x5069
movl $0x2, %ebx
cmpb $-0x20, %al
jb 0x5069
movl $0x3, %ebx
cmpb $-0x10, %al
jb 0x5069
movl $0x4, %ebx
cmpb $-0x8, %al
jb 0x5069
cmpb $-0x4, %al
movl $0x6, %ebx
sbbl $0x0, %ebx
movl $0x18, %edi
callq 0x21f0
movq %rax, %r14
leal 0x1(%rbx), %edi
callq 0x21f0
movq %rax, %r12
movq %rax, (%r14)
movl %ebx, %ebx
movq %rax, %rdi
movq -0x40(%rbp), %rsi
movq %rbx, %rdx
callq 0x2110
movb $0x0, (%r12,%rbx)
movq -0x60(%rbp), %rdi
callq 0x21f0
movq %r14, -0x48(%rbp)
movq %rax, 0x8(%r14)
cmpl $0x0, -0x2c(%rbp)
leaq 0xfdd(%rip), %r15       # 0x6093
leaq -0x68(%rbp), %r13
movq -0x58(%rbp), %r14
movq -0x50(%rbp), %r12
jle 0x50f0
xorl %ebx, %ebx
movq %r14, %rdi
movq %r15, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x2280
movsd -0x68(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x8(%rax), %rax
movsd %xmm0, (%rax,%rbx,8)
incq %rbx
cmpq %rbx, %r12
jne 0x50c6
movq %r14, %rdi
callq 0x2230
movq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x51bc
movq -0x40(%rbp), %r12
xorl %eax, %eax
movl %eax, 0x3(%r12)
movl %eax, (%r12)
movq %r14, %rdi
leaq 0x10cd(%rip), %rsi      # 0x61eb
movq %r12, %rdx
xorl %eax, %eax
callq 0x2280
cmpl $-0x1, %eax
jne 0x5037
movq -0x38(%rbp), %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq