Function at 0x140017e00
Capabilities:
Query or enumerate registry key

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2b8]
sub rsp, 0x390
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140067080]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov rdi, r8
mov qword [rbp - 0x18], r8
xor r12d, r12d
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREValveSteamApps
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14001808a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, [rbp + 0x4d]
nop dword [rax]
nop dword [rax + rax]
dec r9
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 [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140017e90
lea r8, [rbp + 0x4d]
mov rdx, r9
lea rcx, [rsp + 0x68]
call fcn.140002d60
nop
mov r8, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
sub rax, r8
mov r15d, 0x28
lea r14, str.Error_opening_steam_registry_key._Code:
cmp rax, r15
jb 0x140017f69
lea rax, [r8 + 0x28]
mov qword [rsp + 0x78], rax
lea rbx, [rsp + 0x68]
cmp rcx, 0xf
cmova rbx, qword [rsp + 0x68]
lea rax, [0x14005c198]
cmp rax, rbx
jbe 0x140017f2c
lea rax, [rbx + r8]
cmp r14, rax
ja 0x140017f2c
cmp rbx, r14
ja 0x140017f24
mov rsi, r12
jmp 0x140017f2f
mov rsi, rbx
sub rsi, r14
jmp 0x140017f2f
mov rsi, r15
lea rcx, [rbx + 0x28]
inc r8
mov rdx, rbx
call fcn.14004a380
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.14004a380
lea rcx, [rbx + rsi]
sub r15, rsi
lea rdx, [r14 + 0x28]
add rdx, rsi
mov r8, r15
call fcn.14004a380
lea rax, [rsp + 0x68]
jmp 0x140017f80
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.14000fe00
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 2
lea rdx, [rbp - 8]
call fcn.140012800
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140017ff8
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017ff3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018750
call fcn.140022abc
movdqa xmm0, xmmword [0x14005ce60]
movdqu xmmword [rbp + 8], xmm0
mov byte [rbp - 8], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x140018046
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018040
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018756
call fcn.140022abc
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 7
jbe 0x1400186ec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400186e7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001873e
jmp 0x1400186e4
mov ebx, r12d
mov dword [rsp + 0x40], ebx
xor edx, edx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov dword [rbp - 0x10], 0x100
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x60]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
je 0x140018632
movabs rsi, 0x7ffffffffffffffe
test eax, eax
jne 0x140018471
lea rdx, [0x14005c1e8]
lea rcx, [rbp - 8]
call fcn.140002af0
nop
mov rax, rsi
mov rcx, qword [rbp + 8]
sub rax, rcx
cmp rax, 0x19
jb 0x140018780
lea rax, [rbp - 8]
cmp qword [rbp + 0x10], 7
cmova rax, qword [rbp - 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x19
lea r9, str.SOFTWAREValveSteamApps
lea rcx, [rsp + 0x48]
call fcn.14000fcc0
nop
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.14000f7f0
movups xmm7, xmmword [rax]
movups xmmword [rbp + 0x18], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 0x28], xmm6
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x1400181a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001819f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001875c
call fcn.140022abc
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r12w
lea rax, [rbp - 0x40]
mov qword [rbp - 0x50], rax
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.140002c30
mov qword [rbp - 0x58], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x50], r12
lea r15, [rbp + 0x18]
movdqa xmm0, xmm6
psrldq xmm0, 8
movq r12, xmm0
cmp r12, 7
seta r13b
movq rsi, xmm7
cmova r15, rsi
movq r14, xmm6
movabs rcx, 0x7ffffffffffffffe
cmp r14, rcx
ja 0x14001877a
cmp r14, 7
ja 0x140018239
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], 7
movups xmm0, xmmword [r15]
movups xmmword [rbp + 0x38], xmm0
jmp 0x1400182ec
mov rbx, r14
or rbx, 7
cmp rbx, rcx
jbe 0x140018258
mov rbx, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140018288
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140018774
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400182b7
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140018774
mov rcx, rax
call fcn.140022a80
mov rcx, rax
test rax, rax
je 0x140018762
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400182c5
test rcx, rcx
je 0x1400182c3
call fcn.140022a80
jmp 0x1400182c5
xor eax, eax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], rbx
lea r8, [r14*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.14004a380
mov ebx, dword [rsp + 0x40]
mov rax, qword [rbp - 0x58]
mov r8, rax
lea rdx, [rbp + 0x38]
mov rcx, 0xffffffff80000001
call fcn.140017ca0
test eax, eax
jne 0x140018392
inc ebx
mov dword [rsp + 0x40], ebx
test r13b, r13b
je 0x140018348
lea rdx, [r12*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14001833f
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018768
mov rcx, rsi
call fcn.140022abc
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 7
jbe 0x140018388
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018383
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001876e
call fcn.140022abc
xor r12d, r12d
mov edx, ebx
jmp 0x140018093
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
cmp r12, 7
jbe 0x1400183d9
lea rdx, [r12*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400183d0
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018768
mov rcx, rsi
call fcn.140022abc
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 7
jbe 0x14001841a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018414
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001876e
call fcn.140022abc
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 7
jbe 0x140018459
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140018454
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001874a
mov rcx, r8
call fcn.140022abc
xor eax, eax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 7
mov word [rdi], ax
mov al, 1
jmp 0x1400186fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, [rbp + 0x4d]
nop
dec r9
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 [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140018480
lea r8, [rbp + 0x4d]
mov rdx, r9
lea rcx, [rbp - 0x78]
call fcn.140002d60
nop
mov r8, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
sub rax, r8
mov r15d, 0x27
lea r14, str.Error_enumerating_steam_subkeys._Code:
cmp rax, r15
jb 0x140018553
lea rax, [r8 + 0x27]
mov qword [rbp - 0x68], rax
lea rbx, [rbp - 0x78]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x78]
lea rax, [0x14005c1e7]
cmp rax, rbx
jbe 0x140018517
lea rax, [rbx + r8]
cmp r14, rax
ja 0x140018517
cmp rbx, r14
ja 0x14001850f
mov rsi, r12
jmp 0x14001851a
mov rsi, rbx
sub rsi, r14
jmp 0x14001851a
mov rsi, r15
lea rcx, [rbx + 0x27]
inc r8
mov rdx, rbx
call fcn.14004a380
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.14004a380
lea rcx, [rbx + rsi]
sub r15, rsi
lea rdx, [r14 + 0x27]
add rdx, rsi
mov r8, r15
call fcn.14004a380
lea rax, [rbp - 0x78]
jmp 0x140018569
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
mov rdx, r15
lea rcx, [rbp - 0x78]
call fcn.14000fe00
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 2
lea rdx, [rbp - 8]
call fcn.140012800
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x1400185e1
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400185dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018786
call fcn.140022abc
movdqa xmm0, xmmword [0x14005ce60]
movdqu xmmword [rbp + 8], xmm0
mov byte [rbp - 8], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x1400186a6
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400186a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018744
jmp 0x1400186a1
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
mov r8d, 0x1d
lea rdx, str.running_steam_games_not_found
lea rcx, [rsp + 0x48]
call fcn.140001920
nop
xor r8d, r8d
lea rdx, [rsp + 0x48]
call fcn.140012800
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x1400186a6
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400186a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018738
call fcn.140022abc
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 7
jbe 0x1400186ec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400186e7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001874a
mov rcx, r8
call fcn.140022abc
mov word [rdi], r12w
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r12
xor al, al
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.140022a60
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.14002994c
nop
call fcn.140001620
int3
call fcn.1400016c0
nop
call fcn.1400016c0
nop
call fcn.14002994c
int3