// File: /workspace/github_cpp_makefile_star2_O2/coolsuperman[P]ShareCataLogServer/upload.cc
// Function: Upload::InitUpload()
bool InitUpload(){//初始化boundry信息；
      umask(0);
      std::string len=getenv("Content-Length");
      std::cerr<<"~Content-Length:"<<len<<std::endl;
      if(len.size()==0){
        fprintf(stderr,"Have No Content-Length!!\n");
        return false;
      }
      content_len = Tools::StrToDigit(len);
      std::string type=getenv("Content-Type");
      if(type.size()==0){
        fprintf(stderr,"Have No Content-Type!!\n");
        return false;
      }
      std::string boundry_sep="boundary=";
      size_t pos = type.find(boundry_sep);
      if(pos==std::string::npos){
        fprintf(stderr,"content type have no boundry!!\n");
        return false;
      }
      std::string boundry=type.substr(pos+boundry_sep.size());
      _f_boundry="--"+boundry;
      _m_boundry="\r\n"+_f_boundry+"\r\n";
      _l_boundry="\r\n"+_f_boundry+"--";
      return true;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xc0, %rsp
movq %rdi, %rbx
xorl %edi, %edi
callq 0x2350
leaq 0x14d2(%rip), %rdi      # 0x4199
callq 0x2240
leaq -0xc0(%rbp), %rdi
leaq -0x60(%rbp), %rdx
movq %rax, %rsi
callq 0x20c0
movq 0x430a(%rip), %rdi      # 0x6ff0
leaq 0x14bb(%rip), %rsi      # 0x41a8
callq 0x21e0
leaq -0xc0(%rbp), %rsi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x2100
cmpq $0x0, -0xb8(%rbp)
je 0x2ea8
leaq -0xc0(%rbp), %rdi
callq 0x32fe
movq %rax, (%rbx)
leaq 0x14a6(%rip), %rdi      # 0x41d3
callq 0x2240
leaq -0x60(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
movq %rax, %rsi
callq 0x20c0
cmpq $0x0, -0x58(%rbp)
je 0x2ec9
leaq 0x14a1(%rip), %rsi      # 0x41f8
leaq -0xa0(%rbp), %rdi
leaq -0xe0(%rbp), %rdx
callq 0x20c0
leaq -0x60(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x23c0
cmpq $-0x1, %rax
setne %r14b
je 0x2eea
addq -0x98(%rbp), %rax
leaq -0xe0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
pushq $-0x1
popq %rcx
movq %rax, %rdx
callq 0x2220
leaq 0x1474(%rip), %rsi      # 0x4222
leaq -0x80(%rbp), %rdi
leaq -0xe0(%rbp), %rdx
callq 0x336c
leaq 0x30(%rbx), %r15
leaq -0x80(%rbp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x2250
movq %r12, %rdi
callq 0x23d8
leaq 0x14bf(%rip), %rsi      # 0x429f
leaq -0x40(%rbp), %rdi
movq %r15, %rdx
callq 0x336c
leaq 0x14ac(%rip), %rdx      # 0x429f
leaq -0x80(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x33e2
leaq 0x50(%rbx), %rdi
movq %r12, %rsi
callq 0x2250
movq %r12, %rdi
callq 0x23d8
leaq -0x40(%rbp), %rdi
callq 0x23d8
leaq 0x147b(%rip), %rsi      # 0x429f
leaq -0x40(%rbp), %rdi
movq %r15, %rdx
callq 0x336c
leaq 0x13eb(%rip), %rdx      # 0x4222
leaq -0x80(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x33e2
addq $0x70, %rbx
leaq -0x80(%rbp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2250
movq %r15, %rdi
callq 0x23d8
leaq -0x40(%rbp), %rdi
callq 0x23d8
leaq -0xe0(%rbp), %rdi
callq 0x23d8
leaq -0xa0(%rbp), %rdi
callq 0x23d8
leaq -0x60(%rbp), %rdi
callq 0x23d8
leaq -0xc0(%rbp), %rdi
callq 0x23d8
movl %r14d, %eax
addq $0xc0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x4121(%rip), %rax      # 0x6fd0
movq (%rax), %rcx
leaq 0x1300(%rip), %rdi      # 0x41b9
pushq $0x19
popq %rsi
pushq $0x1
popq %rdx
callq 0x2380
xorl %r14d, %r14d
jmp 0x2e89
movq 0x4100(%rip), %rax      # 0x6fd0
movq (%rax), %rcx
leaq 0x1306(%rip), %rdi      # 0x41e0
pushq $0x17
popq %rsi
pushq $0x1
popq %rdx
callq 0x2380
xorl %r14d, %r14d
jmp 0x2e80
movq 0x40df(%rip), %rax      # 0x6fd0
movq (%rax), %rcx
leaq 0x1307(%rip), %rdi      # 0x4202
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
callq 0x2380
jmp 0x2e74
jmp 0x2f0f
jmp 0x2f1f
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x23d8
jmp 0x2f22
jmp 0x2f1f
movq %rax, %rbx
leaq -0xe0(%rbp), %rdi
callq 0x23d8
leaq -0xa0(%rbp), %rdi
callq 0x23d8
leaq -0x60(%rbp), %rdi
callq 0x23d8
jmp 0x2f54
movq %rax, %rbx
jmp 0x2f2e
movq %rax, %rbx
jmp 0x2f3a
jmp 0x2f51
movq %rax, %rbx
leaq -0xc0(%rbp), %rdi
callq 0x23d8
movq %rbx, %rdi
callq 0x2340