Function at 0x1400012a0
Capabilities:
Create process on windows
Create thread
Encode data using xor
Enumerate processes
Query environment variable
Set environment variable
Terminate process

Disassembly:
push rbp
push rbx
push rdi
push r14
push r15
lea rbp, [rsp - 0x3f0]
sub rsp, 0x4f0
movaps xmmword [rsp + 0x4e0], xmm6
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x3d0], rax
mov r8, qword [rdx]
mov rdi, rdx
mov edx, ecx
mov ebx, ecx
lea rcx, str.argc_d_argv_0__s_n
call fcn.1400010b0
cmp ebx, 1
jle 0x1400012f4
mov rax, qword [rdi + 8]
cmp byte [rax], 0x65
je 0x140001309
mov rax, qword [0x140005080]
mov rcx, qword [rax]
cmp qword [rcx + 0x18], 0
je 0x140001556
mov qword [rsp + 0x530], rsi
mov byte [0x1400056ac], 1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor edx, edx
mov ecx, 2
mov edi, eax
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
xor edx, edx
lea rcx, [rbp + 0x34]
mov r8d, 0x234
mov rbx, rax
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0x30]
mov dword [rbp + 0x30], 0x238
mov rcx, rbx
mov esi, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x14000137b
nop
cmp dword [rbp + 0x38], edi
je 0x140001378
lea rdx, [rbp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140001360
jmp 0x14000137b
mov esi, dword [rbp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x1400056a8], esi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r8d, esi
lea rcx, str.i_am_child_with_pid__d_and_ppid__d_n
mov edx, eax
call fcn.1400010b0
xor r15d, r15d
lea r8, [0x140001170]
mov qword [rsp + 0x28], r15
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], r15d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [0x1400056a8]
call qword [sym.imp.KERNEL32.dll_DebugActiveProcess]
test eax, eax
jne 0x1400013f2
mov rsi, qword [rsp + 0x530]
lea rcx, str.cant_debug_parent__n
call fcn.1400010b0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r8d, 0x14
lea rdx, [rbp + 0x270]
lea rcx, [0x14000342c]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea rdx, [rbp + 0x270]
lea rcx, str.the_correctPasswordPtrStr_is_at__s__n
call fcn.1400010b0
lea r8, [rsp + 0x68]
mov edx, 1
lea rcx, [rbp + 0x270]
call qword [sym.imp.SHLWAPI.dll_StrToInt64ExA]
mov r14, qword [rsp + 0x68]
lea rcx, str.the_passwordPtr_is_at__p__n
mov rdx, r14
call fcn.1400010b0
movdqa xmm6, xmmword [str.tpoqoqmuvvgbc_]
nop dword [rax]
nop word [rax + rax]
mov edx, 0x3e8
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
test eax, eax
je 0x140001545
lea rcx, str.Got_a_debug_event____n
call fcn.1400010b0
test r14, r14
je 0x140001545
mov edx, dword [rbp - 0x78]
mov r8d, 0x10002
mov ecx, dword [0x1400056a8]
call qword [sym.imp.KERNEL32.dll_ContinueDebugEvent]
cmp byte [0x14000566c], r15b
jne 0x140001545
lea rcx, str.Writing_password..._This_should_only_happen_once__n
mov byte [0x14000566c], 1
call fcn.1400010b0
mov r8d, dword [0x1400056a8]
xor edx, edx
mov ecx, 0x28
mov byte [rsp + 0x70], 0x61
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rsi, rax
mov dword [rsp + 0x60], 0x6f67782b
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x64], 0x876
lea rdi, [rsp + 0x50]
mov ebx, r15d
nop word [rax + rax]
movzx eax, byte [rdi]
lea r8, [rsp + 0x70]
sub al, 9
movsxd rdx, ebx
xor al, 5
add rdx, r14
add al, 6
mov r9d, 1
mov byte [rsp + 0x70], al
mov rcx, rsi
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
inc ebx
lea rdi, [rdi + 1]
cmp ebx, 0x16
jb 0x140001500
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.child_is_alive__n
call fcn.1400010b0
jmp 0x140001460
lea rdx, [rbp + 0x418]
lea rcx, str.some_pointer_on_stack__p_n
call fcn.1400010b0
xorps xmm0, xmm0
mov dword [rbp - 0x80], 0x68
xor eax, eax
movups xmmword [rbp - 0x7c], xmm0
mov dword [rbp - 0x1c], eax
movups xmmword [rbp - 0x6c], xmm0
mov qword [0x140005680], rax
movups xmmword [rbp - 0x5c], xmm0
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [0x140005670], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
lea rcx, str.im_parent_and_my_pid_is__d_n
call fcn.1400010b0
mov r8d, 0x104
lea rdx, [rbp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, 0x80
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea rdx, str._a__e
mov rbx, rax
lea rcx, [rbp + 0x2c0]
call fcn.140001720
mov r8, rbx
lea rdx, str.0x_p
lea rcx, [rbp + 0x270]
call fcn.140001780
lea rdx, [rbp + 0x270]
lea rcx, [0x14000342c]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
xor r15d, r15d
lea rax, [0x140005670]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x2c0]
lea rax, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x38], r15
xor r8d, r8d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
xor r9d, r9d
mov qword [rsp + 0x28], r15
lea r8, [0x140001210]
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [0x140005680]
lea rcx, str.created_child_with_pid__d_n
call fcn.1400010b0
lea rcx, str.Enter_the_secret_password:
call fcn.1400010b0
lea rdx, [rbp + 0x288]
lea rcx, str._49s
call fcn.140001110
lea rax, [rbp + 0x288]
sub rbx, rax
nop dword [rax + rax]
movzx ecx, byte [rax]
cmp cl, byte [rax + rbx]
jne 0x1400016c1
inc rax
test cl, cl
jne 0x1400016b0
jmp 0x1400016c8
sbb r15d, r15d
or r15d, 1
lea rax, str.wrong__n
test r15d, r15d
lea rcx, str.correct____n
cmovne rcx, rax
call fcn.1400010b0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov rcx, qword [rbp + 0x3d0]
xor rcx, rsp
call fcn.1400017f0
movaps xmm6, xmmword [rsp + 0x4e0]
add rsp, 0x4f0
pop r15
pop r14
pop rdi
pop rbx
pop rbp
ret