Function at 0x14000e590
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 rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
lea rsi, section..rdata
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x140001670
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.__register_frame_info
mov rcx, rbx
mov qword [0x140023040], rax
call rdi
lea rdx, str.__deregister_frame_info
mov rcx, rbx
mov rsi, rax
call rdi
mov qword [section..data], rax
test rsi, rsi
je 0x140001653
lea rdx, [0x140023060]
lea rcx, [section..eh_fram]
call rsi
lea rcx, [0x140001690]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140001586
lea rax, [0x1400015d0]
lea rsi, [0x1400015c0]
mov qword [section..data], rax
jmp 0x140001643
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x338
movaps xmmword [rsp + 0x310], xmm6
movaps xmmword [rsp + 0x320], xmm7
lea rbx, str.TEMPonefile_PID_TIME
mov r8d, 0x1000
lea rcx, [0x140042100]
mov rdx, rbx
call fcn.140007540
test al, al
je 0x14000f0e9
mov edx, 1
lea rcx, [0x140007e00]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14000f1d7
mov r8d, 0xa
xor ecx, ecx
mov edx, 0x1b
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
xor ecx, ecx
mov rdx, rbx
mov qword [0x1400420f0], rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov rax, qword [0x1400420f0]
mov qword [0x1400420e8], rsi
cmp byte [rax], 0x4b
lea rdi, [rax + 3]
movzx ecx, byte [rax + 2]
setne dl
cmp byte [rax + 1], 0x41
mov qword [0x1400420f0], rdi
setne al
or dl, al
jne 0x14000f1cb
cmp cl, 0x59
jne 0x14000f1cb
mov qword [0x140046110], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x140046130], rax
test rax, rax
je 0x14000f14a
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14000f13f
mov qword [rax + 0x73b0], 0
pxor xmm0, xmm0
mov qword [rax + 0x73c8], 0
mov qword [rax + 0x72d8], 0
mov qword [rax + 0x73ec], 0
mov qword [rax + 0x73f8], 0
mov qword [rax + 0x7400], 0
mov qword [rax + 0x7420], 0
mov dword [rax + 0x73f4], 0
mov qword [rax + 0x7440], 0
mov dword [rax + 0x7448], 0
mov dword [rax + 0x7454], 0
mov qword [rax + 0x274b0], 0
movups xmmword [rax + 0x73a0], xmm0
movups xmmword [rax + 0x73d8], xmm0
xor eax, eax
cpuid
xor ecx, ecx
cmp eax, 6
ja 0x14000eb03
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x14001e250]
lea r12, [rsp + 0x210]
mov qword [r8 + 0x7410], 0x8000001
movd xmm7, dword [0x14001e260]
mov dword [r8 + 0x7458], 0
mov qword [r8 + 0x7388], 0
mov dword [r8 + 0x7390], 1
mov qword [0x140046108], r8
mov qword [0x140046110], rdi
mov qword [0x140046120], 0
mov qword [0x140046118], rsi
mov byte [0x1400420e0], 1
mov rbx, qword [0x140046138]
mov rsi, qword [0x140046140]
lea r13, [0x1400418e0]
nop
xor r14d, r14d
mov rbp, r12
mov edi, 2
nop dword [rax + rax]
mov r8, rbx
sub r8, rsi
jne 0x14000e84c
mov rcx, qword [0x140046120]
mov rdx, qword [0x140046118]
cmp rcx, rdx
setb al
or r14b, al
je 0x14000e8a0
mov rcx, qword [0x140046108]
movups xmmword [0x140046138], xmm6
call fcn.14000d0b0
mov rbx, qword [0x140046140]
cmp qword [0x140046138], rbx
sete r14b
cmp rax, 0xffffffffffffff88
ja 0x14000e8a9
xor esi, esi
mov r8, rbx
mov qword [0x140046138], rbx
mov qword [0x140046140], 0
sub r8, rsi
je 0x14000e7e8
cmp r8, rdi
mov r15, r8
mov rdx, qword [0x140046130]
mov rcx, rbp
cmova r15, rdi
add rdx, rsi
mov r8, r15
add rsi, r15
add rbp, r15
call sub.msvcrt.dll_memcpy
mov qword [0x140046140], rsi
sub rdi, r15
jne 0x14000e7e0
movzx eax, word [rsp + 0x210]
mov word [r13], ax
test ax, ax
je 0x14000e8b5
add r13, 2
jmp 0x14000e7d0
cmp rcx, rdx
je 0x14000e7e0
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.140007c80
lea rax, [0x1400418e0]
movzx ecx, word [rax]
test cx, cx
je 0x14000eb17
lea rax, [0x140042100]
xor r9d, r9d
lea rbx, [0x1400230a0]
movzx r8d, word [rax]
mov word [0x1400230a0], r9w
mov rdx, rbx
lea r9, [rax + 0x2000]
test r8w, r8w
jne 0x14000e909
jmp 0x14000e91f
cmp rax, r9
je 0x14001bd08
add rax, 2
mov word [rdx], r8w
add rdx, 2
movzx r8d, word [rax]
test r8w, r8w
jne 0x14000e900
xor r8d, r8d
mov word [rdx], r8w
cmp word [0x1400230a0], 0
je 0x14000eaf7
mov edx, 0x1000
lea rax, [0x1400230a0]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e940
test rdx, rdx
je 0x14000f241
movd dword [rax], xmm7
cmp word [0x1400230a0], 0
je 0x14000eae6
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e978
test rdx, rdx
je 0x14000f237
lea r8, [0x1400418e0]
jmp 0x14000e9a9
test rdx, rdx
je 0x14000f232
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000e9a0
xor ecx, ecx
cmp word [0x1400410e0], 0
mov word [rax], cx
je 0x14000ea95
mov edx, 8
mov rcx, r12
call fcn.14000e340
mov rsi, qword [rsp + 0x210]
call fcn.140010500
xor r9d, r9d
mov edx, 0x40000000
mov rcx, rbx
mov qword [rsp + 0x30], 0
mov r8d, 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14000f1a0
mov r13, qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdi, [0x1400250a0]
test rsi, rsi
je 0x14000ea87
nop
mov ebx, 0x8000
mov rcx, rdi
cmp rsi, rbx
cmovbe rbx, rsi
mov rdx, rbx
call fcn.14000e340
mov r9, r12
mov r8d, ebx
mov rdx, rdi
mov dword [rsp + 0x210], 0
mov rcx, rbp
mov qword [rsp + 0x20], 0
call r13
test eax, eax
je 0x14000f182
sub rsi, rbx
jne 0x14000ea40
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e7b9
movzx edx, word [0x1400230a0]
lea rax, [0x1400410e0]
lea rcx, [0x1400230a0]
lea r8, [rax + 0x2000]
test dx, dx
jne 0x14000eac9
jmp 0x14000eadc
cmp rax, r8
je 0x14001bd08
add rcx, 2
mov word [rax], dx
add rax, 2
movzx edx, word [rcx]
test dx, dx
jne 0x14000eac0
xor edx, edx
mov word [rax], dx
jmp 0x14000e9d4
lea rax, [0x1400230a0]
mov edx, 0x1000
jmp 0x14000e98f
lea rax, [0x1400230a0]
jmp 0x14000e957
mov eax, 7
cpuid
shr ebx, 8
mov ecx, ebx
and ecx, 1
jmp 0x14000e747
mov rbx, qword [0x140046108]
test rbx, rbx
je 0x14000ebc5
cmp qword [rbx + 0x73c8], 0
jne 0x14000ebc5
mov rsi, qword [rbx + 0x73d8]
mov rdi, qword [rbx + 0x73a8]
mov r13, qword [rbx + 0x73b0]
test rsi, rsi
je 0x14000eb7f
mov rdx, qword [rsi]
mov rbp, qword [rsi + 0x6ac8]
mov r14, qword [rsi + 0x6ad0]
test rdx, rdx
je 0x14000f16c
test rbp, rbp
je 0x14000f225
mov rcx, r14
call rbp
mov rdx, rsi
mov rcx, r14
call rbp
mov rdx, qword [rbx + 0x73f8]
pxor xmm0, xmm0
mov dword [rbx + 0x73f0], 0
movups xmmword [rbx + 0x73d8], xmm0
test rdx, rdx
je 0x14000f156
test rdi, rdi
je 0x14000f218
mov rcx, r13
call rdi
mov qword [rbx + 0x73f8], 0
mov rdx, rbx
mov rcx, r13
call rdi
mov rcx, qword [0x140046130]
lea rbp, [rsp + 0x190]
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r8, [0x14001d31a]
mov edx, pe_nt_image_headers64
mov rcx, rbp
mov r9d, eax
call fcn.140001910
xor eax, eax
mov word [rsp + 0x210], ax
movzx eax, byte [rsp + 0x190]
test al, al
je 0x14000ec9e
mov r14d, pe_nt_image_headers64
mov rbx, r12
lea r13, [rsp + 0x6a]
mov esi, 1
lea rdi, [rsp + 0x74]
mov r8d, 2
mov rdx, r13
mov rcx, rdi
mov byte [rsp + 0x6a], al
mov byte [rsp + 0x6b], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001bd08
cmp word [rbx], 0
movzx ecx, word [rsp + 0x74]
mov rdx, r14
mov rax, rbx
je 0x14000ec6e
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000ec60
test rdx, rdx
je 0x14001bd08
xor r15d, r15d
mov word [rax], cx
add rbx, 2
lea rdx, [r14 - 1]
mov word [rax + 2], r15w
mov rax, rsi
sub rax, r14
movzx eax, byte [r12 + rax]
test al, al
je 0x14000ec9e
mov r14, rdx
jmp 0x14000ec28
lea rcx, [rsp + 0x78]
xor eax, eax
lea r15, str.NUITKA_ONEFILE_PARENT
mov qword [rsp + 0x50], rcx
lea rdi, [rsp + 0xd0]
lea r14, [r15 + 0x28]
mov word [rsp + 0xd0], ax
mov rsi, rdi
mov eax, 0x4e
lea r13, [rsp + 0x6c]
mov rcx, qword [rsp + 0x50]
mov rbx, r14
mov rdx, r13
mov byte [rsp + 0x6c], al
mov r8d, 2
sub rbx, r15
mov byte [rsp + 0x6d], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001bd08
cmp word [rsi], 0
movzx edx, word [rsp + 0x78]
mov rax, rsi
je 0x14000ed1e
nop dword [rax]
add rax, 2
sub rbx, 1
cmp word [rax], 0
jne 0x14000ed10
test rbx, rbx
je 0x14001bd08
xor ebx, ebx
add r15, 1
mov word [rax], dx
add rsi, 2
mov word [rax + 2], bx
movzx eax, byte [r15]
test al, al
jne 0x14000ecd2
mov rcx, rdi
mov rdx, r12
mov rdi, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
lea rsi, [0x14002d0a0]
call rdi
cmp word [0x14002d0a0], 0
je 0x14000f0f1
lea rcx, [rsp + 0x6e]
xor r10d, r10d
lea r13, [rsp + 0x80]
mov eax, 0x4e
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x7c]
lea r15, str.NUITKA_ONEFILE_BINARY
mov r14, r13
mov word [rsp + 0x80], r10w
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov r8d, 2
lea rbx, [0x14001d4ba]
sub rbx, r15
mov byte [rsp + 0x6e], al
mov byte [rsp + 0x6f], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001bd08
cmp word [r14], 0
movzx edx, word [rsp + 0x7c]
mov rax, r14
je 0x14000edee
nop dword [rax]
add rax, 2
sub rbx, 1
cmp word [rax], 0
jne 0x14000ede0
test rbx, rbx
je 0x14001bd08
xor r9d, r9d
add r15, 1
mov word [rax], dx
add r14, 2
mov word [rax + 2], r9w
movzx eax, byte [r15]
test al, al
jne 0x14000ed9b
mov rdx, rsi
lea rsi, [rsp + 0x120]
mov rcx, r13
call rdi
xor eax, eax
mov ecx, 0xd
mov rdi, rsi
rep stosq qword [rdi], rax
mov rbx, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff6
mov dword [rsp + 0x15c], 0x100
call rbx
mov ecx, 0xfffffff5
mov qword [rsp + 0x170], rax
call rbx
mov ecx, 0xfffffff4
mov qword [rsp + 0x178], rax
call rbx
lea rbx, [0x1400310c0]
mov dword [rsp + 0x120], 0x68
mov qword [rsp + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor r8d, r8d
xor ecx, ecx
lea rdx, [0x14002f0c0]
mov word [0x1400310c0], r8w
mov rdi, rax
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14001bd08
cmp word [0x1400310c0], 0
movzx ecx, word [0x14002f0c0]
mov edx, 0x8000
mov rax, rbx
je 0x14000f1e8
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000eedc
test cx, cx
je 0x14000ef22
test rdx, rdx
je 0x14000f246
lea r8, [0x14002f0c0]
jmp 0x14000ef0a
test rdx, rdx
je 0x14000f23c
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000ef01
xor ecx, ecx
mov word [rax], cx
mov eax, dword [rsp + 0x70]
cmp eax, 1
jle 0x14000efe3
sub eax, 2
mov r10d, dword [0x14001e264]
lea r9, [rdi + 8]
lea r11, [rdi + rax*8 + 0x10]
cmp word [rbx], 0
mov edx, 0x8000
lea rax, [0x1400310c0]
je 0x14000ef77
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000ef60
test rdx, rdx
je 0x14001bd08
mov dword [rax], r10d
cmp word [rbx], 0
mov r8, qword [r9]
je 0x14000f0cb
mov edx, 0x8000
lea rax, [0x1400310c0]
nop dword [rax + rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000ef98
movzx ecx, word [r8]
test cx, cx
je 0x14000efd1
nop
test rdx, rdx
je 0x14001bd08
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000efb0
xor edx, edx
add r9, 8
mov word [rax], dx
cmp r9, r11
jne 0x14000ef47
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], r12
mov rdx, rbx
mov qword [rsp + 0x40], rsi
lea rcx, [0x1400410e0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000f1f6
mov rcx, qword [rsp + 0x218]
mov rbx, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbx
mov rcx, qword [rsp + 0x210]
mov dword [rsp + 0x190], 0
mov qword [0x1400410c0], rcx
test rcx, rcx
je 0x14000f09b
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x1400410c0]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14000f087
mov dword [rsp + 0x190], 1
mov rcx, qword [0x1400410c0]
call rbx
mov qword [0x1400410c0], 0
call fcn.140007ca0
mov eax, dword [rsp + 0x190]
movaps xmm6, xmmword [rsp + 0x310]
movaps xmm7, xmmword [rsp + 0x320]
add rsp, 0x338
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx ecx, word [r8]
mov edx, 0x8000
lea rax, [0x1400310c0]
test cx, cx
jne 0x14000efb9
jmp 0x14000efd1
mov rcx, rbx
call fcn.140007be0
mov rdx, rsi
xor ecx, ecx
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp word [0x14002d0a0], 0
mov rax, rsi
lea rdx, [rsi + 0x2002]
jne 0x14000f129
jmp 0x14000f133
cmp rax, rdx
je 0x14001bd08
add rax, 2
cmp word [rax], 0
jne 0x14000f120
xor r11d, r11d
mov word [rax], r11w
jmp 0x14000ed64
mov qword [0x140046108], 0
lea rcx, str.Error__couldnt_allocate_memory.
call fcn.140007c80
test rdi, rdi
jne 0x14000ebbd
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000ebc5
test rbp, rbp
jne 0x14000eb77
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14000eb7f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140007c10
mov ecx, 2
call sub.msvcrt.dll_exit
mov ecx, 2
call qword [fcn.14001b340]
lea r8, [0x1400230a0]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
mov rcx, rax
call fcn.1400018e0
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.Error__couldnt_find_attached_data_header.
call fcn.140007c80
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.140007c80
nop dword [rax + rax]
test cx, cx
jne 0x14000eef8
jmp 0x14000ef22
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.140007c10
mov ecx, 2
call sub.msvcrt.dll_exit
nop dword [rax]
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000f15f
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000f175
jmp 0x14001bd08
jmp 0x14001bd08
jmp 0x14001bd08
jmp 0x14001bd08
jmp 0x14001bd08
call sub.msvcrt.dll_abort
nop
nop
nop
call sub.msvcrt.dll_abort
nop
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
jmp 0x1400015e0