// File: /workspace/github_cpp_makefile_star2_O3/UTAP[P]APHTTP/examples/main.cpp
// Function: main
int main(int argc, char **argv) {
  srand(time(NULL)); // for rand
  try {
    MyServer server(argc > 1 ? atoi(argv[1]) : 5000);
    server.setNotFoundErrPage("static/404.html");
    server.get("/login", new ShowPage("static/logincss.html"));
    server.post("/login", new LoginHandler());
    server.get("/up", new ShowPage("static/upload_form.html"));
    server.post("/up", new UploadHandler());
    server.get("/rand", new RandomNumberHandler());
    server.get("/home.png", new ShowImage("static/home.png"));
    server.get("/", new ShowPage("static/home.html"));
    server.get("/colors", new ColorHandler("template/colors.html"));
    server.run();
  } catch (const Server::Exception& e) {
    cerr << e.getMessage() << endl;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
movq %rsi, %rbx
movl %edi, %r14d
xorl %edi, %edi
callq 0x4300
movl %eax, %edi
callq 0x4320
movl $0x1388, %esi           # imm = 0x1388
cmpl $0x2, %r14d
jl 0x6826
movq 0x8(%rbx), %rdi
callq 0x4500
movl %eax, %esi
leaq -0x58(%rbp), %rdi
callq 0x67dc
leaq -0x208(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1286a(%rip), %rsi     # 0x190ab
leaq 0x12872(%rip), %rdx     # 0x190ba
leaq -0x218(%rbp), %rdi
callq 0x6f56
leaq -0x58(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x13dea
movq -0x218(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6875
callq 0x4310
leaq -0x1e8(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x12833(%rip), %rsi     # 0x190bb
leaq 0x12832(%rip), %rdx     # 0x190c1
leaq -0x1f8(%rbp), %rdi
callq 0x6f56
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0x1c8(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x12808(%rip), %rsi     # 0x190c2
leaq 0x12815(%rip), %rdx     # 0x190d6
leaq -0x1d8(%rbp), %rdi
callq 0x6f56
movb $0x1, %bl
leaq -0x1d8(%rbp), %rsi
movq %r15, %rdi
callq 0x13aea
xorl %ebx, %ebx
leaq -0x58(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
movq %r15, %rdx
callq 0x130e8
movq -0x1d8(%rbp), %rdi
cmpq %r13, %rdi
je 0x6904
callq 0x4310
movq -0x1f8(%rbp), %rdi
cmpq %r12, %rdi
je 0x6915
callq 0x4310
leaq -0x1a8(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x12794(%rip), %rsi     # 0x190bb
leaq 0x12793(%rip), %rdx     # 0x190c1
leaq -0x1b8(%rbp), %rdi
callq 0x6f56
movl $0x8, %edi
callq 0x4350
leaq 0x1820d(%rip), %rcx     # 0x1eb58
addq $0x10, %rcx
movq %rcx, (%rax)
leaq -0x58(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
movq %rax, %rdx
callq 0x131b0
movq -0x1b8(%rbp), %rdi
cmpq %r15, %rdi
je 0x6976
callq 0x4310
leaq -0x188(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x1274e(%rip), %rsi     # 0x190d7
leaq 0x1274a(%rip), %rdx     # 0x190da
leaq -0x198(%rbp), %rdi
callq 0x6f56
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0x168(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x12720(%rip), %rsi     # 0x190db
leaq 0x12730(%rip), %rdx     # 0x190f2
leaq -0x178(%rbp), %rdi
callq 0x6f56
movb $0x1, %bl
leaq -0x178(%rbp), %rsi
movq %r15, %rdi
callq 0x13aea
xorl %ebx, %ebx
leaq -0x58(%rbp), %rdi
leaq -0x198(%rbp), %rsi
movq %r15, %rdx
callq 0x130e8
movq -0x178(%rbp), %rdi
cmpq %r13, %rdi
je 0x6a05
callq 0x4310
movq -0x198(%rbp), %rdi
cmpq %r12, %rdi
je 0x6a16
callq 0x4310
leaq -0x148(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x126af(%rip), %rsi     # 0x190d7
leaq 0x126ab(%rip), %rdx     # 0x190da
leaq -0x158(%rbp), %rdi
callq 0x6f56
movl $0x8, %edi
callq 0x4350
leaq 0x1814c(%rip), %rcx     # 0x1eb98
addq $0x10, %rcx
movq %rcx, (%rax)
leaq -0x58(%rbp), %rdi
leaq -0x158(%rbp), %rsi
movq %rax, %rdx
callq 0x131b0
movq -0x158(%rbp), %rdi
cmpq %r15, %rdi
je 0x6a77
callq 0x4310
leaq -0x128(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x1266a(%rip), %rsi     # 0x190f3
leaq 0x12668(%rip), %rdx     # 0x190f8
leaq -0x138(%rbp), %rdi
callq 0x6f56
movl $0x8, %edi
callq 0x4350
leaq 0x1806b(%rip), %rcx     # 0x1eb18
addq $0x10, %rcx
movq %rcx, (%rax)
leaq -0x58(%rbp), %rdi
leaq -0x138(%rbp), %rsi
movq %rax, %rdx
callq 0x130e8
movq -0x138(%rbp), %rdi
cmpq %r15, %rdi
je 0x6ad8
callq 0x4310
leaq -0x108(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x12614(%rip), %rsi     # 0x190ff
leaq 0x12616(%rip), %rdx     # 0x19108
leaq -0x118(%rbp), %rdi
callq 0x6f56
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0xe8(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x125dc(%rip), %rsi     # 0x190f9
leaq 0x125e4(%rip), %rdx     # 0x19108
leaq -0xf8(%rbp), %rdi
callq 0x6f56
movb $0x1, %bl
leaq -0xf8(%rbp), %rsi
movq %r15, %rdi
callq 0x13c6a
xorl %ebx, %ebx
leaq -0x58(%rbp), %rdi
leaq -0x118(%rbp), %rsi
movq %r15, %rdx
callq 0x130e8
movq -0xf8(%rbp), %rdi
cmpq %r13, %rdi
je 0x6b67
callq 0x4310
movq -0x118(%rbp), %rdi
cmpq %r12, %rdi
je 0x6b78
callq 0x4310
leaq -0xc8(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x12c6e(%rip), %rsi     # 0x197f9
leaq 0x12c68(%rip), %rdx     # 0x197fa
leaq -0xd8(%rbp), %rdi
callq 0x6f56
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0xa8(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x1254c(%rip), %rsi     # 0x19109
leaq 0x12555(%rip), %rdx     # 0x19119
leaq -0xb8(%rbp), %rdi
callq 0x6f56
movb $0x1, %bl
leaq -0xb8(%rbp), %rsi
movq %r15, %rdi
callq 0x13aea
xorl %ebx, %ebx
leaq -0x58(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
movq %r15, %rdx
callq 0x130e8
movq -0xb8(%rbp), %rdi
cmpq %r13, %rdi
je 0x6c07
callq 0x4310
movq -0xd8(%rbp), %rdi
cmpq %r12, %rdi
je 0x6c18
callq 0x4310
leaq -0x88(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x124ef(%rip), %rsi     # 0x1911a
leaq 0x124ef(%rip), %rdx     # 0x19121
leaq -0x98(%rbp), %rdi
callq 0x6f56
movl $0x30, %edi
callq 0x4350
movq %rax, %r15
leaq -0x68(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x124c8(%rip), %rsi     # 0x19122
leaq 0x124d5(%rip), %rdx     # 0x19136
leaq -0x78(%rbp), %rdi
callq 0x6f56
movb $0x1, %bl
leaq -0x78(%rbp), %rsi
movq %r15, %rdi
callq 0x781c
xorl %ebx, %ebx
leaq -0x58(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movq %r15, %rdx
callq 0x130e8
movq -0x78(%rbp), %rdi
cmpq %r13, %rdi
je 0x6c9b
callq 0x4310
movq -0x98(%rbp), %rdi
cmpq %r12, %rdi
je 0x6cac
callq 0x4310
leaq -0x58(%rbp), %rdi
callq 0x1327c
leaq -0x58(%rbp), %rdi
callq 0x13858
xorl %eax, %eax
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6d7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6daf
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6db7
jmp 0x6d7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ddf
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6de7
jmp 0x6d7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6e0f
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6e17
jmp 0x6d7e
jmp 0x6d7e
jmp 0x6d7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6e5f
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6e67
jmp 0x6d7e
jmp 0x6d7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ea1
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ea9
jmp 0x6d7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x218(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x6eb5
jmp 0x6eba
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6eba
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ec3
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x78(%rbp), %rdi
cmpq %r13, %rdi
je 0x6dab
callq 0x4310
testb %bl, %bl
je 0x6db7
movq %r15, %rdi
callq 0x4310
movq -0x98(%rbp), %rdi
jmp 0x6eb0
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0xb8(%rbp), %rdi
cmpq %r13, %rdi
je 0x6ddb
callq 0x4310
testb %bl, %bl
je 0x6de7
movq %r15, %rdi
callq 0x4310
movq -0xd8(%rbp), %rdi
jmp 0x6eb0
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0xf8(%rbp), %rdi
cmpq %r13, %rdi
je 0x6e0b
callq 0x4310
testb %bl, %bl
je 0x6e17
movq %r15, %rdi
callq 0x4310
movq -0x118(%rbp), %rdi
jmp 0x6eb0
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x138(%rbp), %rdi
jmp 0x6e7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x158(%rbp), %rdi
jmp 0x6e7e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x178(%rbp), %rdi
cmpq %r13, %rdi
je 0x6e5b
callq 0x4310
testb %bl, %bl
je 0x6e67
movq %r15, %rdi
callq 0x4310
movq -0x198(%rbp), %rdi
jmp 0x6eb0
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x1b8(%rbp), %rdi
cmpq %r15, %rdi
jne 0x6eb5
jmp 0x6eba
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x1d8(%rbp), %rdi
cmpq %r13, %rdi
je 0x6e9d
callq 0x4310
testb %bl, %bl
je 0x6ea9
movq %r15, %rdi
callq 0x4310
movq -0x1f8(%rbp), %rdi
cmpq %r12, %rdi
je 0x6eba
callq 0x4310
leaq -0x58(%rbp), %rdi
callq 0x13858
cmpl $0x1, %r14d
jne 0x6f37
movq -0x30(%rbp), %rdi
callq 0x41a0
leaq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x1382a
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq 0x18103(%rip), %rdi     # 0x1eff0
callq 0x43c0
movq %rax, %rdi
callq 0x41e0
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6f0c
callq 0x4310
callq 0x4540
jmp 0x6cbe
movq %rax, -0x30(%rbp)
jmp 0x6f32
movq %rax, -0x30(%rbp)
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6f32
callq 0x4310
callq 0x4540
movq -0x30(%rbp), %rdi
callq 0x45a0
movq %rax, %rdi
callq 0x6f48