// File: sc0ty[P]CODExtract/src/main.cpp
// Function: ShowCODInfo(CODFile*)
void ShowCODInfo(CODFile *cod)
{
    string actime, aname, adesc, avend, aver;
    actime = ctime(cod->getCreateTimestamp());

    try
    {
        aname = cod->getAppName();
    }
    catch (...)
    {
        aname = "<none>";
    }

    try
    {
        adesc = cod->getDescription();
    }
    catch (...)
    {
        adesc = "<none>";
    }

    try
    {
        avend = cod->getVendor();
    }
    catch (...)
    {
        avend = "<none>";
    }

    try
    {
        aver = cod->getVersion();
    }
    catch (...)
    {
        aver = "<none>";
    }

    cout << "\t    Created: " << actime;
    cout << "\t    AppName: " << aname << endl;
    cout << "\t Version no: " << aver << endl;
    cout << "\tDescription: " << adesc << endl;
    cout << "\t     Vendor: " << avend << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x190, %rsp            # imm = 0x190
movq %rdi, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3340
leaq -0x48(%rbp), %rdi
callq 0x3340
leaq -0x68(%rbp), %rdi
callq 0x3340
leaq -0x88(%rbp), %rdi
callq 0x3340
leaq -0xa8(%rbp), %rdi
callq 0x3340
movq -0x8(%rbp), %rdi
callq 0x4c60
movq %rax, -0x140(%rbp)
jmp 0x3a54
movq -0x140(%rbp), %rdi
callq 0x30a0
movq %rax, %rsi
leaq -0x28(%rbp), %rdi
callq 0x3320
jmp 0x3a6e
movq -0x8(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x4e90
jmp 0x3a80
leaq -0x48(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x32c0
leaq -0xd8(%rbp), %rdi
callq 0x3140
jmp 0x3aee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x3e42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x30b0
leaq 0x35c4(%rip), %rsi      # 0x709e
leaq -0x48(%rbp), %rdi
callq 0x3320
jmp 0x3ae5
callq 0x33b0
jmp 0x3aec
jmp 0x3aee
movq -0x8(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x5000
jmp 0x3b00
leaq -0x68(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x32c0
leaq -0xf8(%rbp), %rdi
callq 0x3140
jmp 0x3b75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
callq 0x33b0
jmp 0x3b37
jmp 0x3e42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x30b0
leaq 0x353d(%rip), %rsi      # 0x709e
leaq -0x68(%rbp), %rdi
callq 0x3320
jmp 0x3b6c
callq 0x33b0
jmp 0x3b73
jmp 0x3b75
movq -0x8(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x5170
jmp 0x3b87
leaq -0x88(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x32c0
leaq -0x118(%rbp), %rdi
callq 0x3140
jmp 0x3c02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
callq 0x33b0
jmp 0x3bc1
jmp 0x3e42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x30b0
leaq 0x34b3(%rip), %rsi      # 0x709e
leaq -0x88(%rbp), %rdi
callq 0x3320
jmp 0x3bf9
callq 0x33b0
jmp 0x3c00
jmp 0x3c02
movq -0x8(%rbp), %rsi
leaq -0x138(%rbp), %rdi
callq 0x4cc0
jmp 0x3c14
leaq -0xa8(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x32c0
leaq -0x138(%rbp), %rdi
callq 0x3140
jmp 0x3c8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
callq 0x33b0
jmp 0x3c4e
jmp 0x3e42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x30b0
leaq 0x3426(%rip), %rsi      # 0x709e
leaq -0xa8(%rbp), %rdi
callq 0x3320
jmp 0x3c86
callq 0x33b0
jmp 0x3c8d
jmp 0x3c8f
movq 0x6342(%rip), %rdi      # 0x9fd8
leaq 0x3408(%rip), %rsi      # 0x70a5
callq 0x3200
movq %rax, -0x148(%rbp)
jmp 0x3cab
movq -0x148(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x31d0
jmp 0x3cbd
movq 0x6314(%rip), %rdi      # 0x9fd8
leaq 0x33e9(%rip), %rsi      # 0x70b4
callq 0x3200
movq %rax, -0x150(%rbp)
jmp 0x3cd9
movq -0x150(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x31d0
movq %rax, -0x158(%rbp)
jmp 0x3cf2
movq -0x158(%rbp), %rdi
movq 0x62c0(%rip), %rsi      # 0x9fc0
callq 0x3240
jmp 0x3d07
movq 0x62ca(%rip), %rdi      # 0x9fd8
leaq 0x33ae(%rip), %rsi      # 0x70c3
callq 0x3200
movq %rax, -0x160(%rbp)
jmp 0x3d23
movq -0x160(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x31d0
movq %rax, -0x168(%rbp)
jmp 0x3d3f
movq -0x168(%rbp), %rdi
movq 0x6273(%rip), %rsi      # 0x9fc0
callq 0x3240
jmp 0x3d54
movq 0x627d(%rip), %rdi      # 0x9fd8
leaq 0x3370(%rip), %rsi      # 0x70d2
callq 0x3200
movq %rax, -0x170(%rbp)
jmp 0x3d70
movq -0x170(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x31d0
movq %rax, -0x178(%rbp)
jmp 0x3d89
movq -0x178(%rbp), %rdi
movq 0x6229(%rip), %rsi      # 0x9fc0
callq 0x3240
jmp 0x3d9e
movq 0x6233(%rip), %rdi      # 0x9fd8
leaq 0x3335(%rip), %rsi      # 0x70e1
callq 0x3200
movq %rax, -0x180(%rbp)
jmp 0x3dba
movq -0x180(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x31d0
movq %rax, -0x188(%rbp)
jmp 0x3dd6
movq -0x188(%rbp), %rdi
movq 0x61dc(%rip), %rsi      # 0x9fc0
callq 0x3240
jmp 0x3deb
leaq -0xa8(%rbp), %rdi
callq 0x3140
leaq -0x88(%rbp), %rdi
callq 0x3140
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
leaq -0x28(%rbp), %rdi
callq 0x3140
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
callq 0x33b0
jmp 0x3e40
jmp 0x3e42
leaq -0xa8(%rbp), %rdi
callq 0x3140
leaq -0x88(%rbp), %rdi
callq 0x3140
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
leaq -0x28(%rbp), %rdi
callq 0x3140
movq -0xb0(%rbp), %rdi
callq 0x33f0
movq %rax, %rdi
callq 0x4080
nopl (%rax)