// File: /workspace/github_c_makefile_star2_O2/MicBrain[P]Git-Sample/./util.h
// Function: fs_mkdir
static void fs_mkdir(const char* dirname) {
  ASSERT_ERROR_MESSAGE(dirname != NULL, "dirname is not a valid string");
  ASSERT_ERROR_MESSAGE(is_sane_path(dirname), "dirname is not a valid path within .beargit");
  int ret = mkdir(dirname, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
  ASSERT_ERROR_MESSAGE(ret == 0, "creating directory failed");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x194e
movq %rdi, %rbx
callq 0x385c
testl %eax, %eax
je 0x1746
movq %rbx, %rdi
movl $0x1fd, %esi            # imm = 0x1FD
callq 0x1050
testl %eax, %eax
jne 0x1822
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x58ab(%rip), %r13      # 0x6ff8
movq (%r13), %rdi
leaq 0x2c2d(%rip), %rsi      # 0x4385
leaq 0x2c51(%rip), %r14      # 0x43b0
movq %r14, %rdx
xorl %eax, %eax
callq 0x10d0
movq (%r13), %rcx
leaq 0x2c45(%rip), %rdi      # 0x43b9
pushq $0x3b
popq %rsi
pushq $0x1
popq %r15
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2c67(%rip), %rdi      # 0x43f5
pushq $0x39
popq %r12
movq %r12, %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2c87(%rip), %rdi      # 0x442f
pushq $0x38
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2caa(%rip), %rdi      # 0x4468
pushq $0x3a
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2ccf(%rip), %rdi      # 0x44a3
pushq $0x37
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2cf1(%rip), %rdi      # 0x44db
movq %r12, %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2d15(%rip), %rdi      # 0x4515
pushq $0x2b
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rdi
leaq 0x2d2b(%rip), %rsi      # 0x4541
leaq 0x2d9d(%rip), %rcx      # 0x45ba
jmp 0x18f9
movq 0x57cf(%rip), %r13      # 0x6ff8
movq (%r13), %rdi
leaq 0x2b51(%rip), %rsi      # 0x4385
leaq 0x2b75(%rip), %r14      # 0x43b0
movq %r14, %rdx
xorl %eax, %eax
callq 0x10d0
movq (%r13), %rcx
leaq 0x2b69(%rip), %rdi      # 0x43b9
pushq $0x3b
popq %rsi
pushq $0x1
popq %r15
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2b8b(%rip), %rdi      # 0x43f5
pushq $0x39
popq %r12
movq %r12, %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2bab(%rip), %rdi      # 0x442f
pushq $0x38
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2bce(%rip), %rdi      # 0x4468
pushq $0x3a
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2bf3(%rip), %rdi      # 0x44a3
pushq $0x37
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2c15(%rip), %rdi      # 0x44db
movq %r12, %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rcx
leaq 0x2c39(%rip), %rdi      # 0x4515
pushq $0x2b
popq %rsi
movq %r15, %rdx
callq 0x1190
movq (%r13), %rdi
leaq 0x2c4f(%rip), %rsi      # 0x4541
leaq 0x2ced(%rip), %rcx      # 0x45e6
movq %r14, %rdx
xorl %eax, %eax
callq 0x10d0
movq (%r13), %rcx
leaq 0x2c65(%rip), %rdi      # 0x4573
pushq $0x20
popq %rsi
movq %r15, %rdx
callq 0x1190
cmpb $0x0, (%rbx)
je 0x193a
movq (%r13), %rdi
leaq 0x2c6b(%rip), %rsi      # 0x4594
leaq 0x2c71(%rip), %rdx      # 0x45a1
movq %rbx, %rcx
xorl %eax, %eax
callq 0x10d0
movq (%r13), %rsi
pushq $0xa
popq %rdi
callq 0x10a0
pushq $0x1
popq %rdi
callq 0x1180
movq 0x56a3(%rip), %r12      # 0x6ff8
movq (%r12), %rdi
leaq 0x2a25(%rip), %rsi      # 0x4385
leaq 0x2a49(%rip), %rbx      # 0x43b0
movq %rbx, %rdx
xorl %eax, %eax
callq 0x10d0
movq (%r12), %rcx
leaq 0x2a3d(%rip), %rdi      # 0x43b9
pushq $0x3b
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
callq 0x1190
movq (%r12), %rcx
leaq 0x2a5f(%rip), %rdi      # 0x43f5
pushq $0x39
popq %r15
movq %r15, %rsi
movq %r14, %rdx
callq 0x1190
movq (%r12), %rcx
leaq 0x2a7f(%rip), %rdi      # 0x442f
pushq $0x38
popq %rsi
movq %r14, %rdx
callq 0x1190
movq (%r12), %rcx
leaq 0x2aa2(%rip), %rdi      # 0x4468
pushq $0x3a
popq %rsi
movq %r14, %rdx
callq 0x1190
movq (%r12), %rcx
leaq 0x2ac7(%rip), %rdi      # 0x44a3
pushq $0x37
popq %rsi
movq %r14, %rdx
callq 0x1190
movq (%r12), %rcx
leaq 0x2ae9(%rip), %rdi      # 0x44db
movq %r15, %rsi
movq %r14, %rdx
callq 0x1190
movq (%r12), %rcx
leaq 0x2b0d(%rip), %rdi      # 0x4515
pushq $0x2b
popq %rsi
movq %r14, %rdx
callq 0x1190
movq (%r12), %rdi
leaq 0x2b23(%rip), %rsi      # 0x4541
leaq 0x2b30(%rip), %rcx      # 0x4555
movq %rbx, %rdx
xorl %eax, %eax
callq 0x10d0
movq (%r12), %rcx
leaq 0x2b39(%rip), %rdi      # 0x4573
pushq $0x20
popq %rsi
movq %r14, %rdx
callq 0x1190