Function at 0x140012c50
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, 0xe8
lea rcx, [0x14002c0d0]
lea rdx, str.CACHE_DIRPID_Dlls
mov r8d, 0x1000
call fcn.1400121c0
test al, al
je 0x14001398a
lea rcx, [0x140012b40]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x1400139d7
mov edx, 0x1b
mov r8d, 0xa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
xor ecx, ecx
mov rdx, rsi
mov qword [0x140030900], rax
mov qword [0x14002e0d0], rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdi, qword [0x14002e0d0]
mov esi, eax
movzx edx, byte [rdi]
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
add rdi, 3
mov qword [0x14002e0d0], rdi
cmp dl, 0x4b
jne 0x1400139c1
cmp cl, 0x41
jne 0x1400139c1
cmp al, 0x59
jne 0x1400139c1
mov ecx, 0x20000
mov qword [0x14002e0d8], 0
call sub.msvcrt.dll_malloc
mov qword [0x140030908], rax
test rax, rax
je 0x1400139ed
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
test rax, rax
je 0x140013a03
mov r8, rax
mov r9d, esi
xor r10d, r10d
vxorps xmm0, xmm0, xmm0
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 eax, eax
cpuid
vmovups xmmword [r8 + 0x73d8], xmm0
vmovups xmmword [r8 + 0x73ec], xmm0
vmovups xmmword [r8 + 0x73f8], xmm0
vmovups xmmword [r8 + 0x73a0], xmm0
mov qword [r8 + 0x73b0], 0
test eax, eax
je 0x140012df9
cmp eax, 7
jb 0x140012df9
mov eax, 7
xor ecx, ecx
cpuid
mov eax, 0x108
bextr r10d, ebx, eax
mov qword [0x14002e0d8], rdi
movabs rax, 0x100000000
lea rdi, [0x140030930]
lea rbx, [0x140030908]
lea r14, [0x14002e0d8]
mov dword [r8 + 0x73d0], r10d
mov dword [r8 + 0x7388], 0
mov qword [r8 + 0x7410], 0x8000001
mov dword [r8 + 0x7458], 0
mov qword [0x14002e0e8], 0
mov qword [0x140030920], r8
mov qword [0x14002e0e0], r9
mov byte [0x14002e8f0], 1
mov qword [r8 + 0x738c], rax
jmp 0x140012e82
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [0x140030930]
mov rax, qword [0x140030910]
mov rcx, qword [0x140030918]
mov rsi, rdi
jmp 0x140012eb8
movzx edx, word [rsp + 0x80]
mov word [rsi], dx
add rsi, 2
test dx, dx
je 0x140012fa0
mov r12d, 2
xor ebp, ebp
mov rdx, rcx
mov r15, rax
lea r13, [rsp + 0x80]
jmp 0x140012f12
cmp r12, r15
mov rcx, r13
cmovb r15, r12
add rdx, qword [0x140030908]
mov r8, r15
call sub.msvcrt.dll_memcpy
add r13, r15
sub r12, r15
add r15, qword [0x140030918]
mov qword [0x140030918], r15
mov rcx, r15
mov rdx, r15
mov rax, qword [0x140030910]
mov r15, rax
test r12, r12
je 0x140012ea0
sub r15, rdx
jne 0x140012ed0
mov r8, qword [0x14002e0e8]
mov r9, qword [0x14002e0e0]
cmp r8, r9
jb 0x140012f40
mov r10d, ebp
and r10b, 1
jne 0x140012f40
mov r15, rdx
cmp r9, r8
je 0x140012f0d
jmp 0x140013951
mov rcx, qword [0x140030920]
mov rdx, rbx
mov r8, r14
mov qword [0x140030918], 0
mov qword [0x140030910], 0x20000
call fcn.14000e990
cmp rax, 0xffffffffffffff89
jae 0x140013951
mov rax, qword [0x140030918]
cmp rax, qword [0x140030910]
mov qword [0x140030910], rax
mov qword [0x140030918], 0
sete bpl
xor ecx, ecx
xor edx, edx
jmp 0x140012f0a
cmp word [0x140030930], 0
je 0x1400132e7
movzx ecx, word [0x14002c0d0]
lea r15, [0x14002e900]
lea rdx, [0x14002c0d0]
mov word [0x14002e900], 0
mov rax, r15
test cx, cx
je 0x140013002
xor eax, eax
nop word cs:[rax + rax]
cmp rax, 0x2000
je 0x140013967
mov word [rax + r15], cx
movzx ecx, word [rax + rdx + 2]
add rax, 2
test cx, cx
jne 0x140012fe0
add rax, r15
mov word [rax], 0
mov rax, r15
cmp word [0x14002e900], 0
je 0x140013037
mov rcx, 0xfffffffffffff000
mov rax, r15
nop
inc rcx
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x140013020
test rcx, rcx
je 0x140013967
mov dword [rax], 0x5c
cmp word [0x14002e900], 0
je 0x140013090
mov ecx, 0x1000
mov rdx, r15
nop
dec rcx
cmp word [rdx + 2], 0
lea rax, [rdx + 2]
mov rdx, rax
jne 0x140013050
movzx edx, word [0x140030930]
test dx, dx
jne 0x1400130a4
cmp word [0x14002e0f0], 0
mov word [rax], 0
jne 0x140013127
jmp 0x1400130e2
mov ecx, 0x1000
mov rax, r15
movzx edx, word [0x140030930]
test dx, dx
je 0x14001306d
xor r8d, r8d
xor r9d, r9d
nop word [rax + rax]
cmp rcx, r9
je 0x140013967
mov word [rax + r9*2], dx
movzx edx, word [rdi + r9*2 + 2]
inc r9
add r8, 0xfffffffffffffffe
test dx, dx
jne 0x1400130b0
sub rax, r8
cmp word [0x14002e0f0], 0
mov word [rax], 0
jne 0x140013127
movzx ecx, word [0x14002e900]
lea rdx, [0x14002e0f0]
mov rax, rdx
test cx, cx
je 0x140013122
xor eax, eax
nop word [rax + rax]
cmp rax, 0x2000
je 0x140013967
mov word [rax + rdx], cx
movzx ecx, word [rax + r15 + 2]
add rax, 2
test cx, cx
jne 0x140013100
add rax, rdx
mov word [rax], 0
mov edx, 8
lea rcx, [rsp + 0x80]
call fcn.140014560
mov rsi, qword [rsp + 0x80]
mov rcx, r15
call fcn.140013a80
mov rcx, r15
mov edx, 0x40000000
mov r8d, 2
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x140013996
test rsi, rsi
je 0x140012e70
nop word cs:[rax + rax]
mov r15, qword [0x140030910]
mov rdx, qword [0x140030918]
cmp rsi, 0x8000
mov edi, 0x8000
lea r12, [0x140033130]
cmovb rdi, rsi
xor r13d, r13d
mov rbp, rdi
jmp 0x140013210
cmp rbp, r15
mov rcx, r12
cmovb r15, rbp
add rdx, qword [0x140030908]
mov r8, r15
call sub.msvcrt.dll_memcpy
add r12, r15
sub rbp, r15
add r15, qword [0x140030918]
mov qword [0x140030918], r15
mov rdx, r15
mov r15, qword [0x140030910]
test rbp, rbp
je 0x1400132a0
sub r15, rdx
jne 0x1400131d0
mov rax, qword [0x14002e0e8]
mov rcx, qword [0x14002e0e0]
cmp rax, rcx
jb 0x140013240
mov r8d, r13d
and r8b, 1
jne 0x140013240
mov r15, rdx
cmp rcx, rax
je 0x140013207
jmp 0x140013951
mov rcx, qword [0x140030920]
mov rdx, rbx
mov r8, r14
mov qword [0x140030918], 0
mov qword [0x140030910], 0x20000
call fcn.14000e990
cmp rax, 0xffffffffffffff89
jae 0x140013951
mov r15, qword [0x140030918]
cmp r15, qword [0x140030910]
mov qword [0x140030910], r15
mov qword [0x140030918], 0
sete r13b
xor edx, edx
jmp 0x140013207
mov rcx, qword [rsp + 0x60]
lea rdx, [0x140033130]
mov r8d, edi
lea r9, [rsp + 0x80]
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14001396c
sub rsi, rdi
jne 0x1400131a0
jmp 0x140012e70
mov rcx, qword [0x140030920]
call fcn.140009d10
mov rcx, qword [0x140030908]
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea rcx, str.NUITKA_ONEFILE_PARENT
mov edx, eax
call fcn.1400119a0
cmp word [0x14002a0b0], 0
jne 0x140013377
lea rsi, [0x14002a0b0]
xor ecx, ecx
mov r8d, 0x1001
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movzx eax, word [0x14002a0b0]
test ax, ax
je 0x140013372
xor ecx, ecx
lea rsi, [0x14002a0b0]
nop word [rax + rax]
cmp rcx, 0x2002
je 0x140013967
mov word [rcx + rsi], ax
movzx eax, word [rcx + rsi + 2]
add rcx, 2
test ax, ax
jne 0x140013350
add rsi, rcx
mov word [rsi], 0
lea rbx, [rsp + 0x80]
lea r14, str.NUITKA_ONEFILE_BINARY
mov r15d, 0x28
mov al, 0x4e
lea rsi, [rsp + 0x68]
lea rdi, [rsp + 0x5c]
lea r12, [0x1400215a3]
mov word [rsp + 0x80], 0
nop dword [rax]
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov byte [rsp + 0x5c], al
mov byte [rsp + 0x5d], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x140013967
cmp word [rbx], 0
mov rax, rbx
mov rcx, r15
je 0x140013401
mov rcx, r15
mov rdx, rbx
nop word cs:[rax + rax]
dec rcx
cmp word [rdx + 2], 0
lea rax, [rdx + 2]
mov rdx, rax
jne 0x1400133f0
test rcx, rcx
je 0x140013967
movzx ecx, word [rsp + 0x68]
add rbx, 2
dec r15
mov word [rax], cx
mov word [rax + 2], 0
movzx eax, byte [r14 + 1]
inc r14
cmp r14, r12
jne 0x1400133b0
lea rsi, [rsp + 0x80]
lea rdx, [0x14002a0b0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rdi, qword [sym.imp.KERNEL32.dll_GetStdHandle]
vxorps xmm0, xmm0, xmm0
mov ecx, 0xfffffff6
vmovups ymmword [rsp + 0xb0], ymm0
vmovups ymmword [rsp + 0xa0], ymm0
vmovups ymmword [rsp + 0x80], ymm0
mov dword [rsp + 0xbc], 0x100
vzeroupper
call rdi
mov ecx, 0xfffffff5
mov qword [rsp + 0xd0], rax
call rdi
mov ecx, 0xfffffff4
mov qword [rsp + 0xd8], rax
call rdi
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x80], 0x68
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdi, [rsp + 0x68]
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
lea r14, [0x1400260a0]
xor ecx, ecx
mov r8d, 0x1000
mov rbx, rax
mov word [0x14003b130], 0
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140013967
mov qword [rbx], r14
cmp dword [rsp + 0x68], 0
jle 0x140013889
xor r15d, r15d
lea r12, [0x14003b130]
nop dword [rax + rax]
test r15, r15
je 0x14001354d
cmp word [0x14003b130], 0
mov rax, r12
je 0x140013547
mov rcx, 0xffffffffffff8000
mov rax, r12
nop dword [rax]
inc rcx
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x140013530
test rcx, rcx
je 0x140013967
mov dword [rax], 0x20
mov r14, qword [rbx + r15*8]
mov dx, 0x20
mov rcx, r14
call sub.msvcrt.dll_wcschr
test rax, rax
jne 0x1400135b0
mov rcx, r14
mov dx, 9
call sub.msvcrt.dll_wcschr
test rax, rax
jne 0x1400135b0
mov rcx, r14
mov dx, 0xa
call sub.msvcrt.dll_wcschr
test rax, rax
jne 0x1400135b0
mov rcx, r14
mov dx, 0xb
call sub.msvcrt.dll_wcschr
test rax, rax
jne 0x1400135b0
mov rcx, r14
mov dx, 0x22
call sub.msvcrt.dll_wcschr
test rax, rax
je 0x14001380b
nop word [rax + rax]
cmp word [0x14003b130], 0
mov rax, r12
je 0x1400135e7
mov rcx, 0xffffffffffff8000
mov rax, r12
nop word [rax + rax]
inc rcx
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x1400135d0
test rcx, rcx
je 0x140013967
mov dword [rax], 0x22
mov r8d, 1
xor ecx, ecx
mov rax, qword [rbx + r15*8]
jmp 0x140013615
mov word [rdx], cx
mov word [rdx + 2], 0
xor ecx, ecx
add rax, 2
mov r8d, 1
xor edx, edx
movzx r9d, word [rax]
cmp r9d, 0x22
je 0x14001363e
cmp r9d, 0x5c
jne 0x1400136a0
inc edx
add r8d, 2
add ecx, 2
add rax, 2
movzx r9d, word [rax]
cmp r9d, 0x22
jne 0x140013621
lea ecx, [rdx + rdx + 1]
test ecx, ecx
jle 0x140013710
xor ecx, ecx
jmp 0x140013661
inc ecx
mov dword [rdx], 0x5c
cmp ecx, r8d
je 0x140013710
cmp word [0x14003b130], 0
mov rdx, r12
je 0x140013650
mov r9, 0xffffffffffff8000
mov rdx, r12
nop dword [rax + rax]
inc r9
cmp word [rdx + 2], 0
lea rdx, [rdx + 2]
jne 0x140013680
test r9, r9
jne 0x140013650
jmp 0x140013967
test r9d, r9d
je 0x140013750
test edx, edx
jle 0x140013710
xor ecx, ecx
jmp 0x1400136cd
inc ecx
mov dword [r8], 0x5c
cmp ecx, edx
je 0x140013710
cmp word [0x14003b130], 0
mov r8, r12
je 0x1400136c0
mov r9, 0xffffffffffff8000
mov r8, r12
nop word cs:[rax + rax]
inc r9
cmp word [r8 + 2], 0
lea r8, [r8 + 2]
jne 0x1400136f0
test r9, r9
jne 0x1400136c0
jmp 0x140013967
movzx ecx, word [rax]
cmp word [0x14003b130], 0
mov rdx, r12
je 0x140013600
mov r8, 0xffffffffffff8000
mov rdx, r12
nop
inc r8
cmp word [rdx + 2], 0
lea rdx, [rdx + 2]
jne 0x140013730
test r8, r8
jne 0x140013600
jmp 0x140013967
add edx, edx
test edx, edx
jle 0x1400137b0
xor eax, eax
jmp 0x14001376c
inc eax
mov dword [rdx], 0x5c
cmp eax, ecx
je 0x1400137b0
cmp word [0x14003b130], 0
mov rdx, r12
je 0x140013760
mov r8, 0xffffffffffff8000
mov rdx, r12
nop word cs:[rax + rax]
inc r8
cmp word [rdx + 2], 0
lea rdx, [rdx + 2]
jne 0x140013790
test r8, r8
jne 0x140013760
jmp 0x140013967
cmp word [0x14003b130], 0
mov rax, r12
je 0x1400137e7
mov rcx, 0xffffffffffff8000
mov rax, r12
nop word [rax + rax]
inc rcx
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x1400137d0
test rcx, rcx
je 0x140013967
mov word [rax], 0x22
add rax, 2
movsxd rcx, dword [rsp + 0x68]
inc r15
mov word [rax], 0
cmp r15, rcx
jl 0x140013510
jmp 0x140013889
cmp word [0x14003b130], 0
je 0x140013841
mov ecx, 0x8000
mov rdx, r12
nop dword [rax]
dec rcx
cmp word [rdx + 2], 0
lea rax, [rdx + 2]
mov rdx, rax
jne 0x140013820
mov rdx, qword [rbx + r15*8]
movzx r8d, word [rdx]
test r8w, r8w
jne 0x140013857
jmp 0x1400137f0
mov ecx, 0x8000
mov rax, r12
mov rdx, qword [rbx + r15*8]
movzx r8d, word [rdx]
test r8w, r8w
je 0x1400137f0
xor r9d, r9d
xor r10d, r10d
nop dword [rax]
cmp rcx, r10
je 0x140013967
mov word [rax + r10*2], r8w
add r9, 0xfffffffffffffffe
movzx r8d, word [rdx + r10*2 + 2]
inc r10
test r8w, r8w
jne 0x140013860
sub rax, r9
jmp 0x1400137f0
vxorps xmm0, xmm0, xmm0
lea rcx, [0x14002e0f0]
lea rdx, [0x14003b130]
xor r8d, r8d
xor r9d, r9d
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
vmovups xmmword [rsp + 0x30], xmm0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140013a24
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x5c], 0
mov qword [0x14002c0b8], rcx
test rcx, rcx
je 0x140013934
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14002c0b8]
lea rdx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14001391c
mov dword [rsp + 0x5c], 1
mov rcx, qword [0x14002c0b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x14002c0b8], 0
call fcn.140012b60
mov eax, dword [rsp + 0x5c]
add rsp, 0xe8
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.140012aa0
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.CACHE_DIRPID_Dlls
call fcn.140013a50
mov ecx, 2
call qword [fcn.14001ba40]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
lea r8, [0x14002e900]
mov rcx, rax
call fcn.140012b10
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 [0x140030920], 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.140012aa0
mov ecx, 2
call sub.msvcrt.dll_exit
int3