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

Disassembly:
jmp 0x1000abe0
sub esp, 0x478
push ebx
push esi
mov esi, ecx
push edi
push 0
lea eax, [esp + 0x10]
mov ecx, dword [esi + 0xa8]
push 4
mov bl, 2
push eax
push ecx
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], 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 + 0x22c]
mov edx, dword [esi + 0xa8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
push 0
push 0
push ecx
push 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x1000ac7c
mov edx, dword [esi + 0xa8]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x478
ret 8
mov ecx, dword [esi + 0xa8]
push 0
lea eax, [esp + 0x230]
push 0x258
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp byte [esp + 0x22c], 5
jne 0x1000aec9
mov al, byte [esp + 0x22d]
test al, al
je 0x1000acbb
cmp al, bl
jne 0x1000aec9
jmp 0x1000acc3
cmp al, bl
jne 0x1000add5
mov edi, 0x1002197c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x1000add5
mov edi, 0x1002197c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x10021a7c
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ebp
mov ebp, ecx
mov ecx, 0x40
lea edi, [esp + 0x12c]
lea edx, [esp + 0x12e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1002197c
push edx
mov byte [esp + 0x134], 5
mov byte [esp + 0x135], bl
call edi
lea eax, [esp + ebx + 0x12f]
push 0x10021a7c
push eax
mov dword [esp + ebx + 0x136], ebp
call edi
mov eax, dword [esi + 0xa8]
lea ecx, [ebx + ebp + 3]
push 0
lea edx, [esp + 0x130]
push ecx
push edx
push eax
call dword [sym.imp.WS2_32.dll_send]
lea edx, [esp + 0x14]
xor eax, eax
mov ecx, 0x96
lea edi, [esp + 0x230]
push edx
push eax
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0xa8]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x38], ecx
push eax
push 0
mov dword [esp + 0x3c], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
pop ebp
jle 0x1000aec9
mov eax, dword [esi + 0xa8]
push 0
lea edx, [esp + 0x230]
push 0x258
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
cmp byte [esp + 0x22c], 5
jne 0x1000aec9
mov al, byte [esp + 0x22d]
test al, al
jne 0x1000aec9
mov edx, dword [esp + 0x488]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x1000aed6
mov byte [esp + 0x18], 5
mov byte [esp + 0x19], 1
mov byte [esp + 0x1a], 0
mov byte [esp + 0x1b], 1
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [esp + 0x48c]
push eax
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
call dword [sym.imp.WS2_32.dll_ntohs]
mov edx, dword [esi + 0xa8]
push 0
lea ecx, [esp + 0x1c]
push 0xa
push ecx
push edx
mov word [esp + 0x30], ax
call dword [sym.imp.WS2_32.dll_send]
mov ecx, 0x96
xor eax, eax
lea edi, [esp + 0x22c]
lea edx, [esp + 0x24]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xa8]
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
push edx
push 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x1000ae8a
mov eax, dword [esi + 0xa8]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x478
ret 8
mov edx, dword [esi + 0xa8]
push 0
lea ecx, [esp + 0x230]
push 0x258
push ecx
push edx
call dword [sym.imp.WS2_32.dll_recv]
cmp byte [esp + 0x22c], 5
jne 0x1000ae6f
mov al, byte [esp + 0x22d]
test al, al
jne 0x1000ae6f
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x478
ret 8
mov ecx, dword [esi + 0xa8]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x478
ret 8