// File: ekg[P]split/jointest.cpp
// Function: main
int main(void) {
    vector<string> s;
    s.push_back("this");
    s.push_back("will");
    s.push_back("be");
    s.push_back("joined");
    cout << join(s, "|") << endl;
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movl $0x0, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x2670
leaq -0x41(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x2220
movq -0xf8(%rbp), %rdx
leaq 0x1c3b(%rip), %rsi      # 0x4004
leaq -0x40(%rbp), %rdi
callq 0x26c0
jmp 0x23d4
leaq -0x20(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x2690
jmp 0x23e3
leaq -0x40(%rbp), %rdi
callq 0x20a0
leaq -0x41(%rbp), %rdi
callq 0x21a0
leaq -0x79(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x2220
movq -0x100(%rbp), %rdx
leaq 0x1bf6(%rip), %rsi      # 0x4009
leaq -0x78(%rbp), %rdi
callq 0x26c0
jmp 0x241e
leaq -0x20(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x2690
jmp 0x242d
leaq -0x78(%rbp), %rdi
callq 0x20a0
leaq -0x79(%rbp), %rdi
callq 0x21a0
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x2220
movq -0x108(%rbp), %rdx
leaq 0x1bae(%rip), %rsi      # 0x400e
leaq -0xa0(%rbp), %rdi
callq 0x26c0
jmp 0x246e
leaq -0x20(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x2690
jmp 0x2480
leaq -0xa0(%rbp), %rdi
callq 0x20a0
leaq -0xa1(%rbp), %rdi
callq 0x21a0
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x2220
movq -0x110(%rbp), %rdx
leaq 0x1b58(%rip), %rsi      # 0x4011
leaq -0xc8(%rbp), %rdi
callq 0x26c0
jmp 0x24c7
leaq -0x20(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x2690
jmp 0x24d9
leaq -0xc8(%rbp), %rdi
callq 0x20a0
leaq -0xc9(%rbp), %rdi
callq 0x21a0
leaq 0x1b20(%rip), %rdx      # 0x4018
leaq -0xf0(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x2770
jmp 0x250a
movq 0x3ac7(%rip), %rdi      # 0x5fd8
leaq -0xf0(%rbp), %rsi
callq 0x2130
movq %rax, -0x118(%rbp)
jmp 0x2526
movq -0x118(%rbp), %rdi
movq 0x3a94(%rip), %rsi      # 0x5fc8
callq 0x2180
jmp 0x253b
leaq -0xf0(%rbp), %rdi
callq 0x20a0
movl $0x0, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x28d0
movl -0x4(%rbp), %eax
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2586
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x20a0
leaq -0x41(%rbp), %rdi
callq 0x21a0
jmp 0x2653
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x25b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x20a0
leaq -0x79(%rbp), %rdi
callq 0x21a0
jmp 0x2653
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x25eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x20a0
leaq -0xa1(%rbp), %rdi
callq 0x21a0
jmp 0x2653
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x261f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x20a0
leaq -0xc9(%rbp), %rdi
callq 0x21a0
jmp 0x2653
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2653
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x20a0
leaq -0x20(%rbp), %rdi
callq 0x28d0
movq -0x50(%rbp), %rdi
callq 0x2210
nopw %cs:(%rax,%rax)
nop