Function at 0x1400a0d30
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0xa80
mov rax, qword [0x140263a80]
xor rax, rsp
mov qword [rsp + 0xa60], rax
mov rsi, qword [rsp + 0xad0]
mov rdi, r9
mov r14, qword [rsp + 0xad8]
mov rbp, r8
mov rbx, rdx
test r8, r8
je 0x1400a103e
test r9, r9
je 0x1400a103e
test rsi, rsi
je 0x1400a103e
test r14, r14
je 0x1400a103e
mov qword [r11 - 0x30], r12
lea rcx, [r11 - 0x848]
xor edx, edx
mov qword [r11 - 0x38], r15
mov r8d, 0x800
call sub.VCRUNTIME140.dll_memset
lea r8, str.SOFTWAREMonectPCRemoteReceiver
mov edx, 0x400
lea rcx, [rsp + 0x260]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea r8, str.Emulators_
mov edx, 0x400
lea rcx, [rsp + 0x260]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
cmp word [rbx], 0
jne 0x1400a0df2
mov edx, 0x104
mov rcx, rbx
call fcn.14009fed0
mov r8, rbx
lea rcx, [rsp + 0x260]
mov edx, 0x400
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea r8, [rsp + 0x260]
mov qword [rsp + 0x50], 0xffffffff80000002
mov edx, 0x100
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400a0e88
xor ecx, ecx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rcx
xor r8d, r8d
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea r15, [rbx + 0x208]
xor edx, edx
mov rcx, r15
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov edx, 0x104
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsnlen]
mov rdx, rbp
mov rcx, r15
mov r12, rax
lea r8, [rax + rax]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400a0eec
lea eax, [r12 + r12]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, str.Display_name
xor r8d, r8d
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rbp, [rbx + 0x410]
xor edx, edx
mov rcx, rbp
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov edx, 0x104
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsnlen]
mov rdx, rdi
mov rcx, rbp
mov r15, rax
lea r8, [rax + rax]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x58]
mov r12, qword [rsp + 0xa78]
test rcx, rcx
je 0x1400a0f58
lea eax, [r15 + r15]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, str.EXE_Path
xor r8d, r8d
mov qword [rsp + 0x20], rbp
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rdi, [rbx + 0x618]
xor edx, edx
mov rcx, rdi
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsnlen]
mov rdx, rsi
mov rcx, rdi
mov r15, rax
lea r8, [rax + rax]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400a0fbc
lea eax, [r15 + r15]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, str.Rom_Path
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
add rbx, 0x820
xor edx, edx
mov rcx, rbx
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov edx, 0x104
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsnlen]
mov rdx, r14
mov rcx, rbx
mov rdi, rax
lea r8, [rax + rax]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x58]
mov r15, qword [rsp + 0xa70]
test rcx, rcx
je 0x1400a1037
lea eax, [rdi + rdi]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, str.Command_Line
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400a1037
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x1400a1040
xor eax, eax
mov rcx, qword [rsp + 0xa60]
xor rcx, rsp
call fcn.1401d0310
add rsp, 0xa80
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret