// File: /workspace/github_cpp_makefile_star2_O2/xocoder[P]m_kcptun/src/kcp_remote.cpp
// Function: main
int
main(int argc, const char *argv[]) {

   tun_remote_t *tun = new tun_remote_t;
   memset(tun, 0, sizeof(*tun));

   if ( tun ) {

      tun->conf = conf_create(argc, argv);
      if ( tun->conf ) {

         if ( _remote_network_init(tun) ) {
            
            _remote_network_runloop(tun);

            _remote_network_fini(tun);
         }

         conf_release(tun->conf);
      }

      delete tun;
   }

   return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r15
movl %edi, %r12d
movl $0x10098, %edi          # imm = 0x10098
callq 0x2280
movq %rax, %r14
movq %rax, %rbx
movl $0x10098, %edx          # imm = 0x10098
movq %rax, %rdi
xorl %esi, %esi
callq 0x2170
movl %r12d, %edi
movq %r15, %rsi
callq 0x6a1c
movq %rax, 0x78(%r14)
testq %rax, %rax
je 0x7a49
callq 0x3c18
callq 0x6504
movq %rax, 0x58(%rbx)
movq 0x78(%rbx), %r15
cmpl $0x0, 0x148(%r15)
je 0x7708
addq $0x158, %r15            # imm = 0x158
movq %r15, %rdi
callq 0x20f0
movq %r15, %rdi
movl %eax, %esi
callq 0x52cc
movq %rax, 0x60(%rbx)
callq 0x5780
movq %rax, 0x68(%rbx)
pushq $0x4
popq %r13
xorl %r12d, %r12d
pushq $0x1
popq %r15
movq 0x78(%rbx), %rax
movslq 0x94(%rax), %rax
cmpq %rax, %r12
jge 0x7787
pushq $0x2
popq %rdi
callq 0x4242
movq %rax, 0x8(%rbx,%r12,8)
testq %rax, %rax
je 0x7a1c
movq %rax, %rdi
leaq 0x324(%rip), %rsi       # 0x7a67
movq %rbx, %rdx
callq 0x4788
movq 0x8(%rbx,%r12,8), %rdi
movq 0x78(%rbx), %rsi
movl 0x84(%rsi,%r12,4), %edx
addq %r13, %rsi
movl %r15d, %ecx
callq 0x4703
testl %eax, %eax
jle 0x7a25
movq 0x8(%rbx,%r12,8), %rdi
movl $0x200000, %esi         # imm = 0x200000
callq 0x4c58
incq %r12
addq $0x10, %r13
jmp 0x7713
movq %rbx, %rdi
callq 0x7cfe
testl %eax, %eax
je 0x7a40
callq 0x6068
movq %rax, 0x80(%rbx)
movq 0x68(%rbx), %rsi
leaq 0x63a(%rip), %r9        # 0x7de8
pushq $0x1
popq %rcx
movl $0x2710, %edx           # imm = 0x2710
movq %rax, %rdi
movq %rbx, %r8
callq 0x6376
movq %rax, 0x88(%rbx)
movq 0x78(%rbx), %rax
movl 0x14c(%rax), %edi
testl %edi, %edi
je 0x77e8
movl 0x150(%rax), %esi
callq 0x81a0
movq %rax, 0x90(%rbx)
movl $0x1, 0x70(%rbx)
addq $0x98, %r14
xorl %eax, %eax
leaq -0x48(%rbp), %r12
cmpl $0x1000, %eax           # imm = 0x1000
jl 0x780d
pushq $0x1
popq %rdi
callq 0x57a9
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
callq 0x5780
movq %rax, 0x68(%rbx)
movq 0x80(%rbx), %rdi
movq %rax, %rsi
callq 0x61ce
movq 0x48(%rbx), %rdi
callq 0x2b79
testl %eax, %eax
jle 0x7a08
movq 0x48(%rbx), %rdi
movq %r14, %rsi
movl $0x10000, %edx          # imm = 0x10000
callq 0x2974
testl %eax, %eax
jle 0x7a08
movq %r14, %rdi
movl %eax, %esi
movq %r12, %rdx
callq 0x6974
testl %eax, %eax
je 0x79ed
movq 0x58(%rbx), %rdi
movl -0x44(%rbp), %esi
callq 0x7618
movq %rax, %r15
testq %rax, %rax
je 0x78de
cmpl $0x2, -0x48(%rbp)
jne 0x78de
movq 0x8(%r15), %rdi
callq 0x42f6
cmpl $0x3, %eax
jne 0x78de
movq 0x8(%r15), %rdi
callq 0x4cd8
movq 0x78(%rbx), %rcx
cmpl 0x154(%rcx), %eax
jge 0x78de
movq 0x8(%r15), %rdi
movq -0x40(%rbp), %rsi
movl -0x38(%rbp), %edx
callq 0x49bb
testl %eax, %eax
jns 0x7839
movl %eax, %r15d
movq 0x772e(%rip), %rdi      # 0xeff0
leaq 0x37b9(%rip), %rsi      # 0xb082
callq 0x2260
movq %rax, %rdi
movl %r15d, %esi
callq 0x23d0
jmp 0x79e0
testq %r15, %r15
setne %dl
movl -0x48(%rbp), %ecx
cmpl $0x1, %ecx
sete %sil
movb -0x40(%rbp), %al
cmpb $0x3, %al
sete %dil
andb %sil, %dil
andb %dl, %dil
cmpb $0x1, %dil
jne 0x7911
movq 0x8(%r15), %rdi
callq 0x42d4
jmp 0x7839
cmpl $0x1, %ecx
sete %cl
cmpb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x798d
movl -0x44(%rbp), %r15d
pushq $0x1
popq %rdi
callq 0x4242
testq %rax, %rax
je 0x79a5
movq %rax, %r13
movq 0x58(%rbx), %rdi
movl %r15d, %esi
movq %rax, %rdx
movq %rbx, %rcx
callq 0x75a0
testq %rax, %rax
je 0x79ba
movq %r13, %rdi
leaq 0x62a(%rip), %rsi       # 0x7f82
movq %rax, %rdx
callq 0x4788
movq 0x78(%rbx), %rsi
movl 0x118(%rsi), %edx
addq $0x98, %rsi
movq %r13, %rdi
callq 0x430b
testl %eax, %eax
jle 0x79c2
movq 0x764c(%rip), %rdi      # 0xefd0
leaq 0x3759(%rip), %rsi      # 0xb0e4
jmp 0x79d0
cmpb $0x4, %al
je 0x7839
movq 0x7654(%rip), %rdi      # 0xeff0
leaq 0x36fd(%rip), %rsi      # 0xb0a0
jmp 0x79b3
movq 0x7644(%rip), %rdi      # 0xeff0
leaq 0x3718(%rip), %rsi      # 0xb0cb
callq 0x2260
jmp 0x79e0
movq %r13, %rdi
callq 0x42d4
movq 0x7627(%rip), %rdi      # 0xeff0
leaq 0x3732(%rip), %rsi      # 0xb102
callq 0x2260
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
movq %rax, %rdi
callq 0x2140
jmp 0x7839
movq 0x75fc(%rip), %rdi      # 0xeff0
leaq 0x36b7(%rip), %rsi      # 0xb0b2
callq 0x2260
movq %rax, %rdi
callq 0x2140
movl $0x3e8, %edi            # imm = 0x3E8
callq 0x4d74
movl -0x2c(%rbp), %eax
incl %eax
jmp 0x77fc
leaq 0x35ca(%rip), %rsi      # 0xafed
jmp 0x7a2c
leaq 0x35d9(%rip), %rsi      # 0xb005
movq 0x75bd(%rip), %rdi      # 0xeff0
callq 0x2260
movq %rax, %rdi
callq 0x2140
movq 0x78(%rbx), %rdi
callq 0x7471
movl $0x10098, %esi          # imm = 0x10098
movq %rbx, %rdi
callq 0x22a0
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq