Function at 0x10002050
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 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 + 0x230]
mov edx, dword [esi + 0xa8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
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 0x100020ec
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, 0x47c
ret 8
mov ecx, dword [esi + 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 0x1000236d
mov al, byte [esp + 0x231]
test al, al
je 0x1000212b
cmp al, bl
jne 0x1000236d
jmp 0x10002133
cmp al, bl
jne 0x10002279
mov edi, 0x100216a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x10002279
push ebp
push str.lstrcpyA
push str.KERNEL32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebp, eax
mov edi, 0x100216a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x100217a0
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str.AdjustTokenPrivileges
push str.ADVAPI32.dll
mov dword [esp + 0x30], ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x130]
lea edx, [esp + 0x132]
rep stosd dword es:[edi], eax
push 0x100216a0
push edx
stosw word es:[edi], ax
mov byte [esp + 0x138], 5
mov byte [esp + 0x139], bl
call ebp
mov edi, dword [esp + 0x28]
lea eax, [esp + ebx + 0x133]
push 0x100217a0
push eax
mov dword [esp + ebx + 0x13a], edi
call ebp
mov eax, dword [esi + 0xa8]
lea ecx, [edi + ebx + 3]
push 0
lea edx, [esp + 0x134]
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 + 0x234]
push edx
push eax
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 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 ebp
jle 0x1000236d
mov eax, dword [esi + 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 0x1000236d
mov al, byte [esp + 0x231]
test al, al
jne 0x1000236d
mov edx, dword [esp + 0x48c]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x1000237a
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 + 0x490]
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 + 0x230]
lea edx, [esp + 0x28]
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 + 0x40], eax
mov dword [esp + 0x3c], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x1000232e
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, 0x47c
ret 8
mov edx, dword [esi + 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 0x10002313
mov al, byte [esp + 0x231]
test al, al
jne 0x10002313
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x47c
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, 0x47c
ret 8