Function at 0x107a7b5
Capabilities:
Delete registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x1099a38]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
xor esi, esi
cmp eax, 0xffffffff
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x454], esi
mov dword [ebp - 0x45c], esi
mov dword [ebp - 0x458], esi
je 0x107abab
push edi
push 0x4a
pop ecx
xor eax, eax
push edx
lea edi, [ebp - 0x12c]
rep stosd dword es:[edi], eax
push 0x104
lea eax, [ebp - 0x108]
push eax
mov dword [ebp - 0x12c], 0x128
mov dword [ebp - 0x124], 0x800
mov dword [ebp - 0x128], 0x830000
call fcn.0108c975
call dword [sym.imp.SETUPAPI.dll_SetupOpenFileQueue]
cmp eax, 0xffffffff
mov dword [ebp - 0x460], eax
jne 0x107a866
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1025674
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107abaa
mov edi, dword [ebp - 0x44c]
or dword [ebp - 0x128], 0x1000008
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x12c]
push eax
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsA]
test eax, eax
jne 0x107a89d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x102759c
jmp 0x107a8b7
push 2
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
jne 0x107a8c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027564
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107ab64
lea eax, [ebp - 0x448]
push eax
push esi
push 2
push ebx
push edi
mov dword [ebp - 0x448], 0x31c
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoA]
test eax, eax
jne 0x107a8f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027518
jmp 0x107aa12
cmp dword [ebp + 0x1c], 3
jne 0x107a930
push 0x20006
push 2
push esi
push 1
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov esi, eax
cmp esi, 0xffffffff
je 0x107a930
mov edi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push 0x1027508
push esi
call edi
push 0x10274f8
push esi
call edi
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
push ebx
push dword [ebp - 0x44c]
push 0x17
call esi
test eax, eax
jne 0x107a956
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10274c0
jmp 0x107aa12
push ebx
push dword [ebp - 0x44c]
push 0x15
call esi
test eax, eax
jne 0x107a976
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x102748c
jmp 0x107aa12
cmp dword [ebp + 0x1c], 2
jne 0x107a9bb
mov eax, dword [0x1116a7c]
mov dword [ebp - 0x468], eax
lea eax, [ebp - 0x47c]
push eax
push dword [ebp - 0x460]
mov dword [ebp - 0x46c], 1
call fcn.01036275
test eax, eax
je 0x107ab54
xor edi, edi
cmp dword [ebp - 0x46c], edi
je 0x107ab54
jmp 0x107a9bd
xor edi, edi
push ebx
push dword [ebp - 0x44c]
push 0x22
call esi
test eax, eax
jne 0x107a9da
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027454
jmp 0x107aa12
push ebx
push dword [ebp - 0x44c]
push 0x20
call esi
test eax, eax
jne 0x107a9f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027420
jmp 0x107aa12
push ebx
push dword [ebp - 0x44c]
push 2
call esi
test eax, eax
jne 0x107aa1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10273f0
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107ab54
lea eax, [ebp - 0x12c]
push eax
push ebx
push dword [ebp - 0x44c]
mov dword [ebp - 0x12c], 0x128
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
je 0x107aa69
test word [ebp - 0x128], 0x180
je 0x107aa69
push dword [ebp - 0x450]
mov dword [0x10f6828], 1
push 0x10273d8
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107aae2
push edi
push dword [ebx + 0x14]
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x454]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Get_DevNode_Status]
test eax, eax
mov eax, dword [ebp - 0x45c]
jne 0x107aa94
test byte [ebp - 0x453], 1
jne 0x107aab4
cmp eax, 0xe
je 0x107aab4
cmp eax, 0x1c
je 0x107aab4
push eax
push dword [ebp - 0x454]
push 0x102739c
call fcn.01071ac0
add esp, 0xc
jmp 0x107aae2
push eax
push dword [ebp - 0x454]
push 0x102739c
call fcn.01071ac0
push dword [ebp - 0x450]
push 0x10273d8
call fcn.01071ac0
add esp, 0x14
mov dword [0x10f6828], 1
cmp dword [0x109abbc], edi
jne 0x107aaf4
mov dword [0x10f6828], 1
mov eax, dword [0x10f55c8]
cmp eax, edi
je 0x107ab0a
push edi
push dword [ebp - 0x450]
push eax
call fcn.01072ba9
cmp dword [0x10f6828], edi
jne 0x107ab4a
push 0x108
lea eax, [ebp - 0x458]
push eax
push dword [0x1099ea0]
call fcn.01083ae4
test eax, eax
je 0x107ab4a
push edi
push edi
push 0x104
push dword [ebp - 0x458]
push 0xffffffffffffffff
push dword [ebp - 0x450]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [0x10bd100], 1
mov edi, dword [ebp - 0x44c]
push 2
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDriverInfoList]
lea eax, [ebp - 0x12c]
push eax
push ebx
push edi
mov dword [ebp - 0x12c], 0x128
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
je 0x107ab9e
and dword [ebp - 0x128], 0xfffffff7
or dword [ebp - 0x114], 0xffffffff
lea eax, [ebp - 0x12c]
push eax
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsA]
push dword [ebp - 0x460]
call dword [sym.imp.SETUPAPI.dll_SetupCloseFileQueue]
pop edi
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
inc eax
pop ebx
call fcn.0106bc50
leave
ret 0x18