// File: /workspace/github_cpp_makefile_star2_O2/yayuntian[P]user_agent/test_ua.cpp
// Function: format[abi:cxx11](UserAgent&)
string format(UserAgent& ua) {
    string s;

    if (!ua.mozilla.empty()) {
        s += "Mozilla:" + ua.mozilla + " ";
    }

    if (!ua.platform.empty()) {
        s += "Platform:" + ua.platform + " ";
    }

    if (!ua.os.empty()) {
        s += "OS:" + ua.os + " ";
    }

    if (!ua.localization.empty()) {
        s += "Localization:" + ua.localization + " ";
    }

    if (!ua.browser.Name.empty()) {
        s += "Browser:" + ua.browser.Name;
        if (!ua.browser.Version.empty()) {
            s += "-" + ua.browser.Version + " ";
        } else {
            s += " ";
        }
    }

    if (!ua.browser.Engine.empty()) {
        s += "Engine:" + ua.browser.Engine;
        if (!ua.browser.EngineVersion.empty()) {
            s += "-" + ua.browser.EngineVersion + " ";
        } else {
            s += " ";
        }
    }
    s += "Bot:";
    s += ua.bot ? "true " : "false ";
    s += "Mobile:";
    s += ua.mobile ? "true" : "false";

    //    cout << s << endl;
    return s;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
movb $0x0, 0x10(%rdi)
cmpq $0x0, 0x28(%rsi)
je 0x9e1c
leaq 0x20(%r14), %rdx
leaq 0x21561(%rip), %rsi     # 0x2b33c
leaq 0x28(%rsp), %rdi
callq 0xa632
leaq 0x21f7d(%rip), %rdx     # 0x2bd69
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa613
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
leaq 0x28(%rsp), %rdi
callq 0x7748
cmpq $0x0, 0x48(%r14)
je 0x9e6f
leaq 0x40(%r14), %rdx
leaq 0x21517(%rip), %rsi     # 0x2b345
leaq 0x28(%rsp), %rdi
callq 0xa632
leaq 0x21f2a(%rip), %rdx     # 0x2bd69
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa613
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
leaq 0x28(%rsp), %rdi
callq 0x7748
cmpq $0x0, 0x68(%r14)
je 0x9ec2
leaq 0x60(%r14), %rdx
leaq 0x214ce(%rip), %rsi     # 0x2b34f
leaq 0x28(%rsp), %rdi
callq 0xa632
leaq 0x21ed7(%rip), %rdx     # 0x2bd69
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa613
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
leaq 0x28(%rsp), %rdi
callq 0x7748
cmpq $0x0, 0x88(%r14)
je 0x9f1b
leaq 0x80(%r14), %rdx
leaq 0x21479(%rip), %rsi     # 0x2b353
leaq 0x28(%rsp), %rdi
callq 0xa632
leaq 0x21e7e(%rip), %rdx     # 0x2bd69
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa613
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
leaq 0x28(%rsp), %rdi
callq 0x7748
cmpq $0x0, 0xe8(%r14)
je 0x9fc2
leaq 0xe0(%r14), %rdx
leaq 0x2142a(%rip), %rsi     # 0x2b361
leaq 0x8(%rsp), %rdi
callq 0xa632
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
cmpq $0x0, 0x108(%r14)
je 0x9fb3
leaq 0x100(%r14), %rdx
leaq 0x213fa(%rip), %rsi     # 0x2b36a
leaq 0x28(%rsp), %rdi
callq 0xa632
leaq 0x21de8(%rip), %rdx     # 0x2bd69
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa613
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
leaq 0x28(%rsp), %rdi
callq 0x7748
jmp 0x9fc2
leaq 0x21daf(%rip), %rsi     # 0x2bd69
movq %rbx, %rdi
callq 0x76f0
cmpq $0x0, 0xa8(%r14)
je 0xa069
leaq 0xa0(%r14), %rdx
leaq 0x2138e(%rip), %rsi     # 0x2b36c
leaq 0x8(%rsp), %rdi
callq 0xa632
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
cmpq $0x0, 0xc8(%r14)
je 0xa05a
leaq 0xc0(%r14), %rdx
leaq 0x21353(%rip), %rsi     # 0x2b36a
leaq 0x28(%rsp), %rdi
callq 0xa632
leaq 0x21d41(%rip), %rdx     # 0x2bd69
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xa613
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x7710
leaq 0x8(%rsp), %rdi
callq 0x7748
leaq 0x28(%rsp), %rdi
callq 0x7748
jmp 0xa069
leaq 0x21d08(%rip), %rsi     # 0x2bd69
movq %rbx, %rdi
callq 0x76f0
leaq 0x21304(%rip), %rsi     # 0x2b374
movq %rbx, %rdi
callq 0x76f0
leaq 0x212fa(%rip), %rax     # 0x2b379
leaq 0x212f9(%rip), %rsi     # 0x2b37f
cmpb $0x0, 0x120(%r14)
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x76f0
leaq 0x212e5(%rip), %rsi     # 0x2b386
movq %rbx, %rdi
callq 0x76f0
leaq 0x204be(%rip), %rax     # 0x2a56e
leaq 0x1f556(%rip), %rsi     # 0x2960d
cmpb $0x0, 0x121(%r14)
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x76f0
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
retq
jmp 0xa102
jmp 0xa113
jmp 0xa124
jmp 0xa102
jmp 0xa113
jmp 0xa124
jmp 0xa0e6
jmp 0xa124
movq %rax, %r14
leaq 0x8(%rsp), %rdi
jmp 0xa11b
jmp 0xa102
jmp 0xa124
jmp 0xa113
jmp 0xa102
jmp 0xa124
jmp 0xa113
jmp 0xa102
jmp 0xa124
jmp 0xa113
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x7748
jmp 0xa116
jmp 0xa124
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0x7748
jmp 0xa127
jmp 0xa124
movq %rax, %r14
movq %rbx, %rdi
callq 0x7748
movq %r14, %rdi
callq 0x7640