// File: /workspace/github_c_makefile_star2_O0/cirocosta[P]stress/src/file-watcher.c
// Function: create_files_and_watch
void
create_files_and_watch(int n, int fd)
{
	struct stat st = { 0 };
	int i = 0;
	int wd;

	_STRESS_INFO("creating directory for files at '%s'", files_directory);

	_STRESS_MUST_P(stat(files_directory, &st) == -1,
	               "stat",
	               "Directory %s already exists.",
	               files_directory);

	_STRESS_MUST_P(mkdir(files_directory, 0700) != -1,
	               "mkdir",
	               "Couldn't create %s directory",
	               files_directory);

	_STRESS_INFO("%d files will be created", n);

	while (i++ < n) {
		create_file(files_directory, i);
	}

	_STRESS_INFO("Finished creating files and their watches");
	_STRESS_INFO("Adding watch to directory");

	_STRESS_MUST_P(
	  (wd = inotify_add_watch(
	     fd, files_directory, IN_CREATE | IN_MODIFY | IN_DELETE)) >= 0,
	  "inotify_add_watch",
	  "couldn't add watch for directory %s",
	  files_directory);
}

// Assembly:
subq $0xa8, %rsp
movl %edi, 0xa4(%rsp)
movl %esi, 0xa0(%rsp)
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
movl $0x90, %edx
callq 0x10e0
movl $0x0, 0xc(%rsp)
movq 0x3473(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x15f4(%rip), %rsi      # 0x3183
movb $0x0, %al
callq 0x1100
movq 0x345b(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x15e4(%rip), %rsi      # 0x318b
leaq 0x148a(%rip), %rdx      # 0x3038
movb $0x0, %al
callq 0x1100
movq 0x343c(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x14a5(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
jmp 0x1bcf
leaq 0x1462(%rip), %rdi      # 0x3038
leaq 0x10(%rsp), %rsi
callq 0x1110
cmpl $-0x1, %eax
je 0x1d02
movq 0x3408(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x15da(%rip), %rsi      # 0x31d4
movb $0x0, %al
callq 0x1100
movq 0x33f0(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x15c8(%rip), %rsi      # 0x31da
movb $0x0, %al
callq 0x1100
movq 0x33d8(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1586(%rip), %rsi      # 0x31b0
leaq 0x1407(%rip), %rdx      # 0x3038
movb $0x0, %al
callq 0x1100
movq 0x33b9(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1421(%rip), %rsi      # 0x306a
movb $0x0, %al
callq 0x1100
movq 0x33a1(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x140c(%rip), %rsi      # 0x306d
leaq 0x14e8(%rip), %rdx      # 0x3150
movb $0x0, %al
callq 0x1100
movq 0x3382(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1409(%rip), %rsi      # 0x3089
movl $0x33, %edx
movb $0x0, %al
callq 0x1100
movq 0x3365(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x13ce(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
movq 0x334d(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1518(%rip), %rsi      # 0x31cd
movb $0x0, %al
callq 0x1100
leaq 0x151b(%rip), %rdi      # 0x31de
callq 0x1160
movq 0x3329(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1501(%rip), %rsi      # 0x31da
movb $0x0, %al
callq 0x1100
movq 0x3311(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x13a5(%rip), %rsi      # 0x3096
movb $0x0, %al
callq 0x1100
movl $0x1, %edi
callq 0x1190
jmp 0x1d04
jmp 0x1d06
leaq 0x132b(%rip), %rdi      # 0x3038
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x1060
cmpl $-0x1, %eax
jne 0x1e39
movq 0x32d1(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x14a3(%rip), %rsi      # 0x31d4
movb $0x0, %al
callq 0x1100
movq 0x32b9(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1491(%rip), %rsi      # 0x31da
movb $0x0, %al
callq 0x1100
movq 0x32a1(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1482(%rip), %rsi      # 0x31e3
leaq 0x12d0(%rip), %rdx      # 0x3038
movb $0x0, %al
callq 0x1100
movq 0x3282(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x12ea(%rip), %rsi      # 0x306a
movb $0x0, %al
callq 0x1100
movq 0x326a(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x12d5(%rip), %rsi      # 0x306d
leaq 0x13b1(%rip), %rdx      # 0x3150
movb $0x0, %al
callq 0x1100
movq 0x324b(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x12d2(%rip), %rsi      # 0x3089
movl $0x38, %edx
movb $0x0, %al
callq 0x1100
movq 0x322e(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1297(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
movq 0x3216(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x13e1(%rip), %rsi      # 0x31cd
movb $0x0, %al
callq 0x1100
leaq 0x1406(%rip), %rdi      # 0x3200
callq 0x1160
movq 0x31f2(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x13ca(%rip), %rsi      # 0x31da
movb $0x0, %al
callq 0x1100
movq 0x31da(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x126e(%rip), %rsi      # 0x3096
movb $0x0, %al
callq 0x1100
movl $0x1, %edi
callq 0x1190
jmp 0x1e3b
jmp 0x1e3d
movq 0x31b4(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1335(%rip), %rsi      # 0x3183
movb $0x0, %al
callq 0x1100
movq 0x319c(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
movl 0xa4(%rsp), %edx
leaq 0x1399(%rip), %rsi      # 0x3206
movb $0x0, %al
callq 0x1100
movq 0x317d(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x11e6(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
jmp 0x1e8e
movl 0xc(%rsp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0xc(%rsp)
cmpl 0xa4(%rsp), %eax
jge 0x1eb6
movl 0xc(%rsp), %esi
leaq 0x1189(%rip), %rdi      # 0x3038
callq 0x1910
jmp 0x1e8e
jmp 0x1eb8
movq 0x3139(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x12ba(%rip), %rsi      # 0x3183
movb $0x0, %al
callq 0x1100
movq 0x3121(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x133e(%rip), %rsi      # 0x321f
movb $0x0, %al
callq 0x1100
movq 0x3109(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1172(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
jmp 0x1f02
movq 0x30ef(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1270(%rip), %rsi      # 0x3183
movb $0x0, %al
callq 0x1100
movq 0x30d7(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x131e(%rip), %rsi      # 0x3249
movb $0x0, %al
callq 0x1100
movq 0x30bf(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1128(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
jmp 0x1f4c
movl 0xa0(%rsp), %edi
leaq 0x10de(%rip), %rsi      # 0x3038
movl $0x302, %edx            # imm = 0x302
callq 0x1130
movl %eax, 0x8(%rsp)
cmpl $0x0, %eax
jge 0x208a
movq 0x3080(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1252(%rip), %rsi      # 0x31d4
movb $0x0, %al
callq 0x1100
movq 0x3068(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1240(%rip), %rsi      # 0x31da
movb $0x0, %al
callq 0x1100
movq 0x3050(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x12b1(%rip), %rsi      # 0x3263
leaq 0x107f(%rip), %rdx      # 0x3038
movb $0x0, %al
callq 0x1100
movq 0x3031(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1099(%rip), %rsi      # 0x306a
movb $0x0, %al
callq 0x1100
movq 0x3019(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1084(%rip), %rsi      # 0x306d
leaq 0x1160(%rip), %rdx      # 0x3150
movb $0x0, %al
callq 0x1100
movq 0x2ffa(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1081(%rip), %rsi      # 0x3089
movl $0x48, %edx
movb $0x0, %al
callq 0x1100
movq 0x2fdd(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1046(%rip), %rsi      # 0x306b
movb $0x0, %al
callq 0x1100
movq 0x2fc5(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1190(%rip), %rsi      # 0x31cd
movb $0x0, %al
callq 0x1100
leaq 0x123c(%rip), %rdi      # 0x3287
callq 0x1160
movq 0x2fa1(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1179(%rip), %rsi      # 0x31da
movb $0x0, %al
callq 0x1100
movq 0x2f89(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x101d(%rip), %rsi      # 0x3096
movb $0x0, %al
callq 0x1100
movl $0x1, %edi
callq 0x1190
jmp 0x208c
addq $0xa8, %rsp
retq
nopw %cs:(%rax,%rax)