Function at 0x140002400
Capabilities:
Accept command line arguments
Set environment variable
Write and execute a file
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x328
movaps xmmword [rsp + 0x310], xmm6
movd xmm6, dword [0x14000c2ec]
lea r14, [0x14002f8e0]
nop word [rax + rax]
mov rax, qword [0x1400300e8]
lea rdi, [0x14002f8e0]
movzx edx, word [rax]
add rax, 2
mov qword [0x1400300e8], rax
mov word [rdi], dx
test dx, dx
je 0x1400026dd
mov rdx, rdi
nop dword [rax + rax]
movzx ecx, word [rax]
add rdx, 2
mov r9, rax
lea rax, [rax + 2]
mov word [rdx], cx
test cx, cx
jne 0x140002460
mov qword [0x1400300e8], rax
lea rax, [0x14002f8e0]
movzx ecx, word [rax]
test cx, cx
je 0x1400026dd
movzx edx, word [0x140030100]
lea rbx, [0x14002d8e0]
xor edi, edi
lea r8, [0x140030100]
mov word [0x14002d8e0], di
mov rax, rbx
test dx, dx
jne 0x1400024c9
jmp 0x1400024dd
cmp rax, r14
je 0x14000ad72
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x1400024c0
xor esi, esi
mov word [rax], si
cmp word [0x14002d8e0], 0
je 0x1400026d1
mov edx, 0x1000
lea rax, [0x14002d8e0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002500
test rdx, rdx
je 0x140002ef8
movd dword [rax], xmm6
cmp word [0x14002d8e0], 0
je 0x1400026c0
mov edx, 0x1000
lea rax, [0x14002d8e0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002538
test rdx, rdx
je 0x140002ee9
lea r8, [0x14002f8e0]
jmp 0x140002569
test rdx, rdx
je 0x140002ee4
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x140002560
xor r11d, r11d
cmp word [0x14002d0e0], 0
mov word [rax], r11w
je 0x140002672
mov rsi, qword [r9 + 2]
add r9, 0xa
mov qword [0x1400300e8], r9
call fcn.1400021b0
xor r9d, r9d
mov edx, 0x40000000
mov rcx, rbx
mov qword [rsp + 0x30], 0
mov r8d, 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x140002eb8
mov r13, qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdi, [0x1400250c0]
lea rbp, [rsp + 0x210]
test rsi, rsi
je 0x140002664
nop word [rax + rax]
mov ebx, 0x8000
mov r15, qword [0x1400300e8]
mov rcx, rdi
cmp rsi, rbx
cmovbe rbx, rsi
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
lea rdx, [r15 + rbx]
mov r9, rbp
mov r8d, ebx
mov qword [0x1400300e8], rdx
mov rcx, r12
mov rdx, rdi
mov dword [rsp + 0x210], 0
mov qword [rsp + 0x20], 0
call r13
test eax, eax
je 0x140002e76
sub rsi, rbx
jne 0x140002608
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140002430
movzx edx, word [0x14002d8e0]
lea rax, [0x14002d0e0]
lea rcx, [0x14002d8e0]
lea r8, [rax + 0x2000]
test dx, dx
jne 0x1400026a1
jmp 0x1400026b4
cmp rax, r8
je 0x14000ad72
add rcx, 2
mov word [rax], dx
add rax, 2
movzx edx, word [rcx]
test dx, dx
jne 0x140002698
xor r10d, r10d
mov word [rax], r10w
jmp 0x140002596
lea rax, [0x14002d8e0]
mov edx, 0x1000
jmp 0x14000254f
lea rax, [0x14002d8e0]
jmp 0x140002517
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea rsi, [rsp + 0x190]
mov edx, pe_nt_image_headers64
lea r8, [0x14000c0e4]
mov r9d, eax
mov rcx, rsi
call fcn.140001700
movzx eax, byte [rsp + 0x190]
xor r9d, r9d
mov word [rsp + 0x210], r9w
test al, al
je 0x1400027b4
mov r14d, pe_nt_image_headers64
lea r13, [rsp + 0x6a]
lea r12, [rsp + 0x74]
mov edi, 1
lea rbp, [rsp + 0x210]
mov rbx, rbp
mov r8d, 2
mov rdx, r13
mov rcx, r12
mov byte [rsp + 0x6a], al
mov byte [rsp + 0x6b], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14000ad72
cmp word [rbx], 0
movzx ecx, word [rsp + 0x74]
mov rdx, r14
mov rax, rbx
je 0x140002786
nop dword [rax + rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002778
test rdx, rdx
je 0x14000ad72
mov word [rax], cx
xor ecx, ecx
add rbx, 2
lea rdx, [r14 - 1]
mov word [rax + 2], cx
mov rax, rdi
sub rax, r14
movzx eax, byte [rbp + rax]
test al, al
je 0x1400027b4
mov r14, rdx
jmp 0x14000273e
xor r8d, r8d
mov eax, 0x4e
lea r12, [rsp + 0x6c]
mov word [rsp + 0xd0], r8w
lea r15, str.NUITKA_ONEFILE_PARENT
lea rbp, [rsp + 0x78]
lea r13, [rsp + 0xd0]
lea r14, [r15 + 0x28]
mov rdi, r13
mov rbx, r14
mov r8d, 2
mov rdx, r12
mov rcx, rbp
sub rbx, r15
mov byte [rsp + 0x6c], al
mov byte [rsp + 0x6d], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14000ad72
cmp word [rdi], 0
movzx edx, word [rsp + 0x78]
mov rax, rdi
je 0x14000282e
nop dword [rax]
add rax, 2
sub rbx, 1
cmp word [rax], 0
jne 0x140002820
test rbx, rbx
je 0x14000ad72
mov word [rax], dx
add r15, 1
xor edx, edx
add rdi, 2
mov word [rax + 2], dx
movzx eax, byte [r15]
test al, al
jne 0x1400027e5
mov rax, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
lea rbp, [rsp + 0x210]
mov rcx, r13
mov rdx, rbp
mov qword [rsp + 0x50], rax
call rax
cmp word [0x1400230a0], 0
je 0x140002e20
lea rax, [rsp + 0x80]
xor ebx, ebx
lea rdi, [rsp + 0x6e]
lea r14, str.NUITKA_ONEFILE_BINARY
mov word [rsp + 0x80], bx
mov r15, rax
lea rbx, [rsp + 0x7c]
mov qword [rsp + 0x58], rax
lea r12, [r14 + 0x28]
mov eax, 0x4e
mov r13, r12
mov r8d, 2
mov rdx, rdi
mov rcx, rbx
sub r13, r14
mov byte [rsp + 0x6e], al
mov byte [rsp + 0x6f], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14000ad72
cmp word [r15], 0
movzx edx, word [rsp + 0x7c]
mov rax, r15
je 0x1400028fe
nop word [rax + rax]
add rax, 2
sub r13, 1
cmp word [rax], 0
jne 0x1400028f0
test r13, r13
je 0x14000ad72
xor r11d, r11d
add r14, 1
mov word [rax], dx
add r15, 2
mov word [rax + 2], r11w
movzx eax, byte [r14]
test al, al
jne 0x1400028ae
lea rdx, [0x1400230a0]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
lea rdi, [rsp + 0x120]
call rax
xor eax, eax
mov ecx, 0xd
mov rbx, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x50], rdi
rep stosq qword [rdi], rax
mov ecx, 0xfffffff6
mov dword [rsp + 0x15c], 0x100
call rbx
mov ecx, 0xfffffff5
mov qword [rsp + 0x170], rax
call rbx
mov ecx, 0xfffffff4
mov qword [rsp + 0x178], rax
call rbx
lea rbx, [0x1400110a0]
mov dword [rsp + 0x120], 0x68
mov qword [rsp + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor r10d, r10d
xor ecx, ecx
mov r8d, 0x1000
mov word [0x1400130a0], r10w
mov rdi, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14000ad72
mov r9d, dword [rsp + 0x70]
mov qword [rdi], rbx
xor ebx, ebx
lea r13, [0x1400130a0]
mov r15d, dword [0x14000c2ec]
test r9d, r9d
jle 0x140002c5c
test ebx, ebx
jg 0x140002dcf
mov r14, qword [rdi + rbx*8]
lea r12, str.__t_n_v_
mov edx, 0x20
jmp 0x140002a2b
movzx edx, word [r12 + 2]
add r12, 2
test dx, dx
je 0x140002be6
mov rcx, r14
call sub.msvcrt.dll_wcschr
test rax, rax
je 0x140002a18
cmp word [r13], 0
mov edx, 0x8000
lea rax, [0x1400130a0]
je 0x140002a67
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002a50
test rdx, rdx
je 0x14000ad72
mov r11d, dword [0x14000c2f0]
mov rcx, qword [rdi + rbx*8]
mov dword [rax], r11d
movzx edx, word [rcx]
cmp dx, 0x5c
jne 0x140002b63
nop word [rax + rax]
xor eax, eax
nop word [rax + rax]
mov r10, rcx
movzx edx, word [rcx + 2]
add rcx, 2
mov r9d, eax
add eax, 1
cmp dx, 0x5c
je 0x140002a90
test dx, dx
je 0x140002d41
cmp dx, 0x22
je 0x140002b7a
xor r8d, r8d
test eax, eax
jle 0x140002b15
nop dword [rax]
cmp word [r13], 0
mov edx, 0x8000
lea rax, [0x1400130a0]
je 0x140002af7
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002ae0
test rdx, rdx
je 0x14000ad72
mov dword [rax], r15d
lea eax, [r8 + 1]
cmp r9d, r8d
je 0x140002b10
mov r8d, eax
jmp 0x140002ac8
movzx edx, word [r10 + 2]
cmp word [r13], 0
je 0x140002bda
mov r8d, 0x8000
lea rax, [0x1400130a0]
nop
add rax, 2
sub r8, 1
cmp word [rax], 0
jne 0x140002b30
test r8, r8
je 0x140002eee
xor r8d, r8d
add rcx, 2
mov word [rax], dx
mov word [rax + 2], r8w
movzx edx, word [rcx]
cmp dx, 0x5c
je 0x140002a88
test dx, dx
je 0x140002d93
cmp dx, 0x22
jne 0x140002b15
mov r9d, 1
jmp 0x140002b84
lea r9d, [rax + rax + 1]
test r9d, r9d
jle 0x140002b15
xor r8d, r8d
nop word [rax + rax]
cmp word [r13], 0
mov edx, 0x8000
lea rax, [0x1400130a0]
je 0x140002bbf
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002ba8
test rdx, rdx
je 0x14000ad72
add r8d, 1
mov dword [rax], r15d
cmp r8d, r9d
jne 0x140002b90
cmp word [r13], 0
movzx edx, word [rcx]
jne 0x140002b21
lea rax, [0x1400130a0]
jmp 0x140002b47
mov r8, qword [rdi + rbx*8]
cmp word [r13], 0
mov edx, 0x8000
lea rax, [0x1400130a0]
movzx ecx, word [r8]
je 0x140002e12
nop word cs:[rax + rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002c10
test cx, cx
je 0x140002c49
nop dword [rax + rax]
test rdx, rdx
je 0x14000ad72
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x140002c28
xor edx, edx
mov word [rax], dx
add rbx, 1
cmp dword [rsp + 0x70], ebx
jg 0x1400029f9
mov rax, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x38], 0
mov rdx, r13
lea rcx, [0x14002d0e0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140002e94
mov rcx, qword [rsp + 0x218]
mov rbx, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbx
mov rcx, qword [rsp + 0x210]
mov dword [rsp + 0x190], 0
mov qword [0x14002d0c0], rcx
test rcx, rcx
je 0x140002d19
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14002d0c0]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x140002d05
mov dword [rsp + 0x190], 1
mov rcx, qword [0x14002d0c0]
call rbx
mov qword [0x14002d0c0], 0
call fcn.140002280
mov eax, dword [rsp + 0x190]
movaps xmm6, xmmword [rsp + 0x310]
add rsp, 0x328
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add eax, eax
test eax, eax
jle 0x140002d93
mov r9d, dword [0x14000c2ec]
xor r8d, r8d
nop dword [rax]
cmp word [r13], 0
mov ecx, 0x8000
lea rdx, [0x1400130a0]
je 0x140002d87
nop dword [rax]
add rdx, 2
sub rcx, 1
cmp word [rdx], 0
jne 0x140002d70
test rcx, rcx
je 0x14000ad72
add r8d, 1
mov dword [rdx], r9d
cmp eax, r8d
jne 0x140002d58
cmp word [r13], 0
mov edx, 0x8000
lea rax, [0x1400130a0]
je 0x140002dc7
nop word [rax + rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002db0
test rdx, rdx
je 0x14000ad72
mov dword [rax], r11d
jmp 0x140002c4e
cmp word [r13], 0
je 0x140002e6d
mov edx, 0x8000
lea rax, [0x1400130a0]
nop word [rax + rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140002df0
test rdx, rdx
je 0x140002ef3
mov dword [rax], 0x20
jmp 0x140002a01
test cx, cx
jne 0x140002c31
jmp 0x140002c49
lea rdx, [0x1400230a0]
xor ecx, ecx
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rax, [0x1400230a0]
cmp word [0x1400230a0], 0
lea rdx, [rax + 0x2002]
jne 0x140002e59
jmp 0x140002e63
cmp rax, rdx
je 0x14000ad72
add rax, 2
cmp word [rax], 0
jne 0x140002e50
xor edi, edi
mov word [rax], di
jmp 0x14000287a
lea rax, [0x1400130a0]
jmp 0x140002e07
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140001f30
mov ecx, 2
call sub.msvcrt.dll_exit
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.140001f30
mov ecx, 2
call sub.msvcrt.dll_exit
nop word [rax + rax]
mov ecx, 2
call qword [fcn.14000a3b0]
lea r8, [0x14002d8e0]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
mov rcx, rax
call fcn.1400016d0
mov ecx, 2
call sub.msvcrt.dll_exit
nop
jmp 0x14000ad72
jmp 0x14000ad72
jmp 0x14000ad72
jmp 0x14000ad72
jmp 0x14000ad72
push rbx
sub rsp, 0x20
lea rbx, str.TEMPonefile_PID_TIME
mov r8d, 0x1000
lea rcx, [0x140030100]
mov rdx, rbx
call fcn.140001720
test al, al
je 0x140002fc0
mov edx, 1
lea rcx, [0x1400023e0]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x140002fde
mov r8d, 0xa
xor ecx, ecx
mov edx, 0x1b
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
xor ecx, ecx
mov rdx, rbx
mov qword [0x1400300e8], rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rax, qword [0x1400300e8]
lea rcx, [rax + 3]
cmp byte [rax], 0x4b
movzx edx, byte [rax + 1]
mov qword [0x1400300e8], rcx
movzx r8d, byte [rax + 2]
jne 0x140002fc8
cmp dl, 0x41
jne 0x140002fc8
cmp r8b, 0x58
jne 0x140002fc8
mov byte [0x1400300e0], 1
add rsp, 0x20
pop rbx
jmp 0x140002400
mov rcx, rbx
call fcn.140001f00
lea rcx, str.Error__couldnt_find_attached_data_header.
call sub.msvcrt.dll_puts
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.Error__failed_to_register_signal_handler.
call sub.msvcrt.dll_puts
mov ecx, 2
call sub.msvcrt.dll_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push rbp
mov rbp, rsp
sub rsp, 0x20
jmp 0x140003028
mov rax, qword [0x14000b010]
mov rax, qword [rax]
call rax
mov rax, qword [0x14000b010]
add rax, 8
mov qword [0x14000b010], rax
mov rax, qword [0x14000b010]
mov rax, qword [rax]
test rax, rax
jne 0x14000300a
nop
nop
add rsp, 0x20
pop rbp
ret