Function at 0x14000e570
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, str.libgcc_s_dw2_1.dll
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, 0x2a8
movaps xmmword [rsp + 0x280], xmm6
movaps xmmword [rsp + 0x290], xmm7
lea rbx, str.TEMPonefile_PID_TIME
mov r8d, 0x1000
lea rcx, [0x140030100]
mov rdx, rbx
call fcn.140007540
test al, al
je 0x14000ef19
mov edx, 1
lea rcx, [0x140007de0]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14000efb9
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 [0x1400300f0], rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov rax, qword [0x1400300f0]
mov qword [0x1400300e8], rsi
cmp byte [rax], 0x4b
lea rdi, [rax + 3]
movzx ecx, byte [rax + 2]
setne dl
cmp byte [rax + 1], 0x41
mov qword [0x1400300f0], rdi
setne al
or dl, al
jne 0x14000efad
cmp cl, 0x59
jne 0x14000efad
mov qword [0x140034110], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x140034130], rax
test rax, rax
je 0x14000ef2c
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14000ef21
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 0x14000eae5
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x14001e250]
lea r12, [rsp + 0x180]
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 [0x140034108], r8
mov qword [0x140034110], rdi
mov qword [0x140034120], 0
mov qword [0x140034118], rsi
mov byte [0x1400300e0], 1
mov rbx, qword [0x140034138]
mov rsi, qword [0x140034140]
lea r13, [0x14002f8e0]
nop
xor r14d, r14d
mov rbp, r12
mov edi, 2
nop dword [rax + rax]
mov r8, rbx
sub r8, rsi
jne 0x14000e82c
mov rcx, qword [0x140034120]
mov rdx, qword [0x140034118]
cmp rcx, rdx
setb al
or r14b, al
je 0x14000e880
mov rcx, qword [0x140034108]
movups xmmword [0x140034138], xmm6
call fcn.14000d090
mov rbx, qword [0x140034140]
cmp qword [0x140034138], rbx
sete r14b
cmp rax, 0xffffffffffffff88
ja 0x14000e889
xor esi, esi
mov r8, rbx
mov qword [0x140034138], rbx
mov qword [0x140034140], 0
sub r8, rsi
je 0x14000e7c8
cmp r8, rdi
mov r15, r8
mov rdx, qword [0x140034130]
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 [0x140034140], rsi
sub rdi, r15
jne 0x14000e7c0
movzx eax, word [rsp + 0x180]
mov word [r13], ax
test ax, ax
je 0x14000e895
add r13, 2
jmp 0x14000e7b0
cmp rcx, rdx
je 0x14000e7c0
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.140007c60
lea rax, [0x14002f8e0]
movzx ecx, word [rax]
test cx, cx
je 0x14000eaf9
lea rax, [0x140030100]
lea rbx, [0x1400230a0]
xor edi, edi
movzx edx, word [rax]
mov word [0x1400230a0], di
mov rax, rbx
lea r8, [0x140030100]
lea r9, [rbx + 0x2000]
test dx, dx
jne 0x14000e8e9
jmp 0x14000e8fd
cmp rax, r9
je 0x14001bbe8
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x14000e8e0
xor esi, esi
mov word [rax], si
cmp word [0x1400230a0], 0
je 0x14000ead9
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e920
test rdx, rdx
je 0x14000f00c
movd dword [rax], xmm7
cmp word [0x1400230a0], 0
je 0x14000eac8
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e958
test rdx, rdx
je 0x14000f007
lea r8, [0x14002f8e0]
jmp 0x14000e989
test rdx, rdx
je 0x14000f002
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000e980
xor r11d, r11d
cmp word [0x14002f0e0], 0
mov word [rax], r11w
je 0x14000ea75
mov edx, 8
mov rcx, r12
call fcn.14000e320
mov rsi, qword [rsp + 0x180]
call fcn.1400102c0
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 0x14000ef82
mov r13, qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdi, [0x1400250a0]
test rsi, rsi
je 0x14000ea67
mov ebx, 0x8000
mov rcx, rdi
cmp rsi, rbx
cmovbe rbx, rsi
mov rdx, rbx
call fcn.14000e320
mov r9, r12
mov r8d, ebx
mov rdx, rdi
mov dword [rsp + 0x180], 0
mov rcx, rbp
mov qword [rsp + 0x20], 0
call r13
test eax, eax
je 0x14000ef64
sub rsi, rbx
jne 0x14000ea20
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e799
movzx ecx, word [0x1400230a0]
lea rax, [0x1400230a0]
lea rdx, [0x14002f0e0]
lea r8, [rax + 0x2000]
test cx, cx
jne 0x14000eaa9
jmp 0x14000eabc
cmp rax, r8
je 0x14001bbe8
add rax, 2
mov word [rdx], cx
add rdx, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14000eaa0
xor r10d, r10d
mov word [rdx], r10w
jmp 0x14000e9b6
lea rax, [0x1400230a0]
mov edx, 0x1000
jmp 0x14000e96f
lea rax, [0x1400230a0]
jmp 0x14000e937
mov eax, 7
cpuid
shr ebx, 8
mov ecx, ebx
and ecx, 1
jmp 0x14000e727
mov rbx, qword [0x140034108]
test rbx, rbx
je 0x14000eba7
cmp qword [rbx + 0x73c8], 0
jne 0x14000eba7
mov rsi, qword [rbx + 0x73d8]
mov rdi, qword [rbx + 0x73a8]
mov r13, qword [rbx + 0x73b0]
test rsi, rsi
je 0x14000eb61
mov rdx, qword [rsi]
mov rbp, qword [rsi + 0x6ac8]
mov r14, qword [rsi + 0x6ad0]
test rdx, rdx
je 0x14000ef4e
test rbp, rbp
je 0x14000eff5
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 0x14000ef38
test rdi, rdi
je 0x14000efe8
mov rcx, r13
call rdi
mov qword [rbx + 0x73f8], 0
mov rdx, rbx
mov rcx, r13
call rdi
mov rcx, qword [0x140034130]
lea rsi, [rsp + 0x100]
mov rbp, r12
mov r15d, pe_nt_image_headers64
lea r14, [rsp + 0xb0]
mov r13d, 1
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r8, [0x14001d31a]
mov edx, pe_nt_image_headers64
mov rcx, rsi
mov r9d, eax
call fcn.140001910
movzx edi, byte [rsp + 0x100]
xor r9d, r9d
mov word [rsp + 0x180], r9w
test dil, dil
je 0x14000ec76
cmp word [rbp], 0
mov rax, r15
mov rbx, rbp
je 0x14000ec26
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000ec18
test rax, rax
je 0x14001bbe8
mov rcx, rbx
add rbp, 2
call sub.msvcrt.dll_wcslen
mov rdx, r14
mov r8d, 2
mov byte [rsp + 0xb0], dil
lea rcx, [rbx + rax*2]
mov byte [rsp + 0xb1], 0
call sub.msvcrt.dll_mbstowcs
mov rdx, r13
lea rax, [r15 - 1]
sub rdx, r15
movzx edi, byte [r12 + rdx]
test dil, dil
je 0x14000ec76
mov r15, rax
jmp 0x14000ec08
xor r8d, r8d
lea r14, [rsp + 0x60]
lea r13, str.NUKTEM_ONEFILE_PARENT
mov r15d, 0x4e
mov word [rsp + 0x60], r8w
mov rdi, r14
lea rbp, [rsp + 0xb0]
lea rax, [0x14001d4a4]
mov rbx, rdi
sub rax, r13
cmp word [rdi], 0
je 0x14000ecbe
nop
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000ecb0
test rax, rax
je 0x14001bbe8
mov rcx, rbx
add r13, 1
add rdi, 2
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, rbp
mov byte [rsp + 0xb0], r15b
lea rcx, [rbx + rax*2]
mov byte [rsp + 0xb1], 0
call sub.msvcrt.dll_mbstowcs
movzx r15d, byte [r13]
test r15b, r15b
jne 0x14000ec9c
lea rdi, [0x14002d0c0]
mov rdx, r12
mov rcx, r14
mov r13, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
call r13
mov rdx, rdi
xor ecx, ecx
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp word [0x14002d0c0], 0
mov rax, rdi
lea rdx, [rdi + 0x2002]
je 0x14000ed58
add rax, 2
cmp word [rax], 0
je 0x14000ed58
cmp rax, rdx
jne 0x14000ed3f
jmp 0x14001bbe8
xor edx, edx
xor ecx, ecx
lea r9, str.NUKTEM_ONEFILE_BINARY
mov r15, rbp
mov word [rax], dx
mov r14d, 0x4e
mov word [rsp + 0xb0], cx
lea rax, [0x14001d4ba]
mov rbx, r15
sub rax, r9
cmp word [r15], 0
je 0x14000ed9e
nop dword [rax + rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000ed90
mov qword [rsp + 0x58], r9
test rax, rax
je 0x14001bbe8
mov rcx, rbx
add r15, 2
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, r12
mov byte [rsp + 0x180], r14b
lea rcx, [rbx + rax*2]
mov byte [rsp + 0x181], 0
call sub.msvcrt.dll_mbstowcs
mov r9, qword [rsp + 0x58]
movzx r14d, byte [r9 + 1]
add r9, 1
test r14b, r14b
jne 0x14000ed77
mov rdx, rdi
mov rcx, rbp
lea rdi, [rsp + 0x188]
call r13
xor eax, eax
mov ecx, 0xc
mov qword [rsp + 0x184], 0
mov qword [rsp + 0x1e0], 0
rep stosq qword [rdi], rax
mov dword [rsp + 0x180], 0x68
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r12
mov rdx, rax
lea rcx, [0x14002f0e0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000efc5
mov rcx, qword [rsp + 0x108]
mov rbx, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbx
mov rcx, qword [rsp + 0x100]
mov dword [rsp + 0xb0], 0
mov qword [0x14002d0a0], rcx
test rcx, rcx
je 0x14000eee9
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14002d0a0]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14000eed5
mov dword [rsp + 0xb0], 1
mov rcx, qword [0x14002d0a0]
call rbx
mov qword [0x14002d0a0], 0
call fcn.140007c80
mov eax, dword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x280]
movaps xmm7, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.140007bc0
mov qword [0x140034108], 0
lea rcx, str.Error__couldnt_allocate_memory.
call fcn.140007c60
test rdi, rdi
jne 0x14000eb9f
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000eba7
test rbp, rbp
jne 0x14000eb59
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14000eb61
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140007bf0
mov ecx, 2
call sub.msvcrt.dll_exit
mov ecx, 2
call qword [fcn.14001b230]
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.140007c60
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.140007c60
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.140007bf0
mov ecx, 2
call sub.msvcrt.dll_exit
nop dword [rax + rax]
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000ef41
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000ef57
jmp 0x14001bbe8
jmp 0x14001bbe8
jmp 0x14001bbe8
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