// File: /workspace/github_c_makefile_star2_O3/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 $0x48, %rsp
leaq 0x2069af1(%rip), %r14   # 0x2070950
leaq 0x5cada(%rip), %r15     # 0x63940
movl 0x2069ad4(%rip), %edi   # 0x2070940
movq %r14, %rsi
movl $0x401, %edx            # imm = 0x401
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
callq 0x23f0
testl %eax, %eax
jle 0x6e66
movl %eax, %ebx
movq %rbx, %r13
decq %rbx
leaq (%rbx,%rbx,2), %rax
movl 0x4(%r14,%rax,4), %edi
leaq 0x124e6(%rip), %rcx     # 0x19380
cmpl 0x8(%rcx), %edi
jne 0x6ec2
xorl %r12d, %r12d
cmpl $-0x1, 0x1005c(%r12,%r15)
je 0x6f21
addq $0x10068, %r12          # imm = 0x10068
cmpq $0x200d000, %r12        # imm = 0x200D000
jne 0x6ea2
jmp 0x725c
leaq (%r14,%rax,4), %r14
testb $0x1, (%r14)
je 0x70ed
movq 0x4(%r14), %rbp
movl $0x0, 0x10064(%rbp)
movl 0x206caa4(%rip), %eax   # 0x2073988
cmpl 0x10050(%rbp), %eax
jne 0x6fda
movl 0x1005c(%rbp), %edi
movl $0x800, %edx            # imm = 0x800
leaq 0x206ce9e(%rip), %rsi   # 0x2073da0
callq 0x2240
testl %eax, %eax
je 0x70e5
js 0x7090
cmpl $0x800, %eax            # imm = 0x800
je 0x6ef0
jmp 0x709a
leaq (%r12,%r15), %r14
addq $0x10014, %r14          # imm = 0x10014
movq %r14, 0x10(%rsp)
movl $0x10, 0x18(%rsp)
movq %rsp, %rax
movq %rax, 0x20(%rsp)
movq $0x1, 0x28(%rsp)
leaq 0x206ca4f(%rip), %rax   # 0x20739a0
movq %rax, 0x30(%rsp)
movq $0x400, 0x38(%rsp)      # imm = 0x400
leaq 0x12(%r12,%r15), %rax
movq %rax, (%rsp)
movq $0xffff, 0x8(%rsp)      # imm = 0xFFFF
leaq 0x10(%rsp), %rbp
movq %rbp, %rsi
xorl %edx, %edx
callq 0x23e0
movl %eax, 0x34(%r14)
testl %eax, %eax
jle 0x725c
movq 0x30(%rsp), %rax
cmpq $0x10, 0x38(%rsp)
setb %cl
testq %rax, %rax
sete %dl
orb %cl, %dl
jne 0x725c
movq %rbp, %r14
leaq (%r15,%r12), %rbp
cmpl $0x0, 0x8(%rax)
jne 0x6fc5
cmpl $0x14, 0xc(%rax)
jne 0x6fc5
cmpq $0x1f, (%rax)
ja 0x7288
movq %r14, %rdi
movq %rax, %rsi
callq 0x24e0
testq %rax, %rax
jne 0x6faf
jmp 0x725c
movl 0x10054(%rbp), %eax
movq 0x10040(%rbp), %rdi
addl $0x2000, %eax           # imm = 0x2000
movslq %eax, %rsi
callq 0x23d0
testq %rax, %rax
je 0x70e5
movq %rax, 0x10040(%rbp)
movl 0x1005c(%rbp), %edi
movslq 0x10054(%rbp), %rsi
addq %rax, %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x2240
movq %rax, %r12
testl %r12d, %r12d
jle 0x70d0
movl 0x206c964(%rip), %edx   # 0x2073994
testl %edx, %edx
je 0x704a
movslq 0x10054(%rbp), %rdi
addq 0x10040(%rbp), %rdi
movl %r12d, %esi
callq 0x3794
movl 0x206c940(%rip), %edx   # 0x2073990
testl %edx, %edx
je 0x706a
movslq 0x10054(%rbp), %rdi
addq 0x10040(%rbp), %rdi
movl %r12d, %esi
callq 0x3794
movl 0x10054(%rbp), %eax
addl %r12d, %eax
movl %eax, 0x10054(%rbp)
cmpl $0x2000, %r12d          # imm = 0x2000
je 0x6fe0
movq %rbp, %rdi
callq 0x74ce
jmp 0x70ed
callq 0x2050
cmpl $0xb, (%rax)
jne 0x70e5
incl 0x10050(%rbp)
movq %rbp, 0x20698a1(%rip)   # 0x2070948
movl $0x80000005, 0x2069893(%rip) # imm = 0x80000005
movl 0x2069889(%rip), %edi   # 0x2070940
movl 0x1005c(%rbp), %edx
movl $0x3, %esi
leaq 0x206987b(%rip), %rcx   # 0x2070944
callq 0x2220
jmp 0x70ed
je 0x70e5
callq 0x2050
cmpl $0xb, (%rax)
jne 0x70e5
cmpl $0x0, 0x10054(%rbp)
jne 0x7086
movq %rbp, %rdi
callq 0x6a83
testb $0x4, (%r14)
je 0x725c
movq 0x4(%r14), %rbp
cmpl $-0x1, 0x1005c(%rbp)
je 0x725c
cmpq $0x0, 0x10040(%rbp)
je 0x712b
movq %rbp, %rdi
callq 0x74ce
testl %eax, %eax
je 0x712b
movq %rbp, %rdi
callq 0x6a83
jmp 0x725c
movl $0x0, 0x10064(%rbp)
movl 0x206c84d(%rip), %eax   # 0x2073988
movslq 0x10050(%rbp), %rcx
movq %rbp, %r14
cmpl %ecx, %eax
jle 0x71b6
movl 0x1005c(%rbp), %edi
movq %rcx, %rsi
addq 0x206c81f(%rip), %rsi   # 0x2073978
subl %ecx, %eax
movslq %eax, %rdx
callq 0x20e0
testl %eax, %eax
jle 0x7272
addl 0x10050(%rbp), %eax
movl %eax, 0x10050(%rbp)
cmpl %eax, 0x206c80b(%rip)   # 0x2073988
jne 0x725c
movq %rbp, 0x20697be(%rip)   # 0x2070948
movl $0x80000001, 0x20697b0(%rip) # imm = 0x80000001
movl 0x20697a6(%rip), %edi   # 0x2070940
movl 0x1005c(%rbp), %edx
movl $0x3, %esi
leaq 0x2069798(%rip), %rcx   # 0x2070944
callq 0x2220
jmp 0x725c
movl 0x10048(%r14), %eax
movslq 0x1004c(%r14), %rcx
cmpl %ecx, %eax
je 0x7218
movl 0x1005c(%rbp), %edi
movq %rcx, %rsi
addq %r14, %rsi
subl %ecx, %eax
movslq %eax, %rdx
callq 0x20e0
testl %eax, %eax
jle 0x73ff
addl 0x1004c(%r14), %eax
movl %eax, 0x1004c(%r14)
cmpl 0x10048(%r14), %eax
jl 0x7255
cmpq %rbp, %r14
je 0x7218
movl $0xffffffff, 0x1005c(%r14) # imm = 0xFFFFFFFF
movl $0x0, 0x1004c(%r14)
movq 0x10038(%r14), %r14
testq %r14, %r14
jne 0x71b6
movq %rbp, 0x206971d(%rip)   # 0x2070948
movl $0x80000001, 0x206970f(%rip) # imm = 0x80000001
movl 0x2069705(%rip), %edi   # 0x2070940
movl 0x1005c(%rbp), %edx
movl $0x3, %esi
leaq 0x20696f7(%rip), %rcx   # 0x2070944
callq 0x2220
xorl %r14d, %r14d
movq %r14, 0x10038(%rbp)
cmpq $0x1, %r13
leaq 0x20696e9(%rip), %r14   # 0x2070950
jg 0x6e84
jmp 0x6e66
je 0x711e
callq 0x2050
cmpl $0xb, (%rax)
jne 0x711e
jmp 0x725c
movups 0x10(%rax), %xmm0
movups %xmm0, 0x10024(%r12,%r15)
movups 0x10(%rax), %xmm0
movups %xmm0, (%rbp)
movzwl 0x10048(%r12,%r15), %eax
movw %ax, 0x10(%r12,%r15)
movl 0x10048(%r12,%r15), %esi
addl $0x12, %esi
movl %esi, 0x10048(%r12,%r15)
movl 0x206c6cb(%rip), %edx   # 0x2073990
testl %edx, %edx
je 0x72d1
movq %rbp, %rdi
callq 0x3794
movl 0x206c6bd(%rip), %edx   # 0x2073994
testl %edx, %edx
je 0x72eb
movl 0x10048(%r12,%r15), %esi
movq %rbp, %rdi
callq 0x3794
movq $0x0, 0x10038(%r12,%r15)
xorl %eax, %eax
cmpq %rax, %r12
je 0x735f
cmpl $0x0, 0x1005c(%rax,%r15)
js 0x735f
movl 0x10026(%r12,%r15), %ecx
xorl 0x10026(%rax,%r15), %ecx
movzwl 0x1002a(%r12,%r15), %edx
xorw 0x1002a(%rax,%r15), %dx
movzwl %dx, %edx
orl %ecx, %edx
jne 0x735f
movl 0x10016(%r12,%r15), %ecx
xorl 0x10016(%rax,%r15), %ecx
movzwl 0x1001a(%r12,%r15), %edx
xorw 0x1001a(%rax,%r15), %dx
movzwl %dx, %edx
orl %ecx, %edx
je 0x7463
addq $0x10068, %rax          # imm = 0x10068
cmpq $0x200d000, %rax        # imm = 0x200D000
jne 0x72f9
movl $0x0, 0x10064(%r12,%r15)
movl $0x2, %edi
movl $0x1, %esi
xorl %edx, %edx
callq 0x2550
movl %eax, 0x1005c(%r12,%r15)
testl %eax, %eax
js 0x725c
movl %eax, %edi
movl $0x4, %esi
movl $0x800, %edx            # imm = 0x800
xorl %eax, %eax
callq 0x20d0
movl $0x80000005, 0x206958d(%rip) # imm = 0x80000005
movq %rbp, 0x206958a(%rip)   # 0x2070948
movl 0x206957c(%rip), %edi   # 0x2070940
movl 0x1005c(%r12,%r15), %edx
movl $0x1, %esi
leaq 0x206956c(%rip), %rcx   # 0x2070944
callq 0x2220
movl 0x1005c(%r12,%r15), %edi
testl %eax, %eax
je 0x7418
callq 0x21e0
movl $0xffffffff, 0x1005c(%r12,%r15) # imm = 0xFFFFFFFF
jmp 0x725c
je 0x711e
callq 0x2050
cmpl $0xb, (%rax)
jne 0x711e
jmp 0x7255
leaq 0x206c549(%rip), %rsi   # 0x2073968
movl $0x10, %edx
callq 0x24c0
testl %eax, %eax
je 0x725c
callq 0x2050
cmpl $0x73, (%rax)
je 0x725c
movl 0x20694fb(%rip), %edi   # 0x2070940
movl 0x1005c(%r12,%r15), %edx
movl $0x2, %esi
xorl %ecx, %ecx
callq 0x2220
movl 0x1005c(%r12,%r15), %edi
jmp 0x73e9
leaq (%r15,%rax), %rcx
movq %rcx, %rsi
movq %rsi, %rdx
movq 0x10038(%rsi), %rsi
testq %rsi, %rsi
jne 0x746a
movq %rbp, 0x10038(%rdx)
movl $0xfffffffe, 0x1005c(%r12,%r15) # imm = 0xFFFFFFFE
movl $0x10, 0x1004c(%r12,%r15)
movl 0x10050(%rax,%r15), %eax
cmpl 0x206c4e2(%rip), %eax   # 0x2073988
jle 0x725c
movl $0x80000005, 0x206948e(%rip) # imm = 0x80000005
movq %rcx, 0x206948b(%rip)   # 0x2070948
movl 0x206947d(%rip), %edi   # 0x2070940
movl 0x1005c(%rcx), %edx
jmp 0x71a0