Function at 0x423980
Capabilities:
Check os version
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51852d
mov eax, dword fs:[0]
push eax
mov eax, 0x10c10
call fcn.00455430
mov eax, dword [0x559410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00455160
cmp dword [0x5591f0], 8
mov eax, 0x5591dc
push str.InpaintMAXSvc.exe
cmovae eax, dword [0x5591dc]
push eax
lea eax, [ebp - 0x218]
push 0x524af0
push eax
call fcn.00421970
push 0x11c
lea eax, [ebp - 0x10c1c]
push 0
push eax
call fcn.00455160
add esp, 0x28
mov dword [ebp - 0x10c1c], 0x11c
lea eax, [ebp - 0x10c1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x42404c
push 0x1080f
lea eax, [ebp - 0x10a27]
mov byte [ebp - 0x10a28], 0
push 0
push eax
call fcn.00455160
add esp, 0xc
lea ecx, [ebp - 0x10aa0]
cmp dword [ebp - 0x10c18], 6
jb 0x423d40
push str.InpaintMAX.exe
call fcn.00419370
push 0x524afc
lea ecx, [ebp - 0x10a40]
mov dword [ebp - 4], 0
call fcn.00419370
push 0x3a8
lea eax, [ebp - 0x10aa0]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x10a58]
push eax
call fcn.00429280
mov edi, eax
push 0x3a8
lea eax, [ebp - 0x10a70]
mov byte [ebp - 4], 2
push 0x5591dc
push eax
call fcn.00429280
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10a40]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x10a88]
push eax
call fcn.00429280
add esp, 0x24
cmp dword [edi + 0x14], 0x10
jb 0x423ad5
mov edi, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x423add
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x423ae5
mov eax, dword [eax]
push edi
push esi
push eax
lea eax, [ebp - 0x10a28]
push str.netsh_advfirewall_firewall_add_rule_name__s__dirin_actionallow_program__s_s__enableyes
push eax
call fcn.00454cb2
add esp, 0x14
cmp dword [ebp - 0x10a74], 0x10
jb 0x423b13
push dword [ebp - 0x10a88]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a5c], 0x10
mov dword [ebp - 0x10a74], 0xf
mov dword [ebp - 0x10a78], 0
mov byte [ebp - 0x10a88], 0
jb 0x423b45
push dword [ebp - 0x10a70]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a44], 0x10
mov dword [ebp - 0x10a5c], 0xf
mov dword [ebp - 0x10a60], 0
mov byte [ebp - 0x10a70], 0
jb 0x423b77
push dword [ebp - 0x10a58]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a2c], 8
mov dword [ebp - 0x10a44], 0xf
mov dword [ebp - 0x10a48], 0
mov byte [ebp - 0x10a58], 0
jb 0x423ba9
push dword [ebp - 0x10a40]
call fcn.00406890
add esp, 4
xor eax, eax
mov dword [ebp - 0x10a2c], 7
cmp dword [ebp - 0x10a8c], 8
mov dword [ebp - 0x10a30], 0
mov word [ebp - 0x10a40], ax
mov dword [ebp - 4], 0xffffffff
jb 0x423be4
push dword [ebp - 0x10aa0]
call fcn.00406890
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_WinExec]
lea eax, [ebp - 0x10a28]
push 0
push eax
call edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x10aa0]
call fcn.00419370
push str.InpaintMAXSvc
lea ecx, [ebp - 0x10a40]
mov dword [ebp - 4], 4
call fcn.00419370
push 0x3a8
lea eax, [ebp - 0x10aa0]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x10a70]
push eax
call fcn.00429280
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10a40]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x10a58]
push eax
call fcn.00429280
add esp, 0x18
cmp dword [esi + 0x14], 0x10
jb 0x423c63
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x423c6b
mov eax, dword [eax]
push esi
push eax
lea eax, [ebp - 0x10a28]
push str.netsh_advfirewall_firewall_add_rule_name__s__dirin_actionallow_program__s__enableyes
push eax
call fcn.00454cb2
add esp, 0x10
cmp dword [ebp - 0x10a44], 0x10
jb 0x423c98
push dword [ebp - 0x10a58]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a5c], 0x10
mov dword [ebp - 0x10a44], 0xf
mov dword [ebp - 0x10a48], 0
mov byte [ebp - 0x10a58], 0
jb 0x423cca
push dword [ebp - 0x10a70]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a2c], 8
mov dword [ebp - 0x10a5c], 0xf
mov dword [ebp - 0x10a60], 0
mov byte [ebp - 0x10a70], 0
jb 0x423cfc
push dword [ebp - 0x10a40]
call fcn.00406890
add esp, 4
xor eax, eax
mov dword [ebp - 0x10a2c], 7
cmp dword [ebp - 0x10a8c], 8
mov dword [ebp - 0x10a30], 0
mov word [ebp - 0x10a40], ax
mov dword [ebp - 4], 0xffffffff
jb 0x424041
push dword [ebp - 0x10aa0]
call fcn.00406890
add esp, 4
jmp 0x424041
push 0x524afc
call fcn.00419370
push str.InpaintMAX.exe
lea ecx, [ebp - 0x10a40]
mov dword [ebp - 4], 7
call fcn.00419370
push 0x3a8
lea eax, [ebp - 0x10aa0]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x10a88]
push eax
call fcn.00429280
mov edi, eax
push 0x3a8
lea eax, [ebp - 0x10a40]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x10a70]
push eax
call fcn.00429280
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10a58]
mov byte [ebp - 4], 0xa
push 0x5591dc
push eax
call fcn.00429280
add esp, 0x24
cmp dword [edi + 0x14], 0x10
jb 0x423dc2
mov edi, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x423dca
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x423dd2
mov eax, dword [eax]
push edi
push esi
push eax
lea eax, [ebp - 0x10a28]
push str.netsh_firewall_add_allowedprogram___s_s____s__ENABLE
push eax
call fcn.00454cb2
add esp, 0x14
cmp dword [ebp - 0x10a44], 0x10
jb 0x423e00
push dword [ebp - 0x10a58]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a5c], 0x10
mov dword [ebp - 0x10a44], 0xf
mov dword [ebp - 0x10a48], 0
mov byte [ebp - 0x10a58], 0
jb 0x423e32
push dword [ebp - 0x10a70]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a74], 0x10
mov dword [ebp - 0x10a5c], 0xf
mov dword [ebp - 0x10a60], 0
mov byte [ebp - 0x10a70], 0
jb 0x423e64
push dword [ebp - 0x10a88]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10a2c], 8
mov dword [ebp - 0x10a74], 0xf
mov dword [ebp - 0x10a78], 0
mov byte [ebp - 0x10a88], 0
jb 0x423e96
push dword [ebp - 0x10a40]
call fcn.00406890
add esp, 4
xor eax, eax
mov dword [ebp - 0x10a2c], 7
cmp dword [ebp - 0x10a8c], 8
mov dword [ebp - 0x10a30], 0
mov word [ebp - 0x10a40], ax
mov dword [ebp - 4], 0xffffffff
jb 0x423ed1
push dword [ebp - 0x10aa0]
call fcn.00406890
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_WinExec]
lea eax, [ebp - 0x10a28]
push 0
push eax
call edi
push str.InpaintMAXSvc
lea ecx, [ebp - 0x10ad0]
call fcn.00419370
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x10ab8]
call fcn.00419370
push 0x3a8
lea eax, [ebp - 0x10ad0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x10ae8]
push eax
call fcn.00429280
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10ab8]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x10b00]
push eax
call fcn.00429280
add esp, 0x18
cmp dword [esi + 0x14], 0x10
jb 0x423f50
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x423f58
mov eax, dword [eax]
push esi
push eax
lea eax, [ebp - 0x10a28]
push str.netsh_firewall_add_allowedprogram___s____s__ENABLE
push eax
call fcn.00454cb2
add esp, 0x10
cmp dword [ebp - 0x10aec], 0x10
jb 0x423f85
push dword [ebp - 0x10b00]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10ad4], 0x10
mov dword [ebp - 0x10aec], 0xf
mov dword [ebp - 0x10af0], 0
mov byte [ebp - 0x10b00], 0
jb 0x423fb7
push dword [ebp - 0x10ae8]
call fcn.00406890
add esp, 4
cmp dword [ebp - 0x10aa4], 8
mov dword [ebp - 0x10ad4], 0xf
mov dword [ebp - 0x10ad8], 0
mov byte [ebp - 0x10ae8], 0
jb 0x423fe9
push dword [ebp - 0x10ab8]
call fcn.00406890
add esp, 4
xor eax, eax
mov dword [ebp - 0x10aa4], 7
cmp dword [ebp - 0x10abc], 8
mov dword [ebp - 0x10aa8], 0
mov word [ebp - 0x10ab8], ax
mov dword [ebp - 4], 0xffffffff
jb 0x424024
push dword [ebp - 0x10ad0]
call fcn.00406890
add esp, 4
xor eax, eax
mov dword [ebp - 0x10abc], 7
mov dword [ebp - 0x10ac0], 0
mov word [ebp - 0x10ad0], ax
push 0
lea eax, [ebp - 0x10a28]
push eax
call edi
push 0
push 1
push 0
lea eax, [ebp - 0x218]
push str._install
push eax
call fcn.0044b3f0
add esp, 0x14
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00453c72
mov esp, ebp
pop ebp
ret