// File: /workspace/github_c_makefile_star2_O0/patriciogonzalezvivo[P]tprint/src/main.cpp
// Function: main
int main(int argc, char **argv){

    //  Get a list of ports
#ifdef PLATFORM_RPI
    std::string port = "/dev/ttyAMA0";
#else
    std::string port = "NONE";
#endif

    std::vector<serial::PortInfo> ports = serial::list_ports();
    for (uint i = 0; i < ports.size(); i++){
        // std::cout << ports[i].port << " - " << ports[i].description << " - " << ports[i].hardware_id << std::endl;
        std::string::size_type found = ports[i].description.find("Prolific Technology Inc. USB-Serial Controller");
        if (found != std::string::npos){
            port = ports[i].port;
            break;
        }
    }

    // Contect the printer to the port
    std::cout << "Connecting to port [" << port << "] ";
    if (printer.open(port)){
        printer.setControlParameter(7, 100, 2);
        printer.setAlign(LEFT);
        std::cout << "successfully."<< std::endl;
    } else {
        std::cout << "error."<< std::endl;
        return 0;
    }

    // Load files to watch

    if (argc == 1) {
        std::string line;
        while (std::getline(std::cin, line)){
            printer.print(line+"\n");
        }
    } else {
        for (int i = 1; i < argc ; i++){
            std::string argument = std::string(argv[i]);
            if (    haveExt(argument,"png") || haveExt(argument,"PNG") ||
                    haveExt(argument,"jpg") || haveExt(argument,"JPG") || 
                    haveExt(argument,"jpeg") || haveExt(argument,"JPEG") ){
                // Load Image and print it
                printer.printImg(argument);
            } else if ( haveExt(argument,"txt") || haveExt(argument,"TXT") ||
                        haveExt(argument,"md") || haveExt(argument,"MD") ){
                // Load Text to print
                std::string text = "";
                loadFromPath(argument,&text);
                printer.print(text+"\n");
            } else if (argument == "-s") {
                std::string text = "";
                for (int j = i+1; j < argc ; j++){
                    text += std::string(argv[j]) + " ";
                }
                printer.print(text+"\n");
                break;
            }
        }
    }

    // printer.close();
    return 0;
}

// Assembly:
subq $0x478, %rsp            # imm = 0x478
movl $0x0, 0x474(%rsp)
movl %edi, 0x470(%rsp)
movq %rsi, 0x468(%rsp)
leaq 0x447(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0xd760
movq 0x120(%rsp), %rdx
leaq 0x14ea0(%rip), %rsi     # 0x2d7e5
leaq 0x448(%rsp), %rdi
callq 0xf2c0
jmp 0x18954
leaq 0x447(%rsp), %rdi
callq 0xd430
leaq 0x418(%rsp), %rdi
callq 0xda30
jmp 0x18970
movl $0x0, 0x414(%rsp)
movl 0x414(%rsp), %eax
movq %rax, 0x118(%rsp)
leaq 0x418(%rsp), %rdi
callq 0x111a0
movq %rax, %rcx
movq 0x118(%rsp), %rax
cmpq %rcx, %rax
jae 0x18a89
movl 0x414(%rsp), %eax
movl %eax, %esi
leaq 0x418(%rsp), %rdi
callq 0x19e60
movq %rax, %rdi
addq $0x20, %rdi
leaq 0x14e1b(%rip), %rsi     # 0x2d7ea
xorl %eax, %eax
movl %eax, %edx
callq 0xd820
movq %rax, 0x408(%rsp)
cmpq $-0x1, 0x408(%rsp)
je 0x18a71
movl 0x414(%rsp), %eax
movl %eax, %esi
leaq 0x418(%rsp), %rdi
callq 0x19e60
movq %rax, %rsi
leaq 0x448(%rsp), %rdi
callq 0xd050
jmp 0x18a17
jmp 0x18a89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x447(%rsp), %rdi
callq 0xd430
jmp 0x19c57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19c4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19c3d
jmp 0x18a73
movl 0x414(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x414(%rsp)
jmp 0x1897b
movq 0x1d530(%rip), %rdi     # 0x35fc0
leaq 0x14d82(%rip), %rsi     # 0x2d819
callq 0xd3a0
movq %rax, 0x110(%rsp)
jmp 0x18aa6
movq 0x110(%rsp), %rdi
leaq 0x448(%rsp), %rsi
callq 0xd360
movq %rax, 0x108(%rsp)
jmp 0x18ac5
movq 0x108(%rsp), %rdi
leaq 0x14d5a(%rip), %rsi     # 0x2d82e
callq 0xd3a0
jmp 0x18adb
leaq 0x1dc9e(%rip), %rdi     # 0x36780
leaq 0x448(%rsp), %rsi
callq 0x1b4e0
movb %al, 0x107(%rsp)
jmp 0x18af8
movb 0x107(%rsp), %al
testb $0x1, %al
jne 0x18b05
jmp 0x18b67
leaq 0x1dc74(%rip), %rdi     # 0x36780
movl $0x7, %esi
movl $0x64, %edx
movl $0x2, %ecx
callq 0x1b720
jmp 0x18b22
leaq 0x1dc57(%rip), %rdi     # 0x36780
xorl %esi, %esi
callq 0x1bb30
jmp 0x18b32
movq 0x1d487(%rip), %rdi     # 0x35fc0
leaq 0x14cf1(%rip), %rsi     # 0x2d831
callq 0xd3a0
movq %rax, 0xf8(%rsp)
jmp 0x18b4f
movq 0xf8(%rsp), %rdi
movq 0x1d44a(%rip), %rsi     # 0x35fa8
callq 0xd3f0
jmp 0x18b65
jmp 0x18bb5
movq 0x1d452(%rip), %rdi     # 0x35fc0
leaq 0x14cca(%rip), %rsi     # 0x2d83f
callq 0xd3a0
movq %rax, 0xf0(%rsp)
jmp 0x18b84
movq 0xf0(%rsp), %rdi
movq 0x1d415(%rip), %rsi     # 0x35fa8
callq 0xd3f0
jmp 0x18b9a
movl $0x0, 0x474(%rsp)
movl $0x1, 0x404(%rsp)
jmp 0x19c14
cmpl $0x1, 0x470(%rsp)
jne 0x18cbe
leaq 0x3e0(%rsp), %rdi
callq 0xd5b0
movq 0x1d409(%rip), %rdi     # 0x35fe0
leaq 0x3e0(%rsp), %rsi
callq 0xd0a0
movq %rax, 0xe8(%rsp)
jmp 0x18bee
movq 0xe8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0xd510
movb %al, 0xe7(%rsp)
jmp 0x18c0e
movb 0xe7(%rsp), %al
testb $0x1, %al
jne 0x18c1b
jmp 0x18c9a
leaq 0x1579a(%rip), %rdx     # 0x2e3bc
leaq 0x3c0(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0xf8f0
jmp 0x18c39
leaq 0x1db40(%rip), %rdi     # 0x36780
leaq 0x3c0(%rsp), %rsi
callq 0x1bf20
jmp 0x18c4f
leaq 0x3c0(%rsp), %rdi
callq 0xd240
jmp 0x18bd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x18cac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0xd240
jmp 0x18cac
leaq 0x3e0(%rsp), %rdi
callq 0xd240
jmp 0x19bfe
leaq 0x3e0(%rsp), %rdi
callq 0xd240
jmp 0x19c3d
movl $0x1, 0x3bc(%rsp)
movl 0x3bc(%rsp), %eax
cmpl 0x470(%rsp), %eax
jge 0x19bfc
movq 0x468(%rsp), %rax
movslq 0x3bc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0xd0(%rsp)
leaq 0x397(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xd760
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
leaq 0x398(%rsp), %rdi
callq 0xf2c0
jmp 0x18d2d
leaq 0x397(%rsp), %rdi
callq 0xd430
leaq 0x36f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0xd760
movq 0xc8(%rsp), %rdx
movb $0x0, 0x346(%rsp)
movb $0x0, 0x345(%rsp)
movb $0x0, 0x31e(%rsp)
movb $0x0, 0x31d(%rsp)
movb $0x0, 0x2f6(%rsp)
movb $0x0, 0x2f5(%rsp)
movb $0x0, 0x2ce(%rsp)
movb $0x0, 0x2cd(%rsp)
movb $0x0, 0x2a6(%rsp)
movb $0x0, 0x2a5(%rsp)
leaq 0x14a98(%rip), %rsi     # 0x2d846
leaq 0x370(%rsp), %rdi
callq 0xf2c0
jmp 0x18dbd
leaq 0x398(%rsp), %rdi
leaq 0x370(%rsp), %rsi
callq 0x19c70
movb %al, 0xc7(%rsp)
jmp 0x18ddb
movb 0xc7(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xc6(%rsp)
jne 0x19047
jmp 0x18df6
leaq 0x347(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0xd760
movq 0xb8(%rsp), %rdx
movb $0x1, 0x346(%rsp)
leaq 0x14a28(%rip), %rsi     # 0x2d84a
leaq 0x348(%rsp), %rdi
callq 0xf2c0
jmp 0x18e31
movb $0x1, 0x345(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0x19c70
movb %al, 0xb7(%rsp)
jmp 0x18e57
movb 0xb7(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xc6(%rsp)
jne 0x19047
jmp 0x18e72
leaq 0x31f(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xd760
movq 0xa8(%rsp), %rdx
movb $0x1, 0x31e(%rsp)
leaq 0x149b0(%rip), %rsi     # 0x2d84e
leaq 0x320(%rsp), %rdi
callq 0xf2c0
jmp 0x18ead
movb $0x1, 0x31d(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x320(%rsp), %rsi
callq 0x19c70
movb %al, 0xa7(%rsp)
jmp 0x18ed3
movb 0xa7(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xc6(%rsp)
jne 0x19047
jmp 0x18eee
leaq 0x2f7(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xd760
movq 0x98(%rsp), %rdx
movb $0x1, 0x2f6(%rsp)
leaq 0x14938(%rip), %rsi     # 0x2d852
leaq 0x2f8(%rsp), %rdi
callq 0xf2c0
jmp 0x18f29
movb $0x1, 0x2f5(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
callq 0x19c70
movb %al, 0x97(%rsp)
jmp 0x18f4f
movb 0x97(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xc6(%rsp)
jne 0x19047
jmp 0x18f6a
leaq 0x2cf(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0xd760
movq 0x88(%rsp), %rdx
movb $0x1, 0x2ce(%rsp)
leaq 0x148c0(%rip), %rsi     # 0x2d856
leaq 0x2d0(%rsp), %rdi
callq 0xf2c0
jmp 0x18fa5
movb $0x1, 0x2cd(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x2d0(%rsp), %rsi
callq 0x19c70
movb %al, 0x87(%rsp)
jmp 0x18fcb
movb 0x87(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xc6(%rsp)
jne 0x19047
jmp 0x18fe2
leaq 0x2a7(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xd760
movq 0x78(%rsp), %rdx
movb $0x1, 0x2a6(%rsp)
leaq 0x14853(%rip), %rsi     # 0x2d85b
leaq 0x2a8(%rsp), %rdi
callq 0xf2c0
jmp 0x19017
movb $0x1, 0x2a5(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x19c70
movb %al, 0x77(%rsp)
jmp 0x1903a
movb 0x77(%rsp), %al
movb %al, 0xc6(%rsp)
jmp 0x19047
movb 0xc6(%rsp), %al
movb %al, 0x76(%rsp)
testb $0x1, 0x2a5(%rsp)
jne 0x1905e
jmp 0x1906b
leaq 0x2a8(%rsp), %rdi
callq 0xd240
testb $0x1, 0x2a6(%rsp)
jne 0x19077
jmp 0x19084
leaq 0x2a7(%rsp), %rdi
callq 0xd430
testb $0x1, 0x2cd(%rsp)
jne 0x19090
jmp 0x1909d
leaq 0x2d0(%rsp), %rdi
callq 0xd240
testb $0x1, 0x2ce(%rsp)
jne 0x190a9
jmp 0x190b6
leaq 0x2cf(%rsp), %rdi
callq 0xd430
testb $0x1, 0x2f5(%rsp)
jne 0x190c2
jmp 0x190cf
leaq 0x2f8(%rsp), %rdi
callq 0xd240
testb $0x1, 0x2f6(%rsp)
jne 0x190db
jmp 0x190e8
leaq 0x2f7(%rsp), %rdi
callq 0xd430
testb $0x1, 0x31d(%rsp)
jne 0x190f4
jmp 0x19101
leaq 0x320(%rsp), %rdi
callq 0xd240
testb $0x1, 0x31e(%rsp)
jne 0x1910d
jmp 0x1911a
leaq 0x31f(%rsp), %rdi
callq 0xd430
testb $0x1, 0x345(%rsp)
jne 0x19126
jmp 0x19133
leaq 0x348(%rsp), %rdi
callq 0xd240
testb $0x1, 0x346(%rsp)
jne 0x1913f
jmp 0x1914c
leaq 0x347(%rsp), %rdi
callq 0xd430
leaq 0x370(%rsp), %rdi
callq 0xd240
leaq 0x36f(%rsp), %rdi
callq 0xd430
movb 0x76(%rsp), %al
testb $0x1, %al
jne 0x19173
jmp 0x19420
leaq 0x1d606(%rip), %rdi     # 0x36780
leaq 0x398(%rsp), %rsi
movl $0x7f, %edx
callq 0x1c150
jmp 0x1918e
jmp 0x19bae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x397(%rsp), %rdi
callq 0xd430
jmp 0x19c3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x193f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x193e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x193cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x193b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19397
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x1937c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19361
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19346
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x1932b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19310
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x192f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
testb $0x1, 0x2a5(%rsp)
jne 0x192e6
jmp 0x192f3
leaq 0x2a8(%rsp), %rdi
callq 0xd240
jmp 0x192f5
testb $0x1, 0x2a6(%rsp)
jne 0x19301
jmp 0x1930e
leaq 0x2a7(%rsp), %rdi
callq 0xd430
jmp 0x19310
testb $0x1, 0x2cd(%rsp)
jne 0x1931c
jmp 0x19329
leaq 0x2d0(%rsp), %rdi
callq 0xd240
jmp 0x1932b
testb $0x1, 0x2ce(%rsp)
jne 0x19337
jmp 0x19344
leaq 0x2cf(%rsp), %rdi
callq 0xd430
jmp 0x19346
testb $0x1, 0x2f5(%rsp)
jne 0x19352
jmp 0x1935f
leaq 0x2f8(%rsp), %rdi
callq 0xd240
jmp 0x19361
testb $0x1, 0x2f6(%rsp)
jne 0x1936d
jmp 0x1937a
leaq 0x2f7(%rsp), %rdi
callq 0xd430
jmp 0x1937c
testb $0x1, 0x31d(%rsp)
jne 0x19388
jmp 0x19395
leaq 0x320(%rsp), %rdi
callq 0xd240
jmp 0x19397
testb $0x1, 0x31e(%rsp)
jne 0x193a3
jmp 0x193b0
leaq 0x31f(%rsp), %rdi
callq 0xd430
jmp 0x193b2
testb $0x1, 0x345(%rsp)
jne 0x193be
jmp 0x193cb
leaq 0x348(%rsp), %rdi
callq 0xd240
jmp 0x193cd
testb $0x1, 0x346(%rsp)
jne 0x193d9
jmp 0x193e6
leaq 0x347(%rsp), %rdi
callq 0xd430
jmp 0x193e8
leaq 0x370(%rsp), %rdi
callq 0xd240
leaq 0x36f(%rsp), %rdi
callq 0xd430
jmp 0x19bed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19bed
leaq 0x27f(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xd760
movq 0x68(%rsp), %rdx
movb $0x0, 0x256(%rsp)
movb $0x0, 0x255(%rsp)
movb $0x0, 0x22e(%rsp)
movb $0x0, 0x22d(%rsp)
movb $0x0, 0x206(%rsp)
movb $0x0, 0x205(%rsp)
leaq 0x143f2(%rip), %rsi     # 0x2d860
leaq 0x280(%rsp), %rdi
callq 0xf2c0
jmp 0x1947d
leaq 0x398(%rsp), %rdi
leaq 0x280(%rsp), %rsi
callq 0x19c70
movb %al, 0x67(%rsp)
jmp 0x19498
movb 0x67(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x66(%rsp)
jne 0x195e5
jmp 0x194ad
leaq 0x257(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xd760
movq 0x58(%rsp), %rdx
movb $0x1, 0x256(%rsp)
leaq 0x14391(%rip), %rsi     # 0x2d864
leaq 0x258(%rsp), %rdi
callq 0xf2c0
jmp 0x194e2
movb $0x1, 0x255(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x258(%rsp), %rsi
callq 0x19c70
movb %al, 0x57(%rsp)
jmp 0x19505
movb 0x57(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x66(%rsp)
jne 0x195e5
jmp 0x1951a
leaq 0x22f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xd760
movq 0x48(%rsp), %rdx
movb $0x1, 0x22e(%rsp)
leaq 0x14328(%rip), %rsi     # 0x2d868
leaq 0x230(%rsp), %rdi
callq 0xf2c0
jmp 0x1954f
movb $0x1, 0x22d(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x19c70
movb %al, 0x47(%rsp)
jmp 0x19572
movb 0x47(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x66(%rsp)
jne 0x195e5
jmp 0x19583
leaq 0x207(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xd760
movq 0x38(%rsp), %rdx
movb $0x1, 0x206(%rsp)
leaq 0x142c2(%rip), %rsi     # 0x2d86b
leaq 0x208(%rsp), %rdi
callq 0xf2c0
jmp 0x195b8
movb $0x1, 0x205(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x19c70
movb %al, 0x37(%rsp)
jmp 0x195db
movb 0x37(%rsp), %al
movb %al, 0x66(%rsp)
jmp 0x195e5
movb 0x66(%rsp), %al
movb %al, 0x36(%rsp)
testb $0x1, 0x205(%rsp)
jne 0x195f9
jmp 0x19606
leaq 0x208(%rsp), %rdi
callq 0xd240
testb $0x1, 0x206(%rsp)
jne 0x19612
jmp 0x1961f
leaq 0x207(%rsp), %rdi
callq 0xd430
testb $0x1, 0x22d(%rsp)
jne 0x1962b
jmp 0x19638
leaq 0x230(%rsp), %rdi
callq 0xd240
testb $0x1, 0x22e(%rsp)
jne 0x19644
jmp 0x19651
leaq 0x22f(%rsp), %rdi
callq 0xd430
testb $0x1, 0x255(%rsp)
jne 0x1965d
jmp 0x1966a
leaq 0x258(%rsp), %rdi
callq 0xd240
testb $0x1, 0x256(%rsp)
jne 0x19676
jmp 0x19683
leaq 0x257(%rsp), %rdi
callq 0xd430
leaq 0x280(%rsp), %rdi
callq 0xd240
leaq 0x27f(%rsp), %rdi
callq 0xd430
movb 0x36(%rsp), %al
testb $0x1, %al
jne 0x196aa
jmp 0x1993b
leaq 0x1df(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xd760
movq 0x28(%rsp), %rdx
leaq 0x14cf5(%rip), %rsi     # 0x2e3bd
leaq 0x1e0(%rsp), %rdi
callq 0xf2c0
jmp 0x196d7
leaq 0x1df(%rsp), %rdi
callq 0xd430
leaq 0x398(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0x19ce0
jmp 0x196fb
leaq 0x14cba(%rip), %rdx     # 0x2e3bc
leaq 0x1b8(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0xf8f0
jmp 0x19719
leaq 0x1d060(%rip), %rdi     # 0x36780
leaq 0x1b8(%rsp), %rsi
callq 0x1bf20
jmp 0x1972f
leaq 0x1b8(%rsp), %rdi
callq 0xd240
leaq 0x1e0(%rsp), %rdi
callq 0xd240
jmp 0x19bac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x198ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x198ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19892
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19877
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x1985c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19841
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
testb $0x1, 0x205(%rsp)
jne 0x19817
jmp 0x19824
leaq 0x208(%rsp), %rdi
callq 0xd240
jmp 0x19826
testb $0x1, 0x206(%rsp)
jne 0x19832
jmp 0x1983f
leaq 0x207(%rsp), %rdi
callq 0xd430
jmp 0x19841
testb $0x1, 0x22d(%rsp)
jne 0x1984d
jmp 0x1985a
leaq 0x230(%rsp), %rdi
callq 0xd240
jmp 0x1985c
testb $0x1, 0x22e(%rsp)
jne 0x19868
jmp 0x19875
leaq 0x22f(%rsp), %rdi
callq 0xd430
jmp 0x19877
testb $0x1, 0x255(%rsp)
jne 0x19883
jmp 0x19890
leaq 0x258(%rsp), %rdi
callq 0xd240
jmp 0x19892
testb $0x1, 0x256(%rsp)
jne 0x1989e
jmp 0x198ab
leaq 0x257(%rsp), %rdi
callq 0xd430
jmp 0x198ad
leaq 0x280(%rsp), %rdi
callq 0xd240
leaq 0x27f(%rsp), %rdi
callq 0xd430
jmp 0x19bed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x1df(%rsp), %rdi
callq 0xd430
jmp 0x19bed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19929
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x1b8(%rsp), %rdi
callq 0xd240
leaq 0x1e0(%rsp), %rdi
callq 0xd240
jmp 0x19bed
leaq 0x13f2c(%rip), %rsi     # 0x2d86e
leaq 0x398(%rsp), %rdi
callq 0x19e80
movb %al, 0x27(%rsp)
jmp 0x19955
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x19962
jmp 0x19baa
leaq 0x197(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xd760
movq 0x18(%rsp), %rdx
leaq 0x14a3d(%rip), %rsi     # 0x2e3bd
leaq 0x198(%rsp), %rdi
callq 0xf2c0
jmp 0x1998f
leaq 0x197(%rsp), %rdi
callq 0xd430
movl 0x3bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x190(%rsp)
movl 0x190(%rsp), %eax
cmpl 0x470(%rsp), %eax
jge 0x19b09
movq 0x468(%rsp), %rax
movslq 0x190(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
leaq 0x14f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xd760
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x150(%rsp), %rdi
callq 0xf2c0
jmp 0x19a05
leaq 0x13be7(%rip), %rdx     # 0x2d5f3
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x19eb0
jmp 0x19a23
leaq 0x198(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0xd530
jmp 0x19a3a
leaq 0x170(%rsp), %rdi
callq 0xd240
leaq 0x150(%rsp), %rdi
callq 0xd240
leaq 0x14f(%rsp), %rdi
callq 0xd430
movl 0x190(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x190(%rsp)
jmp 0x199ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x197(%rsp), %rdi
callq 0xd430
jmp 0x19bed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19af7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19aea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xd240
leaq 0x150(%rsp), %rdi
callq 0xd240
leaq 0x14f(%rsp), %rdi
callq 0xd430
jmp 0x19b9b
leaq 0x148ac(%rip), %rdx     # 0x2e3bc
leaq 0x128(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0xf8f0
jmp 0x19b27
leaq 0x1cc52(%rip), %rdi     # 0x36780
leaq 0x128(%rsp), %rsi
callq 0x1bf20
jmp 0x19b3d
leaq 0x128(%rsp), %rdi
callq 0xd240
movl $0x7, 0x404(%rsp)
leaq 0x198(%rsp), %rdi
callq 0xd240
jmp 0x19bb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
jmp 0x19b9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x438(%rsp)
movl %eax, 0x434(%rsp)
leaq 0x128(%rsp), %rdi
callq 0xd240
leaq 0x198(%rsp), %rdi
callq 0xd240
jmp 0x19bed
jmp 0x19bac
jmp 0x19bae
movl $0x0, 0x404(%rsp)
leaq 0x398(%rsp), %rdi
callq 0xd240
movl 0x404(%rsp), %eax
testl %eax, %eax
je 0x19bd5
jmp 0x19bd3
jmp 0x19bfc
jmp 0x19bd7
movl 0x3bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3bc(%rsp)
jmp 0x18cc9
leaq 0x398(%rsp), %rdi
callq 0xd240
jmp 0x19c3d
jmp 0x19bfe
movl $0x0, 0x474(%rsp)
movl $0x1, 0x404(%rsp)
leaq 0x418(%rsp), %rdi
callq 0xf5e0
leaq 0x448(%rsp), %rdi
callq 0xd240
movl 0x474(%rsp), %eax
addq $0x478, %rsp            # imm = 0x478
retq
leaq 0x418(%rsp), %rdi
callq 0xf5e0
leaq 0x448(%rsp), %rdi
callq 0xd240
movq 0x438(%rsp), %rdi
callq 0xd750
nopw %cs:(%rax,%rax)