// File: /workspace/github_c_makefile_star2_O3/crcx[P]retroforth/vm/nga-c/./dev-unix.c
// Function: unix_exec2
V unix_exec2(NgaState *vm) {
  char path[1025];
  char arg0[1025], arg1[1025];
  strlcpy(arg1, string_extract(vm, stack_pop(vm)), 1024);
  strlcpy(arg0, string_extract(vm, stack_pop(vm)), 1024);
  strlcpy(path, string_extract(vm, stack_pop(vm)), 1024);
  execl(path, path, arg0, arg1, (char *)0);
  stack_push(vm, errno);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0xc28, %rsp            # imm = 0xC28
movq %rdi, %rbx
movslq 0x2043a4(%rdi), %rax
imulq $0x874, %rax, %rax      # imm = 0x874
addq %rdi, %rax
addq $0x200004, %rax         # imm = 0x200004
movslq (%rax), %rcx
leal -0x1(%rcx), %edx
movl %edx, (%rax)
movslq 0x14(%rax,%rcx,4), %rax
movl (%rdi,%rax,4), %edx
testl %edx, %edx
je 0x670b
leaq (%rbx,%rax,4), %rcx
addq $0x4, %rcx
xorl %esi, %esi
leaq 0x1(%rsi), %rax
movb %dl, 0x2045b8(%rbx,%rsi)
cmpq $0x1ffe, %rsi           # imm = 0x1FFE
ja 0x670d
movl (%rcx,%rsi,4), %edx
movq %rax, %rsi
testl %edx, %edx
jne 0x66eb
jmp 0x670d
xorl %eax, %eax
leaq 0x200004(%rbx), %r14
movb $0x0, 0x2045b8(%rbx,%rax)
xorl %eax, %eax
cmpq $0x3ff, %rax            # imm = 0x3FF
je 0x6739
movb 0x2045b8(%rbx,%rax), %cl
movb %cl, (%rsp,%rax)
incq %rax
testb %cl, %cl
jne 0x671e
jmp 0x673d
movb $0x0, (%rsp,%rax)
movslq 0x2043a4(%rbx), %rax
imulq $0x874, %rax, %rax      # imm = 0x874
leaq (%r14,%rax), %rcx
movslq (%r14,%rax), %rdx
leal -0x1(%rdx), %esi
movl %esi, (%r14,%rax)
movslq 0x14(%rcx,%rdx,4), %rax
movl (%rbx,%rax,4), %ecx
testl %ecx, %ecx
je 0x6790
leaq (%rbx,%rax,4), %rax
addq $0x4, %rax
xorl %esi, %esi
leaq 0x1(%rsi), %rdx
movb %cl, 0x2045b8(%rbx,%rsi)
cmpq $0x1ffe, %rsi           # imm = 0x1FFE
ja 0x6792
movl (%rax,%rsi,4), %ecx
movq %rdx, %rsi
testl %ecx, %ecx
jne 0x6770
jmp 0x6792
xorl %edx, %edx
movb $0x0, 0x2045b8(%rbx,%rdx)
xorl %eax, %eax
cmpq $0x3ff, %rax            # imm = 0x3FF
je 0x67bb
movb 0x2045b8(%rbx,%rax), %cl
movb %cl, 0x410(%rsp,%rax)
incq %rax
testb %cl, %cl
jne 0x679c
jmp 0x67c3
movb $0x0, 0x410(%rsp,%rax)
movslq 0x2043a4(%rbx), %rax
imulq $0x874, %rax, %rax      # imm = 0x874
leaq (%r14,%rax), %rcx
movslq (%r14,%rax), %rdx
leal -0x1(%rdx), %esi
movl %esi, (%r14,%rax)
movslq 0x14(%rcx,%rdx,4), %rax
movl (%rbx,%rax,4), %ecx
testl %ecx, %ecx
je 0x6816
leaq (%rbx,%rax,4), %rax
addq $0x4, %rax
xorl %esi, %esi
leaq 0x1(%rsi), %rdx
movb %cl, 0x2045b8(%rbx,%rsi)
cmpq $0x1ffe, %rsi           # imm = 0x1FFE
ja 0x6818
movl (%rax,%rsi,4), %ecx
movq %rdx, %rsi
testl %ecx, %ecx
jne 0x67f6
jmp 0x6818
xorl %edx, %edx
movb $0x0, 0x2045b8(%rbx,%rdx)
xorl %eax, %eax
cmpq $0x3ff, %rax            # imm = 0x3FF
je 0x6841
movb 0x2045b8(%rbx,%rax), %cl
movb %cl, 0x820(%rsp,%rax)
incq %rax
testb %cl, %cl
jne 0x6822
jmp 0x6849
movb $0x0, 0x820(%rsp,%rax)
leaq 0x820(%rsp), %rdi
leaq 0x410(%rsp), %rdx
movq %rsp, %rcx
movq %rdi, %rsi
xorl %r8d, %r8d
xorl %eax, %eax
callq 0x3400
callq 0x3070
movl (%rax), %eax
movslq 0x2043a4(%rbx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
leaq (%r14,%rcx), %rdx
movslq (%r14,%rcx), %rsi
leaq 0x1(%rsi), %rdi
movl %edi, (%r14,%rcx)
movl %eax, 0x18(%rdx,%rsi,4)
addq $0xc28, %rsp            # imm = 0xC28
popq %rbx
popq %r14
retq