Function at 0x1400131a0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x14004b300]
xor rax, rsp
mov qword [rbp], rax
xor esi, esi
mov qword [rsp + 0x58], rsi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SoftwareValveSteam
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400132ae
mov byte [0x14004c9cb], 1
mov dword [rsp + 0x54], 1
lea rax, [0x14004b1cc]
mov qword [rsp + 0x28], rax
lea rax, [0x140058b00]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x54]
xor r8d, r8d
lea rdx, str.SourceModInstallPath
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [0x14004b1d0]
mov qword [rsp + 0x28], rax
lea rax, [0x14005cb00]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x54]
xor r8d, r8d
lea rdx, str.SteamPath
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [0x14004b1d4]
mov qword [rsp + 0x28], rax
lea rax, [0x140060b00]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x54]
xor r8d, r8d
lea rdx, str.SteamExe
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rdx, str.Found_previous_registry_entry__HKCU_2__for_Steam
jmp 0x1400132f7
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SoftwareValveSteam
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140013616
lea rdx, str.Created_new_registry_entry__HKCU_2__for_Steam
lea rcx, [0x14004ca60]
call fcn.1400071d0
call fcn.140007430
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140013315
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x80]
call fcn.140006a50
nop
mov rcx, qword [rbp - 0x70]
dec rcx
mov qword [rbp - 0x70], rcx
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rax, qword [rbp - 0x80]
mov word [rax + rcx*2], si
call fcn.140007410
mov rbx, rax
call fcn.140007430
mov rdx, qword [rax + 0x10]
mov r8, qword [rbx + 0x10]
movabs rcx, 0x7fffffffffffffff
sub rcx, rdx
cmp rcx, r8
jb 0x14001377f
mov r9, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001338d
mov r9, qword [rax]
cmp qword [rbx + 0x18], 0xf
jbe 0x140013397
mov rbx, qword [rbx]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdx
mov r8, rax
movzx edx, byte [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.14000a660
nop
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rax, qword [rsp + 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.140006a50
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14001342b
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013426
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013785
call fcn.14001af20
movdqa xmm0, xmmword [0x140037990]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
cmp qword [0x14004b190], 0
je 0x1400134bf
call fcn.140021210
mov rdi, rax
lea rbx, [0x14004b180]
cmp qword [0x14004b198], 0xf
cmova rbx, qword [0x14004b180]
mov dword [rax], esi
mov r8d, 0xa
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.140021dd8
cmp rbx, qword [rbp - 0x20]
je 0x14001378b
cmp dword [rdi], 0x22
je 0x140013798
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.RunningAppID
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbp - 0x70]
lea eax, [rax*2 + 2]
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rcx, qword [rbp - 0x80]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.SourceModInstallPath
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbp - 0x70]
lea eax, [rax*2 + 2]
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rcx, qword [rbp - 0x80]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.SteamPath
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbp - 0x50]
lea eax, [rax*2 + 2]
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rcx, qword [rbp - 0x60]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.SteamExe
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x1400135bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400135ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400137a5
call fcn.14001af20
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], si
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14001360f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001360a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400137ab
call fcn.14001af20
mov al, 1
jmp 0x140013754
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r10, [rbp - 0xb]
nop dword [rax]
nop word [rax + rax]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea eax, [rcx + rdx]
add al, al
sub r8b, al
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x140013630
lea r9, [rsp + 0x50]
lea r8, [rbp - 0xb]
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.140007e50
nop
mov r9d, 0x2c
lea r8, str.Unable_to_patch_Registry__HKCU_2___error_
xor edx, edx
lea rcx, [rbp - 0x40]
call fcn.140011e20
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x60]
lea rcx, [0x14004ca60]
call fcn.140006f40
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140013708
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013703
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400137b1
call fcn.14001af20
movdqa xmm0, xmmword [0x140037990]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140013752
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001374d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013779
call fcn.14001af20
xor al, al
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14001b0a0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.140020d94
nop
call fcn.140005310
nop
call fcn.140020d94
int3
lea rcx, str.invalid_stoul_argument
call fcn.140018f90
int3
lea rcx, str.stoul_argument_out_of_range
call fcn.140018fd8
nop
call fcn.140020d94
nop
call fcn.140020d94
nop
call fcn.140020d94
int3