Function at 0x41bcf0
Capabilities:
Connect socket
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4da49b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x540
mov eax, dword [0x50d080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
xor esi, esi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x10]
push str.WinInet.dll
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x510], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x41c1fc
push str.InternetGetConnectedState
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41bd8e
push esi
lea ecx, [ebp - 0x50c]
mov dword [ebp - 0x50c], esi
push ecx
call eax
test eax, eax
je 0x41bd8e
mov esi, dword [ebp - 0x50c]
and esi, 0x17
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x41c1fc
lea eax, [ebp - 0x378]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
push str.www.lockxls.com
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
mov ecx, 1
cmovne esi, ecx
call dword [sym.imp.WS2_32.dll_WSACleanup]
test esi, esi
je 0x41c1fc
push str.url.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x41be05
push str.InetIsOffline
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41bdfe
push 0
call eax
xor ecx, ecx
test eax, eax
cmovne esi, ecx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x41c1fc
lea eax, [ebp - 0x508]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x41c1fc
xorps xmm0, xmm0
movlpd qword [ebp - 0x548], xmm0
movlpd qword [ebp - 0x540], xmm0
movlpd qword [ebp - 0x538], xmm0
movlpd qword [ebp - 0x530], xmm0
push eax
push 2
push 2
mov dword [ebp - 4], eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x50c], esi
cmp esi, 0xffffffff
je 0x41c1ea
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
call fcn.0040e6f0
cmp dword [ebp - 0x1c], 0x10
lea edi, [ebp - 0x30]
xorps xmm0, xmm0
mov eax, 2
cmovae edi, dword [ebp - 0x30]
movups xmmword [ebp - 0x40], xmm0
push 0x7b
mov word [ebp - 0x40], ax
call dword [sym.imp.WS2_32.dll_htons]
push edi
mov word [ebp - 0x3e], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x3c], eax
cmp eax, 0xffffffff
jne 0x41bebf
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x41beff
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
push 0x10
lea eax, [ebp - 0x40]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
mov edx, dword [ebp - 0x1c]
mov edi, eax
neg edi
sbb edi, edi
inc edi
cmp edx, 0x10
jb 0x41bf46
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41bf3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41c222
jmp 0x41bf3c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x41c1ea
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41bf2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41c227
push edx
push ecx
call fcn.0047cf71
add esp, 8
jmp 0x41c1ea
push edx
push ecx
call fcn.0047cf71
add esp, 8
test edi, edi
je 0x41c1ea
push 0x30
lea eax, [ebp - 0x94]
push 0
push eax
call fcn.0047f380
add esp, 0xc
mov byte [ebp - 0x94], 0x1b
lea ecx, [ebp - 0x38]
call fcn.00439d70
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov cl, 0x20
call fcn.004d82b0
mov edi, dword [sym.imp.WS2_32.dll_htonl]
push eax
call edi
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x1c]
push dword [eax]
call edi
mov ecx, dword [ebp - 0x50c]
push 0
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x94]
push 0x30
push eax
push esi
mov dword [ebp - 0x6c], ecx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x41c1ea
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xa
push eax
push 0
push 0
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1c], 0
push eax
push 0
mov dword [ebp - 0x1e4], esi
mov dword [ebp - 0x1e8], 1
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x41c1ea
test eax, eax
je 0x41c1ea
lea ecx, [ebp - 0x38]
call fcn.00439d70
mov ecx, eax
push 0x44
push 0
mov eax, dword [ecx]
mov dword [ebp - 0x530], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0xe0]
push eax
call fcn.0047f380
add esp, 0xc
lea eax, [ebp - 0xe0]
push 0
push 0x44
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x41c1ea
movzx eax, byte [ebp - 0xdf]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x54c], eax
movzx eax, byte [ebp - 0xe0]
shr eax, 6
mov dword [ebp - 0x550], eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00439700
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x544], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00439700
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x53c], eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00439700
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x548]
push eax
call fcn.004399f0
lea eax, [ebp - 0x538]
movaps xmm2, xmm0
push eax
lea ecx, [ebp - 0x540]
call fcn.004399f0
subsd xmm2, xmm0
lea eax, [ebp - 0x548]
push eax
lea ecx, [ebp - 0x540]
movsd qword [ebp - 0x528], xmm2
call fcn.004399f0
lea eax, [ebp - 0x530]
movaps xmm2, xmm0
push eax
lea ecx, [ebp - 0x538]
call fcn.004399f0
addsd xmm2, xmm0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x540]
mulsd xmm2, qword [0x4fecd0]
movsd qword [ebp - 0x520], xmm2
call fcn.00439b90
push 0xac
lea eax, [ebp - 0x190]
push 0
push eax
call fcn.0047f380
add esp, 0xc
lea eax, [ebp - 0x190]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
test eax, eax
je 0x41c198
lea eax, [ebp - 0x28]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x190]
push eax
movups xmmword [ebp - 0x28], xmm0
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
test eax, eax
je 0x41c198
movups xmm0, xmmword [ebp - 0x28]
movups xmmword [ebp - 0x40], xmm0
mov ecx, dword [ebp - 0x40]
movzx eax, cx
sub eax, 0x76c
shr ecx, 0x10
mov dword [ebp - 0x50], eax
dec ecx
mov eax, dword [ebp - 0x3c]
shr eax, 0x10
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x58], eax
movzx eax, cx
mov dword [ebp - 0x5c], eax
movzx eax, word [ebp - 0x34]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
shr ecx, 0x10
push eax
mov dword [ebp - 0x60], ecx
call fcn.004ad338
mov ecx, dword [ebp - 0x514]
add esp, 4
mov dword [ebp - 0x510], 1
mov dword [ecx], eax
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp esi, 0xffffffff
je 0x41c1fc
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x510]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0047cf84
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
call fcn.004896ff
call fcn.004896ff
int3