Function at 0x44c1f0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x4ae6c2
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4e52f4]
xor eax, esp
mov dword [esp + 0x124], eax
push ebx
push ebp
push edi
mov eax, dword [0x4e52f4]
xor eax, esp
push eax
lea eax, [esp + 0x138]
mov dword fs:[0], eax
xor edi, edi
push 0x118
lea eax, [esp + 0x20]
push edi
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edi
call fcn.0048a3e0
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExW]
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x1c], 0x11c
call ebx
mov ebp, eax
cmp ebp, edi
jne 0x44c285
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1c], 0x114
call ebx
test eax, eax
jne 0x44c285
push str.OsNotIdentified
push esi
call fcn.00412ade
jmp 0x44c914
mov eax, dword [esp + 0x28]
sub eax, edi
je 0x44c909
mov ebx, 1
sub eax, ebx
je 0x44c816
sub eax, ebx
jne 0x44c8f1
mov eax, dword [esp + 0x1c]
cmp eax, 6
jne 0x44c4c0
cmp dword [esp + 0x20], ebx
jne 0x44c3a7
cmp byte [esp + 0x132], bl
jne 0x44c34f
call fcn.0043eba0
test al, al
movzx eax, word [esp + 0x12c]
je 0x44c315
sub eax, ebx
je 0x44c2fa
push str.Windows_7_x64
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_7_x64_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
sub eax, ebx
je 0x44c334
push str.Windows_7_x86
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_7_x86_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
call fcn.0043eba0
test al, al
je 0x44c39a
movzx eax, word [esp + 0x12c]
sub eax, ebx
je 0x44c37f
push str.Windows_Server_2008_R2_x64
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Server_2008_R2_x64_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
mov eax, dword [esp + 0x1c]
cmp eax, 6
jne 0x44c4c0
cmp dword [esp + 0x20], edi
jne 0x44c8f1
cmp byte [esp + 0x132], bl
jne 0x44c481
call fcn.0043eba0
test al, al
movzx eax, word [esp + 0x12c]
je 0x44c428
sub eax, ebx
je 0x44c40d
sub eax, ebx
je 0x44c3f2
push str.Windows_Vista_x64
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Vista_x64_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Vista_x64_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
sub eax, ebx
je 0x44c466
sub eax, ebx
je 0x44c44b
push str.Windows_Vista_x86
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Vista_x86_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Vista_x86_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
call fcn.0043eba0
test al, al
je 0x44c4a5
push str.Windows_Server_2008_x64
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Server_2008_x86
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp eax, 5
jne 0x44c737
mov eax, dword [esp + 0x20]
cmp eax, 2
jne 0x44c603
cmp byte [esp + 0x132], bl
jne 0x44c540
movzx eax, word [esp + 0x12c]
sub eax, ebx
je 0x44c525
sub eax, ebx
je 0x44c50a
push str.Windows_XP_x64
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_XP_x64_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_XP_x64_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
call fcn.0043eba0
test al, al
movzx eax, word [esp + 0x12c]
je 0x44c5aa
sub eax, ebx
je 0x44c58f
sub eax, ebx
je 0x44c574
push str.Windows_Server_2003_x64
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Server_2003_x64_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Server_2003_x64_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
sub eax, ebx
je 0x44c5e8
sub eax, ebx
je 0x44c5cd
push str.Windows_Server_2003_x86
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Server_2003_x86_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_Server_2003_x86_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp eax, ebx
jne 0x44c68f
cmp ebp, edi
jne 0x44c62a
push str.Windows_XP_x86
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
movzx eax, word [esp + 0x12c]
sub eax, ebx
je 0x44c674
sub eax, ebx
je 0x44c659
sub eax, ebx
jne 0x44c60f
push str.Windows_XP_x86_Service_Pack_3
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_XP_x86_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_XP_x86_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp eax, edi
jne 0x44c8f1
cmp ebp, edi
jne 0x44c6b6
push str.Windows_2000
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
movzx eax, word [esp + 0x12c]
dec eax
cmp eax, 3
ja case.default.0x44c6c4
jmp dword [eax*4 + 0x44c94c]
push str.Windows_2000_Service_Pack_4
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_2000_Service_Pack_3
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_2000_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_2000_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp eax, 4
ja 0x44c8f1
cmp ebp, edi
jne 0x44c75f
push str.Windows_NT_4.0
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
movzx eax, word [esp + 0x12c]
dec eax
cmp eax, 5
ja case.default.0x44c76d
jmp dword [eax*4 + 0x44c95c]
push str.Windows_NT_4.0_Service_Pack_6
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_NT_4.0_Service_Pack_5
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_NT_4.0_Service_Pack_4
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_NT_4.0_Service_Pack_3
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_NT_4.0_Service_Pack_2
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_NT_4.0_Service_Pack_1
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
mov eax, dword [esp + 0x1c]
cmp eax, 4
jne 0x44c8f1
mov eax, dword [esp + 0x20]
cmp eax, edi
jne 0x44c88e
cmp dword [esp + 0x24], 0x3b6
jbe 0x44c850
push str.Windows_95_OSR
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp word [esp + 0x2e], 0x43
jne 0x44c873
push str.Windows_95_OSR2.5
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_95
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp eax, 0xa
jne 0x44c8d4
mov ax, word [esp + 0x2e]
cmp ax, 0x41
je 0x44c8bc
cmp ax, 0x42
je 0x44c8bc
push str.Windows_98
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_98_SE
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
cmp eax, 0x5a
jne 0x44c8f1
push str.Windows_Millennium
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.OsNotIdentified
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], ebx
jmp 0x44c923
push str.Windows_95
push esi
call fcn.00412ade
mov dword [esp + 0x140], edi
mov dword [esp + 0x10], 1
mov eax, esi
mov ecx, dword [esp + 0x138]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.00489b1b
add esp, 0x134
ret