Function at 0x18001fc9c
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x100
mov rax, qword [0x180066008]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov eax, 0x200
xor ebx, ebx
mov dword [rsp + 0x40], eax
mov r13b, bl
lea rax, [0x18001c090]
mov qword [rsp + 0x30], rax
lea rax, [0x18001f760]
mov qword [rsp + 0x38], rax
call fcn.180020c7c
lea r14d, [rbx + 1]
mov esi, eax
test eax, eax
js 0x18002030b
lea r8, [rsp + 0x50]
mov r13b, r14b
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov eax, 0xcccccccd
mul dword [rsp + 0x44]
movabs rax, 0x624dd2f1a9fbe77
shr edx, 3
mov ecx, edx
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
add cl, r14b
mov byte [0x180067d72], cl
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x48]
xor edx, edx
mov ecx, dword [rsp + 0x48]
shr rax, 0x20
imul rax, rax, 0xf4240
div qword [0x180067c48]
mov r8, rax
shl rdx, 0x20
imul rax, rcx, 0xf4240
shl r8, 0x20
lea rcx, [0x180069160]
add rax, rdx
xor edx, edx
div qword [0x180067c48]
xor edx, edx
add rax, r8
mov r8d, 0xd8
mov qword [0x180069158], rax
call fcn.180029d60
lea rdx, [0x180069118]
lea ecx, [rbx + 0x2a]
call fcn.180041564
lea rcx, [0x180067e18]
call fcn.180020b50
lea edi, [r14 + 0x7f]
xor edx, edx
mov r8d, edi
lea rcx, [0x180067c98]
call fcn.180029d60
lea r9, [0x180067d90]
mov r8d, r14d
lea rdx, [fcn.180002420]
xor ecx, ecx
call fcn.18001fa8c
mov esi, eax
test eax, eax
jns 0x18001fe37
test byte [0x180067c75], 0x40
je 0x18001fe37
lea r9, str.__lib__Failed_to_open_global_settings__0x_x
mov dword [rsp + 0x20], eax
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x70]
mov edx, edi
call fcn.180042088
lea r8, [rsp + 0x70]
lea rdx, [0x180056d08]
call fcn.1800417fc
xor ecx, ecx
call fcn.180002420
mov eax, 4
lea rdi, [0x18005a8a4]
xorps xmm0, xmm0
lea r15, [0x180057268]
movups xmmword [0x180067df8], xmm0
mov rcx, rdi
lea r9d, [rax - 2]
lea r12d, [rax - 1]
movups xmmword [0x180067e08], xmm0
cmp dword [rcx - 4], 0x1000000
jne 0x18001fe95
mov r10d, dword [rcx]
mov r8d, ebx
mov rdx, r15
cmp r10d, dword [rdx]
je 0x18001fe92
add r8d, r14d
add rdx, 4
cmp r8d, r12d
jb 0x18001fe7f
jmp 0x18001fe95
add eax, 4
add rcx, 8
sub r9, r14
jne 0x18001fe6d
mov rcx, qword [0x180069238]
test eax, eax
cmove eax, ebx
xor edx, edx
mov r8d, eax
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [0x180069148], rax
test rax, rax
jne 0x18001fee6
test byte [0x180067c70], 2
je 0x18001fedc
mov r9d, r14d
lea r8, str.default_compatibility_list
call fcn.180041870
mov esi, 0x8007000e
jmp 0x18002030b
mov r8, qword [0x180069148]
mov r11d, 4
mov eax, r14d
mov edx, r11d
shr eax, 2
mov dword [0x180069150], eax
lea r9d, [r11 - 2]
cmp dword [rdi - 4], 0x1000000
jne 0x18001ff2b
mov r10d, dword [rdi]
mov ecx, ebx
mov rax, r15
cmp r10d, dword [rax]
je 0x18001ff28
inc ecx
add rax, r11
cmp ecx, r12d
jb 0x18001ff17
jmp 0x18001ff2b
add edx, r11d
add rdi, 8
sub r9, 1
jne 0x18001ff06
cmp r14d, edx
jb 0x180020303
test r8, r8
je 0x180020303
mov edx, r11d
mov dword [r8], 0x1000000
lea r14d, [r9 + 1]
mov ecx, ebx
lea rax, [0x18005a8a4]
cmp dword [rax - 4], 0x1000000
jne 0x18001ff6e
mov edi, dword [rax]
cmp edi, dword [r15]
je 0x18001ff7c
add ecx, r14d
add rax, 8
cmp ecx, 2
jae 0x18001ff85
jmp 0x18001ff5e
mov eax, edx
add edx, r11d
mov dword [rax + r8], edi
add r15, r11
sub r12, r14
jne 0x18001ff55
mov rcx, qword [0x180067d90]
test rcx, rcx
je 0x18001ffdc
lea rax, [rsp + 0x44]
mov dword [rsp + 0x44], r11d
mov rcx, qword [rcx]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rdx, str.MaxPartitionCount
lea rax, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [rsp + 0x40]
mov ecx, 0x200
cmp eax, ecx
cmova eax, ecx
mov dword [rsp + 0x40], eax
mov ecx, 0xffff
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorCount]
mov word [0x180067d6c], ax
mov edx, eax
test ax, ax
jne 0x180020016
lea r8, str.MsQuicLib.ProcessorCount___0
mov edx, 0x14c
lea rcx, str.D:workspace_work1_s_srcmsquic_srccorelibrary.c
call fcn.18004b2ec
int 0x2c
movzx edx, word [0x180067d6c]
mov ecx, dword [rsp + 0x40]
movzx eax, dx
cmp eax, ecx
cmovb cx, dx
movzx eax, cx
mov word [0x180067d6e], cx
shr ax, 1
or cx, ax
movzx eax, cx
shr ax, 2
or cx, ax
movzx eax, cx
shr ax, 4
or cx, ax
movzx eax, cx
shr ax, 8
or cx, ax
movzx eax, cx
shr ax, 1
sub cx, ax
movzx eax, dx
add cx, cx
xor edx, edx
sub cx, r14w
mov word [0x180067d70], cx
mov rcx, qword [0x180069238]
lea r8, [rax + rax*2]
shl r8, 7
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [0x180067dc8], rax
test rax, rax
jne 0x1800200b6
test byte [0x180067c70], 2
je 0x18001fedc
movzx eax, word [0x180067d6e]
lea r8, str.connection_pools
lea r9, [rax + rax*2]
shl r9, 7
jmp 0x18001fed7
lea rdx, [rsp + 0x58]
mov ecx, shutdown
call fcn.180041564
movzx eax, word [0x180067d6c]
movzx esi, bx
cmp bx, ax
jae 0x180020197
mov r15d, 0x32306351
mov rcx, qword [0x180067dc8]
movzx eax, si
lea rdi, [rax + rax*2]
shl rdi, 7
add rcx, rdi
mov dword [rcx + 0x10], 0xbd8
mov dword [rcx + 0x14], 0x31306351
call qword [sym.imp.KERNEL32.dll_InitializeSListHead]
mov rcx, qword [0x180067dc8]
add rcx, 0x20
add rcx, rdi
mov dword [rcx + 0x10], 0xf0
mov dword [rcx + 0x14], r15d
call qword [sym.imp.KERNEL32.dll_InitializeSListHead]
mov rcx, qword [0x180067dc8]
add rcx, 0x40
add rcx, rdi
mov dword [rcx + 0x10], 0x1a0
mov dword [rcx + 0x14], r15d
call qword [sym.imp.KERNEL32.dll_InitializeSListHead]
mov rcx, qword [0x180067dc8]
add rcx, 0x68
add rcx, rdi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rax, qword [0x180067dc8]
xor edx, edx
mov r8d, 0xd8
mov qword [rdi + rax + 0x60], rbx
mov rcx, qword [0x180067dc8]
add rcx, 0x90
add rcx, rdi
call fcn.180029d60
movzx eax, word [0x180067d6c]
add si, r14w
cmp si, ax
jb 0x1800200de
movzx edi, bx
cmp bx, ax
jae 0x1800201dd
mov r9, qword [0x180067dc8]
lea rdx, [rsp + 0x58]
movzx eax, di
add r9, 0x60
mov r8d, shutdown
lea rcx, [rax + rax*2]
shl rcx, 7
add r9, rcx
xor ecx, ecx
call fcn.180019010
mov esi, eax
test eax, eax
js 0x18002020a
add di, r14w
cmp di, word [0x180067d6c]
jb 0x18002019f
lea r9, [0x180067d98]
lea rdx, [rsp + 0x30]
call fcn.180020504
mov esi, eax
test eax, eax
jns 0x18002022b
test byte [0x180067c70], 4
je 0x18002030b
lea r9, str.CxPlatDataPathInitialize
jmp 0x18002021e
test byte [0x180067c70], 4
je 0x18002030b
lea r9, str.Create_reset_token_hash
mov r8d, eax
call fcn.18004176c
jmp 0x18002030b
mov rax, qword [0x180067c70]
test r14b, al
je 0x180020288
mov rax, qword [0x180067d98]
lea rdx, [0x180056db8]
movzx r8d, word [0x180067d6e]
mov r9d, dword [rax]
call fcn.180041704
mov rax, qword [0x180067c70]
test r14b, al
je 0x180020288
mov eax, dword [0x180067c90]
mov r9d, dword [0x180067c88]
mov r8d, dword [0x180067c84]
mov dword [rsp + 0x28], eax
mov eax, dword [0x180067c8c]
mov dword [rsp + 0x20], eax
call fcn.1800388f0
lea rcx, str.verifier.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1800202ae
lea rcx, str.vrfcore.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1800202ae
mov bl, 2
mov al, byte [0x180067c80]
and al, 0xfd
or al, bl
mov byte [0x180067c80], al
test al, 2
je 0x1800203f0
test byte [0x180067c75], 0x80
je 0x1800203f0
lea r9, str.__lib__Verifing_enabled_for_all_
or r8, 0xffffffffffffffff
mov edx, 0x80
lea rcx, [rsp + 0x70]
call fcn.180042088
lea r8, [rsp + 0x70]
lea rdx, [0x180056c78]
call fcn.1800417fc
jmp 0x1800203f0
test esi, esi
jns 0x1800203f0
cmp qword [0x180067dc8], rbx
je 0x1800203b3
cmp bx, word [0x180067d6c]
movzx r14d, bx
jae 0x1800203a0
mov ebx, 1
mov rcx, qword [0x180067dc8]
movzx eax, r14w
lea rdi, [rax + rax*2]
shl rdi, 7
add rcx, rdi
call fcn.180023464
mov rcx, qword [0x180067dc8]
add rcx, 0x20
add rcx, rdi
call fcn.180023464
mov rcx, qword [0x180067dc8]
add rcx, 0x40
add rcx, rdi
call fcn.180023464
mov rcx, qword [0x180067dc8]
add rcx, 0x68
add rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [0x180067dc8]
mov rcx, qword [rdi + rcx + 0x60]
call fcn.1800247a4
add r14w, bx
cmp r14w, word [0x180067d6c]
jb 0x18002032a
xor ebx, ebx
mov rcx, qword [0x180067dc8]
call fcn.180041550
mov qword [0x180067dc8], rbx
mov rcx, qword [0x180067d90]
test rcx, rcx
je 0x1800203cb
call fcn.1800236c0
mov qword [0x180067d90], rbx
mov rax, qword [0x180069148]
test rax, rax
je 0x1800203e6
mov rcx, rax
call fcn.180041550
mov qword [0x180069148], rbx
test r13b, r13b
je 0x1800203f0
call fcn.180023530
xor eax, eax
lea rdi, [rsp + 0x58]
lea ecx, [rax + 0x14]
rep stosb byte [rdi], al
mov eax, esi
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.180028c10
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret