Function at 0x410067
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x124
mov eax, dword [0x456090]
xor eax, ebp
mov dword [ebp + 0x74], eax
push ebx
push edi
push 0x118
lea eax, [ebp - 0xa4]
push 0
push eax
call fcn.00430790
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExW]
add esp, 0xc
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 0x11c
call edi
mov dword [ebp - 0xac], eax
test eax, eax
jne 0x4100d8
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 0x114
call edi
test eax, eax
jne 0x4100d8
push 0x44ac1c
jmp 0x410500
mov eax, dword [ebp - 0x98]
sub eax, 0
je 0x4104fb
dec eax
je 0x410479
dec eax
jne 0x4100ce
xor ebx, ebx
push 6
pop edi
inc ebx
cmp dword [ebp - 0xa4], edi
jne 0x4102a3
cmp dword [ebp - 0xa0], 3
jne 0x41014f
cmp byte [ebp + 0x72], bl
jne 0x410130
call fcn.00424ba8
test al, al
mov eax, esi
je 0x410126
push str.Windows_8.1_x64
jmp 0x410502
push str.Windows_8.1_x86
jmp 0x410502
call fcn.00424ba8
test al, al
je 0x410143
push str.Windows_Server_2012_R2_x64
jmp 0x410500
cmp dword [ebp - 0xa4], edi
jne 0x4102a3
cmp dword [ebp - 0xa0], 2
jne 0x41019b
cmp byte [ebp + 0x72], bl
jne 0x41017c
call fcn.00424ba8
test al, al
mov eax, esi
je 0x410172
push str.Windows_8_x64
jmp 0x410502
push str.Windows_8_x86
jmp 0x410502
call fcn.00424ba8
test al, al
je 0x41018f
push str.Windows_Server_2012_x64
jmp 0x410500
cmp dword [ebp - 0xa4], edi
jne 0x4102a3
cmp dword [ebp - 0xa0], ebx
jne 0x410219
cmp byte [ebp + 0x72], bl
jne 0x4101e7
call fcn.00424ba8
test al, al
movzx eax, word [ebp + 0x6c]
je 0x4101ce
dec eax
mov eax, esi
je 0x4101c4
push str.Windows_7_x64
jmp 0x410502
push str.Windows_7_x64_Service_Pack_1
jmp 0x410502
dec eax
mov eax, esi
je 0x4101dd
push str.Windows_7_x86
jmp 0x410502
push str.Windows_7_x86_Service_Pack_1
jmp 0x410502
call fcn.00424ba8
test al, al
je 0x41020d
movzx eax, word [ebp + 0x6c]
dec eax
mov eax, esi
je 0x410203
push str.Windows_Server_2008_R2_x64
jmp 0x410502
push str.Windows_Server_2008_R2_x64_Service_Pack_1
jmp 0x410502
cmp dword [ebp - 0xa4], edi
jne 0x4102a3
cmp dword [ebp - 0xa0], 0
jne 0x4100ce
cmp byte [ebp + 0x72], bl
jne 0x410284
call fcn.00424ba8
test al, al
movzx eax, word [ebp + 0x6c]
je 0x41025e
dec eax
je 0x410254
dec eax
mov eax, esi
je 0x41024a
push str.Windows_Vista_x64
jmp 0x410502
push str.Windows_Vista_x64_Service_Pack_2
jmp 0x410502
push str.Windows_Vista_x64_Service_Pack_1
jmp 0x410500
dec eax
je 0x41027a
dec eax
mov eax, esi
je 0x410270
push str.Windows_Vista_x86
jmp 0x410502
push str.Windows_Vista_x86_Service_Pack_2
jmp 0x410502
push str.Windows_Vista_x86_Service_Pack_1
jmp 0x410500
call fcn.00424ba8
test al, al
mov eax, esi
je 0x410299
push str.Windows_Server_2008_x64
jmp 0x410502
push str.Windows_Server_2008_x86
jmp 0x410502
cmp dword [ebp - 0xa4], 5
jne 0x4103fb
cmp dword [ebp - 0xa0], 2
jne 0x410345
cmp byte [ebp + 0x72], bl
jne 0x4102ec
movzx eax, word [ebp + 0x6c]
dec eax
je 0x4102e2
dec eax
mov eax, esi
je 0x4102d8
push str.Windows_XP_x64
jmp 0x410502
push str.Windows_XP_x64_Service_Pack_2
jmp 0x410502
push str.Windows_XP_x64_Service_Pack_1
jmp 0x410500
call fcn.00424ba8
test al, al
movzx eax, word [ebp + 0x6c]
je 0x41031f
dec eax
je 0x410315
dec eax
mov eax, esi
je 0x41030b
push str.Windows_Server_2003_x64
jmp 0x410502
push str.Windows_Server_2003_x64_Service_Pack_2
jmp 0x410502
push str.Windows_Server_2003_x64_Service_Pack_1
jmp 0x410500
dec eax
je 0x41033b
dec eax
mov eax, esi
je 0x410331
push str.Windows_Server_2003_x86
jmp 0x410502
push str.Windows_Server_2003_x86_Service_Pack_2
jmp 0x410502
push str.Windows_Server_2003_x86_Service_Pack_1
jmp 0x410500
cmp dword [ebp - 0xa0], ebx
jne 0x410397
cmp dword [ebp - 0xac], 0
jne 0x410360
push str.Windows_XP_x86
jmp 0x410500
movzx eax, word [ebp + 0x6c]
dec eax
je 0x41038d
dec eax
je 0x410383
dec eax
mov eax, esi
je 0x410379
push str.Windows_XP_x86
jmp 0x410502
push str.Windows_XP_x86_Service_Pack_3
jmp 0x410502
push str.Windows_XP_x86_Service_Pack_2
jmp 0x410500
push str.Windows_XP_x86_Service_Pack_1
jmp 0x410500
cmp dword [ebp - 0xa0], 0
jne 0x4100ce
cmp dword [ebp - 0xac], 0
jne 0x4103b7
push str.Windows_2000
jmp 0x410500
movzx eax, word [ebp + 0x6c]
dec eax
je 0x4103f1
dec eax
je 0x4103e7
dec eax
je 0x4103dd
dec eax
mov eax, esi
je 0x4103d3
push str.Windows_2000
jmp 0x410502
push str.Windows_2000_Service_Pack_4
jmp 0x410502
push str.Windows_2000_Service_Pack_3
jmp 0x410500
push str.Windows_2000_Service_Pack_2
jmp 0x410500
push str.Windows_2000_Service_Pack_1
jmp 0x410500
cmp dword [ebp - 0xa4], 4
ja 0x4100ce
cmp dword [ebp - 0xac], 0
jne 0x41041b
push str.Windows_NT_4.0
jmp 0x410500
movzx eax, word [ebp + 0x6c]
dec eax
je 0x41046f
dec eax
je 0x410465
dec eax
je 0x41045b
dec eax
je 0x410451
dec eax
je 0x410447
dec eax
mov eax, esi
je 0x41043d
push str.Windows_NT_4.0
jmp 0x410502
push str.Windows_NT_4.0_Service_Pack_6
jmp 0x410502
push str.Windows_NT_4.0_Service_Pack_5
jmp 0x410500
push str.Windows_NT_4.0_Service_Pack_4
jmp 0x410500
push str.Windows_NT_4.0_Service_Pack_3
jmp 0x410500
push str.Windows_NT_4.0_Service_Pack_2
jmp 0x410500
push str.Windows_NT_4.0_Service_Pack_1
jmp 0x410500
cmp dword [ebp - 0xa4], 4
jne 0x4100ce
cmp dword [ebp - 0xa0], 0
jne 0x4104bc
cmp dword [ebp - 0x9c], 0x3b6
jbe 0x4104a2
push str.Windows_95_OSR
jmp 0x410500
cmp word [ebp - 0x92], 0x43
mov eax, esi
jne 0x4104b5
push str.Windows_95_OSR2.5
jmp 0x410502
push str.Windows_95
jmp 0x410502
cmp dword [ebp - 0xa0], 0xa
jne 0x4104e7
cmp word [ebp - 0x92], 0x41
je 0x4104e0
cmp word [ebp - 0x92], 0x42
je 0x4104e0
push str.Windows_98
jmp 0x410500
push str.Windows_98_SE
jmp 0x410500
cmp dword [ebp - 0xa0], 0x5a
jne 0x4100ce
push str.Windows_Millennium
jmp 0x410500
push str.Windows_95
mov eax, esi
call fcn.004045c6
mov ecx, dword [ebp + 0x74]
pop edi
xor ecx, ebp
mov eax, esi
pop ebx
call fcn.0043076b
add ebp, 0x78
leave
ret