Function at 0x491420
Capabilities:
Check os version

Disassembly:
sub esp, 0x80
mov eax, dword [0x4d1ce0]
xor eax, esp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x84]
push ebx
push ebp
push esi
mov dword [esp + 0x10], eax
xor esi, esi
mov eax, dword [eax + 0x120]
xor ebx, ebx
push edi
mov dword [esp + 0x20], 0
xor edi, edi
mov dword [esp + 0x24], 0
xor ebp, ebp
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, eax
movzx edx, al
shr ecx, 8
movzx ecx, cl
mov dword [esp + 0x10], 1
cmp edx, 4
jne 0x491495
cmp ecx, 0x5a
jne 0x49148e
mov ebx, 1
mov ebp, ebx
jmp 0x491495
test ecx, ecx
cmove edi, dword [esp + 0x10]
cmp eax, 0x80000000
jae 0x4914a1
shr eax, 0x10
jmp 0x4914ae
cmp edx, 4
jae 0x4914b5
shr eax, 0x10
and eax, 0xffff7fff
cmp eax, 0x565
ja 0x4914ba
mov esi, 1
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xd4]
cmp word [eax + 0x10f4], 0
je 0x4914d8
mov dword [esp + 0x18], 1
jmp 0x4914ff
lea eax, [esp + 0x24]
push eax
push 0x211
push ecx
call fcn.004581e0
add esp, 0xc
mov eax, 0
cmp word [esp + 0x24], 0
cmovne eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
cmp dword [0x4dff0c], 0
jne 0x49150d
call fcn.004917b0
cmp dword [0x4dff08], 0
je 0x49156b
cmp edi, 1
cmove esi, dword [esp + 0x10]
xor eax, eax
cmp ebp, 1
cmove esi, eax
cmp ebx, 1
je 0x49152f
test esi, esi
jne 0x49156b
cmp dword [esp + 0x18], eax
lea eax, [esp + 0x74]
je 0x49153d
push 1
jmp 0x49153f
push 0
push eax
push 5
call fcn.004910a0
add esp, 0xc
lea eax, [esp + 0x38]
push 0
push 0x3c
push 0x4e5a60
push eax
call fcn.0041a450
mov ebp, dword [0x4e5a40]
add esp, 0x10
jmp 0x491693
push str.NETAPI32.Dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x491789
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.NetWkstaTransportEnum
push ebx
call esi
push str.NetApiBufferFree
push ebx
mov edi, eax
call esi
mov dword [esp + 0x30], eax
test edi, edi
je 0x491782
test eax, eax
je 0x491782
push 0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
push 0x1000
lea eax, [esp + 0x2c]
push eax
push 0
push 0
call edi
test eax, eax
jne 0x491782
xor ebp, ebp
cmp dword [esp + 0x28], ebp
jbe 0x491682
mov edi, dword [esp + 0x1c]
add edi, 0xc
mov edx, dword [edi]
xor ecx, ecx
jmp 0x4915f0
mov al, byte [edx + ecx*2]
mov byte [esp + ecx + 0x74], al
inc ecx
cmp ecx, 0xc
jl 0x4915f0
xor esi, esi
nop
movsx eax, byte [esp + esi*2 + 0x74]
push eax
call fcn.0044b130
movsx ebx, byte [esp + esi*2 + 0x78]
add esp, 4
test eax, eax
je 0x49161c
sub ebx, 0x30
jmp 0x49161f
sub ebx, 0x37
movsx eax, byte [esp + esi*2 + 0x75]
push eax
call fcn.0044b130
add esp, 4
test eax, eax
movsx eax, byte [esp + esi*2 + 0x75]
je 0x49163b
sub eax, 0x30
jmp 0x49163e
sub eax, 0x37
shl bl, 4
add bl, al
mov byte [esp + esi + 0x84], bl
inc esi
cmp esi, 6
jl 0x491600
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00490f80
inc ebp
add esp, 0xc
add edi, 0x14
cmp ebp, dword [esp + 0x28]
jb 0x4915e7
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
jmp 0x491684
xor ebp, ebp
push dword [esp + 0x1c]
call dword [esp + 0x34]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, 1
test ebp, ebp
je 0x491779
lea esi, [esp + 0x38]
mov edi, ebp
test ebx, ebx
je 0x4916e2
mov eax, dword [esp + 0x14]
xor ebx, ebx
push ebx
push 6
push esi
mov eax, dword [eax + 0x120]
add eax, 8
push eax
call fcn.0041a450
mov eax, dword [esp + 0x24]
add esp, 0x10
mov eax, dword [eax + 0x120]
cmp word [eax + 2], 0x67
je 0x491725
mov ecx, 2
mov word [eax + 2], cx
jmp 0x491725
call fcn.0045ba50
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x120]
cmp word [ecx + 2], 0x67
mov ecx, 0x67
je 0x491702
mov ecx, 2
mov word [eax + 2], cx
mov ecx, dword [esp + 0x2c]
push 0
push 6
mov dword [esp + 0x34], eax
mov dword [ecx + 0x480], eax
add eax, 8
push esi
push eax
call fcn.0041a450
add esp, 0x10
cmp dword [esp + 0x18], 0
push 0
push 6
push esi
je 0x491751
mov eax, dword [0x4df090]
lea eax, [eax + eax*2]
lea eax, [eax*2 + 0x4e5d20]
push eax
call fcn.0041a450
add esp, 0x10
inc dword [0x4df090]
jmp 0x49176f
mov eax, dword [0x4df094]
lea eax, [eax + eax*2]
lea eax, [eax*2 + 0x4e5d00]
push eax
call fcn.0041a450
add esp, 0x10
inc dword [0x4df094]
add esi, 6
dec edi
jne 0x4916a6
xor eax, eax
test ebp, ebp
setne al
jmp 0x49178c
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
or eax, 0xffffffff
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00404be0
add esp, 0x80
ret