Function at 0x4f41c0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff48
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4f47df
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xb4]
xor ecx, ecx
mov edx, 0x9c
call fcn.0040362c
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xb4], 0x9c
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetVersionExA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x4f47c6
mov esi, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xac]
movzx eax, word [ebp - 0x20]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0x1e]
mov dword [ebp - 0x14], eax
cmp esi, 5
jbe 0x4f47c6
mov eax, dword [ebx + 4]
mov edx, 0x4f47f8
call fcn.004050e0
jne 0x4f4268
cmp byte [ebp - 0x1a], 1
je 0x4f4268
lea eax, [ebx + 4]
mov edx, 0x4f4808
call fcn.00404d28
mov eax, dword [ebx + 4]
mov edx, 0x4f4818
call fcn.004050e0
jne 0x4f428a
cmp byte [ebp - 0x1a], 1
je 0x4f428a
lea eax, [ebx + 4]
mov edx, 0x4f4824
call fcn.00404d28
lea eax, [ebp - 0xb8]
call fcn.005aed10
lea eax, [ebp - 0xb8]
mov edx, 0x4f4834
call fcn.00404f9c
mov eax, dword [ebp - 0xb8]
call fcn.00405194
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
test ebx, ebx
je 0x4f47c6
push 0x4f4844
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je case.0x4f42fd.0
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
push edi
push esi
call dword [ebp - 8]
test eax, eax
jle case.0x4f42fd.0
mov eax, dword [ebp - 0x18]
cmp eax, 0x4a
ja case.0x4f42fd.0
jmp dword [eax*4 + 0x4f4304]
mov eax, dword [ebp - 4]
mov edx, 0x4f485c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4870
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4884
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4898
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4898
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f48b4
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f48b4
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f48e0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f48f4
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f490c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4924
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4924
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4940
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f496c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4940
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f49a0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f49b4
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f49cc
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f49e4
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f49fc
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4a14
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4a2c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4a44
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4a78
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4aac
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4ae0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4af8
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4b10
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4b28
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4b64
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4bb0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4bcc
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4bec
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c14
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c14
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c2c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c2c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c54
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c64
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c78
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4c8c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4cb0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4cd0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4cf0
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4d14
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4d28
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4d3c
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4d50
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4d50
call fcn.00404d28
jmp case.0x4f42fd.0
mov eax, dword [ebp - 0xa8]
cmp eax, 0x1fa6
ja 0x4f47ac
mov eax, dword [ebp - 4]
mov edx, 0x4f4d64
call fcn.00404d28
jmp case.0x4f42fd.0
cmp eax, 0x203a
ja case.0x4f42fd.0
mov eax, dword [ebp - 4]
mov edx, 0x4f4d80
call fcn.00404d28
push ebx
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f47e6
lea eax, [ebp - 0xb8]
call fcn.00404cd4
ret