Function at 0x4562f0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d6f1c
mov eax, dword fs:[0]
push eax
sub esp, 0x640
mov eax, dword [0x5254e0]
xor eax, esp
mov dword [esp + 0x638], eax
push ebx
push esi
push edi
mov eax, dword [0x5254e0]
xor eax, esp
push eax
lea eax, [esp + 0x650]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x52c]
push eax
mov dword [esp + 0x530], 0x114
call dword [sym.imp.KERNEL32.DLL_GetVersionExW]
test eax, eax
je 0x4567a0
mov eax, dword [esp + 0x530]
cmp eax, 5
jb 0x4567a0
jne 0x456374
cmp dword [esp + 0x534], 0
je 0x4567a0
lea eax, [esp + 0x44c]
call fcn.00433d90
lea ecx, [esp + 0x44c]
push ecx
mov ecx, ebx
mov dword [esp + 0x65c], 0
call fcn.004567e0
test al, al
jne 0x4563d2
push str.No_known_servers_support_this_transport_type.
push 0
push 0
call fcn.00432650
mov ebx, dword [ebx + 0x18]
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add esp, 0xc
push 8
mov ecx, ebx
call eax
push 0x5152e8
lea ecx, [esp + 0x1b]
xor al, al
push ecx
mov byte [esp + 0x1f], al
call fcn.004aba66
lea edx, [esp + 0x204]
push edx
call fcn.0043a610
lea esi, [esp + 0x204]
mov byte [esp + 0x658], 1
call fcn.0043a760
lea eax, [esp + 0x44c]
mov edi, esi
call fcn.00417ea0
mov eax, esi
push eax
call fcn.0043a950
lea ecx, [esp + 0x1c]
push ecx
call fcn.004079e0
mov edx, esi
push edx
lea esi, [esp + 0xb8]
mov byte [esp + 0x65c], 2
call fcn.0043c770
push eax
push ecx
lea eax, [esp + 0x24]
push str.ipAddress:
push eax
mov byte [esp + 0x668], 3
call fcn.0040b990
add esp, 0xc
push eax
call fcn.0040bc40
mov edi, 0x10
add esp, 8
mov byte [esp + 0x658], 2
cmp dword [esp + 0xc8], edi
jb 0x456475
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.004a9dd8
add esp, 4
lea esi, [esp + 0xb4]
lea ecx, [esp + 0x1c]
call fcn.00407a80
mov byte [esp + 0x658], 4
cmp dword [eax + 0x14], edi
jb 0x456494
mov eax, dword [eax]
push eax
push str.ConnectingServer
call fcn.0041fa40
add esp, 8
mov byte [esp + 0x658], 2
cmp dword [esp + 0xc8], edi
jb 0x4564c3
mov edx, dword [esp + 0xb4]
push edx
call fcn.004a9dd8
add esp, 4
push 1
lea edx, [esp + 0x208]
mov ecx, ebx
call fcn.0044fd50
test al, al
jne 0x456533
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x208]
call fcn.0043c910
mov byte [esp + 0x658], 5
cmp dword [ebx + 0x270], 0
jne 0x45650a
add ebx, 0x274
push ebx
mov ecx, eax
call fcn.00434bc0
lea esi, [esp + 0x124]
mov byte [esp + 0x658], 2
call fcn.00415110
push 0x515354
lea ecx, [esp + 0x1b]
xor al, al
push ecx
mov byte [esp + 0x1f], al
call fcn.004aba66
call fcn.00457320
call fcn.00457750
lea edx, [esp + 0x204]
push edx
lea esi, [esp + 0xd4]
call fcn.00455970
lea edi, [esp + 0xec]
mov byte [esp + 0x658], 6
call fcn.00433d20
mov dword [esp + 0x18], eax
lea eax, [esp + 0x204]
push eax
lea esi, [esp + 0x10c]
mov byte [esp + 0x65c], 7
call fcn.0043c770
lea edi, [esp + 0xb4]
mov byte [esp + 0x658], 8
call fcn.00433d20
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, eax
mov esi, ebx
mov byte [esp + 0x65c], 9
call fcn.00456990
test al, al
mov ecx, edi
sete byte [esp + 0x17]
call fcn.00428ed0
lea ecx, [esp + 0x108]
call fcn.00406910
lea ecx, [esp + 0xec]
call fcn.00428ed0
lea ecx, [esp + 0xd0]
mov byte [esp + 0x658], 2
call fcn.00406910
cmp byte [esp + 0x17], 0
je 0x45663e
lea edx, [esp + 0x124]
push edx
lea ecx, [esp + 0x208]
call fcn.0043c910
mov ecx, eax
mov eax, ebx
mov byte [esp + 0x658], 0xa
call fcn.0044f570
lea esi, [esp + 0x124]
mov byte [esp + 0x658], 2
call fcn.00415110
xor al, al
mov byte [esp + 0x17], al
push 0x515354
lea eax, [esp + 0x1b]
push eax
call fcn.004aba66
mov ecx, ebx
call fcn.00456c90
test al, al
jne 0x456697
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0x208]
call fcn.0043c910
mov ecx, eax
mov eax, ebx
mov byte [esp + 0x658], 0xb
call fcn.0044f570
lea esi, [esp + 0x124]
mov byte [esp + 0x658], 2
call fcn.00415110
push 0x515354
lea edx, [esp + 0x1b]
xor al, al
push edx
mov byte [esp + 0x1f], al
call fcn.004aba66
cmp dword [ebx + 0x2a0], 2
lea ecx, [esp + 0x204]
je 0x4566ee
lea eax, [esp + 0x124]
push eax
call fcn.0043c910
mov ecx, eax
mov eax, ebx
mov byte [esp + 0x658], 0xc
call fcn.0044f570
lea esi, [esp + 0x124]
mov byte [esp + 0x658], 2
call fcn.00415110
push 0x515354
lea ecx, [esp + 0x1b]
xor al, al
push ecx
mov byte [esp + 0x1f], al
call fcn.004aba66
lea edx, [esp + 0x124]
push edx
call fcn.0043c910
mov byte [esp + 0x658], 0xd
cmp dword [ebx + 0x270], 0
jne 0x45671a
lea ecx, [ebx + 0x274]
push ecx
mov ecx, eax
call fcn.00434800
lea esi, [esp + 0x124]
mov byte [esp + 0x658], 2
call fcn.00415110
lea edx, [esp + 0x204]
push edx
lea eax, [ebx + 0x24]
call fcn.00417d30
call fcn.004581d0
call fcn.00458930
lea ecx, [esp + 0x1c]
mov byte [esp + 0x658], 1
call fcn.00406320
lea eax, [esp + 0x204]
push eax
mov byte [esp + 0x65c], 0
call fcn.00414e20
lea esi, [esp + 0x44c]
call fcn.00415110
mov ecx, dword [esp + 0x650]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x638]
xor ecx, esp
call fcn.004a91d2
mov esp, ebp
pop ebp
ret 4
push str.VPN_requires_Windows_XP_or_greater
push 0
push 0
call fcn.00432650
mov ebx, dword [ebx + 0x18]
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add esp, 0xc
push 8
mov ecx, ebx
call eax
push 0x5152e8
lea ecx, [esp + 0x1b]
xor al, al
push ecx
mov byte [esp + 0x1f], al
call fcn.004aba66
int3