// File: /workspace/github_c_makefile_star2_O2/niuyuling[P]CProxy/httpudp.c
// Function: udp_loop
void *udp_loop(void *nullPtr)
{
    int n;

    while (1) {
        n = epoll_wait(udp_efd, udp_evs, MAX_CLIENT_INFO * 2 + 1, -1);
        while (n-- > 0) {
            if (udp_evs[n].data.fd == global.udp_listen_fd) {
                new_client();
            } else {
                if (udp_evs[n].events & EPOLLIN) {
                    recvServer((info_t *) udp_evs[n].data.ptr);
                }
                if (udp_evs[n].events & EPOLLOUT) {
                    outEvent((info_t *) udp_evs[n].data.ptr);
                }
            }
        }
    }

    return NULL;                //消除编译警告
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
leaq 0x2069e60(%rip), %rsi   # 0x2070950
leaq 0x5ce49(%rip), %rbx     # 0x63940
movl 0x2069e43(%rip), %edi   # 0x2070940
movl $0x401, %edx            # imm = 0x401
pushq $-0x1
popq %rcx
callq 0x23f0
movl %eax, %r12d
movq %r12, %rax
decq %r12
testl %eax, %eax
leaq 0x2069e34(%rip), %rsi   # 0x2070950
jle 0x6af7
imulq $0xc, %r12, %r13
movl 0x4(%r13,%rsi), %edi
leaq 0x12852(%rip), %rax     # 0x19380
cmpl 0x8(%rax), %edi
jne 0x6bdb
xorl %r14d, %r14d
leaq 0x30(%rsp), %r13
cmpq $0x200d000, %r14        # imm = 0x200D000
je 0x6b0d
movq %r14, %rbp
addq $0x10068, %r14          # imm = 0x10068
cmpl $-0x1, 0x1005c(%rbp,%rbx)
jne 0x6b3f
leaq (%r14,%rbx), %r15
addq $-0x54, %r15
movq %r15, 0x30(%rsp)
movl $0x10, 0x38(%rsp)
leaq 0x20(%rsp), %rax
movq %rax, 0x40(%rsp)
movq $0x1, 0x48(%rsp)
leaq 0x206ce15(%rip), %rax   # 0x20739a0
movq %rax, 0x50(%rsp)
movq $0x400, 0x58(%rsp)      # imm = 0x400
leaq -0x10056(%r14,%rbx), %rax
movq %rax, 0x20(%rsp)
movq $0xffff, 0x28(%rsp)     # imm = 0xFFFF
movq %r13, %rsi
xorl %edx, %edx
callq 0x23e0
movl %eax, 0x34(%r15)
testl %eax, %eax
jle 0x6b0d
cmpq $0x10, 0x58(%rsp)
jb 0x6cef
movq 0x50(%rsp), %rax
jmp 0x6cf1
addq %rsi, %r13
testb $0x1, (%r13)
je 0x6d87
movq 0x4(%r13), %rbp
andl $0x0, 0x10064(%rbp)
movl 0x206cd8e(%rip), %eax   # 0x2073988
cmpl 0x10050(%rbp), %eax
jne 0x6c36
leaq 0x206d197(%rip), %r14   # 0x2073da0
movl 0x1005c(%rbp), %edi
movl $0x800, %edx            # imm = 0x800
movq %r14, %rsi
callq 0x2240
testl %eax, %eax
je 0x6d7f
js 0x6d28
cmpl $0x800, %eax            # imm = 0x800
je 0x6c09
jmp 0x6d32
movl 0x10054(%rbp), %eax
movq 0x10040(%rbp), %rdi
addl $0x2000, %eax           # imm = 0x2000
movslq %eax, %rsi
callq 0x23d0
testq %rax, %rax
je 0x6d7f
movq %rax, 0x10040(%rbp)
movl 0x1005c(%rbp), %edi
movslq 0x10054(%rbp), %rsi
addq %rax, %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x2240
movq %rax, %r15
testl %r15d, %r15d
jle 0x6d66
movl 0x206cd08(%rip), %edx   # 0x2073994
testl %edx, %edx
je 0x6ca6
movslq 0x10054(%rbp), %rdi
addq 0x10040(%rbp), %rdi
movl %r15d, %esi
callq 0x365c
movl 0x206cce4(%rip), %edx   # 0x2073990
testl %edx, %edx
je 0x6cc6
movslq 0x10054(%rbp), %rdi
addq 0x10040(%rbp), %rdi
movl %r15d, %esi
callq 0x365c
movl 0x10054(%rbp), %eax
addl %r15d, %eax
movl %eax, 0x10054(%rbp)
cmpl $0x2000, %r15d          # imm = 0x2000
je 0x6c3c
movq %rbp, %rdi
callq 0x7122
jmp 0x6d87
xorl %eax, %eax
leaq (%r14,%rbx), %r15
addq $-0x10068, %r15         # imm = 0xFFFEFF98
testq %rax, %rax
je 0x6b0d
cmpl $0x0, 0x8(%rax)
jne 0x6d1b
cmpl $0x14, 0xc(%rax)
jne 0x6d1b
cmpq $0x1f, (%rax)
ja 0x6eee
movq %r13, %rdi
movq %rax, %rsi
callq 0x24e0
jmp 0x6cfc
callq 0x2050
cmpl $0xb, (%rax)
jne 0x6d7f
incl 0x10050(%rbp)
movq %rbp, 0x2069c09(%rip)   # 0x2070948
movl $0x80000005, 0x2069bfb(%rip) # imm = 0x80000005
movl 0x2069bf1(%rip), %edi   # 0x2070940
movl 0x1005c(%rbp), %edx
pushq $0x3
popq %rsi
leaq 0x2069be5(%rip), %rcx   # 0x2070944
callq 0x2220
jmp 0x6d87
je 0x6d7f
callq 0x2050
cmpl $0xb, (%rax)
jne 0x6d7f
cmpl $0x0, 0x10054(%rbp)
jne 0x6ce2
movq %rbp, %rdi
callq 0x6722
testb $0x4, (%r13)
je 0x6b0d
movq 0x4(%r13), %rbp
cmpl $-0x1, 0x1005c(%rbp)
je 0x6b0d
cmpq $0x0, 0x10040(%rbp)
je 0x6dc6
movq %rbp, %rdi
callq 0x7122
testl %eax, %eax
je 0x6dc6
movq %rbp, %rdi
callq 0x6722
jmp 0x6b0d
andl $0x0, 0x10064(%rbp)
movl 0x206cbb5(%rip), %eax   # 0x2073988
movslq 0x10050(%rbp), %rcx
movq %rbp, %r14
cmpl %ecx, %eax
jle 0x6e4c
movl 0x1005c(%rbp), %edi
movq %rcx, %rsi
addq 0x206cb87(%rip), %rsi   # 0x2073978
subl %ecx, %eax
movslq %eax, %rdx
callq 0x20e0
testl %eax, %eax
jle 0x7045
addl 0x10050(%rbp), %eax
movl %eax, 0x10050(%rbp)
cmpl %eax, 0x206cb73(%rip)   # 0x2073988
jne 0x6b0d
movq %rbp, 0x2069b26(%rip)   # 0x2070948
movl $0x80000001, 0x2069b18(%rip) # imm = 0x80000001
movl 0x2069b0e(%rip), %edi   # 0x2070940
movl 0x1005c(%rbp), %edx
pushq $0x3
popq %rsi
leaq 0x2069b02(%rip), %rcx   # 0x2070944
callq 0x2220
jmp 0x6b0d
testq %r14, %r14
je 0x6eb6
movl 0x10048(%r14), %eax
movslq 0x1004c(%r14), %rcx
cmpl %ecx, %eax
je 0x6ead
movl 0x1005c(%rbp), %edi
movq %rcx, %rsi
addq %r14, %rsi
subl %ecx, %eax
movslq %eax, %rdx
callq 0x20e0
testl %eax, %eax
jle 0x705e
addl 0x1004c(%r14), %eax
movl %eax, 0x1004c(%r14)
cmpl 0x10048(%r14), %eax
jl 0x6ee2
cmpq %rbp, %r14
je 0x6ead
orl $-0x1, 0x1005c(%r14)
andl $0x0, 0x1004c(%r14)
movq 0x10038(%r14), %r14
jmp 0x6e4c
movq %rbp, 0x2069a8b(%rip)   # 0x2070948
movl $0x80000001, 0x2069a7d(%rip) # imm = 0x80000001
movl 0x2069a73(%rip), %edi   # 0x2070940
movl 0x1005c(%rbp), %edx
pushq $0x3
popq %rsi
leaq 0x2069a67(%rip), %rcx   # 0x2070944
callq 0x2220
movq %r14, 0x10038(%rbp)
jmp 0x6b0d
movups 0x10(%rax), %xmm0
movups %xmm0, -0x44(%r14,%rbx)
movups 0x10(%rax), %xmm0
movups %xmm0, (%r15)
movzwl -0x20(%r14,%rbx), %eax
movw %ax, -0x10058(%r14,%rbx)
movl -0x20(%r14,%rbx), %esi
addl $0x12, %esi
movl %esi, -0x20(%r14,%rbx)
movl 0x206ca6e(%rip), %edx   # 0x2073990
testl %edx, %edx
je 0x6f2e
movq %r15, %rdi
callq 0x365c
movl 0x206ca60(%rip), %edx   # 0x2073994
testl %edx, %edx
je 0x6f45
movl -0x20(%r14,%rbx), %esi
movq %r15, %rdi
callq 0x365c
movq %r15, 0x8(%rsp)
leaq (%r14,%rbx), %rax
addq $-0x42, %rax
movq %rax, 0x18(%rsp)
andq $0x0, 0x12(%rax)
leaq (%r14,%rbx), %rax
addq $-0x52, %rax
movq %rax, 0x10(%rsp)
movl $0x200d000, %r15d       # imm = 0x200D000
leaq 0x6c9e0(%rip), %r13     # 0x73956
testq %r15, %r15
je 0x6fcb
leaq (%r15,%rbp), %rax
cmpq $0x200d000, %rax        # imm = 0x200D000
je 0x6fbb
cmpl $0x0, 0x46(%r13)
js 0x6fbb
leaq 0x10(%r13), %rsi
movq 0x18(%rsp), %rdi
pushq $0x6
popq %rdx
callq 0x2390
testl %eax, %eax
jne 0x6fbb
movq 0x10(%rsp), %rdi
movq %r13, %rsi
pushq $0x6
popq %rdx
callq 0x2390
testl %eax, %eax
je 0x70bb
addq $-0x10068, %r15         # imm = 0xFFFEFF98
addq $0x10068, %r13          # imm = 0x10068
jmp 0x6f76
andl $0x0, -0x4(%r14,%rbx)
pushq $0x2
popq %rdi
pushq $0x1
popq %rsi
xorl %edx, %edx
callq 0x2550
movl %eax, -0xc(%r14,%rbx)
testl %eax, %eax
js 0x6b0d
movl %eax, %edi
pushq $0x4
popq %rsi
movl $0x800, %edx            # imm = 0x800
xorl %eax, %eax
callq 0x20d0
movl $0x80000005, 0x206993e(%rip) # imm = 0x80000005
movq 0x8(%rsp), %rax
movq %rax, 0x2069936(%rip)   # 0x2070948
movl 0x2069928(%rip), %edi   # 0x2070940
movl -0xc(%r14,%rbx), %edx
pushq $0x1
popq %rsi
leaq 0x206991d(%rip), %rcx   # 0x2070944
callq 0x2220
movl -0xc(%r14,%rbx), %edi
testl %eax, %eax
je 0x7077
callq 0x21e0
orl $-0x1, -0xc(%r14,%rbx)
jmp 0x6b0d
je 0x6db9
callq 0x2050
cmpl $0xb, (%rax)
je 0x6b0d
jmp 0x6db9
je 0x6db9
callq 0x2050
cmpl $0xb, (%rax)
jne 0x6db9
jmp 0x6ee2
leaq 0x206c8ea(%rip), %rsi   # 0x2073968
pushq $0x10
popq %rdx
callq 0x24c0
testl %eax, %eax
je 0x6b0d
callq 0x2050
cmpl $0x73, (%rax)
je 0x6b0d
movl 0x206989e(%rip), %edi   # 0x2070940
movl -0xc(%r14,%rbx), %edx
pushq $0x2
popq %rsi
xorl %ecx, %ecx
callq 0x2220
movl -0xc(%r14,%rbx), %edi
jmp 0x7035
leaq -0x10016(%r13), %rax
movq %rax, %rdx
movq %rdx, %rcx
movq 0x10038(%rdx), %rdx
testq %rdx, %rdx
jne 0x70c5
movq 0x8(%rsp), %rdx
movq %rdx, 0x10038(%rcx)
movl $0xfffffffe, -0xc(%r14,%rbx) # imm = 0xFFFFFFFE
movl $0x10, -0x1c(%r14,%rbx)
movl 0x3a(%r13), %ecx
cmpl 0x206c88c(%rip), %ecx   # 0x2073988
jle 0x6b0d
movl $0x80000005, 0x2069838(%rip) # imm = 0x80000005
movq %rax, 0x2069835(%rip)   # 0x2070948
movl 0x2069827(%rip), %edi   # 0x2070940
movl 0x46(%r13), %edx
jmp 0x6e38