Function at 0x140006504
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
xor ebx, ebx
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp + 0x48]
mov dword [rbp - 0xc], ebx
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea r15d, [rbx + 4]
mov rdi, rcx
lea rdx, str.Timeout
mov dword [rbp + 0x38], r15d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edx, eax
mov r14d, 0x80070000
test eax, eax
jne 0x14000656c
mov eax, dword [rbp + 0x48]
lea ecx, [rax - 3]
cmp ecx, 0x39
ja 0x140006571
mov dword [0x14003fc04], eax
jmp 0x140006584
cmp edx, 2
je 0x140006584
movzx eax, dx
or eax, r14d
test edx, edx
cmovle eax, edx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp - 0xc]
xor r8d, r8d
lea rdx, str.LogLevel
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, 0xfffffffd
je 0x1400065cb
movzx ecx, ax
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x140006889
mov ecx, dword [rbp - 0xc]
mov eax, 3
cmp ecx, eax
cmova ecx, eax
cmp dword [0x14003fbfc], ebx
mov dword [rbp - 0xc], ecx
je 0x140006605
test ecx, ecx
jne 0x1400065fe
call fcn.1400147fc
mov ecx, 1
call fcn.140014858
mov dword [0x14003fbfc], ebx
jmp 0x140006631
call fcn.140014858
jmp 0x140006631
test ecx, ecx
je 0x140006631
call fcn.140014858
call fcn.140012620
test eax, eax
js 0x140006889
call fcn.14001496c
mov qword [0x14003fcc8], rbx
mov dword [0x14003fbfc], 1
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp - 0x10]
xor r8d, r8d
lea rdx, str.CDBufferRead
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x140006674
cmp dword [rbp - 0x10], ebx
mov eax, ebx
setne al
mov dword [0x14003fc08], eax
jmp 0x14000668c
cmp ecx, 2
je 0x14000668c
movzx eax, cx
or eax, r14d
test ecx, ecx
cmovle eax, ecx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp + 0x48]
xor r8d, r8d
lea rdx, str.CDBufferSize
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x1400066ce
mov eax, dword [rbp + 0x48]
test eax, eax
je 0x1400066d3
mov dword [0x14003fc0c], eax
jmp 0x1400066e6
cmp ecx, 2
je 0x1400066e6
movzx eax, cx
or eax, r14d
test ecx, ecx
cmovle eax, ecx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp - 0x10]
xor r8d, r8d
lea rdx, str.NetworkBufferRead
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x140006729
cmp dword [rbp - 0x10], ebx
mov eax, ebx
setne al
mov dword [0x14003fc10], eax
jmp 0x140006741
cmp ecx, 2
je 0x140006741
movzx eax, cx
or eax, r14d
test ecx, ecx
cmovle eax, ecx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp + 0x48]
xor r8d, r8d
lea rdx, str.NetworkBufferSize
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x140006783
mov eax, dword [rbp + 0x48]
test eax, eax
je 0x140006788
mov dword [0x14003fc14], eax
jmp 0x14000679b
cmp ecx, 2
je 0x14000679b
movzx eax, cx
or eax, r14d
test ecx, ecx
cmovle eax, ecx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp - 0x10]
xor r8d, r8d
lea rdx, str.InternetBufferRead
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x1400067de
cmp dword [rbp - 0x10], ebx
mov eax, ebx
setne al
mov dword [0x14003fc18], eax
jmp 0x1400067f6
cmp ecx, 2
je 0x1400067f6
movzx eax, cx
or eax, r14d
test ecx, ecx
cmovle eax, ecx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp + 0x48]
xor r8d, r8d
lea rdx, str.InternetBufferSize
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x140006838
mov eax, dword [rbp + 0x48]
test eax, eax
je 0x14000683d
mov dword [0x14003fc1c], eax
jmp 0x14000684c
cmp ecx, 2
je 0x14000684c
movzx eax, cx
or eax, r14d
test ecx, ecx
cmovle eax, ecx
test eax, eax
js 0x140006889
lea rax, [rbp + 0x38]
mov dword [rbp + 0x38], r15d
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
lea rax, [rbp - 0x10]
xor r8d, r8d
lea rdx, str.BufferWrite
mov qword [rsp + 0x20], rax
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140006889
cmp dword [rbp - 0x10], ebx
setne bl
mov dword [0x14003fc20], ebx
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rbx
pop rbp
ret