// File: /workspace/github_c_makefile_star2_O0/atomlang[P]atomlang/cli/modules.c
// Function: registerModulePath
void registerModulePath(PKVM* vm) {
  PkHandle* path = pkNewModule(vm, "path");

  pkModuleAddFunction(vm, path, "setunix",   _pathSetStyleUnix, 1);
  pkModuleAddFunction(vm, path, "getcwd",    _pathGetCWD,       0);
  pkModuleAddFunction(vm, path, "abspath",   _pathAbspath,      1);
  pkModuleAddFunction(vm, path, "relpath",   _pathRelpath,      2);
  pkModuleAddFunction(vm, path, "join",      _pathJoin,        -1);
  pkModuleAddFunction(vm, path, "normalize", _pathNormalize,    1);
  pkModuleAddFunction(vm, path, "basename",  _pathBaseName,     1);
  pkModuleAddFunction(vm, path, "dirname",   _pathDirName,      1);
  pkModuleAddFunction(vm, path, "isabspath", _pathIsPathAbs,    1);
  pkModuleAddFunction(vm, path, "getext",    _pathGetExtension, 1);
  pkModuleAddFunction(vm, path, "exists",    _pathExists,       1);
  pkModuleAddFunction(vm, path, "isfile",    _pathIsFile,       1);
  pkModuleAddFunction(vm, path, "isdir",     _pathIsDir,        1);

  pkReleaseHandle(vm, path);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x868e(%rip), %rsi      # 0x2d853
callq 0x1aa40
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x8661(%rip), %rdx      # 0x2d841
leaq 0x1c9(%rip), %rcx       # 0x253b0
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x8646(%rip), %rdx      # 0x2d849
leaq 0x1e6(%rip), %rcx       # 0x253f0
xorl %r8d, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x8657(%rip), %rdx      # 0x2d87a
leaq 0x206(%rip), %rcx       # 0x25430
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x860a(%rip), %rdx      # 0x2d850
leaq 0x253(%rip), %rcx       # 0x254a0
movl $0x2, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x85ef(%rip), %rdx      # 0x2d858
leaq 0x310(%rip), %rcx       # 0x25580
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x85d1(%rip), %rdx      # 0x2d85d
leaq 0x3ed(%rip), %rcx       # 0x25680
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x85b8(%rip), %rdx      # 0x2d867
leaq 0x43a(%rip), %rcx       # 0x256f0
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x859e(%rip), %rdx      # 0x2d870
leaq 0x467(%rip), %rcx       # 0x25740
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x8583(%rip), %rdx      # 0x2d878
leaq 0x494(%rip), %rcx       # 0x25790
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x856a(%rip), %rdx      # 0x2d882
leaq 0x4c1(%rip), %rcx       # 0x257e0
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x6e45(%rip), %rdx      # 0x2c180
leaq 0x50e(%rip), %rcx       # 0x25850
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x852b(%rip), %rdx      # 0x2d889
leaq 0x53b(%rip), %rcx       # 0x258a0
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x850f(%rip), %rdx      # 0x2d890
leaq 0x568(%rip), %rcx       # 0x258f0
movl $0x1, %r8d
callq 0x1ade0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x9120
addq $0x18, %rsp
retq
nopw (%rax,%rax)