Function at 0x435090
Capabilities:
Accept command line arguments
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x444274]
xor eax, ebp
mov dword [ebp - 0x28], eax
call fcn.00433790
test eax, eax
jne 0x4350b3
xor eax, eax
jmp 0x435571
call fcn.00431ff0
push 0x114
push 0
lea eax, [ebp - 0x158]
push eax
call fcn.00404a40
add esp, 0xc
mov dword [ebp - 0x158], 0x114
lea ecx, [ebp - 0x158]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x435143
cmp dword [ebp - 0x154], 5
jne 0x435106
cmp dword [ebp - 0x150], 1
jne 0x435106
xor edx, edx
mov word [0x4464f4], dx
jmp 0x435143
cmp dword [ebp - 0x154], 6
jne 0x435125
cmp dword [ebp - 0x150], 0
jne 0x435125
mov eax, 1
mov word [0x4464f4], ax
jmp 0x435143
cmp dword [ebp - 0x154], 6
jne 0x435143
cmp dword [ebp - 0x150], 1
jne 0x435143
mov ecx, 2
mov word [0x4464f4], cx
call fcn.00431830
mov dword [0x446500], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
mov edx, dword [str._ASUSINST]
mov dword [ebp - 0x40], edx
mov eax, dword [0x43fbc8]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x43fbcc]
mov dword [ebp - 0x38], ecx
mov edx, dword [0x43fbd0]
mov dword [ebp - 0x34], edx
mov eax, dword [0x43fbd4]
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x20]
push edx
call fcn.004051d0
add esp, 4
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00401020
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4354e1
mov dword [ebp - 0x198], 0
push str.ASUS_ACPI
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445658
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jne 0x43520e
push 0
push 0
push 1
call fcn.00431cc0
add esp, 0xc
xor eax, eax
jmp 0x435571
push str.High_Definition_Audio
push 0x3c
lea ecx, [ebp - 0x194]
push ecx
call fcn.00403c60
add esp, 0xc
lea edx, [ebp - 0x194]
push edx
push 0x445678
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
jne 0x435255
push 0
push 0
push 2
call fcn.00431cc0
add esp, 0xc
push str.Synaptics
push 0x3c
lea eax, [ebp - 0x194]
push eax
call fcn.00403c60
add esp, 0xc
lea ecx, [ebp - 0x194]
push ecx
push 0x445688
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x43529a
mov edx, 2
mov word [0x4464f0], dx
push str.Elan
push 0x3c
lea eax, [ebp - 0x194]
push eax
call fcn.00403c60
add esp, 0xc
lea ecx, [ebp - 0x194]
push ecx
push 0x445688
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x4352df
mov edx, 1
mov word [0x4464f0], dx
movzx eax, word [0x4464f0]
test eax, eax
jne 0x4352f8
push 0
push 0
push 8
call fcn.00431cc0
add esp, 0xc
cmp dword [0x446500], 0
je 0x43530a
xor ecx, ecx
mov word [0x4464f0], cx
push str.Intel
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445668
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x4353dd
mov ecx, 0x10c
mov word [0x4464ec], cx
push 0x43fc18
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445668
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x435398
mov ecx, 0x10d
mov word [0x4464ec], cx
push str.4_Series
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445668
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x4353dd
mov ecx, 0x10e
mov word [0x4464ec], cx
push 0x43fc28
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445668
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x435422
mov ecx, 0x214
mov word [0x4464ec], cx
push str.NVIDIA
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445668
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x435467
mov ecx, 0x31e
mov word [0x4464ec], cx
push 0x43fc34
push 0x3c
lea edx, [ebp - 0x194]
push edx
call fcn.00403c60
add esp, 0xc
lea eax, [ebp - 0x194]
push eax
push 0x445668
call fcn.00433a10
add esp, 8
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x4354c8
mov ecx, 0x428
mov word [0x4464ec], cx
movzx edx, word [0x4464ec]
push edx
push 0x43fc38
lea eax, [ebp - 0x260]
push eax
call fcn.00401040
add esp, 0xc
movzx ecx, word [0x4464ec]
test ecx, ecx
jne 0x4354e1
push 0
push 0
push 3
call fcn.00431cc0
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
call fcn.00434ae0
add esp, 4
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00434f40
add esp, 8
test eax, eax
jne 0x435505
xor eax, eax
jmp 0x435571
push 0
push 0
push 0
lea edx, [ebp - 0x1c]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x43552f
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [ebp - 0x1c]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x435505
cmp dword [0x4464cc], 0
je 0x43554f
mov edx, dword [0x4464cc]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [0x4464cc], 0
cmp dword [0x4464d0], 0
je 0x43556e
mov eax, dword [0x4464d0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [0x4464d0], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.004038e0
mov esp, ebp
pop ebp
ret 0x10