Function at 0x140088f30
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f8
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rbx, rcx
xor r14d, r14d
mov dword [rsp + 0x248], r14d
lea rdi, [rcx + 0x18]
mov qword [rsp + 0x48], rdi
mov r8, rdi
lea rdx, str.SYSTEMCurrentControlSetServicesWinSock2ParametersProtocol_Catalog9
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x1400891a7
lea r13, [rbx + 0x20]
mov r8, r13
lea rdx, str.Catalog_Entries
mov rcx, qword [rdi]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x1400891a7
xor r12d, r12d
mov r9d, 0x190
lea r8, [rsp + 0x60]
xor edx, edx
mov rcx, qword [r13]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
test eax, eax
jne 0x1400891a7
lea r15, [rbx + 8]
lea rbx, vtable.CSABString.0
mov ecx, 0x3b8
call fcn.14018ef40
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140089109
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x60]
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x140089000
mov dword [rsp + 0x40], ecx
lea eax, [rcx + 1]
mov ebx, eax
mov ecx, eax
call fcn.140247068
mov rsi, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140089036
mov r8d, ebx
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1402496a0
mov ebp, 1
mov dword [rsp + 0x44], ebp
or r14d, ebp
mov dword [rsp + 0x248], r14d
mov rbx, qword [r13]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
lea rcx, vtable.CSABLSPInstance.0
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rbx
lea rcx, [rdi + 0x18]
lea rdx, [rsp + 0x30]
call fcn.140008ba0
mov dword [rdi + 0x3a8], 0
mov dword [rdi + 0x3ac], r12d
mov rax, qword [rsp + 0x240]
mov qword [rdi + 0x3b0], rax
lea r8, [rsp + 0x258]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x140089114
mov dword [rsp + 0x248], 0x378
lea rax, [rdi + 0x30]
lea rcx, [rsp + 0x248]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x250]
xor r8d, r8d
lea rdx, str.PackedCatalogItem
mov rcx, qword [rsp + 0x258]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x1400890f9
mov dword [rdi + 0x3a8], ebp
mov rcx, qword [rsp + 0x258]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140089114
xor edi, edi
mov ebp, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x248], rdi
test r14b, 1
je 0x14008913a
and r14d, 0xfffffffe
lea eax, [rbp - 1]
test eax, eax
jne 0x14008913a
test rsi, rsi
je 0x14008913a
mov rcx, rsi
call fcn.140247060
mov rbx, qword [r15]
mov rdi, qword [rbx + 8]
lea r9, [rsp + 0x248]
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call fcn.140009370
mov rdx, qword [r15 + 8]
movabs rcx, 0xaaaaaaaaaaaaaa9
sub rcx, rdx
cmp rcx, 1
jb 0x1400891bb
lea rcx, [rdx + 1]
mov qword [r15 + 8], rcx
mov qword [rbx + 8], rax
mov qword [rdi], rax
inc r12d
mov r9d, 0x190
lea r8, [rsp + 0x60]
mov edx, r12d
mov rcx, qword [r13]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
test eax, eax
lea rbx, vtable.CSABString.0
je 0x140088fd3
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rcx, str.list_T__too_long
call fcn.1402453d0
int3