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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53238c
mov eax, dword fs:[0]
push eax
mov eax, 0x10c10
call fcn.00460460
mov eax, dword [0x579258]
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.004ecad0
cmp dword [0x5791e8], 8
mov eax, 0x5791d4
push str.SimpleBooksvc.exe
cmovae eax, dword [0x5791d4]
push eax
lea eax, [ebp - 0x218]
push 0x53ea10
push eax
call fcn.004203b0
push 0x118
lea eax, [ebp - 0x10c18]
push 0
push eax
call fcn.004ecad0
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 0x4234dc
push 0x10810
lea eax, [ebp - 0x10a28]
push 0
push eax
call fcn.004ecad0
xor eax, eax
mov dword [ebp - 0x10a48], 0
add esp, 0xc
mov dword [ebp - 0x10a44], 7
cmp dword [ebp - 0x10c18], 6
lea ecx, [ebp - 0x10a58]
mov word [ebp - 0x10a58], ax
jb 0x423175
push 0xe
push str.SimpleBook.exe
call fcn.00416d70
push 0xa
xor eax, eax
mov dword [ebp - 4], 0
push str.SimpleBook
lea ecx, [ebp - 0x10a40]
mov dword [ebp - 0x10a30], 0
mov dword [ebp - 0x10a2c], 7
mov word [ebp - 0x10a40], ax
call fcn.00416d70
push 0x3a8
lea eax, [ebp - 0x10a58]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x10ab8]
push eax
call fcn.00428fa0
mov edi, eax
push 0x3a8
lea eax, [ebp - 0x10aa0]
mov byte [ebp - 4], 2
push 0x5791d4
push eax
call fcn.00428fa0
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10a40]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x10ad0]
push eax
call fcn.00428fa0
add esp, 0x24
cmp dword [edi + 0x14], 0x10
jb 0x422ecc
mov edi, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x422ed4
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x422edc
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.00428df0
add esp, 0x14
lea ecx, [ebp - 0x10ad0]
call fcn.004055b0
lea ecx, [ebp - 0x10aa0]
call fcn.004055b0
lea ecx, [ebp - 0x10ab8]
call fcn.004055b0
mov edx, dword [ebp - 0x10a2c]
mov byte [ebp - 4], 0
cmp edx, 8
jb 0x422f58
mov ecx, dword [ebp - 0x10a40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422f4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423511
push edx
push ecx
call fcn.00460404
add esp, 8
mov edx, dword [ebp - 0x10a44]
xor eax, eax
mov dword [ebp - 0x10a30], 0
mov dword [ebp - 0x10a2c], 7
mov word [ebp - 0x10a40], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x422fbc
mov ecx, dword [ebp - 0x10a58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422fb2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423511
push edx
push ecx
call fcn.00460404
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_WinExec]
lea eax, [ebp - 0x10a28]
push 0
push eax
call edi
xor eax, eax
mov dword [ebp - 0x10a48], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x10a44], 7
mov word [ebp - 0x10a58], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422ff3
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10a58]
call fcn.00416d70
push 0x11
xor eax, eax
mov dword [ebp - 4], 4
push str.SimpleBooksvc.exe
lea ecx, [ebp - 0x10a40]
mov dword [ebp - 0x10a30], 0
mov dword [ebp - 0x10a2c], 7
mov word [ebp - 0x10a40], ax
call fcn.00416d70
push 0x3a8
lea eax, [ebp - 0x10a58]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x10aa0]
push eax
call fcn.00428fa0
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10a40]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x10ab8]
push eax
call fcn.00428fa0
add esp, 0x18
cmp dword [esi + 0x14], 0x10
jb 0x423090
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x423098
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.00428df0
add esp, 0x10
lea ecx, [ebp - 0x10ab8]
call fcn.004055b0
lea ecx, [ebp - 0x10aa0]
call fcn.004055b0
mov edx, dword [ebp - 0x10a2c]
mov byte [ebp - 4], 4
cmp edx, 8
jb 0x423108
mov ecx, dword [ebp - 0x10a40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4230fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423516
push edx
push ecx
call fcn.00460404
add esp, 8
mov edx, dword [ebp - 0x10a44]
xor eax, eax
mov dword [ebp - 0x10a30], 0
mov dword [ebp - 0x10a2c], 7
mov word [ebp - 0x10a40], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x4234d1
mov ecx, dword [ebp - 0x10a58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423166
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423516
push edx
push ecx
call fcn.00460404
add esp, 8
jmp 0x4234d1
push 0xa
push str.SimpleBook
call fcn.00416d70
push 0xe
xor eax, eax
mov dword [ebp - 4], 7
push str.SimpleBook.exe
lea ecx, [ebp - 0x10a40]
mov dword [ebp - 0x10a30], 0
mov dword [ebp - 0x10a2c], 7
mov word [ebp - 0x10a40], ax
call fcn.00416d70
push 0x3a8
lea eax, [ebp - 0x10a58]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x10ad0]
push eax
call fcn.00428fa0
mov edi, eax
push 0x3a8
lea eax, [ebp - 0x10a40]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x10aa0]
push eax
call fcn.00428fa0
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10ab8]
mov byte [ebp - 4], 0xa
push 0x5791d4
push eax
call fcn.00428fa0
add esp, 0x24
cmp dword [edi + 0x14], 0x10
jb 0x423218
mov edi, dword [edi]
cmp dword [esi + 0x14], 0x10
jb 0x423220
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x423228
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.00428df0
add esp, 0x14
lea ecx, [ebp - 0x10ab8]
call fcn.004055b0
lea ecx, [ebp - 0x10aa0]
call fcn.004055b0
lea ecx, [ebp - 0x10ad0]
call fcn.004055b0
mov edx, dword [ebp - 0x10a2c]
mov byte [ebp - 4], 7
cmp edx, 8
jb 0x4232a4
mov ecx, dword [ebp - 0x10a40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42329a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42351b
push edx
push ecx
call fcn.00460404
add esp, 8
mov edx, dword [ebp - 0x10a44]
xor eax, eax
mov dword [ebp - 0x10a30], 0
mov dword [ebp - 0x10a2c], 7
mov word [ebp - 0x10a40], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x423308
mov ecx, dword [ebp - 0x10a58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4232fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42351b
push edx
push ecx
call fcn.00460404
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_WinExec]
lea eax, [ebp - 0x10a28]
push 0
push eax
call edi
push 0x11
xor eax, eax
mov dword [ebp - 0x10a78], 0
push str.SimpleBooksvc.exe
lea ecx, [ebp - 0x10a88]
mov dword [ebp - 0x10a74], 7
mov word [ebp - 0x10a88], ax
call fcn.00416d70
xor eax, eax
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x10a60], 0
mov dword [ebp - 0x10a5c], 7
lea edx, [ecx + 2]
mov word [ebp - 0x10a70], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423375
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10a70]
call fcn.00416d70
push 0x3a8
lea eax, [ebp - 0x10a88]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x10b00]
push eax
call fcn.00428fa0
mov esi, eax
push 0x3a8
lea eax, [ebp - 0x10a70]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x10ae8]
push eax
call fcn.00428fa0
add esp, 0x18
cmp dword [esi + 0x14], 0x10
jb 0x4233dc
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x4233e4
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.00428df0
add esp, 0x10
lea ecx, [ebp - 0x10ae8]
call fcn.004055b0
lea ecx, [ebp - 0x10b00]
call fcn.004055b0
mov edx, dword [ebp - 0x10a5c]
mov byte [ebp - 4], 0xb
cmp edx, 8
jb 0x423454
mov ecx, dword [ebp - 0x10a70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42344a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423520
push edx
push ecx
call fcn.00460404
add esp, 8
mov edx, dword [ebp - 0x10a74]
xor eax, eax
mov dword [ebp - 0x10a60], 0
mov dword [ebp - 0x10a5c], 7
mov word [ebp - 0x10a70], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x4234b4
mov ecx, dword [ebp - 0x10a88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4234aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423520
push edx
push ecx
call fcn.00460404
add esp, 8
xor eax, eax
mov dword [ebp - 0x10a78], 0
mov dword [ebp - 0x10a74], 7
mov word [ebp - 0x10a88], 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.004569d0
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.00460412
mov esp, ebp
pop ebp
ret
call fcn.004f5b2a
call fcn.004f5b2a
call fcn.004f5b2a
call fcn.004f5b2a
int3