Function at 0x140003140
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov rax, qword [0x14024a7f8]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov r14, rcx
mov qword [rsp + 0x58], rcx
xor edi, edi
call fcn.1400092f8
mov rcx, rax
test rax, rax
je 0x140003569
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
lea rdx, str.SoftwareValveSteamActiveProcess
lea rsi, [rdi - 1]
cmp rdx, 0x10000
jae 0x1400031bf
movzx edx, dx
lea rcx, [rbp - 0x70]
call fcn.1400062b0
jmp 0x1400031d7
mov r8, rsi
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400031c2
lea rcx, [rbp - 0x70]
call fcn.1400075d0
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rbx, qword [rbp - 0x70]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400034cf
mov dword [rbp - 0x74], 1
mov dword [rbp - 0x78], 0x104
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x74]
xor r8d, r8d
lea rdx, str.SteamClientDll
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400034cf
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
lea rax, [rbp + 0xa0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140003265
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x68]
call fcn.140007bc0
nop
lea rdi, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x140003353
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x60]
call fcn.14018c1e0
lea rcx, [0x140217a18]
lea r8, [0x140217a1a]
mov edx, 0x100
movzx eax, word [rcx]
cmp ax, dx
jae 0x14000330a
movzx eax, al
mov byte [rbp + rax - 0x60], 1
add rcx, 2
cmp rcx, r8
jne 0x1400032c4
lea rcx, [r15 - 1]
mov rax, r15
cmp rcx, r15
cmovb rax, rcx
lea rcx, [rdi + rax*2]
nop
movzx eax, word [rcx]
cmp ax, dx
jae 0x1400032ff
cmp byte [rbp + rax - 0x60], 0
jne 0x14000334b
cmp rcx, rdi
je 0x140003353
sub rcx, 2
jmp 0x1400032f0
lea rcx, [r15 - 1]
mov rax, r15
cmp rcx, r15
cmovb rax, rcx
lea rcx, [rdi + rax*2]
nop dword [rax]
mov edx, 1
lea rax, [0x140217a18]
movzx r8d, word [rcx]
cmp word [rax], r8w
je 0x14000334b
add rax, 2
sub rdx, 1
jne 0x140003330
cmp rcx, rdi
je 0x140003353
sub rcx, 2
jmp 0x140003320
sub rcx, rdi
sar rcx, 1
jmp 0x140003356
mov rcx, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
movsxd r8, ecx
cmp r15, r8
cmovb r8, r15
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x38]
call fcn.140007bc0
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400033cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400033c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003574
call fcn.140008cb4
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rsp + 0x78], xmm1
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdi, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdi, qword [rsp + 0x68]
call fcn.1400092f8
mov rcx, rax
test rax, rax
je 0x14000357a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
test rdi, rdi
je 0x140003450
cmp rdi, 0x10000
jae 0x140003437
movzx edx, di
mov rcx, r14
call fcn.1400062b0
xor r15d, r15d
jmp 0x140003462
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x140003440
xor r15d, r15d
jmp 0x140003456
xor r15d, r15d
mov r8d, r15d
mov rdx, rdi
mov rcx, r14
call fcn.1400075d0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400034a3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000349e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003585
call fcn.140008cb4
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14000352f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000352f
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.1400092f8
mov rcx, rax
test rax, rax
je 0x14000355e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
lea rdx, [0x14021768e]
mov rcx, r14
cmp rdx, 0x10000
jae 0x140003511
movzx edx, dx
call fcn.1400062b0
jmp 0x140003517
call fcn.140006410
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14000352f
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rax, r14
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.140188d60
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400023a0
nop
mov ecx, 0x80004005
call fcn.1400023a0
nop
call fcn.140194ef4
int3
mov ecx, 0x80004005
call fcn.1400023a0
nop
call fcn.140194ef4
int3