// File: WinChua[P]MLDemo/Include/data.hpp
// Function: Record::Record(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
Record(std::string field_values, File::FeatureSet & featuresets)
    {
        std::stringstream ss(field_values);
        ss >> label;
        std::string field_value;
        while(ss)
        {
            ss >> field_value;
            std::string field = field_value.substr(0, field_value.find(":"));
            featuresets.insert(field);
            float value = atof(field_value.substr(field_value.find(":")+1,
                                                  field_value.size()).c_str());
            data.emplace(field, value);
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rsi, -0x258(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x250(%rbp)
addq $0x8, %rdi
movq %rdi, -0x248(%rbp)
callq 0x9bf0
movl $0x10, %edi
movl $0x8, %esi
callq 0x9c10
movl %eax, -0x23c(%rbp)
jmp 0x9950
movl -0x23c(%rbp), %edx
movq -0x258(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x2310
jmp 0x996b
movq -0x250(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x2130
jmp 0x9980
leaq -0x1d0(%rbp), %rdi
callq 0x22e0
movq -0x1a0(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x1a0(%rbp,%rax), %rdi
callq 0x22c0
movb %al, -0x259(%rbp)
jmp 0x99ac
movb -0x259(%rbp), %al
testb $0x1, %al
jne 0x99bb
jmp 0x9b9a
leaq -0x1a0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x22d0
jmp 0x99d0
leaq 0x279d(%rip), %rsi      # 0xc174
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x268(%rbp)
leaq -0x1d0(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x23c0
movq -0x270(%rbp), %rsi
movq -0x268(%rbp), %rdx
movq %rax, %rcx
leaq -0x1f0(%rbp), %rdi
callq 0x2220
jmp 0x9a14
movq -0x18(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x9c30
movb %dl, -0x279(%rbp)
movq %rax, -0x278(%rbp)
jmp 0x9a33
movb -0x279(%rbp), %al
movq -0x278(%rbp), %rcx
movq %rcx, -0x200(%rbp)
movb %al, -0x1f8(%rbp)
leaq 0x2720(%rip), %rsi      # 0xc174
xorl %eax, %eax
movl %eax, %edx
leaq -0x1d0(%rbp), %rdi
movq %rdi, -0x290(%rbp)
callq 0x23c0
movq -0x290(%rbp), %rdi
incq %rax
movq %rax, -0x288(%rbp)
callq 0x2160
movq -0x290(%rbp), %rsi
movq -0x288(%rbp), %rdx
movq %rax, %rcx
leaq -0x228(%rbp), %rdi
callq 0x2220
jmp 0x9aa0
leaq -0x228(%rbp), %rdi
movq %rdi, -0x2a8(%rbp)
callq 0x20e0
movq %rax, %rdi
callq 0x22b0
movq -0x2a8(%rbp), %rdi
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x2a0(%rbp)
callq 0x2140
movss -0x2a0(%rbp), %xmm0
movq -0x250(%rbp), %rdi
movss %xmm0, -0x204(%rbp)
addq $0x8, %rdi
leaq -0x1f0(%rbp), %rsi
leaq -0x204(%rbp), %rdx
callq 0x9c80
movb %dl, -0x299(%rbp)
movq %rax, -0x298(%rbp)
jmp 0x9b10
movb -0x299(%rbp), %al
movq -0x298(%rbp), %rcx
movq %rcx, -0x238(%rbp)
movb %al, -0x230(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x2140
jmp 0x998c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x9bd3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x9bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x9bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x2140
jmp 0x9bbb
leaq -0x1d0(%rbp), %rdi
callq 0x2140
leaq -0x1a0(%rbp), %rdi
callq 0x2190
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
leaq -0x1d0(%rbp), %rdi
callq 0x2140
leaq -0x1a0(%rbp), %rdi
callq 0x2190
movq -0x248(%rbp), %rdi
callq 0x5d00
movq -0x1a8(%rbp), %rdi
callq 0x2350
nopl (%rax,%rax)