Function at 0x140012590
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r12
push rbp
lea rbp, [rax - 0x3318]
mov eax, 0x3410
call fcn.14005ba50
sub rsp, rax
mov rax, qword [0x1400d9180]
xor rax, rsp
mov qword [rbp + 0x3300], rax
lea rax, [rsp + 0x48]
mov r12, 0xffffffff80000002
lea rdx, str.SoftwareWidcommBtConfigDebug
mov r9d, 0x20019
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001265d
mov rcx, qword [rsp + 0x48]
mov byte [rbp + 0x31f0], al
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x31f0]
lea rdx, str.ProxServLogFile
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x34], 0x104
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [rbp + 0x31f0], 0
je 0x14001265d
lea rdx, [0x14009688c]
lea rcx, [rbp + 0x31f0]
call fcn.14005e5dc
mov qword [0x1400db258], rax
call fcn.14003152c
mov rcx, qword [0x1400d8068]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rcx, qword [0x1400d8078]
mov esi, 1
mov dword [0x1400d8070], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rcx, qword [0x1400d8088]
mov dword [0x1400d8080], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rcx, qword [0x1400d8098]
mov dword [0x1400d8090], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rcx, qword [0x1400d80a8]
mov dword [0x1400d80a0], esi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsp + 0x50]
mov dword [0x1400d80b0], esi
call fcn.1400261f4
lea rcx, [rsp + 0x50]
mov qword [rbp + 0x368], r12
call fcn.140022d94
xor edx, edx
cmp dword [rbp + 0x31b8], esi
lea rcx, str.ProximitySDKInit____prox_in_SS_d
sete dl
mov dword [0x1400d805c], edx
call fcn.14000d630
call fcn.140011840
call fcn.14000df10
lea rbx, [0x1400db1c8]
mov rcx, rbx
call fcn.14000ec80
mov rcx, rbx
call fcn.14000f180
call fcn.14000dab0
test eax, eax
je 0x140012781
cmp dword [0x1400db710], 0
jne 0x14001273a
cmp dword [0x1400db714], 0
je 0x140012742
mov rcx, rbx
call fcn.14000dc20
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400107a0
and qword [rsp + 0x38], 0
cmp qword [0x1400db238], 0
jne 0x140012781
lea rdx, [0x1400db238]
lea rcx, [rsp + 0x38]
call sub.btwleapi.dll_BtwGattRegister
lea rcx, str.Proximity:_BtwGattRegister_returned:__d
mov edx, eax
call fcn.14000d630
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x31]
mov r9d, esi
mov edx, esi
mov byte [rsp + 0x31], 3
mov byte [rsp + 0x30], 0
call fcn.14000d8f0
movzx r11d, byte [rsp + 0x30]
mov dword [0x1400db1d4], r11d
call fcn.14000e2e0
mov ebx, reloc.WS2_32.dll_sendto
lea rcx, [0x1400db0c8]
mov r8d, ebx
xor edx, edx
mov dword [0x1400db1d0], eax
call fcn.14005bab0
movsx edx, byte [0x1400d803a]
lea rcx, [0x1400db0b0]
mov r8d, ebx
call fcn.14005bab0
lea r11, [rsp + 0x40]
lea rdx, str.SoftwareWidcommBTConfigProximity
mov r9d, esi
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140012861
and dword [rsp + 0x34], eax
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x34]
lea rdx, str.AlerLevel
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x38], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
movzx edx, byte [0x1400db20d]
movzx ecx, byte [rsp + 0x34]
test eax, eax
cmove edx, ecx
mov rcx, qword [rsp + 0x40]
mov byte [0x1400db20d], dl
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp + 0x3300]
xor rcx, rsp
call fcn.14005ba20
lea r11, [rsp + 0x3410]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov r12, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret