Function at 0x4015c0
Capabilities:
Accept command line arguments
Create directory
Create process on windows
Read file on windows
Set environment variable
Write and execute a file
Write file on windows

Disassembly:
sub esp, 0xec
mov eax, dword [0x41d004]
xor eax, esp
mov dword [esp + 0xe8], eax
call fcn.00406c3f
call fcn.00406c45
push 0x1000
push 0x4200d8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x401646
push eax
push eax
lea eax, [esp + 0x14]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error__failed_to_locate_onefile_filename.
call fcn.00403a4d
push dword [esp + 0x10]
call fcn.00403a4d
add esp, 8
mov eax, 1
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.00401b72
add esp, 0xec
ret 0x10
push 0x1000
push str._TEMP_onefile__PID___TIME_
push 0x41d8c8
call fcn.00401230
add esp, 0xc
test al, al
je 0x401b05
push 1
push 0x401400
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x40169f
push str.Error__failed_to_register_signal_handler.
call fcn.00401440
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.00401b72
add esp, 0xec
ret 0x10
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0
push 0x41d8c8
call ebx
push 0
push 0
push 3
push 0
push 1
push 0x80000000
push 0x4200d8
mov byte [0x41d8c4], 1
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [0x41f8c8], eax
cmp eax, 0xffffffff
jne 0x401704
push str.Error__failed_to_access_unpacked_executable.
call fcn.00401440
add esp, 4
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.00401b72
add esp, 0xec
ret 0x10
push esi
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 2
push 0
push 0xfffffffffffffff8
push eax
call esi
cmp eax, 0xffffffff
jne 0x401730
push 0x12d
push str.static_srcWindowsOnefile.cpp
push str.res___INVALID_SET_FILE_POINTER
call fcn.00403767
add esp, 0xc
call fcn.00401560
push 0
push 0
push eax
push dword [0x41f8c8]
call esi
cmp eax, 0xffffffff
jne 0x40175e
push 0x138
push str.static_srcWindowsOnefile.cpp
push str.res___INVALID_SET_FILE_POINTER
call fcn.00403767
add esp, 0xc
push 0
lea eax, [esp + 0x14]
push eax
push 3
lea eax, [esp + 0x14]
push eax
push dword [0x41f8c8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x401793
push 0x13c
push str.static_srcWindowsOnefile.cpp
push str.bool_res
call fcn.00403767
add esp, 0xc
cmp dword [esp + 0x10], 3
je 0x4017b1
push 0x13d
push str.static_srcWindowsOnefile.cpp
push str.read_size__3
call fcn.00403767
add esp, 0xc
cmp byte [esp + 8], 0x4b
je 0x4017cf
push 0x13f
push str.static_srcWindowsOnefile.cpp
push str.header_0___K
call fcn.00403767
add esp, 0xc
cmp byte [esp + 9], 0x41
je 0x4017ed
push 0x140
push str.static_srcWindowsOnefile.cpp
push str.header_1___A
call fcn.00403767
add esp, 0xc
cmp byte [esp + 0xa], 0x58
je 0x40180b
push 0x143
push str.static_srcWindowsOnefile.cpp
push str.header_2___X
call fcn.00403767
add esp, 0xc
push ebp
push edi
call fcn.004014e0
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, eax
cmp word [edi], 0
je 0x4019fe
xor eax, eax
mov ebp, 0x5c
mov word [0x4228d8], ax
mov esi, edi
cmp word [edi], ax
je 0x4018b5
cmp word [esi], 0x5c
jne 0x4018ac
push 0x1000
xor eax, eax
push 0x41d8c8
mov word [esi], ax
push 0x4228d8
mov word [0x4228d8], ax
call fcn.00401100
add esp, 0xc
mov ecx, 0x1000
cmp word [0x4228d8], 0
mov eax, 0x4228d8
je 0x401887
add eax, 2
dec ecx
cmp word [eax], 0
jne 0x401874
cmp ecx, 1
jb 0x401b21
push 0x1000
push edi
push 0x4228d8
mov dword [eax], 0x5c
call fcn.00401100
add esp, 0xc
mov word [esi], bp
push 0
push 0x4228d8
call ebx
add esi, 2
cmp word [esi], 0
jne 0x401838
push 0x1000
xor eax, eax
push 0x41d8c8
push 0x4228d8
mov word [0x4228d8], ax
call fcn.00401100
push 0x1000
push 0x5c
push 0x4228d8
call fcn.004010c0
push 0x1000
push edi
push 0x4228d8
call fcn.00401100
add esp, 0x24
cmp word [0x4220d8], 0
jne 0x401916
push 0x1000
push 0x4228d8
push 0x4220d8
call fcn.00401100
add esp, 0xc
push 0
push 0
push 2
push 0
push 2
push 0x40000000
push 0x4228d8
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x40194e
push 0x175
push str.static_srcWindowsOnefile.cpp
push str.target_file___INVALID_HANDLE_VALUE
call fcn.00403767
add esp, 0xc
call fcn.00401560
mov ebx, edx
mov esi, eax
test ebx, ebx
jne 0x401962
test esi, esi
je 0x4019c2
nop
test ebx, ebx
ja 0x401972
jb 0x40196e
cmp esi, 0x8000
ja 0x401972
mov edi, esi
jmp 0x401977
mov edi, 0x8000
push edi
push 0x4248d8
call fcn.00401480
add esp, 8
push 0
push 0
push edi
push 0x4248d8
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4019b1
push 0x187
push str.static_srcWindowsOnefile.cpp
push str.bool_res
call fcn.00403767
add esp, 0xc
mov eax, edi
cdq
sub esi, eax
sbb ebx, edx
test ebx, ebx
ja 0x401972
jb 0x4019c2
test esi, esi
jne 0x401960
or esi, ebx
je 0x4019dd
push 0x18b
push str.static_srcWindowsOnefile.cpp
push str.file_size__0
call fcn.00403767
add esp, 0xc
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
call ebp
call fcn.004014e0
mov edi, eax
cmp word [edi], 0
je 0x4019fe
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x401824
push 0x44
lea eax, [esp + 0x38]
push 0
push eax
call fcn.004026b0
add esp, 0xc
mov dword [esp + 0x34], 0x44
lea eax, [esp + 0x78]
push 0xa
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.004069f0
add esp, 0x10
lea eax, [esp + 0x78]
push eax
push str.NUITKA_ONEFILE_PARENT
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
push 0
push 0
push 0x200
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x4220d8
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x401a88
push 0x1a4
push str.static_srcWindowsOnefile.cpp
push str.bool_res
call fcn.00403767
add esp, 0xc
push dword [esp + 0x28]
call ebp
mov eax, dword [esp + 0x24]
mov dword [0x41d8c0], eax
mov dword [esp + 0x14], 0
test eax, eax
je 0x401ae1
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [esp + 0x14]
push eax
push dword [0x41d8c0]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [esp + 0x14]
test eax, eax
push dword [0x41d8c0]
mov edx, 1
cmove ecx, edx
mov dword [esp + 0x18], ecx
call ebp
mov dword [0x41d8c0], 0
call fcn.00401160
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0x14]
pop edi
pop ebp
pop esi
pop ebx
xor ecx, esp
call fcn.00401b72
add esp, 0xec
ret 0x10
push str.Error__couldnt_runtime_expand_temporary_directory_pattern:
call fcn.00403a4d
push str._TEMP_onefile__PID___TIME_
call fcn.0040393b
add esp, 8
call fcn.00406777
call fcn.00406777
int3