Function at 0x140004cd0
Capabilities:
Delete registry value
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x2b60
call fcn.140013be0
sub rsp, rax
mov rax, qword [0x14001b0c8]
xor rax, rsp
mov qword [rsp + 0x2b50], rax
lea rcx, str.RemoveUSBDeviceRegKeys
call fcn.140004890
lea rcx, [rsp + 0x442]
xor edx, edx
mov r8d, 0x270e
mov word [rsp + 0x440], 0
call fcn.140007c20
lea rsi, str.DelVidPids
lea rdx, str.SOFTWAREHewlettPackardSISetup_
lea rcx, str.GetValueFromHKey__s__s
mov r8, rsi
lea rbx, [rsp + 0x440]
mov dword [rsp + 0x3c], 0x2710
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
call fcn.140004890
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREHewlettPackardSISetup_
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
mov edi, eax
je 0x140004dcb
lea rax, [rsp + 0x3c]
lea r9, [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x440]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
mov edi, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rsp + 0x242]
xor edx, edx
mov r8d, 0x1fe
mov word [rsp + 0x240], 0
call fcn.140007c20
lea r9, str.SOFTWAREHewlettPackardSISetup_
lea r8, str._s_s
lea rcx, [rsp + 0x240]
mov edx, 0x100
mov qword [rsp + 0x20], rsi
call fcn.140005bf0
lea rdx, [rsp + 0x240]
lea rcx, str.__DeleteHKLM__s
call fcn.140004890
lea rdx, [rsp + 0x240]
mov rcx, 0xffffffff80000002
call fcn.1400048a0
lea rdx, str.SOFTWAREHewlettPackardSISetup_
lea rcx, str.DeleteValueFromHKey__s__s
mov r8, rsi
mov qword [rsp + 0x30], 0
call fcn.140004890
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREHewlettPackardSISetup_
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140004e9b
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x140004fe9
cmp dword [rsp + 0x38], 7
jne 0x140004fe9
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x440]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x140004feb
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x440]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x140004fe2
nop
nop
lea rcx, [rsp + 0x42]
xor edx, edx
mov r8d, 0x1fe
mov word [rsp + 0x40], 0
call fcn.140007c20
lea r8, [0x140017e18]
lea rcx, [rsp + 0x40]
mov r9, rbx
mov edx, 0x100
call fcn.140005bf0
lea rcx, [rsp + 0x40]
call fcn.140004b70
lea r8, str._sMI_00
lea rcx, [rsp + 0x40]
mov r9, rbx
mov edx, 0x100
call fcn.140005bf0
lea rcx, [rsp + 0x40]
call fcn.140004b70
lea r8, str._sMI_01
lea rcx, [rsp + 0x40]
mov r9, rbx
mov edx, 0x100
call fcn.140005bf0
lea rcx, [rsp + 0x40]
call fcn.140004b70
lea r8, str._sMI_02
lea rcx, [rsp + 0x40]
mov r9, rbx
mov edx, 0x100
call fcn.140005bf0
lea rcx, [rsp + 0x40]
call fcn.140004b70
lea r8, str._sMI_03
lea rcx, [rsp + 0x40]
mov r9, rbx
mov edx, 0x100
call fcn.140005bf0
lea rcx, [rsp + 0x40]
call fcn.140004b70
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rbx, [rbx + rcx*2]
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
jne 0x140004ef0
mov eax, 1
jmp 0x140004feb
xor eax, eax
mov rcx, qword [rsp + 0x2b50]
xor rcx, rsp
call fcn.1400059d0
lea r11, [rsp + 0x2b60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret