Function at 0x10001900
Capabilities:
Read .ini file
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a8
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x2a4]
push esi
push edi
push eax
push 0
mov edi, edx
mov esi, ecx
push edi
push esi
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineW]
test eax, eax
je 0x10001b09
mov eax, dword [ebp + 8]
cmp eax, 0x28
je 0x10001be0
cmp eax, 0xa
jne 0x10001992
push 0
push 0
push 0
push 0x100020b0
push 0x1000
lea eax, [ebx + 0xb4]
push eax
push 0x80000002
push 0x14
push edi
push esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
test eax, eax
jne 0x10001b09
mov eax, 0x31007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
cmp eax, 0x14
jne 0x10001b32
cmp byte [ebp + 0x10], 2
jne 0x10001b09
lea eax, [ebp - 0x44]
mov ecx, ebx
push 2
push eax
lea edx, [ebp - 0x80]
call fcn.10002ae0
add esp, 8
test eax, eax
jne 0x10001b0b
push eax
push eax
push eax
push 0x100020b0
push 4
lea eax, [ebx + 0xb4]
push eax
push 0x80000002
push 4
push edi
push esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
test eax, eax
jne 0x10001a01
mov eax, 0x41007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
lea eax, [ebx + 0x2bc]
push eax
push 0x104
lea eax, [ebp - 0x28c]
push eax
push 0x100176a0
push str.SGMDLKEY
push str.Strings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x10001a43
mov eax, 0x44007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x290]
mov dword [ebp - 0x290], 0
push eax
push 0xf003f
push 0
lea eax, [ebp - 0x28c]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10001b1c
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push eax
lea eax, [ebp - 0x44]
push eax
push 1
push 0
push str.DriverDate
push dword [ebp - 0x290]
call esi
test eax, eax
je 0x10001abc
mov eax, dword [ebp - 0x290]
test eax, eax
je 0x10001aa6
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x46007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x80]
push eax
push 1
push 0
push str.DriverVersion
push dword [ebp - 0x290]
call esi
test eax, eax
mov eax, dword [ebp - 0x290]
je 0x10001afe
test eax, eax
je 0x10001ae8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x47007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x10001b09
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
mov eax, 0x45007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
cmp eax, 0x1e
jne 0x10001b09
push 0
push 0
push 0
push 0x10002240
push 4
add ebx, 0xb4
push ebx
push 0x80000002
push 0x10
push edi
push esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
push 0
push 0
push 0
test eax, eax
mov eax, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x100020b0
jne 0x10001bac
push 0x204
push ebx
push 0x80000002
push 0x14
push edi
push esi
call eax
push eax
mov eax, dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
call eax
test eax, eax
jne 0x10001ced
mov eax, 0x52007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
push 4
push ebx
push 0x80000002
push 0x14
push edi
push esi
call eax
push eax
mov eax, dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
call eax
test eax, eax
jne 0x10001b09
mov eax, 0x51007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0
push 0x10002240
push 0x1200
add ebx, 0xb4
push ebx
push 0x80000002
push 0x10
push edi
push esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
push 0
push 0
push 0
test eax, eax
jne 0x10001cb1
push 0x10002240
push 0x10000
push ebx
push 0x80000002
push 0x14
push edi
push esi
mov dword [ebp - 0x294], 0x80
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
push 0
push 0
push 0
push 0x100020b0
push 0x204
push ebx
push 0x80000002
push 0x14
push edi
push esi
mov dword [ebp - 0x290], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
test eax, eax
jne 0x10001c8d
mov eax, 0x62007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x290], 1
je 0x10001b09
mov eax, dword [ebp - 0x294]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
push 0x100020b0
push 4
push ebx
push 0x80000002
push 0x14
push edi
push esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionW]
test eax, eax
jne 0x10001b09
mov eax, 0x61007f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100044a4
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
mov eax, 0x80
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100044a4
mov esp, ebp
pop ebp
ret