Function at 0x107a24d
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x794
mov eax, dword [0x1099a38]
or dword [ebp - 0x758], 0xffffffff
or dword [ebp - 0x760], 0xffffffff
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
push edi
mov edi, dword [ebp + 0x10]
xor eax, eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x75c], edi
mov dword [ebp - 0x764], eax
je 0x107a6e0
push eax
push 4
lea ecx, [ebp - 0x764]
push ecx
push eax
push 0xa
push esi
push ebx
mov dword [ebp - 0x770], 1
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
je 0x107a2db
test byte [ebp - 0x764], 0x20
je 0x107a2db
push 0x1027390
push 0x103
lea eax, [ebp - 0x108]
push eax
call fcn.0108c975
push edi
push 0x102736c
jmp 0x107a32e
push 0x1027360
mov edi, 0x100bc20
push edi
lea eax, [ebp - 0x108]
push 0x103
push eax
call fcn.01037486
add esp, 0x10
push 0
push 0
lea eax, [ebp - 0x770]
push eax
lea eax, [ebp - 0x76c]
push eax
lea eax, [ebp - 0x778]
push eax
push 0xa
push dword [esi + 0x14]
call dword [sym.imp.SETUPAPI.dll_CM_Get_DevNode_Registry_Property_ExW]
cmp eax, 0x1a
je 0x107a33a
push dword [ebp - 0x75c]
push 0x1027330
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107a64d
push 0x2001f
push 2
push 0
push 1
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
cmp eax, 0xffffffff
mov dword [ebp - 0x758], eax
jne 0x107a369
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027310
jmp 0x107a515
lea ecx, [ebp - 0x774]
push ecx
lea ecx, [ebp - 0x414]
push ecx
lea ecx, [ebp - 0x768]
push ecx
push 0
push 0x1020300
push eax
mov dword [ebp - 0x774], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x107a629
cmp dword [ebp - 0x768], 1
jne 0x107a629
lea eax, [ebp - 0x414]
push eax
push edi
lea eax, [ebp - 0x108]
push 0x103
push eax
call fcn.01037486
add esp, 0x10
push dword [ebp - 0x758]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
or dword [ebp - 0x758], 0xffffffff
lea eax, [ebp - 0x438]
push eax
push esi
push ebx
mov dword [ebp - 0x438], 0x128
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
je 0x107a6e0
or dword [ebp - 0x430], 0x4000800
lea eax, [ebp - 0x438]
push eax
push esi
push ebx
mov dword [ebp - 0x434], 0x800000
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsA]
test eax, eax
jne 0x107a433
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10272d4
jmp 0x107a515
push 2
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
jne 0x107a44f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x102729c
jmp 0x107a47c
lea eax, [ebp - 0x754]
push eax
push 0
push 2
push esi
push ebx
mov dword [ebp - 0x754], 0x31c
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoA]
test eax, eax
jne 0x107a4b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027250
call fcn.01071ac0
push 0x1027360
push edi
lea eax, [ebp - 0x108]
push 0x103
push eax
call fcn.01037486
push dword [ebp - 0x75c]
push 0x1027234
call fcn.01071ac0
add esp, 0x20
jmp 0x107a64d
push esi
push ebx
push 0x17
call dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x107a4d5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027204
call fcn.01071ac0
pop ecx
jmp 0x107a626
lea eax, [ebp - 0x438]
push eax
push esi
push ebx
mov dword [ebp - 0x438], 0x128
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
je 0x107a6e0
call dword [sym.imp.SETUPAPI.dll_SetupOpenFileQueue]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x760], edi
jne 0x107a521
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10271d4
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107a6e0
or dword [ebp - 0x434], 8
or byte [ebp - 0x42e], 8
lea eax, [ebp - 0x438]
push eax
push esi
push ebx
mov dword [ebp - 0x420], edi
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsA]
test eax, eax
jne 0x107a560
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10272d4
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107a691
push esi
push ebx
push 0x15
call dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x107a57f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10271a0
jmp 0x107a4ca
mov eax, dword [0x1116a7c]
mov dword [ebp - 0x780], eax
lea eax, [ebp - 0x794]
push eax
push edi
mov dword [ebp - 0x784], 1
call fcn.01035f79
test eax, eax
je 0x107a61c
cmp dword [ebp - 0x784], 0
je 0x107a61c
lea eax, [ebp - 0x108]
push eax
call fcn.0107578c
cmp eax, 1
jne 0x107a64d
push 0x104
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edi, 0x103
push edi
lea eax, [ebp - 0x310]
push eax
push 0x1019b08
lea eax, [ebp - 0x20c]
push eax
call fcn.01070fc9
push edi
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01070fc9
lea eax, [ebp - 0x20c]
push eax
call fcn.0104fdf3
jmp 0x107a64d
push 0x1027178
call fcn.01071ac0
pop ecx
jmp 0x107a672
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027154
call fcn.01071ac0
push dword [ebp - 0x75c]
push 0x1027234
call fcn.01071ac0
add esp, 0x10
lea eax, [ebp - 0x108]
push eax
push esi
push ebx
call fcn.01075644
mov eax, dword [0x10f55c4]
test eax, eax
je 0x107a672
push 0
push dword [ebp - 0x75c]
push eax
call fcn.01072ba9
push 2
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDriverInfoList]
cmp dword [ebp - 0x758], 0xffffffff
je 0x107a691
push dword [ebp - 0x758]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x760], 0xffffffff
je 0x107a6e0
lea eax, [ebp - 0x438]
push eax
push esi
push ebx
mov dword [ebp - 0x438], 0x128
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
je 0x107a6d4
and dword [ebp - 0x434], 0xfffffff7
or dword [ebp - 0x420], 0xffffffff
lea eax, [ebp - 0x438]
push eax
push esi
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceInstallParamsA]
push dword [ebp - 0x760]
call dword [sym.imp.SETUPAPI.dll_SetupCloseFileQueue]
mov ecx, dword [ebp - 4]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
call fcn.0106bc50
leave
ret 0xc