Function at 0x14000e6b0
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 0x14000f059
mov edx, 1
lea rcx, [0x140007f20]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14000f0f9
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 0x14000f0ed
cmp cl, 0x59
jne 0x14000f0ed
mov qword [0x140034110], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x140034130], rax
test rax, rax
je 0x14000f06c
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14000f061
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 0x14000ec25
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x14001e310]
lea r12, [rsp + 0x180]
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 0x14000e96c
mov rcx, qword [0x140034120]
mov rdx, qword [0x140034118]
cmp rcx, rdx
setb al
or r14b, al
je 0x14000e9c0
mov rcx, qword [0x140034108]
movups xmmword [0x140034138], xmm6
call fcn.14000d1d0
mov rbx, qword [0x140034140]
cmp qword [0x140034138], rbx
sete r14b
cmp rax, 0xffffffffffffff88
ja 0x14000e9c9
xor esi, esi
mov r8, rbx
mov qword [0x140034138], rbx
mov qword [0x140034140], 0
sub r8, rsi
je 0x14000e908
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 0x14000e900
movzx eax, word [rsp + 0x180]
mov word [r13], ax
test ax, ax
je 0x14000e9d5
add r13, 2
jmp 0x14000e8f0
cmp rcx, rdx
je 0x14000e900
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.140007da0
lea rax, [0x14002f8e0]
movzx ecx, word [rax]
test cx, cx
je 0x14000ec39
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 0x14000ea29
jmp 0x14000ea3d
cmp rax, r9
je 0x14001bd28
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x14000ea20
xor esi, esi
mov word [rax], si
cmp word [0x1400230a0], 0
je 0x14000ec19
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000ea60
test rdx, rdx
je 0x14000f14c
movd dword [rax], xmm7
cmp word [0x1400230a0], 0
je 0x14000ec08
mov edx, 0x1000
lea rax, [0x1400230a0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000ea98
test rdx, rdx
je 0x14000f147
lea r8, [0x14002f8e0]
jmp 0x14000eac9
test rdx, rdx
je 0x14000f142
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000eac0
xor r11d, r11d
cmp word [0x14002f0e0], 0
mov word [rax], r11w
je 0x14000ebb5
mov edx, 8
mov rcx, r12
call fcn.14000e460
mov rsi, qword [rsp + 0x180]
call fcn.140010400
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 0x14000f0c2
mov r13, qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdi, [0x1400250a0]
test rsi, rsi
je 0x14000eba7
mov ebx, 0x8000
mov rcx, rdi
cmp rsi, rbx
cmovbe rbx, rsi
mov rdx, rbx
call fcn.14000e460
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 0x14000f0a4
sub rsi, rbx
jne 0x14000eb60
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e8d9
movzx ecx, word [0x1400230a0]
lea rax, [0x1400230a0]
lea rdx, [0x14002f0e0]
lea r8, [rax + 0x2000]
test cx, cx
jne 0x14000ebe9
jmp 0x14000ebfc
cmp rax, r8
je 0x14001bd28
add rax, 2
mov word [rdx], cx
add rdx, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14000ebe0
xor r10d, r10d
mov word [rdx], r10w
jmp 0x14000eaf6
lea rax, [0x1400230a0]
mov edx, 0x1000
jmp 0x14000eaaf
lea rax, [0x1400230a0]
jmp 0x14000ea77
mov eax, 7
cpuid
shr ebx, 8
mov ecx, ebx
and ecx, 1
jmp 0x14000e867
mov rbx, qword [0x140034108]
test rbx, rbx
je 0x14000ece7
cmp qword [rbx + 0x73c8], 0
jne 0x14000ece7
mov rsi, qword [rbx + 0x73d8]
mov rdi, qword [rbx + 0x73a8]
mov r13, qword [rbx + 0x73b0]
test rsi, rsi
je 0x14000eca1
mov rdx, qword [rsi]
mov rbp, qword [rsi + 0x6ac8]
mov r14, qword [rsi + 0x6ad0]
test rdx, rdx
je 0x14000f08e
test rbp, rbp
je 0x14000f135
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 0x14000f078
test rdi, rdi
je 0x14000f128
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, [0x14001d3b2]
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 0x14000edb6
cmp word [rbp], 0
mov rax, r15
mov rbx, rbp
je 0x14000ed66
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000ed58
test rax, rax
je 0x14001bd28
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 0x14000edb6
mov r15, rax
jmp 0x14000ed48
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, [0x14001d56c]
mov rbx, rdi
sub rax, r13
cmp word [rdi], 0
je 0x14000edfe
nop
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000edf0
test rax, rax
je 0x14001bd28
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 0x14000eddc
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 0x14000ee98
add rax, 2
cmp word [rax], 0
je 0x14000ee98
cmp rax, rdx
jne 0x14000ee7f
jmp 0x14001bd28
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, [0x14001d582]
mov rbx, r15
sub rax, r9
cmp word [r15], 0
je 0x14000eede
nop dword [rax + rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000eed0
mov qword [rsp + 0x58], r9
test rax, rax
je 0x14001bd28
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 0x14000eeb7
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 0x14000f105
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 0x14000f029
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 0x14000f015
mov dword [rsp + 0xb0], 1
mov rcx, qword [0x14002d0a0]
call rbx
mov qword [0x14002d0a0], 0
call fcn.140007dc0
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.140007d00
mov qword [0x140034108], 0
lea rcx, str.Error__couldnt_allocate_memory.
call fcn.140007da0
test rdi, rdi
jne 0x14000ecdf
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000ece7
test rbp, rbp
jne 0x14000ec99
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14000eca1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140007d30
mov ecx, 2
call sub.msvcrt.dll_exit
mov ecx, 2
call qword [fcn.14001b370]
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.140007da0
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.140007da0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.140007d30
mov ecx, 2
call sub.msvcrt.dll_exit
nop dword [rax + rax]
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000f081
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000f097
jmp 0x14001bd28
jmp 0x14001bd28
jmp 0x14001bd28
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