// File: pc260533[P]ITC313-TP2/objetserialized.cpp
// Function: ObjetSerialized::getObjetStringEncapsule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::vector<std::string> ObjetSerialized::getObjetStringEncapsule(std::string nomEncapsulation) {
    std::vector<std::string> listeObjetsStringEncapsule;
    std::stringstream objetStringStream(objetString);
    std::string objetStringLigne = "";
    bool quit = false;
    bool objetDuBonType = false;
    std::string sousObjetString = "";
    while (!quit) {
        if (!std::getline(objetStringStream, objetStringLigne, '\n')) {
            quit = true;
        }
        else {
            if (objetStringLigne == "_" + nomEncapsulation) {
                objetDuBonType = false;
                sousObjetString.pop_back();
                listeObjetsStringEncapsule.push_back(sousObjetString);
                sousObjetString = "";
            }
            if (objetDuBonType) {
                sousObjetString += objetStringLigne + "\n";
            }
            if (objetStringLigne == nomEncapsulation) {
                objetDuBonType = true;
            }

        }
    }
    return listeObjetsStringEncapsule;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2a0, %rsp            # imm = 0x2A0
movq %rdx, -0x270(%rbp)
movq %rdi, -0x268(%rbp)
movq %rdi, %rax
movq %rax, -0x260(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x258(%rbp)
movb $0x0, -0x19(%rbp)
callq 0xb070
movl $0x10, %edi
movl $0x8, %esi
callq 0xbcc0
movl %eax, -0x24c(%rbp)
jmp 0x1a01a
movl -0x24c(%rbp), %edx
movq -0x258(%rbp), %rsi
leaq -0x1a8(%rbp), %rdi
callq 0x4470
jmp 0x1a035
leaq -0x1d9(%rbp), %rdi
movq %rdi, -0x278(%rbp)
callq 0x4510
movq -0x278(%rbp), %rdx
leaq 0x2ae0(%rip), %rsi      # 0x1cb36
leaq -0x1d8(%rbp), %rdi
callq 0x7da0
jmp 0x1a064
leaq -0x1d9(%rbp), %rdi
callq 0x4330
movb $0x0, -0x1da(%rbp)
movb $0x0, -0x1db(%rbp)
leaq -0x201(%rbp), %rdi
movq %rdi, -0x280(%rbp)
callq 0x4510
movq -0x280(%rbp), %rdx
leaq 0x2a97(%rip), %rsi      # 0x1cb36
leaq -0x200(%rbp), %rdi
callq 0x7da0
jmp 0x1a0ad
leaq -0x201(%rbp), %rdi
callq 0x4330
movb -0x1da(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a0ca
jmp 0x1a2ba
leaq -0x1a8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
movl $0xa, %edx
callq 0x4550
movq %rax, -0x288(%rbp)
jmp 0x1a0eb
movq -0x288(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4180
movb %al, -0x289(%rbp)
jmp 0x1a109
movb -0x289(%rbp), %al
testb $0x1, %al
jne 0x1a118
jmp 0x1a198
movb $0x1, -0x1da(%rbp)
jmp 0x1a2b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x1a32c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x1d9(%rbp), %rdi
callq 0x4330
jmp 0x1a302
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x201(%rbp), %rdi
callq 0x4330
jmp 0x1a2f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
jmp 0x1a2ea
movq -0x270(%rbp), %rdx
leaq 0x2aa7(%rip), %rsi      # 0x1cc4d
leaq -0x228(%rbp), %rdi
callq 0x1a550
jmp 0x1a1b4
leaq -0x1d8(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0xb350
movb %al, -0x28a(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x4200
movb -0x28a(%rbp), %al
testb $0x1, %al
jne 0x1a1e5
jmp 0x1a22b
movb $0x0, -0x1db(%rbp)
leaq -0x200(%rbp), %rdi
movq %rdi, -0x298(%rbp)
callq 0x4370
movq -0x268(%rbp), %rdi
movq -0x298(%rbp), %rsi
callq 0xbce0
jmp 0x1a214
leaq 0x291b(%rip), %rsi      # 0x1cb36
leaq -0x200(%rbp), %rdi
callq 0x43e0
jmp 0x1a229
jmp 0x1a22b
testb $0x1, -0x1db(%rbp)
je 0x1a293
leaq 0x28fa(%rip), %rdx      # 0x1cb35
leaq -0x248(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x7f10
jmp 0x1a250
leaq -0x200(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x43c0
jmp 0x1a265
leaq -0x248(%rbp), %rdi
callq 0x4200
jmp 0x1a293
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1b0(%rbp)
movl %eax, -0x1b4(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x4200
jmp 0x1a2ea
movq -0x270(%rbp), %rsi
leaq -0x1d8(%rbp), %rdi
callq 0xb350
testb $0x1, %al
jne 0x1a2ac
jmp 0x1a2b3
movb $0x1, -0x1db(%rbp)
jmp 0x1a2b5
jmp 0x1a0b9
movb $0x1, -0x19(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x4200
leaq -0x1d8(%rbp), %rdi
callq 0x4200
leaq -0x1a8(%rbp), %rdi
callq 0x4260
testb $0x1, -0x19(%rbp)
jne 0x1a31c
jmp 0x1a310
leaq -0x200(%rbp), %rdi
callq 0x4200
leaq -0x1d8(%rbp), %rdi
callq 0x4200
leaq -0x1a8(%rbp), %rdi
callq 0x4260
jmp 0x1a32c
movq -0x268(%rbp), %rdi
callq 0xb090
movq -0x260(%rbp), %rax
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbp
retq
movq -0x268(%rbp), %rdi
callq 0xb090
movq -0x1b0(%rbp), %rdi
callq 0x4500
nopw %cs:(%rax,%rax)
nop