Function at 0x14000e6d0
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, 0x2c8
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x2b0], xmm7
lea rbx, str.TEMPonefile_PID_TIME
mov r8d, 0x1000
lea rcx, [0x140030100]
mov rdx, rbx
call fcn.140007540
test al, al
je 0x14000f0dd
mov edx, 1
lea rcx, [0x140007f40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14000f17d
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 0x14000f171
cmp cl, 0x59
jne 0x14000f171
mov qword [0x140034110], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x140034130], rax
test rax, rax
je 0x14000f0f0
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14000f0e5
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 0x14000ec43
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x14001e310]
lea r12, [rsp + 0x1a0]
mov qword [r8 + 0x7410], 0x8000001
movd xmm7, dword [0x14001e320]
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 0x14000e98c
mov rcx, qword [0x140034120]
mov rdx, qword [0x140034118]
cmp rcx, rdx
setb al
or r14b, al
je 0x14000e9e0
mov rcx, qword [0x140034108]
movups xmmword [0x140034138], xmm6
call fcn.14000d1f0
mov rbx, qword [0x140034140]
cmp qword [0x140034138], rbx
sete r14b
cmp rax, 0xffffffffffffff88
ja 0x14000e9e9
xor esi, esi
mov r8, rbx
mov qword [0x140034138], rbx
mov qword [0x140034140], 0
sub r8, rsi
je 0x14000e928
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 0x14000e920
movzx eax, word [rsp + 0x1a0]
mov word [r13], ax
test ax, ax
je 0x14000e9f5
add r13, 2
jmp 0x14000e910
cmp rcx, rdx
je 0x14000e920
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.140007dc0
lea rax, [0x14002f8e0]
movzx ecx, word [rax]
test cx, cx
je 0x14000ec57
lea rax, [0x140030100]
lea rbx, [0x1400230a0]
xor r13d, r13d
movzx edx, word [rax]
mov word [0x1400230a0], r13w
mov rax, rbx
lea r8, [0x140030100]
lea r9, [rbx + 0x2000]
test dx, dx
jne 0x14000ea49
jmp 0x14000ea5d
cmp rax, r9
je 0x14001bda8
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x14000ea40
xor ebp, ebp
mov word [rax], bp
cmp word [0x1400230a0], 0
je 0x14000ec37
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000ea80
test rdx, rdx
je 0x14000f1d4
movd dword [rax], xmm7
cmp word [0x1400230a0], 0
je 0x14000ec26
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000eab8
test rdx, rdx
je 0x14000f1cf
lea r8, [0x14002f8e0]
jmp 0x14000eae9
test rdx, rdx
je 0x14000f1ca
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000eae0
xor edi, edi
cmp word [0x14002f0e0], 0
mov word [rax], di
je 0x14000ebd5
mov edx, 8
mov rcx, r12
call fcn.14000e480
mov rsi, qword [rsp + 0x1a0]
call fcn.140010480
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 0x14000f146
mov r13, qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdi, [0x1400250a0]
test rsi, rsi
je 0x14000ebc7
nop
mov ebx, 0x8000
mov rcx, rdi
cmp rsi, rbx
cmovbe rbx, rsi
mov rdx, rbx
call fcn.14000e480
mov r9, r12
mov r8d, ebx
mov rdx, rdi
mov dword [rsp + 0x1a0], 0
mov rcx, rbp
mov qword [rsp + 0x20], 0
call r13
test eax, eax
je 0x14000f128
sub rsi, rbx
jne 0x14000eb80
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e8f9
movzx ecx, word [0x1400230a0]
lea rax, [0x1400230a0]
lea rdx, [0x14002f0e0]
lea r8, [rax + 0x2000]
test cx, cx
jne 0x14000ec09
jmp 0x14000ec1c
cmp rax, r8
je 0x14001bda8
add rax, 2
mov word [rdx], cx
add rdx, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14000ec00
xor esi, esi
mov word [rdx], si
jmp 0x14000eb14
lea rax, [0x1400230a0]
mov edx, 0x1000
jmp 0x14000eacf
lea rax, [0x1400230a0]
jmp 0x14000ea97
mov eax, 7
cpuid
shr ebx, 8
mov ecx, ebx
and ecx, 1
jmp 0x14000e887
mov rbx, qword [0x140034108]
test rbx, rbx
je 0x14000ed05
cmp qword [rbx + 0x73c8], 0
jne 0x14000ed05
mov rsi, qword [rbx + 0x73d8]
mov rdi, qword [rbx + 0x73a8]
mov r13, qword [rbx + 0x73b0]
test rsi, rsi
je 0x14000ecbf
mov rdx, qword [rsi]
mov rbp, qword [rsi + 0x6ac8]
mov r14, qword [rsi + 0x6ad0]
test rdx, rdx
je 0x14000f112
test rbp, rbp
je 0x14000f1bd
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 0x14000f0fc
test rdi, rdi
je 0x14000f1b0
mov rcx, r13
call rdi
mov qword [rbx + 0x73f8], 0
mov rdx, rbx
mov rcx, r13
call rdi
mov rcx, qword [0x140034130]
lea rbp, [rsp + 0x120]
xor ebx, ebx
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r8, [0x14001d3ae]
mov edx, pe_nt_image_headers64
mov rcx, rbp
mov r9d, eax
call fcn.140001910
movzx eax, byte [rsp + 0x120]
mov word [rsp + 0x1a0], bx
test al, al
je 0x14000edde
mov r14d, pe_nt_image_headers64
mov rbx, r12
lea r13, [rsp + 0x6e]
mov esi, 1
lea rdi, [rsp + 0x74]
mov r8d, 2
mov rdx, r13
mov rcx, rdi
mov byte [rsp + 0x6e], al
mov byte [rsp + 0x6f], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001bda8
cmp word [rbx], 0
movzx ecx, word [rsp + 0x74]
mov rdx, r14
mov rax, rbx
je 0x14000edae
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000eda0
test rdx, rdx
je 0x14001bda8
xor r10d, r10d
mov word [rax], cx
add rbx, 2
lea rdx, [r14 - 1]
mov word [rax + 2], r10w
mov rax, rsi
sub rax, r14
movzx eax, byte [r12 + rax]
test al, al
je 0x14000edde
mov r14, rdx
jmp 0x14000ed68
xor r11d, r11d
lea rcx, [rsp + 0x78]
lea r15, str.NUKTEM_ONEFILE_PARENT
mov eax, 0x4e
mov qword [rsp + 0x50], rcx
lea rdi, [rsp + 0x80]
lea r14, [r15 + 0x28]
mov word [rsp + 0x80], r11w
mov rsi, rdi
lea r13, [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov rbx, r14
mov rdx, r13
mov byte [rsp + 0x70], al
mov r8d, 2
sub rbx, r15
mov byte [rsp + 0x71], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001bda8
cmp word [rsi], 0
movzx edx, word [rsp + 0x78]
mov rax, rsi
je 0x14000ee5e
nop
add rax, 2
sub rbx, 1
cmp word [rax], 0
jne 0x14000ee50
test rbx, rbx
je 0x14001bda8
xor r9d, r9d
add r15, 1
mov word [rax], dx
add rsi, 2
mov word [rax + 2], r9w
movzx eax, byte [r15]
test al, al
jne 0x14000ee14
lea rsi, [0x14002d0c0]
mov rcx, rdi
mov rdx, r12
mov rdi, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
call rdi
mov rdx, rsi
xor ecx, ecx
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp word [0x14002d0c0], 0
mov rax, rsi
lea rdx, [rsi + 0x2002]
je 0x14000eed8
add rax, 2
cmp word [rax], 0
je 0x14000eed8
cmp rax, rdx
jne 0x14000eebd
jmp 0x14001bda8
xor ecx, ecx
xor r8d, r8d
lea rbx, [rsp + 0xd0]
mov word [rax], cx
lea rcx, [rsp + 0x72]
mov r13, rbx
mov eax, 0x4e
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x7c]
lea r14, str.NUKTEM_ONEFILE_BINARY
mov word [rsp + 0xd0], r8w
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov r8d, 2
lea r15, [0x14001d57a]
sub r15, r14
mov byte [rsp + 0x72], al
mov byte [rsp + 0x73], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001bda8
cmp word [r13], 0
movzx edx, word [rsp + 0x7c]
mov rax, r13
je 0x14000ef6e
nop word cs:[rax + rax]
add rax, 2
sub r15, 1
cmp word [rax], 0
jne 0x14000ef60
test r15, r15
je 0x14001bda8
mov word [rax], dx
add r14, 1
xor edx, edx
add r13, 2
mov word [rax + 2], dx
movzx eax, byte [r14]
test al, al
jne 0x14000ef14
mov rdx, rsi
mov rcx, rbx
call rdi
xor eax, eax
mov ecx, 0xd
mov rdi, r12
rep stosq qword [rdi], rax
mov rsi, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff6
mov dword [rsp + 0x1dc], 0x100
call rsi
mov ecx, 0xfffffff5
mov qword [rsp + 0x1f0], rax
call rsi
mov ecx, 0xfffffff4
mov qword [rsp + 0x1f8], rax
call rsi
mov dword [rsp + 0x1a0], 0x68
mov qword [rsp + 0x200], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rbp
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], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000f189
mov rcx, qword [rsp + 0x128]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rsi
mov rcx, qword [rsp + 0x120]
mov dword [rsp + 0xd0], 0
mov qword [0x14002d0a0], rcx
test rcx, rcx
je 0x14000f0ad
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14002d0a0]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14000f099
mov dword [rsp + 0xd0], 1
mov rcx, qword [0x14002d0a0]
call rsi
mov qword [0x14002d0a0], 0
call fcn.140007de0
mov eax, dword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0x2a0]
movaps xmm7, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.140007d20
mov qword [0x140034108], 0
lea rcx, str.Error__couldnt_allocate_memory.
call fcn.140007dc0
test rdi, rdi
jne 0x14000ecfd
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000ed05
test rbp, rbp
jne 0x14000ecb7
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14000ecbf
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140007d50
mov ecx, 2
call sub.msvcrt.dll_exit
mov ecx, 2
call qword [fcn.14001b3f0]
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.140007dc0
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.140007dc0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.140007d50
mov ecx, 2
call sub.msvcrt.dll_exit
nop word [rax + rax]
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000f105
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000f11b
jmp 0x14001bda8
jmp 0x14001bda8
jmp 0x14001bda8
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