Function at 0x140014fc0
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, 0x108
movaps xmmword [rsp + 0xf0], xmm6
lea rcx, [0x1400310c0]
lea rdx, str.TEMPonefile_PID_TIME
mov r8d, 0x1000
call fcn.140014570
test al, al
je 0x140015a0b
lea rcx, [0x140014e70]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x140015a58
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 0x140015a42
cmp cl, 0x41
jne 0x140015a42
cmp al, 0x59
jne 0x140015a42
mov qword [0x1400330c8], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x1400358f8], rax
test rax, rax
je 0x140015a6e
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
test rax, rax
je 0x140015a84
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 0x14001516d
cmp eax, 7
jb 0x14001516d
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 0x140015202
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [0x140035920]
mov rax, qword [0x140035900]
mov rcx, qword [0x140035908]
mov rsi, rdi
jmp 0x140015238
movzx edx, word [rsp + 0x80]
mov word [rsi], dx
add rsi, 2
test dx, dx
je 0x140015320
mov r12d, 2
xor ebp, ebp
mov rdx, rcx
mov r15, rax
lea r13, [rsp + 0x80]
jmp 0x140015292
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 0x140015220
sub r15, rdx
jne 0x140015250
mov r8, qword [0x1400330d8]
mov r9, qword [0x1400330d0]
cmp r8, r9
jb 0x1400152c0
mov r10d, ebp
and r10b, 1
jne 0x1400152c0
mov r15, rdx
cmp r9, r8
je 0x14001528d
jmp 0x1400159d2
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 0x1400159d2
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 0x14001528a
cmp word [0x140035920], 0
je 0x140015747
mov word [0x1400338f0], 0
movzx ecx, word [0x1400310c0]
lea r15, [0x1400338f0]
mov rax, r15
test cx, cx
lea rdx, [0x1400310c0]
je 0x1400153f0
xor eax, eax
nop word [rax + rax]
cmp rax, 0x2000
je 0x1400159e8
mov word [rax + r15], cx
movzx ecx, word [rax + rdx + 2]
test cx, cx
je 0x1400153ca
mov word [rax + r15 + 2], cx
movzx ecx, word [rax + rdx + 4]
test cx, cx
je 0x1400153e5
mov word [rax + r15 + 4], cx
movzx ecx, word [rax + rdx + 6]
test cx, cx
je 0x140015554
mov word [rax + r15 + 6], cx
movzx ecx, word [rax + rdx + 8]
add rax, 8
test cx, cx
jne 0x140015360
add rax, r15
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
jne 0x140015402
jmp 0x140015427
add rax, r15
add rax, 2
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
jne 0x140015402
jmp 0x140015427
add rax, r15
add rax, 4
nop dword [rax]
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
je 0x140015427
mov rcx, 0xfffffffffffff000
mov rax, r15
nop dword [rax]
inc rcx
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x140015410
test rcx, rcx
je 0x1400159e8
mov dword [rax], 0x5c
cmp word [0x1400338f0], 0
je 0x140015480
mov ecx, 0x1000
mov rdx, r15
nop
lea rax, [rdx + 2]
dec rcx
cmp word [rdx + 2], 0
mov rdx, rax
jne 0x140015440
movzx edx, word [0x140035920]
test dx, dx
jne 0x140015494
mov word [rax], 0
cmp word [0x1400330e0], 0
jne 0x140015595
jmp 0x1400154d6
mov ecx, 0x1000
mov rax, r15
movzx edx, word [0x140035920]
test dx, dx
je 0x14001545d
xor r8d, r8d
xor r9d, r9d
nop word [rax + rax]
cmp rcx, r9
je 0x1400159e8
mov word [rax + r9*2], dx
movzx edx, word [rdi + r9*2 + 2]
inc r9
add r8, 0xfffffffffffffffe
test dx, dx
jne 0x1400154a0
sub rax, r8
mov word [rax], 0
cmp word [0x1400330e0], 0
jne 0x140015595
movzx ecx, word [0x1400338f0]
lea rdx, [0x1400330e0]
mov rax, rdx
test cx, cx
je 0x140015590
xor eax, eax
nop word cs:[rax + rax]
cmp rax, 0x2000
je 0x1400159e8
mov word [rax + rdx], cx
movzx ecx, word [rax + r15 + 2]
test cx, cx
je 0x140015576
mov word [rax + rdx + 2], cx
movzx ecx, word [rax + r15 + 4]
test cx, cx
je 0x14001557f
mov word [rax + rdx + 4], cx
movzx ecx, word [rax + r15 + 6]
test cx, cx
je 0x140015588
mov word [rax + rdx + 6], cx
movzx ecx, word [rax + r15 + 8]
add rax, 8
test cx, cx
jne 0x140015500
add rax, rdx
jmp 0x140015590
add rax, r15
add rax, 6
mov word [rax], 0
cmp word [0x1400338f0], 0
mov rax, r15
jne 0x140015402
jmp 0x140015427
add rax, rdx
add rax, 2
jmp 0x140015590
add rax, rdx
add rax, 4
jmp 0x140015590
add rax, rdx
add rax, 6
nop
mov word [rax], 0
mov edx, 8
lea rcx, [rsp + 0x80]
call fcn.14001b620
mov rsi, qword [rsp + 0x80]
mov rcx, r15
call fcn.140015b00
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 + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x140015a17
test rsi, rsi
je 0x1400151f0
nop
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 0x140015670
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 0x140015700
sub r15, rdx
jne 0x140015630
mov rax, qword [0x1400330d8]
mov rcx, qword [0x1400330d0]
cmp rax, rcx
jb 0x1400156a0
mov r8d, r13d
and r8b, 1
jne 0x1400156a0
mov r15, rdx
cmp rcx, rax
je 0x140015667
jmp 0x1400159d2
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 0x1400159d2
mov r15, qword [0x140035908]
cmp r15, qword [0x140035900]
sete r13b
mov qword [0x140035900], r15
mov qword [0x140035908], 0
xor edx, edx
jmp 0x140015667
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
lea rdx, [0x140038120]
mov r8d, edi
lea r9, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400159ed
sub rsi, rdi
jne 0x140015600
jmp 0x1400151f0
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 0x1400157f0
mov rax, 0xfffffffffffff001
lea rsi, [0x14002f0a4]
nop word cs:[rax + rax]
mov word [rsi - 4], cx
movzx ecx, word [rsi - 2]
test cx, cx
je 0x1400157ec
mov word [rsi - 2], cx
movzx ecx, word [rsi]
test cx, cx
je 0x1400157f0
test rax, rax
je 0x1400159e8
mov word [rsi], cx
movzx ecx, word [rsi + 2]
add rax, 3
add rsi, 6
test cx, cx
jne 0x1400157b0
add rsi, 0xfffffffffffffffc
jmp 0x1400157f0
add rsi, 0xfffffffffffffffe
mov word [rsi], 0
mov word [rsp + 0x80], 0
lea rbx, [rsp + 0x80]
lea r14, str.NUITKA_ONEFILE_BINARY
mov r15d, 0x28
mov bpl, 0x4e
xor eax, eax
lea rsi, [rsp + 0x68]
lea r12, [0x1400284cc]
mov rcx, r15
mov rdi, rbx
test ax, ax
je 0x140015851
mov rax, rbx
mov rcx, r15
nop word cs:[rax + rax]
lea rdi, [rax + 2]
dec rcx
cmp word [rax + 2], 0
mov rax, rdi
jne 0x140015840
test rcx, rcx
je 0x1400159e8
mov rcx, rdi
call sub.msvcrt.dll_wcslen
lea rcx, [rdi + rax*2]
mov byte [rsp + 0x68], bpl
mov byte [rsp + 0x69], 0
mov r8d, 2
mov rdx, rsi
call sub.msvcrt.dll_mbstowcs
cmp r14, r12
je 0x1400158a3
movzx ebp, byte [r14 + 1]
inc r14
dec r15
movzx eax, word [rbx + 2]
add rbx, 2
mov rcx, r15
mov rdi, rbx
test ax, ax
jne 0x140015830
jmp 0x140015851
lea rdx, [0x14002f0a0]
lea rdi, [rsp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0x80], 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], 0
lea rcx, [0x1400330e0]
mov rdx, rax
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140015aa5
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
mov qword [0x1400310a8], rcx
mov dword [rsp + 0x5c], 0
test rcx, rcx
je 0x1400159ad
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x1400310a8]
lea rdx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x140015995
mov dword [rsp + 0x5c], 1
mov rcx, qword [0x1400310a8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1400310a8], 0
call fcn.140014e90
mov eax, dword [rsp + 0x5c]
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
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.140014dd0
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.TEMPonefile_PID_TIME
call fcn.140015ad0
mov ecx, 2
call qword [fcn.140022b00]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
lea r8, [0x1400338f0]
mov rcx, rax
call fcn.140014e40
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.140014dd0
mov ecx, 2
call sub.msvcrt.dll_exit
int3