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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xf0
mov rax, qword [0x14004c300]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor edi, edi
mov qword [rbp - 0x49], rdi
lea rbx, [0x14004da20]
mov rdx, rbx
cmp qword [0x14004da38], 7
cmova rdx, qword [0x14004da20]
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001399f
mov byte [0x14004d9cc], 1
mov dword [rbp - 0x3d], 1
lea rax, [0x14004c1d8]
mov qword [rsp + 0x28], rax
lea rax, [0x140065b00]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x3d]
xor r8d, r8d
lea rdx, str.InstallPath
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [0x14004c1dc]
mov qword [rsp + 0x28], rax
lea rax, [0x140069b00]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x3d]
xor r8d, r8d
lea rdx, str.Universe
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rdx, str.Found_previous_registry_entry__HKLM__for_Steam
jmp 0x1400139f3
cmp qword [0x14004da38], 7
cmova rbx, qword [0x14004da20]
mov qword [rsp + 0x40], rdi
lea rax, [rbp - 0x49]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140013b38
lea rdx, str.Created_new_registry_entry__HKLM__for_Steam
lea rcx, [0x14004da60]
call fcn.1400071d0
call fcn.140007430
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140013a11
mov rcx, qword [rax]
mov qword [rbp + 0x27], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x2f], rax
movaps xmm0, xmmword [rbp + 0x27]
movdqa xmmword [rbp + 0x27], xmm0
lea rdx, [rbp + 0x27]
lea rcx, [rbp - 0x39]
call fcn.140006a50
mov rcx, qword [rbp - 0x29]
dec rcx
mov qword [rbp - 0x29], rcx
lea rax, [rbp - 0x39]
cmp qword [rbp - 0x21], 7
cmova rax, qword [rbp - 0x39]
mov word [rax + rcx*2], di
mov dword [rsp + 0x28], 4
lea rax, [0x14004d9c0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.SteamPID
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbp - 0x29]
lea eax, [rax*2 + 2]
lea rcx, [rbp - 0x39]
cmp qword [rbp - 0x21], 7
cmova rcx, qword [rbp - 0x39]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.InstallPath
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0x28], 0xe
lea rax, str.Public
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.Universe
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rbp - 0x21]
cmp rdx, 7
jbe 0x140013b31
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013b2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013c8c
call fcn.14001af38
mov al, 1
jmp 0x140013c65
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea r10, [rbp + 0x3c]
nop dword [rax]
nop dword [rax + rax]
dec r10
mov eax, 0xcccccccd
mul ecx
shr edx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r10], cl
mov ecx, edx
test edx, edx
jne 0x140013b50
lea r9, [rbp - 0x41]
lea r8, [rbp + 0x3c]
mov rdx, r10
lea rcx, [rbp + 7]
call fcn.140007e60
nop
mov r9d, 0x29
lea r8, str.Unable_to_patch_Registry__HKLM___error_
xor edx, edx
lea rcx, [rbp + 7]
call fcn.140011f20
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x19], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 9], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp - 0x19]
lea rcx, [0x14004da60]
call fcn.140006f40
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0xf
jbe 0x140013c1b
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013c16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013c92
call fcn.14001af38
movdqa xmm0, xmmword [0x140038970]
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], 0
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x140013c63
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013c5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013c86
call fcn.14001af38
xor al, al
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.14001b0b0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
call fcn.140020dc4
int3
call fcn.140020dc4
nop
call fcn.140020dc4
nop
int3