Function at 0x140020640
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x270
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x2b0], rbx
mov rax, qword [0x14003e010]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
call fcn.140001540
mov rcx, rax
test rax, rax
je 0x1400208c2
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140027f5e.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], 0x104
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.ProcessorNameString
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea r8, [rsp + 0x50]
lea rdx, [0x14002e674]
lea rcx, [rsp + 0x38]
call fcn.14000b890
mov rbx, qword [rsp + 0x38]
mov rsi, rbx
xor r15d, r15d
mov edi, r15d
movzx eax, word [rbx]
lea ebp, [r15 + 1]
test ax, ax
je 0x140020777
movzx ecx, ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x140020722
mov rax, rsi
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x140020725
mov rdi, r15
add rsi, 2
movzx eax, word [rsi]
test ax, ax
jne 0x140020706
test rdi, rdi
je 0x140020777
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x1400208cd
mov ecx, ebp
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140020763
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.14000b430
mov rbx, qword [rsp + 0x38]
cmp edi, dword [rbx - 0xc]
jg 0x1400208e3
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], r15w
mov rdi, rbx
movzx ecx, word [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x14002083b
nop dword [rax + rax]
add rdi, 2
movzx ecx, word [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
jne 0x140020790
cmp rdi, rbx
je 0x14002083b
sub rdi, rbx
sar rdi, 1
mov edx, dword [rbx - 0x10]
test edx, edx
js 0x1400208d8
sub ebp, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edx
or eax, ebp
jge 0x1400207d6
lea rcx, [rsp + 0x38]
call fcn.14000b430
mov rbx, qword [rsp + 0x38]
movsxd rax, edi
lea rdx, [rbx + rax*2]
mov ecx, dword [rbx - 0x10]
mov esi, ecx
sub esi, edi
lea eax, [rsi + 1]
movsxd r8, eax
add r8, r8
je 0x14002081f
test rdx, rdx
jne 0x140020805
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
jmp 0x1400208a6
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, rcx
cmp rcx, r8
jb 0x140020899
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
test esi, esi
js 0x1400208b7
cmp esi, dword [rbx - 0xc]
jg 0x1400208b7
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], r15w
lea rcx, [rbx - 0x18]
call fcn.14000b250
add rax, 0x18
mov qword [r14], rax
mov ecx, 0xffffffff
lock xadd dword [rbx - 8], ecx
sub ecx, 1
jg 0x14002086f
mov rcx, qword [rbx - 0x18]
mov r8, qword [rcx]
lea rdx, [rbx - 0x18]
mov rax, qword [r8 + 8]
call qword [case.0x140027f5e.0]
mov rax, r14
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140027890
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x270
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
nop
mov dword [rax], 0x22
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
mov ecx, 0x80070057
call fcn.140001280
int3
mov ecx, 0x80070057
call fcn.140001280
nop
mov ecx, 0x80004005
call fcn.140001280
nop
mov ecx, 0x80070057
call fcn.140001280
int3
mov ecx, 0x80070057
call fcn.140001280
int3
mov ecx, 0x80070057
call fcn.140001280
int3