// File: /workspace/github_cpp_makefile_star2_O3/eschwabe[P]interview-practice/src/anagrams.cpp
// Function: main
int main(int argc, char *argv[])
{
    vector<string> list;
    list.push_back("dog");
    list.push_back("something");
    list.push_back("god");
    list.push_back("licker");
    list.push_back("dice");
    list.push_back("kicler");
    list.push_back("cide");
    SortAnagramList(&list);
    for(auto str : list) {
        cout << str << endl;
    }
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1a3a(%rip), %rsi      # 0x4004
leaq 0x1a36(%rip), %rdx      # 0x4007
movq %rsp, %rdi
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x25fc
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x19ff(%rip), %rsi      # 0x4008
leaq 0x1a01(%rip), %rdx      # 0x4011
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2638
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x19cd(%rip), %rsi      # 0x4012
leaq 0x19c9(%rip), %rdx      # 0x4015
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2674
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x1995(%rip), %rsi      # 0x4016
leaq 0x1994(%rip), %rdx      # 0x401c
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x26b0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x1960(%rip), %rsi      # 0x401d
leaq 0x195d(%rip), %rdx      # 0x4021
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x26ec
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x1929(%rip), %rsi      # 0x4022
leaq 0x1928(%rip), %rdx      # 0x4028
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2728
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x18f4(%rip), %rsi      # 0x4029
leaq 0x18f1(%rip), %rdx      # 0x402d
callq 0x37a8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x3598
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2764
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
leaq 0x20(%rsp), %rdi
callq 0x230c
movq 0x20(%rsp), %r13
movq 0x28(%rsp), %rbp
cmpq %rbp, %r13
je 0x27f8
movq %rsp, %rbx
movq 0x3851(%rip), %r14      # 0x5fd8
movq %r12, (%rsp)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2bb8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2140
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x27ef
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
addq $0x20, %r13
cmpq %rbp, %r13
jne 0x2787
leaq 0x20(%rsp), %rdi
callq 0x291e
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2831
jmp 0x2836
jmp 0x2831
jmp 0x2836
jmp 0x2831
jmp 0x2836
jmp 0x2831
jmp 0x2836
jmp 0x2831
jmp 0x2836
jmp 0x2831
jmp 0x2836
jmp 0x2831
jmp 0x2836
jmp 0x2831
movq %rax, %rbx
jmp 0x284f
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x284f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
leaq 0x20(%rsp), %rdi
callq 0x291e
movq %rbx, %rdi
callq 0x21a0
nop