Function at 0x409db0
Capabilities:
Accept command line arguments
Create process on windows
Extract resource via kernel32 functions
Set environment variable
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
mov eax, dword [0x424004]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push esi
push edi
push 0x1000
mov edx, str._TEMP_onefile__PID___TIME_
mov ecx, 0x427be8
call fcn.004093a0
add esp, 4
test al, al
je 0x40a221
push 1
push 0x409d70
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x40a22b
push 0xa
push 0x1b
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [0x42ac00], eax
mov cx, word [eax]
mov word [esp + 0xc], cx
mov cl, byte [eax + 2]
add eax, 3
cmp byte [esp + 0xc], 0x4b
mov dword [0x429be8], eax
jne 0x40a21c
cmp byte [esp + 0xd], 0x41
jne 0x40a21c
cmp cl, 0x59
jne 0x40a21c
push 0x20000
mov dword [0x427bdc], 0
call fcn.0040e9b9
add esp, 4
mov dword [0x42abf0], eax
test eax, eax
je 0x40a235
movq xmm0, qword [0x421d14]
mov edi, dword [0x421d1c]
push 0x27420
movq qword [esp + 0x1c], xmm0
call fcn.0040e9b9
mov esi, eax
add esp, 4
test esi, esi
je 0x40a23a
movq xmm0, qword [esp + 0x18]
mov ecx, esi
movq qword [esi + 0x736c], xmm0
mov dword [esi + 0x7374], edi
call fcn.00404ef0
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x427bd8], esi
mov byte [0x42abfc], 1
mov edx, 2
lea ecx, [esp + 0xc]
mov esi, 0x432c10
call fcn.004098c0
mov ax, word [esp + 0xc]
mov word [0x432c10], ax
test ax, ax
je 0x40a0ea
nop dword [eax + eax]
mov edx, 2
lea ecx, [esp + 0xc]
lea esi, [esi + 2]
call fcn.004098c0
mov ax, word [esp + 0xc]
mov word [esi], ax
test ax, ax
jne 0x409f00
cmp word [0x432c10], ax
je 0x40a0ea
xor eax, eax
mov edx, 0x1000
mov ecx, 0x4253d0
mov word [0x4253d0], ax
cmp word [0x427be8], ax
je 0x409f6b
mov esi, 0x427be8
sub esi, ecx
nop dword [eax]
cmp edx, 1
jb 0x40a258
mov ax, word [esi + ecx]
dec edx
mov word [ecx], ax
add ecx, 2
cmp word [esi + ecx], 0
jne 0x409f50
xor eax, eax
mov word [ecx], ax
mov ecx, 0x1000
cmp word [0x4253d0], 0
mov eax, 0x4253d0
je 0x409f97
add eax, 2
dec ecx
cmp word [eax], 0
jne 0x409f84
cmp ecx, 1
jb 0x40a258
mov dword [eax], 0x5c
mov edx, 0x1000
cmp word [0x4253d0], 0
mov eax, 0x4253d0
je 0x409fbb
add eax, 2
dec edx
cmp word [eax], 0
jne 0x409fb1
mov esi, 0x432c10
sub esi, eax
cmp edx, 1
jb 0x40a258
mov cx, word [esi + eax]
dec edx
mov word [eax], cx
add eax, 2
cmp word [esi + eax], 0
jne 0x409fc2
xor ecx, ecx
mov word [eax], cx
cmp word [0x4273d0], cx
jne 0x40a026
cmp word [0x4253d0], 0
mov edx, 0x1000
mov ecx, 0x4273d0
je 0x40a021
mov esi, 0x4253d0
sub esi, ecx
cmp edx, 1
jb 0x40a258
mov ax, word [esi + ecx]
dec edx
mov word [ecx], ax
add ecx, 2
cmp word [esi + ecx], 0
jne 0x40a006
xor eax, eax
mov word [ecx], ax
mov edx, 8
lea ecx, [esp + 0x18]
call fcn.004098c0
mov esi, dword [esp + 0x18]
mov ecx, 0x4253d0
mov ebx, dword [esp + 0x1c]
call fcn.00409b60
push 0
push 0
push 2
push 0
push 2
push 0x40000000
push 0x4253d0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x40a253
test ebx, ebx
jne 0x40a077
test esi, esi
je 0x40a0da
test ebx, ebx
ja 0x40a087
jb 0x40a083
cmp esi, 0x8000
ja 0x40a087
mov edi, esi
jmp 0x40a08c
mov edi, 0x8000
mov edx, edi
mov ecx, 0x42ac08
call fcn.004098c0
push 0
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push edi
push 0x42ac08
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x40a24e
mov eax, edi
cdq
sub esi, eax
sbb ebx, edx
test ebx, ebx
ja 0x40a087
jb 0x40a0d0
test esi, esi
jne 0x40a075
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x14]
or esi, ebx
jne 0x40a249
push eax
call edi
jmp 0x409ed1
call fcn.004050d0
push dword [0x42abf0]
call fcn.0040e964
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x421988
lea eax, [esp + 0x88]
push 0x80
push eax
call fcn.00401040
add esp, 0x10
lea eax, [esp + 0x80]
push eax
push str.NUITKA_ONEFILE_PARENT
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
lea eax, [esp + 0x28]
mov dword [esp + 0x38], 0x44
push eax
lea eax, [esp + 0x3c]
xorps xmm0, xmm0
push eax
push 0
push 0
push 0x20
push 0
push 0
push 0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
movlpd qword [esp + 0x6c], xmm0
movlpd qword [esp + 0x74], xmm0
movlpd qword [esp + 0x7c], xmm0
movlpd qword [esp + 0x84], xmm0
movlpd qword [esp + 0x8c], xmm0
movlpd qword [esp + 0x94], xmm0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x4273d0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x40a25d
push dword [esp + 0x2c]
call edi
mov eax, dword [esp + 0x28]
mov dword [0x427bd4], eax
mov dword [esp + 0x10], 0
test eax, eax
je 0x40a1fe
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [esp + 0x10]
push eax
push dword [0x427bd4]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [esp + 0x10]
test eax, eax
push dword [0x427bd4]
mov edx, 1
cmove ecx, edx
mov dword [esp + 0x14], ecx
call edi
mov dword [0x427bd4], 0
call fcn.00409c60
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040a26b
mov esp, ebp
pop ebp
ret
call fcn.00409830
mov ecx, str._TEMP_onefile__PID___TIME_
call fcn.004098a0
mov ecx, str.Error__failed_to_register_signal_handler.
call fcn.004097d0
call fcn.00409850
mov dword [0x427bd8], 0
call fcn.00409850
call fcn.00409840
call fcn.00409810
call fcn.00409870
call fcn.0040c6c5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
call fcn.00409860
int3