Function at 0x46e73c
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff38
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x98], edx
mov esi, eax
xor eax, eax
push ebp
push 0x46ea8b
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x94], 0x94
mov bl, 8
lea eax, [ebp - 0x94]
push eax
call sub.kernel32.dll_GetVersionExA
test eax, eax
je 0x46ea57
mov eax, dword [ebp - 0x84]
sub eax, 1
jb 0x46e7bd
je 0x46e813
dec eax
je 0x46e859
jmp 0x46ea57
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x46eaa4
call fcn.0040ad00
mov edx, dword [ebp - 0x98]
mov eax, esi
call fcn.00405104
xor ebx, ebx
jmp 0x46ea57
mov eax, dword [ebp - 0x8c]
sub eax, 1
jb 0x46e82a
sub eax, 9
je 0x46e838
sub eax, 0x50
je 0x46e846
jmp 0x46e852
mov eax, esi
mov edx, 0x46eabc
call fcn.00405104
jmp 0x46e852
mov eax, esi
mov edx, 0x46ead0
call fcn.00405104
jmp 0x46e852
mov eax, esi
mov edx, 0x46eae4
call fcn.00405104
mov bl, 1
jmp 0x46ea57
cmp dword [ebp - 0x90], 5
jne 0x46e87e
cmp dword [ebp - 0x8c], 0
jne 0x46e87e
mov eax, esi
mov edx, 0x46eaf8
call fcn.00405104
mov bl, 3
jmp 0x46ea57
cmp dword [ebp - 0x90], 5
jne 0x46e8cd
cmp dword [ebp - 0x8c], 1
jne 0x46e8cd
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46eb10
call fcn.0040ad00
mov edx, dword [ebp - 0xac]
mov eax, esi
call fcn.00405104
mov bl, 4
jmp 0x46ea57
cmp dword [ebp - 0x90], 5
jne 0x46e91c
cmp dword [ebp - 0x8c], 2
jne 0x46e91c
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46eb28
call fcn.0040ad00
mov edx, dword [ebp - 0xb8]
mov eax, esi
call fcn.00405104
mov bl, 5
jmp 0x46ea57
cmp dword [ebp - 0x90], 6
jne 0x46e96b
cmp dword [ebp - 0x8c], 0
jne 0x46e96b
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46eb40
call fcn.0040ad00
mov edx, dword [ebp - 0xbc]
mov eax, esi
call fcn.00405104
mov bl, 6
jmp 0x46ea57
mov edi, dword [ebp - 0x90]
cmp edi, 6
jne 0x46e9bc
cmp dword [ebp - 0x8c], 1
jne 0x46e9bc
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x46eb5c
call fcn.0040ad00
mov edx, dword [ebp - 0xc0]
mov eax, esi
call fcn.00405104
mov bl, 7
jmp 0x46ea57
cmp edi, 4
ja 0x46ea0e
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x46eb74
call fcn.0040ad00
mov edx, dword [ebp - 0xc4]
mov eax, esi
call fcn.00405104
mov bl, 2
jmp 0x46ea57
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x46eb90
call fcn.0040ad00
mov edx, dword [ebp - 0xc8]
mov eax, esi
call fcn.00405104
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46ea92
lea eax, [ebp - 0xc8]
mov edx, 5
call fcn.004050d4
lea eax, [ebp - 0xac]
call fcn.004050b0
lea eax, [ebp - 0x98]
call fcn.004050b0
ret