// File: /workspace/github_cpp_makefile_star2_O1/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 0x6f6c
leaq -0x58(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x13eea
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 0x6f6c
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0x1c8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12808(%rip), %rsi     # 0x190c2
leaq 0x12815(%rip), %rdx     # 0x190d6
leaq -0x1d8(%rbp), %rdi
callq 0x6f6c
movb $0x1, %r13b
leaq -0x1d8(%rbp), %rsi
movq %r15, %rdi
callq 0x13bea
xorl %r13d, %r13d
leaq -0x58(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
movq %r15, %rdx
callq 0x131d4
movq -0x1d8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6906
callq 0x4310
movq -0x1f8(%rbp), %rdi
cmpq %r12, %rdi
je 0x6917
callq 0x4310
leaq -0x1a8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12792(%rip), %rsi     # 0x190bb
leaq 0x12791(%rip), %rdx     # 0x190c1
leaq -0x1b8(%rbp), %rdi
callq 0x6f6c
movl $0x8, %edi
callq 0x4350
leaq 0x1820b(%rip), %rcx     # 0x1eb58
addq $0x10, %rcx
movq %rcx, (%rax)
leaq -0x58(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
movq %rax, %rdx
callq 0x132a0
movq -0x1b8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6978
callq 0x4310
leaq -0x188(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x1274c(%rip), %rsi     # 0x190d7
leaq 0x12748(%rip), %rdx     # 0x190da
leaq -0x198(%rbp), %rdi
callq 0x6f6c
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0x168(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1271e(%rip), %rsi     # 0x190db
leaq 0x1272e(%rip), %rdx     # 0x190f2
leaq -0x178(%rbp), %rdi
callq 0x6f6c
movb $0x1, %r13b
leaq -0x178(%rbp), %rsi
movq %r15, %rdi
callq 0x13bea
xorl %r13d, %r13d
leaq -0x58(%rbp), %rdi
leaq -0x198(%rbp), %rsi
movq %r15, %rdx
callq 0x131d4
movq -0x178(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a09
callq 0x4310
movq -0x198(%rbp), %rdi
cmpq %r12, %rdi
je 0x6a1a
callq 0x4310
leaq -0x148(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x126ab(%rip), %rsi     # 0x190d7
leaq 0x126a7(%rip), %rdx     # 0x190da
leaq -0x158(%rbp), %rdi
callq 0x6f6c
movl $0x8, %edi
callq 0x4350
leaq 0x18148(%rip), %rcx     # 0x1eb98
addq $0x10, %rcx
movq %rcx, (%rax)
leaq -0x58(%rbp), %rdi
leaq -0x158(%rbp), %rsi
movq %rax, %rdx
callq 0x132a0
movq -0x158(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a7b
callq 0x4310
leaq -0x128(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12666(%rip), %rsi     # 0x190f3
leaq 0x12664(%rip), %rdx     # 0x190f8
leaq -0x138(%rbp), %rdi
callq 0x6f6c
movl $0x8, %edi
callq 0x4350
leaq 0x18067(%rip), %rcx     # 0x1eb18
addq $0x10, %rcx
movq %rcx, (%rax)
leaq -0x58(%rbp), %rdi
leaq -0x138(%rbp), %rsi
movq %rax, %rdx
callq 0x131d4
movq -0x138(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6adc
callq 0x4310
leaq -0x108(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x12610(%rip), %rsi     # 0x190ff
leaq 0x12612(%rip), %rdx     # 0x19108
leaq -0x118(%rbp), %rdi
callq 0x6f6c
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0xe8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x125d8(%rip), %rsi     # 0x190f9
leaq 0x125e0(%rip), %rdx     # 0x19108
leaq -0xf8(%rbp), %rdi
callq 0x6f6c
movb $0x1, %r13b
leaq -0xf8(%rbp), %rsi
movq %r15, %rdi
callq 0x13d6a
xorl %r13d, %r13d
leaq -0x58(%rbp), %rdi
leaq -0x118(%rbp), %rsi
movq %r15, %rdx
callq 0x131d4
movq -0xf8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b6d
callq 0x4310
movq -0x118(%rbp), %rdi
cmpq %r12, %rdi
je 0x6b7e
callq 0x4310
leaq -0xc8(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x12c68(%rip), %rsi     # 0x197f9
leaq 0x12c62(%rip), %rdx     # 0x197fa
leaq -0xd8(%rbp), %rdi
callq 0x6f6c
movl $0x48, %edi
callq 0x4350
movq %rax, %r15
leaq -0xa8(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x12546(%rip), %rsi     # 0x19109
leaq 0x1254f(%rip), %rdx     # 0x19119
leaq -0xb8(%rbp), %rdi
callq 0x6f6c
movb $0x1, %r13b
leaq -0xb8(%rbp), %rsi
movq %r15, %rdi
callq 0x13bea
xorl %r13d, %r13d
leaq -0x58(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
movq %r15, %rdx
callq 0x131d4
movq -0xb8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6c0f
callq 0x4310
movq -0xd8(%rbp), %rdi
cmpq %r12, %rdi
je 0x6c20
callq 0x4310
leaq -0x88(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x124e7(%rip), %rsi     # 0x1911a
leaq 0x124e7(%rip), %rdx     # 0x19121
leaq -0x98(%rbp), %rdi
callq 0x6f6c
movl $0x30, %edi
callq 0x4350
movq %rax, %r15
leaq -0x68(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x124c0(%rip), %rsi     # 0x19122
leaq 0x124cd(%rip), %rdx     # 0x19136
leaq -0x78(%rbp), %rdi
callq 0x6f6c
movb $0x1, %r13b
leaq -0x78(%rbp), %rsi
movq %r15, %rdi
callq 0x7834
xorl %r13d, %r13d
leaq -0x58(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movq %r15, %rdx
callq 0x131d4
movq -0x78(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6ca5
callq 0x4310
movq -0x98(%rbp), %rdi
cmpq %r12, %rdi
je 0x6cb6
callq 0x4310
leaq -0x58(%rbp), %rdi
callq 0x13370
leaq -0x58(%rbp), %rdi
callq 0x13958
xorl %eax, %eax
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6d8e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movb $0x1, %r13b
jmp 0x6dbb
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6dc8
jmp 0x6d8e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movb $0x1, %r13b
jmp 0x6dec
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6df9
jmp 0x6d8e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movb $0x1, %r13b
jmp 0x6e1d
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6e2a
jmp 0x6d8e
jmp 0x6d8e
jmp 0x6d8e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movb $0x1, %r13b
jmp 0x6e6e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6e7b
jmp 0x6d8e
jmp 0x6d8e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movb $0x1, %r13b
jmp 0x6eb1
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ebe
jmp 0x6d8e
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x218(%rbp), %rdi
jmp 0x6e92
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ecf
movq %rdx, %r14
movq %rax, -0x30(%rbp)
jmp 0x6ed8
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x78(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6dbb
callq 0x4310
testb %r13b, %r13b
je 0x6dc8
movq %r15, %rdi
callq 0x4310
movq -0x98(%rbp), %rdi
jmp 0x6ec5
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0xb8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6dec
callq 0x4310
testb %r13b, %r13b
je 0x6df9
movq %r15, %rdi
callq 0x4310
movq -0xd8(%rbp), %rdi
jmp 0x6ec5
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0xf8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6e1d
callq 0x4310
testb %r13b, %r13b
je 0x6e2a
movq %r15, %rdi
callq 0x4310
movq -0x118(%rbp), %rdi
jmp 0x6ec5
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x138(%rbp), %rdi
jmp 0x6e92
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x158(%rbp), %rdi
jmp 0x6e92
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x178(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6e6e
callq 0x4310
testb %r13b, %r13b
je 0x6e7b
movq %r15, %rdi
callq 0x4310
movq -0x198(%rbp), %rdi
jmp 0x6ec5
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x1b8(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x6eca
jmp 0x6ecf
movq %rdx, %r14
movq %rax, -0x30(%rbp)
movq -0x1d8(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6eb1
callq 0x4310
testb %r13b, %r13b
je 0x6ebe
movq %r15, %rdi
callq 0x4310
movq -0x1f8(%rbp), %rdi
cmpq %r12, %rdi
je 0x6ecf
callq 0x4310
leaq -0x58(%rbp), %rdi
callq 0x13958
cmpl $0x1, %r14d
jne 0x6f4c
movq -0x30(%rbp), %rdi
callq 0x41a0
leaq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x1392a
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq 0x180ee(%rip), %rdi     # 0x1eff0
callq 0x43c0
movq %rax, %rdi
callq 0x41e0
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6f21
callq 0x4310
callq 0x4540
jmp 0x6cc8
movq %rax, -0x30(%rbp)
jmp 0x6f47
movq %rax, -0x30(%rbp)
leaq -0x48(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6f47
callq 0x4310
callq 0x4540
movq -0x30(%rbp), %rdi
callq 0x45a0
movq %rax, %rdi
callq 0x6f5d