Function at 0x10004000
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
push 0xffffffffffffffff
push 0x1001a5f2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
mov edx, dword [esp + 0x160]
push ebx
mov ebx, ecx
push ebp
xor ecx, ecx
push esi
cmp edx, ecx
push edi
mov dword [esp + 0x18], ebx
je 0x100042c2
mov edi, dword [edx + 0x40]
cmp edi, ecx
mov dword [esp + 0x14], edi
je 0x100042c2
cmp dword [ebx + 0x1fc], 0xffffffff
je 0x100042c2
mov esi, dword [edx + 0x44]
xor eax, eax
mov dword [edx + 0x30], esi
lea esi, [edx + 0x2c]
mov dword [esp + 0x10], ecx
mov dword [edx + 0x40], ecx
mov dword [esi], edi
cmp eax, 0xffffffff
je 0x100040ad
mov eax, dword [esi]
mov ebp, dword [esi + 4]
sub eax, ecx
push 0
mov dword [esi], eax
add ebp, ecx
push 0
lea eax, [esp + 0x18]
push 0
mov dword [esi + 4], ebp
sub edi, ecx
mov ecx, dword [ebx + 0x1fc]
push eax
push 1
push esi
push ecx
mov dword [esp + 0x30], edi
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
je 0x100040ad
mov ecx, dword [esp + 0x10]
cmp ecx, edi
jae 0x100042c2
jmp 0x10004066
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
cmp ebp, 0x2745
je 0x10004257
cmp ebp, 0x2746
je 0x10004257
cmp ebp, 0x2775
je 0x10004257
cmp ebp, 0x3e5
je 0x100040e9
cmp ebp, 0x2733
jne 0x1000414f
mov edx, dword [ebx + 0x1fc]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
mov dword [esp + 0x5c], 1
mov dword [esp + 0x60], edx
push 0x100202b8
lea eax, [esp + 0x60]
push 0
push eax
push 0
push 1
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x100041bc
test eax, eax
jg 0x10004142
push 0
lea ecx, [ebx + 0x234]
call fcn.1000a2c0
test al, al
jne 0x100042c2
jmp 0x10004108
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x10004066
lea ecx, [esp + 0x1c]
push ebp
push ecx
call fcn.10006200
lea edx, [esp + 0x24]
lea eax, [esp + 0x34]
push edx
push str.CSocketClient::Write_____WSASend:
push eax
mov dword [esp + 0x17c], 2
call fcn.10002520
push eax
mov byte [esp + 0x180], 3
call fcn.100061e0
mov eax, dword [esp + 0x48]
add esp, 0x18
test eax, eax
je 0x100041b6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x100041ad
cmp al, 0xff
je 0x100041ad
dec al
mov byte [ecx], al
mov ecx, dword [esp + 0x20]
jmp 0x10004231
push ecx
call fcn.1000bc7a
add esp, 4
mov ecx, dword [esp + 0x20]
jmp 0x10004231
lea ecx, [esp + 0x2c]
push ebp
push ecx
call fcn.10006200
lea edx, [esp + 0x34]
lea eax, [esp + 0x44]
push edx
mov ebx, 4
push str.CSocketClient::Write_____WSASend:
push eax
mov dword [esp + 0x17c], ebx
call fcn.10002520
push eax
mov byte [esp + 0x180], 5
call fcn.100061e0
mov eax, dword [esp + 0x58]
add esp, 0x18
test eax, eax
mov byte [esp + 0x168], bl
je 0x10004224
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1000421b
cmp al, 0xff
je 0x1000421b
dec al
mov byte [ecx], al
jmp 0x10004224
push ecx
call fcn.1000bc7a
add esp, 4
mov ecx, dword [esp + 0x18]
call fcn.10003340
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100042c2
mov al, byte [ecx - 1]
test al, al
je 0x1000424b
cmp al, 0xff
je 0x1000424b
dec al
mov byte [ecx - 1], al
jmp 0x100042c2
dec ecx
push ecx
call fcn.1000bc7a
add esp, 4
jmp 0x100042c2
lea ecx, [esp + 0x1c]
push ebp
push ecx
call fcn.10006200
lea edx, [esp + 0x24]
lea eax, [esp + 0x54]
push edx
push str.CSocketClient::Write_____WSASend:
push eax
mov dword [esp + 0x17c], 0
call fcn.10002520
push eax
mov byte [esp + 0x180], 1
call fcn.100061e0
add esp, 0x18
lea ecx, [esp + 0x4c]
mov byte [esp + 0x168], 0
push 1
call fcn.10002280
mov ecx, ebx
call fcn.10003340
push 1
lea ecx, [esp + 0x20]
mov dword [esp + 0x16c], 0xffffffff
call fcn.10002280
mov ecx, dword [esp + 0x160]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x15c
ret 4