Function at 0x40e896
Capabilities:
Check os version

Disassembly:
push 0x168
mov eax, 0x469426
call fcn.00455fc1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x158], eax
push 0x48442c
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 0x151], 1
call fcn.00403ba1
and dword [ebp - 4], 0
push 0x484450
lea eax, [ebp - 0x80]
push eax
call fcn.00403ba1
push 0x48448c
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 1
call fcn.00403ba1
lea esi, [ebp - 0xb8]
mov byte [ebp - 4], 2
call fcn.00403c41
push eax
mov edi, reloc.WS2_32.dll_bind
push edi
xor eax, eax
call fcn.0040cb3b
test al, al
je 0x40e912
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x80]
call fcn.00403c41
push eax
push edi
xor eax, eax
call fcn.0040cb3b
test al, al
je 0x40e92e
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x48]
call fcn.00403c41
push eax
push edi
xor eax, eax
call fcn.0040cb3b
test al, al
je 0x40e94a
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0xb8]
call fcn.00403c41
push eax
mov ebx, reloc.WS2_32.dll_accept
push ebx
xor eax, eax
call fcn.0040cb3b
test al, al
je 0x40e96e
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x80]
call fcn.00403c41
push eax
push ebx
xor eax, eax
call fcn.0040cb3b
test al, al
je 0x40e98a
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x48]
call fcn.00403c41
push eax
push ebx
xor eax, eax
call fcn.0040cb3b
test al, al
je 0x40e9a6
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0xb8]
call fcn.00403c41
push eax
mov ebx, pe_nt_image_headers32
push edi
mov eax, ebx
call fcn.0040cb3b
test al, al
je 0x40e9ca
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x80]
call fcn.00403c41
push eax
push edi
mov eax, ebx
call fcn.0040cb3b
test al, al
je 0x40e9e6
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x48]
call fcn.00403c41
push eax
push edi
mov eax, ebx
call fcn.0040cb3b
test al, al
je 0x40ea02
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0xb8]
call fcn.00403c41
push eax
mov edi, reloc.WS2_32.dll_accept
push edi
mov eax, ebx
call fcn.0040cb3b
test al, al
je 0x40ea26
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x80]
call fcn.00403c41
push eax
push edi
mov eax, ebx
call fcn.0040cb3b
test al, al
je 0x40ea42
mov byte [ebp - 0x151], 0
lea esi, [ebp - 0x48]
call fcn.00403c41
push eax
push edi
mov eax, ebx
call fcn.0040cb3b
test al, al
je 0x40ea5e
mov byte [ebp - 0x151], 0
mov esi, 0x94
push esi
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.00451d90
add esp, 0xc
lea eax, [ebp - 0x150]
push eax
mov dword [ebp - 0x150], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x14c], 6
jae 0x40ea98
mov byte [ebp - 0x151], 0
cmp byte [ebp - 0x151], 0
jne 0x40eb0b
cmp dword [0x4925d8], 0
je 0x40eb34
push 0x2d
call dword [0x4925c4]
pop ecx
test eax, eax
je 0x40eb34
push 0x925
lea ecx, [ebp - 0x174]
mov ebx, 0x4937dc
call fcn.00403342
xor esi, esi
push 0
inc esi
push esi
lea ecx, [ebp - 0x174]
call fcn.004026c6
mov eax, dword [ebp - 0x158]
push 0x42c
lea ecx, [ebp - 0x174]
mov dword [eax + 0x119c], esi
call fcn.00403342
push 0
push esi
lea ecx, [ebp - 0x174]
call fcn.004026c6
lea eax, [ebp - 0x48]
call fcn.00403d1e
lea eax, [ebp - 0x80]
call fcn.00403d1e
lea eax, [ebp - 0xb8]
call fcn.00403d1e
mov al, byte [ebp - 0x151]
call fcn.00456044
ret 4
push 0x926
lea ecx, [ebp - 0x174]
mov ebx, 0x4937dc
call fcn.00403342
push 0
push 1
lea ecx, [ebp - 0x174]
call fcn.004026c6
mov byte [ebp - 0x151], 1
mov byte [0x4925e8], 1
jmp 0x40eb0b