// File: /workspace/github_c_makefile_star2_O0/jech[P]dht/dht.c
// Function: send_find_node
int
send_find_node(const struct sockaddr *sa, int salen,
               const unsigned char *tid, int tid_len,
               const unsigned char *target, int want, int confirm)
{
    char buf[512];
    int i = 0, rc;
    rc = snprintf(buf + i, 512 - i, "d1:ad2:id20:"); INC(i, rc, 512);
    COPY(buf, i, myid, 20, 512);
    rc = snprintf(buf + i, 512 - i, "6:target20:"); INC(i, rc, 512);
    COPY(buf, i, target, 20, 512);
    if(want > 0) {
        rc = snprintf(buf + i, 512 - i, "4:wantl%s%se",
                      (want & WANT4) ? "2:n4" : "",
                      (want & WANT6) ? "2:n6" : "");
        INC(i, rc, 512);
    }
    rc = snprintf(buf + i, 512 - i, "e1:q9:find_node1:t%d:", tid_len);
    INC(i, rc, 512);
    COPY(buf, i, tid, tid_len, 512);
    ADD_V(buf, i, 512);
    rc = snprintf(buf + i, 512 - i, "1:y1:qe"); INC(i, rc, 512);
    return dht_send(buf, i, confirm ? MSG_CONFIRM : 0, sa, salen);

 fail:
    errno = ENOSPC;
    return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x250, %rsp            # imm = 0x250
movl 0x10(%rbp), %eax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movl $0x0, -0x244(%rbp)
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rax
addq %rax, %rdi
movl $0x200, %eax            # imm = 0x200
subl -0x244(%rbp), %eax
movslq %eax, %rsi
leaq 0x15fa(%rip), %rdx      # 0xc68e
movb $0x0, %al
callq 0x2120
movl %eax, -0x248(%rbp)
cmpl $0x0, -0x248(%rbp)
jl 0xb0bd
movl -0x244(%rbp), %eax
addl -0x248(%rbp), %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb0c2
jmp 0xb41f
movl -0x248(%rbp), %eax
addl -0x244(%rbp), %eax
movl %eax, -0x244(%rbp)
movl -0x244(%rbp), %eax
addl $0x14, %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb0e9
jmp 0xb41f
movslq -0x244(%rbp), %rax
movq 0x5b39(%rip), %rcx      # 0x10c30
movq %rcx, -0x240(%rbp,%rax)
movq 0x5b32(%rip), %rcx      # 0x10c38
movq %rcx, -0x238(%rbp,%rax)
movl 0x5b2c(%rip), %ecx      # 0x10c40
movl %ecx, -0x230(%rbp,%rax)
movl -0x244(%rbp), %eax
addl $0x14, %eax
movl %eax, -0x244(%rbp)
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rax
addq %rax, %rdi
movl $0x200, %eax            # imm = 0x200
subl -0x244(%rbp), %eax
movslq %eax, %rsi
leaq 0x17f4(%rip), %rdx      # 0xc944
movb $0x0, %al
callq 0x2120
movl %eax, -0x248(%rbp)
cmpl $0x0, -0x248(%rbp)
jl 0xb179
movl -0x244(%rbp), %eax
addl -0x248(%rbp), %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb17e
jmp 0xb41f
movl -0x248(%rbp), %eax
addl -0x244(%rbp), %eax
movl %eax, -0x244(%rbp)
movl -0x244(%rbp), %eax
addl $0x14, %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb1a5
jmp 0xb41f
movslq -0x244(%rbp), %rax
movq -0x30(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, -0x240(%rbp,%rax)
movq 0x8(%rcx), %rdx
movq %rdx, -0x238(%rbp,%rax)
movl 0x10(%rcx), %ecx
movl %ecx, -0x230(%rbp,%rax)
movl -0x244(%rbp), %eax
addl $0x14, %eax
movl %eax, -0x244(%rbp)
cmpl $0x0, -0x34(%rbp)
jle 0xb286
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rax
addq %rax, %rdi
movl $0x200, %eax            # imm = 0x200
subl -0x244(%rbp), %eax
movslq %eax, %rsi
movl -0x34(%rbp), %edx
andl $0x1, %edx
leaq 0x1108(%rip), %rcx      # 0xc31e
leaq 0x16b6(%rip), %rax      # 0xc8d3
cmpl $0x0, %edx
cmovneq %rax, %rcx
movl -0x34(%rbp), %edx
andl $0x2, %edx
leaq 0x10ed(%rip), %r8       # 0xc31e
leaq 0x16a0(%rip), %rax      # 0xc8d8
cmpl $0x0, %edx
cmovneq %rax, %r8
leaq 0x1680(%rip), %rdx      # 0xc8c6
movb $0x0, %al
callq 0x2120
movl %eax, -0x248(%rbp)
cmpl $0x0, -0x248(%rbp)
jl 0xb26f
movl -0x244(%rbp), %eax
addl -0x248(%rbp), %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb274
jmp 0xb41f
movl -0x248(%rbp), %eax
addl -0x244(%rbp), %eax
movl %eax, -0x244(%rbp)
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rax
addq %rax, %rdi
movl $0x200, %eax            # imm = 0x200
subl -0x244(%rbp), %eax
movslq %eax, %rsi
movl -0x24(%rbp), %ecx
leaq 0x16a1(%rip), %rdx      # 0xc950
movb $0x0, %al
callq 0x2120
movl %eax, -0x248(%rbp)
cmpl $0x0, -0x248(%rbp)
jl 0xb2d8
movl -0x244(%rbp), %eax
addl -0x248(%rbp), %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb2dd
jmp 0xb41f
movl -0x248(%rbp), %eax
addl -0x244(%rbp), %eax
movl %eax, -0x244(%rbp)
cmpl $0x0, -0x24(%rbp)
jl 0xb305
movl -0x244(%rbp), %eax
addl -0x24(%rbp), %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb30a
jmp 0xb41f
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rax
addq %rax, %rdi
movq -0x20(%rbp), %rsi
movslq -0x24(%rbp), %rdx
callq 0x2200
movl -0x24(%rbp), %eax
addl -0x244(%rbp), %eax
movl %eax, -0x244(%rbp)
cmpl $0x0, 0x593e(%rip)      # 0x10c7c
je 0xb38c
movslq -0x244(%rbp), %rax
addq $0x9, %rax
cmpq $0x200, %rax            # imm = 0x200
jbe 0xb358
jmp 0xb41f
movslq -0x244(%rbp), %rax
movq 0x590a(%rip), %rcx      # 0x10c70
movq %rcx, -0x240(%rbp,%rax)
movb 0x5904(%rip), %cl       # 0x10c78
movb %cl, -0x238(%rbp,%rax)
movslq -0x244(%rbp), %rax
addq $0x9, %rax
movl %eax, -0x244(%rbp)
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rax
addq %rax, %rdi
movl $0x200, %eax            # imm = 0x200
subl -0x244(%rbp), %eax
movslq %eax, %rsi
leaq 0x1328(%rip), %rdx      # 0xc6da
movb $0x0, %al
callq 0x2120
movl %eax, -0x248(%rbp)
cmpl $0x0, -0x248(%rbp)
jl 0xb3db
movl -0x244(%rbp), %eax
addl -0x248(%rbp), %eax
cmpl $0x200, %eax            # imm = 0x200
jle 0xb3dd
jmp 0xb41f
movl -0x248(%rbp), %eax
addl -0x244(%rbp), %eax
movl %eax, -0x244(%rbp)
leaq -0x240(%rbp), %rdi
movslq -0x244(%rbp), %rsi
movl 0x10(%rbp), %ecx
xorl %edx, %edx
movl $0x800, %eax            # imm = 0x800
cmpl $0x0, %ecx
cmovnel %eax, %edx
movq -0x10(%rbp), %rcx
movl -0x14(%rbp), %r8d
callq 0xa110
movl %eax, -0x4(%rbp)
jmp 0xb431
callq 0x2060
movl $0x1c, (%rax)
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x250, %rsp            # imm = 0x250
popq %rbp
retq
nopl (%rax)