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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x494
mov eax, dword [0x10032014]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.WS2_32.dll_send]
mov ebx, ecx
push 0
mov dword [ebp - 0x494], eax
lea eax, [ebp - 0x484]
push 4
push eax
push dword [ebx + 0xa8]
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x490], 3
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x484], 0x2000205
call edi
push 0x258
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.100146a0
mov eax, dword [ebx + 0xa8]
add esp, 0xc
mov dword [ebp - 0x374], eax
lea eax, [ebp - 0x490]
mov dword [ebp - 0x378], 1
push eax
push 0
push 0
lea eax, [ebp - 0x378]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
mov ecx, dword [ebx + 0xa8]
test eax, eax
jg 0x10001731
push ecx
jmp 0x10001765
mov esi, dword [sym.imp.WS2_32.dll_recv]
lea eax, [ebp - 0x260]
push 0
push 0x258
push eax
push ecx
call esi
cmp byte [ebp - 0x260], 5
jne 0x1000175f
mov eax, dword [ebp - 0x25f]
test al, al
je 0x10001780
cmp al, 2
je 0x10001788
push dword [ebx + 0xa8]
call dword [sym.imp.WS2_32.dll_closesocket]
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10012425
mov esp, ebp
pop ebp
ret 8
cmp al, 2
jne 0x100018ad
mov ebx, 0x10033920
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10001790
sub ebx, ecx
je 0x100018a7
mov edi, 0x10033a28
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x100017a7
push 0x100
lea eax, [ebp - 0x47e]
sub edi, ecx
push 0
push eax
call fcn.100146a0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x47e]
add esp, 0xc
mov byte [ebp - 0x480], 5
mov byte [ebp - 0x47f], bl
push 0x10033920
push eax
call esi
lea eax, [ebp - 0x47d]
mov dword [ebp + ebx - 0x47e], edi
push 0x10033a28
add eax, ebx
push eax
call esi
push 0
lea eax, [ebx + 3]
mov ebx, dword [ebp - 0x488]
add eax, edi
mov edi, dword [sym.imp.WS2_32.dll_send]
push eax
lea eax, [ebp - 0x480]
push eax
push dword [ebx + 0xa8]
call edi
push 0x258
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.100146a0
mov eax, dword [ebx + 0xa8]
add esp, 0xc
mov dword [ebp - 0x374], eax
lea eax, [ebp - 0x490]
mov dword [ebp - 0x378], 1
push eax
push 0
push 0
lea eax, [ebp - 0x378]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
mov ecx, dword [ebx + 0xa8]
test eax, eax
jle 0x1000172e
mov esi, dword [sym.imp.WS2_32.dll_recv]
lea eax, [ebp - 0x260]
push 0
push 0x258
push eax
push ecx
call esi
cmp byte [ebp - 0x260], 5
jne 0x1000175f
cmp byte [ebp - 0x25f], 0
je 0x100018ad
jmp 0x1000175f
mov ebx, dword [ebp - 0x488]
push dword [ebp - 0x494]
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x1000176b
push dword [ebp + 0xc]
mov dword [ebp - 0x26c], 0x1000105
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x268], eax
call dword [sym.imp.WS2_32.dll_ntohs]
push 0
mov word [ebp - 0x264], ax
lea eax, [ebp - 0x26c]
push 0xa
push eax
push dword [ebx + 0xa8]
call edi
push 0x258
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.100146a0
mov eax, dword [ebx + 0xa8]
add esp, 0xc
mov dword [ebp - 0x374], eax
lea eax, [ebp - 0x490]
mov dword [ebp - 0x378], 1
push eax
push 0
push 0
lea eax, [ebp - 0x378]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
mov ecx, dword [ebx + 0xa8]
test eax, eax
jle 0x1000172e
push 0
push 0x258
lea eax, [ebp - 0x260]
push eax
push ecx
call esi
cmp byte [ebp - 0x260], 5
jne 0x1000175f
cmp byte [ebp - 0x25f], 0
jne 0x1000175f
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10012425
mov esp, ebp
pop ebp
ret 8