// File: /workspace/github_cpp_makefile_star2_O2/aayush-jaiswal[P]covid-in/src/main.cpp
// Function: main
int main(int argc, char *argv[]) {
    std::string app_name = argv[0];
    
    try {
        cxxopts::Options options(app_name, "A command line app to get covid-19 update.");
        options.add_options()
            ("h, help", "Print help/usage")
            ("s, state", "Choose state(s) to display stats", cxxopts::value<std::vector<std::string>>(), "statecode")
            ("t, tested", "Show tested data")
            ("a, all", "Show data of all states in tabular form")
            ("statecodes", "Display state codes");

        auto result = options.parse(argc, argv);

        if (result.count("help")) {
            std::cout << options.help() << '\n';
            exit(0);
        }

        if (result.count("statecodes")) {
            std::cout << "The state codes are: \n\n";
            for (auto &s : abbr::india_states) {
                std::cout << s.second << ": " << s.first << '\n';
            } 
            exit(0);
        }

        std::cout << "Fetching data...\n\n";
        const char *covid_india_api = "https://api.covid19india.org/data.json";
        json all_data = json::parse(get_api_data(covid_india_api));
        
        if (result.count("all")) {
            print_formatted_all(all_data["statewise"]);
        }

        if (result.count("state")) {
            auto states = result["state"].as<std::vector<std::string>>();
            for (auto &s :  states) {
                std::transform(s.begin(), s.end(), s.begin(), ::toupper);
                for (auto &x : all_data["statewise"]) {
                    if (x["statecode"] == s) {
                        print_formatted_output(x);
                    }
                }
            }
        }

        if (result.count("all") == 0) {
            print_formatted_output(all_data["statewise"][0]);
        }
        
        if (result.count("tested")) {
            print_formatted_tested(all_data["tested"].back());
        }
    }

    catch (const cxxopts::OptionException& e) {
        std::cerr << "Error parsing options! Try again with valid options.\n";
        std::cerr << "Use " << app_name << " -h for help\n"; 
        return 1;
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x588, %rsp            # imm = 0x588
movl %edi, 0x6c(%rsp)
movq %rsi, 0x138(%rsp)
movq (%rsi), %rsi
leaq 0x170(%rsp), %rdi
leaq 0x468(%rsp), %rdx
callq 0x7d76
leaq 0x360(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x62f0
leaq 0x1d3c3(%rip), %rsi     # 0x27494
leaq 0x340(%rsp), %rdi
leaq 0x3a8(%rsp), %rdx
callq 0x7d76
leaq 0x468(%rsp), %rdi
leaq 0x360(%rsp), %rsi
leaq 0x340(%rsp), %rdx
callq 0xb40e
leaq 0x340(%rsp), %rdi
callq 0x6678
leaq 0x360(%rsp), %rdi
callq 0x6678
leaq 0x1d468(%rip), %rsi     # 0x2758c
leaq 0x320(%rsp), %rdi
leaq 0x3f(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x468(%rsp), %rsi
leaq 0x320(%rsp), %rdx
callq 0xb52a
leaq 0x1d365(%rip), %rsi     # 0x274bf
leaq 0x10(%rsp), %rdi
leaq 0x3e(%rsp), %rdx
callq 0x7d76
leaq 0x1d357(%rip), %rsi     # 0x274c7
leaq 0x40(%rsp), %rdi
leaq 0x3d(%rsp), %rdx
callq 0x7d76
leaq 0xe0(%rsp), %rdi
callq 0xb810
leaq 0xf8(%rsp), %rcx
leaq 0xe8(%rsp), %rax
movaps -0x8(%rax), %xmm0
movaps %xmm0, -0x8(%rcx)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8(%rax)
leaq 0x1d3da(%rip), %rsi     # 0x2758c
leaq 0x300(%rsp), %rdi
leaq 0x3c(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0xf0(%rsp), %rcx
leaq 0x300(%rsp), %r8
callq 0xb59e
movq %rax, %rbx
leaq 0x1d2e3(%rip), %rsi     # 0x274d8
leaq 0x90(%rsp), %rdi
leaq 0x3b(%rsp), %rdx
callq 0x7d76
leaq 0x1d2d3(%rip), %rsi     # 0x274e1
leaq 0x70(%rsp), %rdi
leaq 0x3a(%rsp), %rdx
callq 0x7d76
leaq 0xc0(%rsp), %rdi
callq 0xb843
leaq 0xd8(%rsp), %rax
leaq 0xc8(%rsp), %rcx
movaps -0x8(%rcx), %xmm0
movaps %xmm0, -0x8(%rax)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8(%rcx)
leaq 0x1d2b2(%rip), %rsi     # 0x27502
leaq 0x2e0(%rsp), %rdi
leaq 0x39(%rsp), %rdx
callq 0x7d76
leaq 0x90(%rsp), %rsi
leaq 0x70(%rsp), %rdx
leaq 0xd0(%rsp), %rcx
leaq 0x2e0(%rsp), %r8
movq %rbx, %rdi
callq 0xb59e
movq %rax, %r14
leaq 0x1d27b(%rip), %rsi     # 0x2750c
leaq 0x150(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x7d76
leaq 0x1d26c(%rip), %rsi     # 0x27516
leaq 0x2c0(%rsp), %rdi
leaq 0x37(%rsp), %rdx
callq 0x7d76
leaq 0xb0(%rsp), %rdi
callq 0xb810
leaq 0x1d8(%rsp), %rbp
leaq 0xb8(%rsp), %rax
movaps -0x8(%rax), %xmm0
movaps %xmm0, -0x8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8(%rax)
leaq 0x1d29d(%rip), %rsi     # 0x2758c
leaq 0x2a0(%rsp), %rdi
leaq 0x36(%rsp), %rdx
callq 0x7d76
leaq 0x150(%rsp), %rsi
leaq 0x2c0(%rsp), %rdx
leaq 0x1d0(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
movq %r14, %rdi
callq 0xb59e
movq %rax, %r14
leaq 0x1d1f4(%rip), %rsi     # 0x27527
leaq 0x280(%rsp), %rdi
leaq 0x35(%rsp), %rdx
callq 0x7d76
leaq 0x1d1e2(%rip), %rsi     # 0x2752e
leaq 0x260(%rsp), %rdi
leaq 0x34(%rsp), %rdx
callq 0x7d76
leaq 0x1b0(%rsp), %rdi
callq 0xb810
leaq 0x1c8(%rsp), %rbx
leaq 0x1b8(%rsp), %r15
movaps -0x8(%r15), %xmm0
movaps %xmm0, -0x8(%rbx)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8(%r15)
leaq 0x1d1f9(%rip), %rsi     # 0x2758c
leaq 0x240(%rsp), %rdi
leaq 0x33(%rsp), %rdx
callq 0x7d76
leaq 0x280(%rsp), %rsi
leaq 0x260(%rsp), %rdx
leaq 0x1c0(%rsp), %rcx
leaq 0x240(%rsp), %r8
movq %r14, %rdi
callq 0xb59e
movq %rax, %r12
leaq 0x1d17f(%rip), %rsi     # 0x27556
leaq 0x220(%rsp), %rdi
leaq 0x32(%rsp), %rdx
callq 0x7d76
leaq 0x1d171(%rip), %rsi     # 0x27561
leaq 0x200(%rsp), %rdi
leaq 0x31(%rsp), %rdx
callq 0x7d76
leaq 0x190(%rsp), %rdi
callq 0xb810
leaq 0x1a8(%rsp), %r13
leaq 0x198(%rsp), %r14
movaps -0x8(%r14), %xmm0
movaps %xmm0, -0x8(%r13)
xorps %xmm0, %xmm0
movaps %xmm0, -0x8(%r14)
leaq 0x1d154(%rip), %rsi     # 0x2758c
leaq 0x1e0(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x7d76
leaq 0x220(%rsp), %rsi
leaq 0x200(%rsp), %rdx
leaq 0x1a0(%rsp), %rcx
leaq 0x1e0(%rsp), %r8
movq %r12, %rdi
callq 0xb59e
leaq 0x1e0(%rsp), %rdi
callq 0x6678
movq %r13, %rdi
callq 0xc1de
movq %r14, %rdi
callq 0xc1de
leaq 0x200(%rsp), %rdi
callq 0x6678
leaq 0x220(%rsp), %rdi
callq 0x6678
leaq 0x240(%rsp), %rdi
callq 0x6678
movq %rbx, %rdi
callq 0xc1de
movq %r15, %rdi
callq 0xc1de
leaq 0x260(%rsp), %rdi
callq 0x6678
leaq 0x280(%rsp), %rdi
callq 0x6678
leaq 0x2a0(%rsp), %rdi
callq 0x6678
movq %rbp, %rdi
callq 0xc1de
leaq 0xb8(%rsp), %rdi
callq 0xc1de
leaq 0x2c0(%rsp), %rdi
callq 0x6678
leaq 0x150(%rsp), %rdi
callq 0x6678
leaq 0x2e0(%rsp), %rdi
callq 0x6678
leaq 0xd8(%rsp), %rdi
callq 0xc1de
leaq 0xc8(%rsp), %rdi
callq 0xc1de
leaq 0x70(%rsp), %rdi
callq 0x6678
leaq 0x90(%rsp), %rdi
callq 0x6678
leaq 0x300(%rsp), %rdi
callq 0x6678
leaq 0xf8(%rsp), %rdi
callq 0xc1de
leaq 0xe8(%rsp), %rdi
callq 0xc1de
leaq 0x40(%rsp), %rdi
callq 0x6678
leaq 0x10(%rsp), %rdi
callq 0x6678
leaq 0x3b0(%rsp), %rdi
callq 0x6678
leaq 0x320(%rsp), %rdi
callq 0x6678
leaq 0x3a8(%rsp), %rdi
leaq 0x468(%rsp), %rsi
leaq 0x6c(%rsp), %rdx
leaq 0x138(%rsp), %rcx
callq 0xb876
leaq 0x1ceea(%rip), %rsi     # 0x274c2
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb914
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
testq %rbx, %rbx
jne 0xaa20
leaq 0x1cf40(%rip), %rsi     # 0x27556
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb914
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
testq %rbx, %rbx
jne 0xaa79
movq 0x3492c(%rip), %rdi     # 0x3ef80
leaq 0x1cf32(%rip), %rsi     # 0x2758d
callq 0x6320
leaq 0x1cf39(%rip), %rsi     # 0x275a0
leaq 0x10(%rsp), %rdi
callq 0x6e2a
leaq 0x40(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xbbac
xorps %xmm0, %xmm0
leaq 0x380(%rsp), %rdx
movaps %xmm0, 0x10(%rdx)
movaps %xmm0, (%rdx)
leaq 0x70(%rsp), %rdi
leaq 0x40(%rsp), %rsi
pushq $0x1
popq %rcx
callq 0xbae0
leaq 0x380(%rsp), %rdi
callq 0x140ea
leaq 0x48(%rsp), %rdi
callq 0xc1de
leaq 0x10(%rsp), %rdi
callq 0x6678
leaq 0x1ce5e(%rip), %rsi     # 0x2752a
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb914
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
testq %rbx, %rbx
je 0xa73a
leaq 0x1cec1(%rip), %rsi     # 0x275c7
leaq 0x70(%rsp), %rdi
callq 0x7c54
leaq 0x128(%rsp), %rdi
movq %rax, %rsi
callq 0x99c4
leaq 0x128(%rsp), %rdi
callq 0x76a4
leaq 0x128(%rsp), %rdi
callq 0x8df6
leaq 0x1cd9a(%rip), %rsi     # 0x274db
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb914
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
testq %rbx, %rbx
je 0xa8dd
leaq 0x1cd5c(%rip), %rsi     # 0x274db
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xbbbe
movq %rax, %rdi
callq 0xbc34
leaq 0x90(%rsp), %rdi
movq %rax, %rsi
callq 0xbcba
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x6678
movq 0x90(%rsp), %r14
movq 0x98(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x150(%rsp), %r15
cmpq 0x8(%rsp), %r14
je 0xa8d0
movq (%r14), %r13
movq 0x8(%r14), %rbp
xorl %r12d, %r12d
cmpq %r12, %rbp
je 0xa811
movsbl (%r13,%r12), %edi
callq 0x6120
movb %al, (%r13,%r12)
incq %r12
jmp 0xa7f7
leaq 0x70(%rsp), %rdi
leaq 0x1cdaa(%rip), %rsi     # 0x275c7
callq 0x7c54
movq %rax, %r13
movq %rbx, %rdi
movq %rax, %rsi
callq 0x7db2
leaq 0x40(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
callq 0x7dd8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x7dfe
testb %al, %al
je 0xa8c7
movq %rbx, %rdi
callq 0x7e08
movq %rax, %rbp
movq %rax, %rdi
leaq 0x1cc9e(%rip), %rsi     # 0x27502
callq 0x7c54
movq %rax, %r13
movq %r15, %rdi
movq %r14, %rsi
callq 0xbe64
movq %r13, %rdi
movq %r15, %rsi
callq 0xbd0d
movl %eax, %r13d
movq %r15, %rdi
callq 0x8df6
testb %r13b, %r13b
je 0xa8ba
leaq 0x140(%rsp), %rdi
movq %rbp, %rsi
callq 0x99c4
leaq 0x140(%rsp), %r13
movq %r13, %rdi
callq 0x6f0c
movq %r13, %rdi
callq 0x8df6
movq %rbx, %rdi
callq 0x7f96
jmp 0xa840
addq $0x20, %r14
jmp 0xa7e2
leaq 0x90(%rsp), %rdi
callq 0xbabe
leaq 0x1cc46(%rip), %rsi     # 0x2752a
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb914
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
testq %rbx, %rbx
jne 0xa95c
leaq 0x1cca9(%rip), %rsi     # 0x275c7
leaq 0x70(%rsp), %rdi
callq 0x7c54
movq %rax, %rdi
xorl %esi, %esi
callq 0x7fec
leaq 0x118(%rsp), %rdi
movq %rax, %rsi
callq 0x99c4
leaq 0x118(%rsp), %rdi
callq 0x6f0c
leaq 0x118(%rsp), %rdi
callq 0x8df6
leaq 0x1cbac(%rip), %rsi     # 0x2750f
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x7d76
leaq 0x3a8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xb914
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
testq %rbx, %rbx
je 0xa9d9
leaq 0x1cb72(%rip), %rsi     # 0x2750f
leaq 0x70(%rsp), %rdi
callq 0x7c54
movq %rax, %rdi
callq 0xbe7e
leaq 0x108(%rsp), %rdi
movq %rax, %rsi
callq 0x99c4
leaq 0x108(%rsp), %rdi
callq 0x7433
leaq 0x108(%rsp), %rdi
callq 0x8df6
leaq 0x70(%rsp), %rdi
callq 0x8df6
leaq 0x3a8(%rsp), %rdi
callq 0xbea8
leaq 0x468(%rsp), %rdi
callq 0xbee0
xorl %ebx, %ebx
leaq 0x170(%rsp), %rdi
callq 0x6678
movl %ebx, %eax
addq $0x588, %rsp            # imm = 0x588
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdx
movaps %xmm0, (%rdx)
andq $0x0, 0x10(%rdx)
leaq 0x10(%rsp), %rdi
leaq 0x468(%rsp), %rsi
callq 0xb942
movq 0x34537(%rip), %rdi     # 0x3ef80
leaq 0x10(%rsp), %rsi
callq 0x6170
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x6370
leaq 0x10(%rsp), %rdi
callq 0x6678
leaq 0x40(%rsp), %rdi
callq 0xbabe
xorl %edi, %edi
callq 0x6390
movq 0x34500(%rip), %rdi     # 0x3ef80
leaq 0x1caee(%rip), %rsi     # 0x27575
callq 0x6320
movq 0x34ddd(%rip), %r15     # 0x3f870
leaq 0x34dc6(%rip), %r12     # 0x3f860
movq 0x344df(%rip), %rbx     # 0x3ef80
leaq 0x1b607(%rip), %r14     # 0x260af
pushq $0xa
popq %rbp
cmpq %r12, %r15
je 0xaa72
leaq 0x40(%r15), %rsi
movq %rbx, %rdi
callq 0x6170
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
leaq 0x20(%r15), %rsi
movq %rax, %rdi
callq 0x6170
movq %rax, %rdi
movl %ebp, %esi
callq 0x6370
movq %r15, %rdi
callq 0x6540
movq %rax, %r15
jmp 0xaaab
movq %rdx, %r12
movq %rax, %rbx
leaq 0x118(%rsp), %rdi
jmp 0xab49
movq %rdx, %r12
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
jmp 0xab17
jmp 0xae6e
movq %rdx, %r12
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xbabe
jmp 0xaec8
movq %rdx, %r12
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
jmp 0xab49
jmp 0xae88
movq %rdx, %r12
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
callq 0x8df6
jmp 0xaebe
jmp 0xae76
jmp 0xae88
jmp 0xae76
jmp 0xae88
jmp 0xae76
jmp 0xae88
jmp 0xae76
jmp 0xae88
movq %rdx, %r12
movq %rax, %rbx
leaq 0x380(%rsp), %rdi
callq 0x140ea
leaq 0x48(%rsp), %rdi
callq 0xc1de
jmp 0xabae
jmp 0xaba8
jmp 0xae6e
jmp 0xaba8
jmp 0xae6e
movq %rdx, %r12
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
jmp 0xaec8
jmp 0xae6e
jmp 0xae23
movq %rdx, %r12
movq %rax, 0x8(%rsp)
leaq 0x1e0(%rsp), %rdi
callq 0x6678
jmp 0xabe6
movq %rdx, %r12
movq %rax, 0x8(%rsp)
movq %r13, %rdi
callq 0xc1de
movq %r14, %rdi
callq 0xc1de
jmp 0xac00
movq %rdx, %r12
movq %rax, 0x8(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x6678
jmp 0xac17
movq %rdx, %r12
movq %rax, 0x8(%rsp)
leaq 0x220(%rsp), %rdi
callq 0x6678
jmp 0xac30
jmp 0xac28
movq %rdx, %r12
movq %rax, 0x8(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x6678
movq %rbx, %rdi
callq 0xc1de
movq %r15, %rdi
callq 0xc1de
leaq 0x260(%rsp), %rdi
callq 0x6678
leaq 0x280(%rsp), %rdi
callq 0x6678
leaq 0x2a0(%rsp), %rdi
callq 0x6678
movq %rbp, %rdi
callq 0xc1de
leaq 0xb8(%rsp), %rdi
callq 0xc1de
leaq 0x2c0(%rsp), %rdi
callq 0x6678
leaq 0x150(%rsp), %rdi
callq 0x6678
leaq 0x2e0(%rsp), %rdi
callq 0x6678
leaq 0xd8(%rsp), %rdi
callq 0xc1de
leaq 0xc8(%rsp), %rdi
callq 0xc1de
leaq 0x70(%rsp), %rdi
callq 0x6678
leaq 0x90(%rsp), %rdi
callq 0x6678
leaq 0x300(%rsp), %rdi
callq 0x6678
leaq 0xf8(%rsp), %rdi
callq 0xc1de
leaq 0xe8(%rsp), %rdi
callq 0xc1de
leaq 0x40(%rsp), %rdi
callq 0x6678
leaq 0x10(%rsp), %rdi
callq 0x6678
leaq 0x3b0(%rsp), %rdi
callq 0x6678
leaq 0x320(%rsp), %rdi
callq 0x6678
movq 0x8(%rsp), %rbx
jmp 0xaed5
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac3d
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac4d
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac5a
jmp 0xad69
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac67
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac74
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac89
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xac96
jmp 0xad9f
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xaca3
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xacb0
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xacca
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xacd4
jmp 0xadd5
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xace1
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xacee
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xad08
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xad12
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xad1c
movq %rdx, %r12
movq %rax, 0x8(%rsp)
jmp 0xad29
movq %rdx, %r12
movq %rax, %rbx
jmp 0xaed5
movq %rdx, %r12
movq %rax, %rbx
leaq 0x340(%rsp), %rdi
callq 0x6678
jmp 0xae49
movq %rdx, %r12
movq %rax, %rbx
leaq 0x360(%rsp), %rdi
callq 0x6678
jmp 0xaee2
movq %rdx, %r12
movq %rax, %rbx
jmp 0xaee2
movq %rax, %rbx
movq %rbx, %rdi
callq 0x6360
movq %rdx, %r12
movq %rax, %rbx
jmp 0xaec8
movq %rdx, %r12
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6678
jmp 0xaebe
movq %rdx, %r12
movq %rax, %rbx
jmp 0xaebe
jmp 0xaeab
movq %rdx, %r12
movq %rax, %rbx
leaq 0x140(%rsp), %rdi
callq 0x8df6
jmp 0xaeb1
jmp 0xaeab
jmp 0xaeab
movq %rdx, %r12
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xbabe
leaq 0x70(%rsp), %rdi
callq 0x8df6
leaq 0x3a8(%rsp), %rdi
callq 0xbea8
leaq 0x468(%rsp), %rdi
callq 0xbee0
cmpl $0x1, %r12d
jne 0xaf4f
movq %rbx, %rdi
callq 0x6050
movq 0x340d1(%rip), %rdi     # 0x3efc8
leaq 0x1c6d3(%rip), %rsi     # 0x275d1
callq 0x6320
movq 0x340be(%rip), %rdi     # 0x3efc8
leaq 0x1c6f6(%rip), %rsi     # 0x27607
callq 0x6320
leaq 0x170(%rsp), %rsi
movq %rax, %rdi
callq 0x6170
leaq 0x1c6df(%rip), %rsi     # 0x2760c
movq %rax, %rdi
callq 0x6320
callq 0x6420
pushq $0x1
popq %rbx
jmp 0xa9ff
movq %rax, %rbx
jmp 0xaf4f
movq %rax, %rbx
callq 0x6420
leaq 0x170(%rsp), %rdi
callq 0x6678
jmp 0xae66
movq %rax, %rdi
callq 0x813f
nop