Function at 0x1400185c0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x520
mov rax, qword [0x1401970d0]
xor rax, rsp
mov qword [rsp + 0x510], rax
xor esi, esi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREASUSARMOURY_CRATE_Service
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140018973
mov dword [rsp + 0x68], 0x400
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.WebSocketTarget
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140018973
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0x90]
call fcn.14001af10
nop
lea r9, [rsp + 0x110]
cmp word [rsp + 0x110], si
je 0x1400186cb
nop dword [rax]
add r9, 2
cmp word [r9], 0
jne 0x1400186c0
lea r8, [rsp + 0x110]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x90]
call fcn.14001cc60
nop
lea rdx, [rsp + 0x70]
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x88]
cmp r11, 0x10
cmovae rdx, r10
mov r9, qword [rsp + 0x80]
mov r8, 0xffffffffffffffff
cmp r9, 1
jb 0x140018740
lea rax, [r9 - 1]
mov rcx, r8
cmp rax, rcx
cmovb rcx, rax
add rcx, rdx
cmp byte [rcx], 0x3a
jne 0x140018731
mov eax, esi
test eax, eax
je 0x14001873b
cmp rcx, rdx
je 0x140018740
dec rcx
jmp 0x140018726
sub rcx, rdx
jmp 0x140018743
mov rcx, r8
inc rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
cmp r9, rcx
jb 0x14001899a
sub r9, rcx
cmp r9, 0xffffffffffffffff
cmovb r8, r9
lea rdx, [rsp + 0x70]
cmp r11, 0x10
cmovae rdx, r10
add rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.14000e8b0
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x10
jb 0x1400187c5
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400187c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001899f
call fcn.14010a970
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x80], xmm1
movdqa xmm0, xmmword [0x14016f790]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.14000e730
mov r8, qword [rsp + 0x80]
test r8, r8
je 0x1400188fd
lea rdi, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rdi, qword [rsp + 0x70]
add rdi, r8
lea rbx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rbx, qword [rsp + 0x70]
cmp rbx, rdi
je 0x140018858
nop word [rax + rax]
movsx ecx, byte [rbx]
call fcn.140122580
test eax, eax
je 0x1400188fd
inc rbx
cmp rbx, rdi
jne 0x140018840
call fcn.140122fdc
mov rdi, rax
lea rbx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rbx, qword [rsp + 0x70]
mov dword [rax], esi
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140122904
mov esi, eax
cmp rbx, qword [rsp + 0x60]
je 0x1400189a5
cmp dword [rdi], 0x22
je 0x1400189b1
lea rcx, [rsp + 0x70]
call fcn.14000e730
nop
lea rax, vtable.std::wstring_convert_class_std::codecvt_utf8_utf16_wchar_t__1114111__0___wchar_t__class_std::allocator_wchar_t___class_std::allocator_char__.0
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0xd0]
call fcn.14000e6a0
lea rcx, [rsp + 0xb0]
call fcn.14000e730
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1400188f9
mov rax, qword [rcx]
call qword [rax + select]
test rax, rax
je 0x1400188f9
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov eax, esi
jmp 0x140018975
call fcn.1400647c0
mov r8b, 1
lea rdx, str.GetWebSocketTarget_error
mov rcx, rax
call fcn.140063fc0
nop
lea rcx, [rsp + 0x70]
call fcn.14000e730
nop
lea rax, vtable.std::wstring_convert_class_std::codecvt_utf8_utf16_wchar_t__1114111__0___wchar_t__class_std::allocator_wchar_t___class_std::allocator_char__.0
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0xd0]
call fcn.14000e6a0
lea rcx, [rsp + 0xb0]
call fcn.14000e730
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14001896f
mov rax, qword [rcx]
call qword [rax + select]
test rax, rax
je 0x14001896f
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
xor eax, eax
jmp 0x140018975
xor eax, eax
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.14010a950
lea r11, [rsp + 0x520]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
call fcn.14001da30
call fcn.14011340c
int3
lea rcx, str.invalid_stoi_argument
call fcn.1400e7adc
lea rcx, str.stoi_argument_out_of_range
call fcn.1400e7b24
int3