// File: /workspace/github_c_makefile_star2_O0/MicBrain[P]Git-Sample/./util.h
// Function: read_string_from_file
static void read_string_from_file(const char* filename, char* str, int size) {
  FILE* fin = fopen(filename, "r");
  ASSERT_ERROR_MESSAGE(fin != NULL, "couldn't open file");
  fread(str, 1, size, fin);
  fclose(fin);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x2744(%rip), %rsi      # 0x6192
callq 0x1100
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x3c9b
movq 0x558f(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x2918(%rip), %rsi      # 0x638b
leaq 0x2cc9(%rip), %rdx      # 0x6743
movb $0x0, %al
callq 0x10c0
movq 0x5570(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x292d(%rip), %rsi      # 0x63bf
movb $0x0, %al
callq 0x10c0
movq 0x5558(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x2951(%rip), %rsi      # 0x63fb
movb $0x0, %al
callq 0x10c0
movq 0x5540(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x2973(%rip), %rsi      # 0x6435
movb $0x0, %al
callq 0x10c0
movq 0x5528(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x2994(%rip), %rsi      # 0x646e
movb $0x0, %al
callq 0x10c0
movq 0x5510(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x29b7(%rip), %rsi      # 0x64a9
movb $0x0, %al
callq 0x10c0
movq 0x54f8(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x29d7(%rip), %rsi      # 0x64e1
movb $0x0, %al
callq 0x10c0
movq 0x54e0(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x29f9(%rip), %rsi      # 0x651b
movb $0x0, %al
callq 0x10c0
movq 0x54c8(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x2a0d(%rip), %rsi      # 0x6547
leaq 0x2c02(%rip), %rdx      # 0x6743
leaq 0x2ad8(%rip), %rcx      # 0x6620
movb $0x0, %al
callq 0x10c0
movq 0x54a2(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x2a19(%rip), %rsi      # 0x6579
movb $0x0, %al
callq 0x10c0
movq 0x5572(%rip), %rdi      # 0x90e0
callq 0x1070
cmpq $0x0, %rax
jbe 0x3b9f
movq 0x5478(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movq 0x5556(%rip), %rcx      # 0x90e0
leaq 0x2a09(%rip), %rsi      # 0x659a
leaq 0x2a0f(%rip), %rdx      # 0x65a7
movb $0x0, %al
callq 0x10c0
movq 0x555a(%rip), %rdi      # 0x9100
callq 0x1070
cmpq $0x0, %rax
jbe 0x3bd7
movq 0x5440(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movq 0x553e(%rip), %rcx      # 0x9100
leaq 0x29d1(%rip), %rsi      # 0x659a
leaq 0x29dc(%rip), %rdx      # 0x65ac
movb $0x0, %al
callq 0x10c0
movq -0x8(%rbp), %rdi
callq 0x1070
cmpq $0x0, %rax
jbe 0x3c09
movq 0x540b(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movq -0x8(%rbp), %rcx
leaq 0x299f(%rip), %rsi      # 0x659a
leaq 0x29b2(%rip), %rdx      # 0x65b4
movb $0x0, %al
callq 0x10c0
movq 0x54e0(%rip), %rdi      # 0x90f0
callq 0x1070
cmpq $0x0, %rax
jbe 0x3c41
movq 0x53d6(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movq 0x54c4(%rip), %rcx      # 0x90f0
leaq 0x2967(%rip), %rsi      # 0x659a
leaq 0x2983(%rip), %rdx      # 0x65bd
movb $0x0, %al
callq 0x10c0
movq 0x54b0(%rip), %rdi      # 0x90f8
callq 0x1070
cmpq $0x0, %rax
jbe 0x3c79
movq 0x539e(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movq 0x5494(%rip), %rcx      # 0x90f8
leaq 0x292f(%rip), %rsi      # 0x659a
leaq 0x294f(%rip), %rdx      # 0x65c1
movb $0x0, %al
callq 0x10c0
movq 0x5378(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
leaq 0x272a(%rip), %rsi      # 0x63b4
movb $0x0, %al
callq 0x10c0
movl $0x1, %edi
callq 0x1160
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl $0x1, %esi
callq 0x1050
movq -0x20(%rbp), %rdi
callq 0x1060
addq $0x20, %rsp
popq %rbp
retq