Function at 0x10001eb0
Capabilities:
Get socket status
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
sub esp, 0x47c
push ebx
push ebp
mov ebp, ecx
push edi
push 0
lea eax, [esp + 0x10]
mov ecx, dword [ebp + 0xa8]
push 4
mov bl, 2
push eax
push ecx
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 0
mov byte [esp + 0x1c], 5
mov byte [esp + 0x1d], bl
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], bl
call dword [sym.imp.WS2_32.dll_send]
mov ecx, 0x96
xor eax, eax
lea edi, [esp + 0x230]
mov edx, dword [ebp + 0xa8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x28]
push eax
push 0
push 0
push ecx
push 0
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x10001f4c
mov edx, dword [ebp + 0xa8]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop ebp
xor al, al
pop ebx
add esp, 0x47c
ret 8
mov ecx, dword [ebp + 0xa8]
push 0
lea eax, [esp + 0x234]
push 0x258
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp byte [esp + 0x230], 5
jne 0x100021d3
mov al, byte [esp + 0x231]
test al, al
je 0x10001f8b
cmp al, bl
jne 0x100021d3
jmp 0x10001f93
cmp al, bl
jne 0x100020df
mov edi, 0x10019d48
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x100020df
mov edi, 0x10019d48
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x10019e48
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x12c]
mov ebx, ecx
mov ecx, 0x40
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0x10019d48
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x132]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
mov byte [esp + 0x130], 5
mov byte [esp + 0x131], dl
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10019e48
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + edx + 0x137]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x18], esi
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
mov dword [esp + edx + 0x136], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0xa8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx + edx + 3]
lea edx, [esp + 0x134]
push ecx
push edx
push eax
call dword [sym.imp.WS2_32.dll_send]
lea edx, [esp + 0x18]
xor eax, eax
mov ecx, 0x96
lea edi, [esp + 0x234]
push edx
push eax
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0xa8]
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
push eax
push 0
mov dword [esp + 0x40], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
pop esi
jle 0x100021d3
mov eax, dword [ebp + 0xa8]
push 0
lea edx, [esp + 0x234]
push 0x258
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
cmp byte [esp + 0x230], 5
jne 0x100021d3
mov al, byte [esp + 0x231]
test al, al
jne 0x100021d3
mov edx, dword [esp + 0x48c]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x100021e0
mov byte [esp + 0x1c], 5
mov byte [esp + 0x1d], 1
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 1
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [esp + 0x490]
push eax
mov edx, dword [ecx]
mov dword [esp + 0x24], edx
call dword [sym.imp.WS2_32.dll_ntohs]
mov edx, dword [ebp + 0xa8]
push 0
lea ecx, [esp + 0x20]
push 0xa
push ecx
push edx
mov word [esp + 0x34], ax
call dword [sym.imp.WS2_32.dll_send]
mov ecx, 0x96
xor eax, eax
lea edi, [esp + 0x230]
lea edx, [esp + 0x28]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xa8]
lea ecx, [esp + 0x14]
push ecx
push 0
push 0
push edx
push 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x10002194
mov eax, dword [ebp + 0xa8]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop ebp
xor al, al
pop ebx
add esp, 0x47c
ret 8
mov edx, dword [ebp + 0xa8]
push 0
lea ecx, [esp + 0x234]
push 0x258
push ecx
push edx
call dword [sym.imp.WS2_32.dll_recv]
cmp byte [esp + 0x230], 5
jne 0x10002179
mov al, byte [esp + 0x231]
test al, al
jne 0x10002179
pop edi
pop ebp
mov al, 1
pop ebx
add esp, 0x47c
ret 8
mov ecx, dword [ebp + 0xa8]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop ebp
xor al, al
pop ebx
add esp, 0x47c
ret 8