Function at 0x463210
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cfe08
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x65db30]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esi + 0xac]
mov dword [ebp - 0x14], eax
mov ecx, dword [esi + 0x1c4]
xor edi, edi
test ecx, ecx
jle 0x4632a7
lea ebx, [esi + 0x190]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0x1ac]
cmp edi, dword [esi + 0x1b0]
je 0x46327c
mov eax, dword [edi + 4]
mov dword [esi + 0x1ac], eax
mov dword [eax + 8], 0
jmp 0x46328e
test edi, edi
je 0x46328e
xor eax, eax
mov dword [esi + 0x1ac], eax
mov dword [esi + 0x1b0], eax
xor eax, eax
cmp edi, eax
je 0x4632a0
mov dword [edi + 4], eax
mov dword [edi + 8], eax
dec dword [esi + 0x1a8]
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], 0
test edi, edi
je 0x4633ca
mov eax, dword [edi + 0x18]
mov ebx, dword [edi + 0x14]
xor edx, edx
cmp word [esi + 0x60], 2
lea ecx, [esi + 0x60]
setne dl
sub eax, dword [edi + 0x14]
dec edx
and edx, 0xfffffff4
add edx, 0x1c
push edx
mov edx, dword [esi + 0x1c]
push ecx
push 0
push eax
push ebx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
mov ebx, eax
test ebx, ebx
js 0x463349
lea eax, [esi + 0x190]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, ebx
cmp ebx, 1
jg 0x463305
mov eax, 1
sub dword [esi + 0x1c4], eax
lea eax, [esi + 0x190]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [edi + 0x14]
mov edx, dword [esi]
push ebx
push eax
mov eax, dword [edx + 0x98]
mov ecx, esi
call eax
cmp eax, 2
jne 0x46334e
mov ecx, dword [esi + 0x24]
push ecx
push str._C_CNNID:__Iu__OnSend___event_should_not_return_HR_ERROR____n
call fcn.00438830
add esp, 8
jmp 0x46334e
cmp ebx, 0xffffffff
je 0x463377
mov ecx, dword [ebp - 0x14]
push edi
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
call fcn.0043aba0
test eax, eax
jne 0x463243
push edi
call fcn.0045db90
add esp, 4
jmp 0x463243
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4633e1
lea ebx, [esi + 0x190]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x1ac]
xor ecx, ecx
cmp eax, ecx
je 0x4633ab
mov dword [eax + 8], edi
mov edx, dword [esi + 0x1ac]
mov dword [edi + 4], edx
jmp 0x4633b7
mov dword [edi + 8], ecx
mov dword [edi + 4], ecx
mov dword [esi + 0x1b0], edi
inc dword [esi + 0x1a8]
push ebx
mov dword [esi + 0x1ac], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 1
mov dword [esi + 0xc], ecx
mov dword [esi + 0x18], ecx
mov ecx, dword [ebp - 0x14]
push edi
add ecx, 0x1c
mov dword [esi + 0x10], 3
mov dword [esi + 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0043aba0
test eax, eax
jne 0x463416
push edi
call fcn.0045db90
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret