Function at 0x401000
Capabilities:
Check os version
Get session user name

Disassembly:
push esi
push str._n
call fcn.00401c00
add esp, 4
push str.instdrv_t:__tVersion_2.0_n
call fcn.00401c00
add esp, 4
push str.instdrv_t:__tRelease_Date___March_01__1999._n
call fcn.00401c00
add esp, 4
push str._n_n_n
call fcn.00401c00
add esp, 4
cmp dword [esp + 8], 2
je 0x40107a
push str.usage:_instdrv__i_or__d_or__h_n
call fcn.00401c00
add esp, 4
push str._________i_to_install_device_driver__or:_n
call fcn.00401c00
add esp, 4
push str._________d_to_remove_device_driver__or:_n
call fcn.00401c00
add esp, 4
push str._________h_to_display_this_screen_n
call fcn.00401c00
add esp, 4
push 0xffffffffffffffff
call fcn.00401af0
add esp, 4
mov esi, dword [esp + 0xc]
push 0x407148
mov eax, dword [esi + 4]
push eax
call fcn.00405020
add esp, 8
test eax, eax
jne 0x401175
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov cx, ax
mov dword [0x4089ac], eax
xor eax, eax
mov al, cl
mov dword [0x4089b8], eax
xor eax, eax
cmp dword [0x4089ac], 0x80000000
mov al, ch
mov dword [0x4089c0], eax
jae 0x401153
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [0x4089a4], eax
test eax, eax
jne 0x401144
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x408938], eax
cmp eax, 5
je 0x4010fd
cmp eax, 0x57
je 0x401121
cmp eax, 0x429
je 0x40112d
jmp 0x401144
push 0x407048
push 0x408940
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x408940
push str.Sorry_____s__nYou_are_not_Authorised_to_Modify_System_Settings__nPlease_Login_as_an_ADMINISTRATOR_n
call fcn.00401c00
add esp, 8
jmp 0x40113a
push str.A_parameter_that_was_specified_is_invalid._n
call fcn.00401c00
jmp 0x401141
push str.The_specified_database_does_not_exist._n
call fcn.00401c00
add esp, 4
push 0xffffffffffffffff
call fcn.00401af0
add esp, 4
call fcn.00401360
mov dword [0x4089bc], eax
jmp 0x4012e5
cmp dword [0x4089b8], 4
jae 0x401166
push 0x407058
jmp 0x4012d3
call fcn.004019e0
mov dword [0x4089bc], eax
jmp 0x4012e5
push 0x407054
mov eax, dword [esi + 4]
push eax
call fcn.00405020
add esp, 8
test eax, eax
jne 0x401264
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov cx, ax
mov dword [0x4089ac], eax
xor eax, eax
mov al, cl
mov dword [0x4089b8], eax
xor eax, eax
cmp dword [0x4089ac], 0x80000000
mov al, ch
mov dword [0x4089c0], eax
jae 0x401245
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [0x4089a4], eax
test eax, eax
jne 0x401236
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x408938], eax
cmp eax, 5
je 0x4011f4
cmp eax, 0x57
je 0x401218
cmp eax, 0x429
je 0x40121f
jmp 0x401236
push 0x407048
push 0x408940
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x408940
push str.Sorry_____s__nYou_are_not_Authorised_to_Modify_System_Settings__nPlease_Login_as_an_ADMINISTRATOR_n
call fcn.00401c00
add esp, 8
jmp 0x40122c
push str.A_parameter_that_was_specified_is_invalid._n
jmp 0x401224
push str.The_specified_database_does_not_exist._n
call fcn.00401c00
add esp, 4
push 0xffffffffffffffff
call fcn.00401af0
add esp, 4
call fcn.00401300
mov dword [0x4089bc], eax
jmp 0x4012e5
cmp dword [0x4089b8], 4
jae 0x401255
push 0x407058
jmp 0x4012d3
call fcn.00401820
mov dword [0x4089bc], eax
jmp 0x4012e5
push 0x407050
mov eax, dword [esi + 4]
push eax
call fcn.00405020
add esp, 8
test eax, eax
push str.usage:_instdrv__i_or__d_or__h_n
jne 0x4012ac
call fcn.00401c00
add esp, 4
push str._________i_to_install_device_driver__or:_n
call fcn.00401c00
add esp, 4
push str._________d_to_remove_device_driver__or:_n
call fcn.00401c00
add esp, 4
push str._________h_to_display_this_screen_n
call fcn.00401c00
jmp 0x4012e2
call fcn.00401c00
add esp, 4
push str._________i_to_install_device_driver__or:_n
call fcn.00401c00
add esp, 4
push str._________d_to_remove_device_driver__or:_n
call fcn.00401c00
add esp, 4
push str._________h_to_display_this_screen_n
call fcn.00401c00
add esp, 4
push 0xffffffffffffffff
call fcn.00401af0
add esp, 4
mov eax, dword [0x4089a4]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov eax, dword [0x4089bc]
pop esi
ret