// File: /workspace/github_cpp_makefile_star2_O1/ctSkennerton[P]fxtract/util/uri_t.c
// Function: main
int
main(void)
{
    plan_tests(13/*tests*/ * 7/*parts*/);

    MEMREF x = NILREF;
    MEMREF s = strref("http");
    MEMREF a = strref("user:pass");
    MEMREF h = strref("sophos.com");
    MEMREF n = strref("443");
    MEMREF p = strref("home/depot");
    MEMREF q = strref("NaN:=0/0");
    MEMREF f = strref("top");

#   undef  TRY
#   define TRY(a1,a2,a3,a4,a5,a6,a7,a8) try(__LINE__,a1,a2,a3,a4,a5,a6,a7,a8)
    TRY("http://sophos.com:443/home/depot?NaN:=0/0#top"         ,s,x,h,n,p,q,f);
    TRY("//user:pass@sophos.com:443/home/depot?NaN:=0/0#top"    ,x,a,h,n,p,q,f);
    TRY("//sophos.com:443/home/depot?NaN:=0/0#top"              ,x,x,h,n,p,q,f);
    TRY(":443/home/depot?NaN:=0/0#top"                          ,x,x,x,n,p,q,f);
    TRY("/home/depot?NaN:=0/0#top"                              ,x,x,x,x,p,q,f);
    TRY("?NaN:=0/0#top"                                         ,x,x,x,x,x,q,f);
    TRY("/home/depot?NaN:=0/0"                                  ,x,x,x,x,p,q,x);
    TRY("/home/depot#top"                                       ,x,x,x,x,p,x,f);
    TRY("/home/depot"                                           ,x,x,x,x,p,x,x);
    TRY("sophos.com"                                            ,x,x,h,x,x,x,x);
    TRY("sophos.com:443"                                        ,x,x,h,n,x,x,x);
    TRY("sophos.com/home/depot"                                 ,x,x,h,x,p,x,x);
    TRY("sophos.com:443/home/depot"                             ,x,x,h,n,p,x,x);

    return exit_status();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xb0, %rsp
movl $0x5b, %edi
callq 0x56fa
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
leaq 0x2b22(%rip), %r15      # 0x6013
movq %r15, 0x90(%rsp)
movl $0xa, %eax
movq %rax, 0x98(%rsp)
leaq 0x2ba2(%rip), %rcx      # 0x60af
movq %rcx, 0xa0(%rsp)
movl $0x3, %ecx
movq %rcx, 0xa8(%rsp)
leaq 0x2baf(%rip), %rdx      # 0x60d8
movq %rdx, 0x60(%rsp)
movq %rax, 0x68(%rsp)
leaq 0x2b51(%rip), %rax      # 0x608b
movq %rax, 0x80(%rsp)
movq $0x8, 0x88(%rsp)
leaq 0x2af3(%rip), %rax      # 0x6048
movq %rax, 0x70(%rsp)
movq %rcx, 0x78(%rsp)
movq 0x50(%rsp), %rbx
movq 0x58(%rsp), %r14
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2a74(%rip), %rsi      # 0x601e
leaq 0x2a53(%rip), %rdx      # 0x6004
movl $0x4, %ecx
movl $0x2a, %edi
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2a45(%rip), %rsi      # 0x604c
leaq 0x29fb(%rip), %r8       # 0x6009
movl $0x9, %r9d
movl $0x2b, %edi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x395b
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x29be(%rip), %rsi      # 0x6023
movl $0x2c, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2976(%rip), %rsi      # 0x602f
movl $0x2d, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x292e(%rip), %rsi      # 0x6033
movl $0x2e, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x28f2(%rip), %rsi      # 0x603e
movl $0x2f, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm1
movups %xmm1, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x28ec(%rip), %rsi      # 0x607f
movl $0x30, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x28bd(%rip), %rsi      # 0x6094
movl $0x31, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x28c1(%rip), %rsi      # 0x60d7
movl $0x32, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x33, %edi
movq %r15, %rsi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2806(%rip), %rsi      # 0x60a4
movl $0x34, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x27ce(%rip), %rsi      # 0x60b3
movl $0x35, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2795(%rip), %rsi      # 0x60c9
movl $0x36, %edi
movq %rbx, %rdx
movq %r14, %rcx
movq %rbx, %r8
movq %r14, %r9
callq 0x395b
addq $0xb0, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x599e