Function at 0x18000c350
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov qword [rbp - 0x18], 0xfffffffffffffffe
cmp byte [0x180067fa0], 0
jne 0x18000c381
movzx eax, byte [0x180069c85]
jmp 0x18000c79a
mov byte [0x180067fa0], 0
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, str.CrossriderApp0057020
test rdx, 0xffffffffffff0000
jne 0x18000c3d1
movzx ebx, dx
mov ecx, ebx
call fcn.180002840
test rax, rax
je 0x18000c3e1
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1800023e0
jmp 0x18000c3e1
mov r8d, 0x14
lea rcx, [rbp - 0x48]
call fcn.180002020
nop
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x38], rax
lea rdx, str.CrossriderApp
test rdx, 0xffffffffffff0000
jne 0x18000c42a
movzx ebx, dx
mov ecx, ebx
call fcn.180002840
test rax, rax
je 0x18000c43a
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1800023e0
jmp 0x18000c43a
mov r8d, 0xd
lea rcx, [rbp - 0x38]
call fcn.180002020
nop
mov rax, qword [rbp - 0x48]
mov r8d, dword [rax - 0x10]
mov rax, qword [rbp - 0x38]
sub r8d, dword [rax - 0x10]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x48]
call fcn.180010550
nop
xor r15d, r15d
mov rbx, qword [rbp + 0x60]
mov eax, dword [rbx - 0x10]
test eax, eax
je 0x18000c5f4
js 0x18000c5e9
cmp byte [rbx], 0x30
jne 0x18000c5f4
lea r8d, [rax - 1]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x60]
call fcn.180010550
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x18000c59c
cmp dword [rdi + 0x10], 0
jl 0x18000c4d6
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18000c4d6
call fcn.180002110
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x18000c4c9
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rVariantCopy + 8]
lea rax, [rbx + 0x18]
mov qword [rbp + 0x60], rax
jmp 0x18000c59c
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x18000c52d
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x18000c59c
cmp dword [rdi + 0x10], 0
jge 0x18000c507
cmp dword [rbx - 0xc], 0
jl 0x18000c5bd
mov dword [rbx - 0x10], r15d
mov byte [rbx], 0
jmp 0x18000c59c
lock add dword [rdi + 0x10], 0xffffffff
jg 0x18000c51a
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + VariantCopy]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x60], rax
jmp 0x18000c59c
test r14, r14
je 0x18000c5de
mov r13d, dword [rbx - 0x10]
mov r15, r14
sub r15, rbx
test esi, esi
js 0x18000c5d3
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x18000c568
mov edx, esi
lea rcx, [rbp + 0x60]
call fcn.180002c50
mov rbx, qword [rbp + 0x60]
mov rdi, rsi
movsxd rdx, dword [rbx - 0xc]
mov r9, rsi
mov rcx, rbx
cmp r15, r13
ja 0x18000c585
lea r8, [r15 + rbx]
call fcn.180029ae8
jmp 0x18000c58d
mov r8, r14
call fcn.180028f24
cmp esi, dword [rbx - 0xc]
jg 0x18000c5c8
mov dword [rbx - 0x10], esi
mov byte [rdi + rbx], 0
xor r15d, r15d
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c45b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
jmp 0x18000c45b
mov ecx, 0x80070057
call fcn.180002bd0
int3
mov ecx, 0x80070057
call fcn.180002bd0
int3
mov ecx, 0x80070057
call fcn.180002bd0
int3
mov ecx, 0x80070057
call fcn.180002bd0
nop
mov ecx, 0x80070057
call fcn.180002bd0
int3
mov rcx, qword [0x18006a9a0]
test rcx, rcx
je 0x18000c606
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x40], rax
lea rdx, str.SoftwareBrowserExten
test rdx, 0xffffffffffff0000
jne 0x18000c64f
movzx ebx, dx
mov ecx, ebx
call fcn.180002840
test rax, rax
je 0x18000c65f
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1800023e0
jmp 0x18000c65f
mov r8d, 0x15
lea rcx, [rbp - 0x40]
call fcn.180002020
nop
lea r8, str.sionsProxySettings_
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.180001c40
nop
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.180001b80
lea rcx, [0x18006a9a0]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rax]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
setne bl
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c6c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c6e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c6f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
test bl, bl
jne 0x18000c74a
mov dword [rbp + 0x58], r15d
mov dword [rbp + 0x48], r15d
mov dword [rbp + 0x50], 4
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x58]
xor r8d, r8d
lea rdx, str.UseLocalSettings
mov rcx, qword [0x18006a9a0]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x18000c74a
cmp dword [rbp + 0x48], eax
setne bl
mov byte [0x180069c85], bl
jmp 0x18000c74c
xor bl, bl
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c765
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c77e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rax, qword [rbp - 0x48]
lea rdx, [rax - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18000c797
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rVariantCopy + 8]
movzx eax, bl
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret