Function at 0x14005d9a0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x2b8
mov qword [rsp + 0x298], 0xfffffffffffffffe
mov rax, qword [0x14008c080]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
cmp qword [rsp + 0x2c8], 0xffffffffffffffff
je 0x14005d9ef
cmp qword [rsp + 0x2d0], 0
jne 0x14005d9f6
xor eax, eax
jmp 0x14005dcc6
mov dword [rsp + 0x38], 0
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x2c8]
call qword [sym.imp.SETUPAPI.dll_SetupDiOpenDeviceInterfaceRegKey]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0xffffffffffffffff
je 0x14005dcc2
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x264], 0
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x260], 0
mov r8d, 0x208
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.14001c3c0
mov dword [rsp + 0x264], 4
lea rax, [rsp + 0x264]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
lea rdx, str.Port_Number
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x260], eax
cmp dword [rsp + 0x260], 0
jne 0x14005daf6
mov dword [rsp + 0x264], 0x208
lea rax, [rsp + 0x264]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
lea rdx, str.Base_Name
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x260], eax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0x260], 0
jne 0x14005dcc2
mov dword [rsp + 0x38], 0
lea rcx, [rsp + 0x268]
call fcn.140039010
nop
mov dword [rsp + 0x280], 0
lea r9, [rsp + 0x280]
mov r8d, 2
xor edx, edx
lea rcx, [rsp + 0x268]
call fcn.14003ac60
mov qword [rsp + 0x278], rax
cmp qword [rsp + 0x278], 0
je 0x14005dcb5
mov dword [rsp + 0x284], 0
jmp 0x14005db82
mov eax, dword [rsp + 0x284]
add eax, 1
mov dword [rsp + 0x284], eax
cmp dword [rsp + 0x38], 0
jne 0x14005dc9f
mov eax, dword [rsp + 0x280]
cmp dword [rsp + 0x284], eax
jae 0x14005dc9f
mov ecx, dword [rsp + 0x284]
imul rcx, rcx, 0x20
mov rax, qword [rsp + 0x278]
cmp qword [rax + rcx], 0
je 0x14005dc9a
mov eax, dword [rsp + 0x284]
imul rax, rax, 0x20
mov rdx, qword [rsp + 0x278]
mov rdx, qword [rdx + rax]
mov rcx, qword [rsp + 0x2c0]
call fcn.14005c060
mov qword [rsp + 0x288], rax
cmp qword [rsp + 0x288], 0
je 0x14005dc9a
mov eax, dword [rsp + 0x284]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x278]
mov rcx, qword [rcx + rax]
mov rax, qword [rsp + 0x288]
sub rax, rcx
xor edx, edx
mov ecx, 2
div rcx
mov qword [rsp + 0x290], rax
mov eax, dword [rsp + 0x284]
imul rax, rax, 0x20
mov r8, qword [rsp + 0x290]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x278]
mov rcx, qword [rcx + rax]
call fcn.14001bf78
test eax, eax
jne 0x14005dc9a
mov rcx, qword [rsp + 0x288]
call fcn.14001c614
cmp eax, dword [rsp + 0x3c]
jne 0x14005dc9a
mov eax, dword [rsp + 0x284]
imul rax, rax, 0x20
mov rdx, qword [rsp + 0x278]
mov rdx, qword [rdx + rax]
mov rcx, qword [rsp + 0x2d8]
call fcn.1400012e0
mov dword [rsp + 0x38], 1
jmp 0x14005db71
mov rdx, qword [rsp + 0x278]
lea rcx, [rsp + 0x268]
call fcn.140038fb0
nop
lea rcx, [rsp + 0x268]
call fcn.140038ff0
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.14001b9f0
add rsp, 0x2b8
ret