// File: /workspace/github_c_makefile_star2_O1/martintopholm[P]xping/xping.c
// Function: target_probe
static void
target_probe(int fd, short what, void *thunk)
{
	struct target *t = thunk;

	/* Missed request */
	if (t->npkts > 0 && GETRES(t, -1) != '.') {
		if (GETRES(t, -1) == ' ')
			target_mark(t, t->npkts - 1, '?');
		if (A_flag == 1)
			bell();
		else if (A_flag >= 2 &&
		    GETRES(t, -4) == '.' &&
		    GETRES(t, -3) == '.' &&
		    GETRES(t, -2) != '.' &&
		    GETRES(t, -1) != '.')
			bell();
	}

	/* Check packet count limit */
	if (c_count && t->npkts >= c_count) {
		numcomplete++;
		event_del(t->ev_write);
		if (numcomplete >= numtargets) {
			event_base_loopexit(ev_base, NULL);
		}
		return;
	}

	/* Transmit request */
	t->res[t->npkts % NUM] = ' ';
	probe_send(t->prb, t->npkts);
	t->npkts++;

	ui_update(t);
}

// Assembly:
pushq %rbx
movq %rdx, %rbx
movl 0x40(%rdx), %eax
testl %eax, %eax
jle 0x2fee
leal -0x1(%rax), %ecx
imulq $0x1b4e81b5, %rcx, %rdx # imm = 0x1B4E81B5
shrq $0x25, %rdx
imull $0x12c, %edx, %edx      # imm = 0x12C
movl %ecx, %esi
subl %edx, %esi
movzbl 0x44(%rbx,%rsi), %edx
cmpl $0x2e, %edx
je 0x2fee
cmpl $0x20, %edx
jne 0x2f05
movslq %ecx, %rdx
imulq $0x1b4e81b5, %rdx, %rdx # imm = 0x1B4E81B5
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imull $0x12c, %edx, %edx      # imm = 0x12C
subl %edx, %ecx
movslq %ecx, %rcx
movb $0x3f, 0x44(%rbx,%rcx)
xorl %edi, %edi
cmpl %eax, 0x40(%rbx)
cmoveq %rbx, %rdi
callq *0x4323(%rip)           # 0x7228
movl 0x4345(%rip), %eax      # 0x7250
cmpl $0x1, %eax
jne 0x2f2b
leaq 0x21e4(%rip), %rsi      # 0x50fb
movl $0x1, %edx
movl $0x1, %edi
callq 0x2080
jmp 0x2fee
jle 0x2fee
movl 0x40(%rbx), %eax
leal -0x4(%rax), %ecx
movslq %ecx, %rcx
imulq $0x1b4e81b5, %rcx, %rcx # imm = 0x1B4E81B5
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x12c, %ecx, %ecx      # imm = 0x12C
negl %ecx
addl %eax, %ecx
addl $-0x4, %ecx
movslq %ecx, %rcx
cmpb $0x2e, 0x44(%rbx,%rcx)
jne 0x2fee
leal -0x3(%rax), %ecx
movslq %ecx, %rcx
imulq $0x1b4e81b5, %rcx, %rdx # imm = 0x1B4E81B5
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imull $0x12c, %edx, %edx      # imm = 0x12C
subl %edx, %ecx
movslq %ecx, %rcx
cmpb $0x2e, 0x44(%rbx,%rcx)
jne 0x2fee
leal -0x2(%rax), %ecx
movslq %ecx, %rcx
imulq $0x1b4e81b5, %rcx, %rdx # imm = 0x1B4E81B5
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imull $0x12c, %edx, %edx      # imm = 0x12C
subl %edx, %ecx
movslq %ecx, %rcx
cmpb $0x2e, 0x44(%rbx,%rcx)
je 0x2fee
decl %eax
cltq
imulq $0x1b4e81b5, %rax, %rcx # imm = 0x1B4E81B5
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x12c, %ecx, %ecx      # imm = 0x12C
subl %ecx, %eax
cltq
cmpb $0x2e, 0x44(%rbx,%rax)
jne 0x2f10
movl 0x4258(%rip), %eax      # 0x724c
testl %eax, %eax
je 0x2ffd
cmpl %eax, 0x40(%rbx)
jge 0x3043
movslq 0x40(%rbx), %rax
imulq $0x1b4e81b5, %rax, %rcx # imm = 0x1B4E81B5
movq %rcx, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rcx
sarl $0x5, %ecx
addl %edx, %ecx
imull $0x12c, %ecx, %ecx      # imm = 0x12C
subl %ecx, %eax
cltq
movb $0x20, 0x44(%rbx,%rax)
movq 0x178(%rbx), %rdi
movl 0x40(%rbx), %esi
callq 0x3479
incl 0x40(%rbx)
movq %rbx, %rdi
popq %rbx
jmpq *0x41e5(%rip)           # 0x7228
incl 0x4223(%rip)            # 0x726c
movq 0x180(%rbx), %rdi
callq 0x23a0
movl 0x4211(%rip), %eax      # 0x726c
cmpl 0x4207(%rip), %eax      # 0x7268
jge 0x3065
popq %rbx
retq
movq 0x420c(%rip), %rdi      # 0x7278
xorl %esi, %esi
popq %rbx
jmp 0x2160