Function at 0x140015120
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 r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
movaps xmmword [rsp + 0xe0], xmm6
lea rcx, [0x1400310c0]
lea rdx, str.TEMPonefile_PID_TIME
mov r8d, 0x1000
call fcn.140014580
test al, al
je 0x140015b8c
lea rcx, [0x140014fd0]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x140015bd9
mov edx, 0x1b
mov r8d, 0xa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
xor ecx, ecx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [0x1400358f0], rax
mov qword [0x1400330c0], rax
xor ecx, ecx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov rdi, qword [0x1400330c0]
movzx edx, byte [rdi]
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
add rdi, 3
mov qword [0x1400330c0], rdi
cmp dl, 0x4b
jne 0x140015bc3
cmp cl, 0x41
jne 0x140015bc3
cmp al, 0x59
jne 0x140015bc3
mov qword [0x1400330c8], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x1400358f8], rax
test rax, rax
je 0x140015bef
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
test rax, rax
je 0x140015c05
mov r8, rax
mov r10d, esi
mov qword [rax + 0x73c8], 0
mov qword [rax + 0x72d8], 0
mov qword [rax + 0x7420], 0
mov qword [rax + 0x7440], 0
mov dword [rax + 0x7448], 0
mov dword [rax + 0x7454], 0
mov qword [rax + 0x274b0], 0
xor r9d, r9d
xor eax, eax
cpuid
xorps xmm0, xmm0
movups xmmword [r8 + 0x73d8], xmm0
movups xmmword [r8 + 0x73ec], xmm0
movups xmmword [r8 + 0x73f8], xmm0
movups xmmword [r8 + 0x73a0], xmm0
mov qword [r8 + 0x73b0], 0
test eax, eax
je 0x1400152cd
cmp eax, 7
jb 0x1400152cd
mov eax, 7
xor ecx, ecx
cpuid
mov r9d, ebx
shr r9d, 8
and r9d, 1
mov dword [r8 + 0x73d0], r9d
mov dword [r8 + 0x7388], 0
mov qword [r8 + 0x7410], 0x8000001
mov dword [r8 + 0x7458], 0
movabs rax, 0x100000000
mov qword [r8 + 0x738c], rax
mov qword [0x140035910], r8
mov qword [0x1400330c8], rdi
mov qword [0x1400330d8], 0
mov qword [0x1400330d0], r10
mov byte [0x1400338e0], 1
lea rdi, [0x140035920]
lea rbx, [0x1400358f8]
lea r14, [0x1400330c8]
jmp 0x140015362
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [0x140035920]
mov rax, qword [0x140035900]
mov rcx, qword [0x140035908]
mov rsi, rdi
jmp 0x140015395
movzx edx, word [rsp + 0x60]
mov word [rsi], dx
add rsi, 2
test dx, dx
je 0x140015480
mov r12d, 2
xor ebp, ebp
mov rdx, rcx
mov r15, rax
lea r13, [rsp + 0x60]
jmp 0x1400153f2
cmp r12, r15
cmovb r15, r12
add rdx, qword [0x1400358f8]
mov rcx, r13
mov r8, r15
call sub.msvcrt.dll_memcpy
add r13, r15
sub r12, r15
add r15, qword [0x140035908]
mov qword [0x140035908], r15
mov rax, qword [0x140035900]
mov rcx, r15
mov rdx, r15
mov r15, rax
test r12, r12
je 0x140015380
sub r15, rdx
jne 0x1400153b0
mov r8, qword [0x1400330d8]
mov r9, qword [0x1400330d0]
cmp r8, r9
jb 0x140015420
mov r10d, ebp
and r10b, 1
jne 0x140015420
mov r15, rdx
cmp r9, r8
je 0x1400153ed
jmp 0x140015b53
mov qword [0x140035908], 0
mov qword [0x140035900], 0x20000
mov rcx, qword [0x140035910]
mov rdx, rbx
mov r8, r14
call fcn.140010660
cmp rax, 0xffffffffffffff89
jae 0x140015b53
mov rax, qword [0x140035908]
cmp rax, qword [0x140035900]
sete bpl
mov qword [0x140035900], rax
mov qword [0x140035908], 0
xor ecx, ecx
xor edx, edx
jmp 0x1400153ea
cmp word [0x140035920], 0
je 0x1400158a1
mov word [0x1400338f0], 0
movzx ecx, word [0x1400310c0]
lea r15, [0x1400338f0]
mov rax, r15
test cx, cx
lea rdx, [0x1400310c0]
je 0x140015550
xor eax, eax
nop word [rax + rax]
cmp rax, 0x2000
je 0x140015b69
mov word [rax + r15], cx
movzx ecx, word [rax + rdx + 2]
test cx, cx
je 0x14001552a
mov word [rax + r15 + 2], cx
movzx ecx, word [rax + rdx + 4]
test cx, cx
je 0x140015545
mov word [rax + r15 + 4], cx
movzx ecx, word [rax + rdx + 6]
test cx, cx
je 0x1400156b4
mov word [rax + r15 + 6], cx
movzx ecx, word [rax + rdx + 8]
add rax, 8
test cx, cx
jne 0x1400154c0
add rax, r15
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
jne 0x140015562
jmp 0x140015587
add rax, r15
add rax, 2
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
jne 0x140015562
jmp 0x140015587
add rax, r15
add rax, 4
nop dword [rax]
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
je 0x140015587
mov rcx, 0xfffffffffffff000
mov rax, r15
nop dword [rax]
inc rcx
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x140015570
test rcx, rcx
je 0x140015b69
mov dword [rax], 0x5c
cmp word [0x1400338f0], 0
je 0x1400155e0
mov ecx, 0x1000
mov rdx, r15
nop
lea rax, [rdx + 2]
dec rcx
cmp word [rdx + 2], 0
mov rdx, rax
jne 0x1400155a0
movzx edx, word [0x140035920]
test dx, dx
jne 0x1400155f4
mov word [rax], 0
cmp word [0x1400330e0], 0
jne 0x1400156f5
jmp 0x140015636
mov ecx, 0x1000
mov rax, r15
movzx edx, word [0x140035920]
test dx, dx
je 0x1400155bd
xor r8d, r8d
xor r9d, r9d
nop word [rax + rax]
cmp rcx, r9
je 0x140015b69
mov word [rax + r9*2], dx
movzx edx, word [rdi + r9*2 + 2]
inc r9
add r8, 0xfffffffffffffffe
test dx, dx
jne 0x140015600
sub rax, r8
mov word [rax], 0
cmp word [0x1400330e0], 0
jne 0x1400156f5
movzx ecx, word [0x1400338f0]
lea rdx, [0x1400330e0]
mov rax, rdx
test cx, cx
je 0x1400156f0
xor eax, eax
nop word cs:[rax + rax]
cmp rax, 0x2000
je 0x140015b69
mov word [rax + rdx], cx
movzx ecx, word [rax + r15 + 2]
test cx, cx
je 0x1400156d6
mov word [rax + rdx + 2], cx
movzx ecx, word [rax + r15 + 4]
test cx, cx
je 0x1400156df
mov word [rax + rdx + 4], cx
movzx ecx, word [rax + r15 + 6]
test cx, cx
je 0x1400156e8
mov word [rax + rdx + 6], cx
movzx ecx, word [rax + r15 + 8]
add rax, 8
test cx, cx
jne 0x140015660
add rax, rdx
jmp 0x1400156f0
add rax, r15
add rax, 6
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
jne 0x140015562
jmp 0x140015587
add rax, rdx
add rax, 2
jmp 0x1400156f0
add rax, rdx
add rax, 4
jmp 0x1400156f0
add rax, rdx
add rax, 6
nop
mov word [rax], 0
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.14001b7a0
mov rsi, qword [rsp + 0x60]
mov rcx, r15
call fcn.140015c80
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 2
mov rcx, r15
mov edx, 0x40000000
mov r8d, 2
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
je 0x140015b98
test rsi, rsi
je 0x140015350
nop dword [rax]
cmp rsi, 0x8000
mov edi, 0x8000
cmovb rdi, rsi
mov r15, qword [0x140035900]
mov rdx, qword [0x140035908]
xor r13d, r13d
lea r12, [0x140038120]
mov rbp, rdi
jmp 0x1400157d0
cmp rbp, r15
cmovb r15, rbp
add rdx, qword [0x1400358f8]
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
add r12, r15
sub rbp, r15
add r15, qword [0x140035908]
mov qword [0x140035908], r15
mov rdx, r15
mov r15, qword [0x140035900]
test rbp, rbp
je 0x140015860
sub r15, rdx
jne 0x140015790
mov rax, qword [0x1400330d8]
mov rcx, qword [0x1400330d0]
cmp rax, rcx
jb 0x140015800
mov r8d, r13d
and r8b, 1
jne 0x140015800
mov r15, rdx
cmp rcx, rax
je 0x1400157c7
jmp 0x140015b53
mov qword [0x140035908], 0
mov qword [0x140035900], 0x20000
mov rcx, qword [0x140035910]
mov rdx, rbx
mov r8, r14
call fcn.140010660
cmp rax, 0xffffffffffffff89
jae 0x140015b53
mov r15, qword [0x140035908]
cmp r15, qword [0x140035900]
sete r13b
mov qword [0x140035900], r15
mov qword [0x140035908], 0
xor edx, edx
jmp 0x1400157c7
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x140038120]
mov r8d, edi
lea r9, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140015b6e
sub rsi, rdi
jne 0x140015760
jmp 0x140015350
mov rcx, qword [0x140035910]
call fcn.14000b720
mov rcx, qword [0x1400358f8]
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea rcx, str.NUITKA_ONEFILE_PARENT
mov edx, eax
call fcn.140013c80
lea rsi, [0x14002f0a0]
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movzx ecx, word [0x14002f0a0]
test cx, cx
je 0x140015940
mov rax, 0xfffffffffffff001
lea rsi, [0x14002f0a4]
nop
mov word [rsi - 4], cx
movzx ecx, word [rsi - 2]
test cx, cx
je 0x14001593c
mov word [rsi - 2], cx
movzx ecx, word [rsi]
test cx, cx
je 0x140015940
test rax, rax
je 0x140015b69
mov word [rsi], cx
movzx ecx, word [rsi + 2]
add rax, 3
add rsi, 6
test cx, cx
jne 0x140015900
add rsi, 0xfffffffffffffffc
jmp 0x140015940
add rsi, 0xfffffffffffffffe
mov word [rsi], 0
mov word [rsp + 0x60], 0
lea rbx, [rsp + 0x60]
lea r14, str.NUITKA_ONEFILE_BINARY
mov r15d, 0x28
mov al, 0x4e
lea rsi, [rsp + 0xc8]
lea rdi, [rsp + 0x54]
lea r12, [0x1400284ed]
nop word cs:[rax + rax]
mov byte [rsp + 0x54], al
mov byte [rsp + 0x55], 0
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x140015b69
cmp word [rbx], 0
mov rax, rbx
mov rcx, r15
je 0x1400159d1
mov rcx, r15
mov rdx, rbx
nop word cs:[rax + rax]
lea rax, [rdx + 2]
dec rcx
cmp word [rdx + 2], 0
mov rdx, rax
jne 0x1400159c0
test rcx, rcx
je 0x140015b69
movzx ecx, word [rsp + 0xc8]
mov word [rax], cx
mov word [rax + 2], 0
add rbx, 2
dec r15
movzx eax, byte [r14 + 1]
inc r14
cmp r14, r12
jne 0x140015980
lea rdx, [0x14002f0a0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
mov dword [rsp + 0x9c], 0x100
mov rbx, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff6
call rbx
mov qword [rsp + 0xb0], rax
mov ecx, 0xfffffff5
call rbx
mov qword [rsp + 0xb8], rax
mov ecx, 0xfffffff4
call rbx
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x60], 0x68
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdi
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
lea rcx, [0x1400330e0]
mov rdx, rax
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140015c26
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0xc8]
mov qword [0x1400310a8], rcx
mov dword [rsp + 0x54], 0
test rcx, rcx
je 0x140015b2e
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x1400310a8]
lea rdx, [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x140015b16
mov dword [rsp + 0x54], 1
mov rcx, qword [0x1400310a8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1400310a8], 0
call fcn.140014ff0
mov eax, dword [rsp + 0x54]
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.Error__couldnt_decode_attached_data.
call sub.msvcrt.dll_puts
mov ecx, 2
call sub.msvcrt.dll_exit
call sub.msvcrt.dll_abort
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140014f30
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.TEMPonefile_PID_TIME
call fcn.140015c50
mov ecx, 2
call qword [fcn.140022c80]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
lea r8, [0x1400338f0]
mov rcx, rax
call fcn.140014fa0
mov ecx, 2
call sub.msvcrt.dll_exit
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
lea rcx, str.Error__couldnt_allocate_memory.
call sub.msvcrt.dll_puts
mov ecx, 2
call sub.msvcrt.dll_exit
mov qword [0x140035910], 0
lea rcx, str.Error__couldnt_allocate_memory.
call sub.msvcrt.dll_puts
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.140014f30
mov ecx, 2
call sub.msvcrt.dll_exit
int3