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

Disassembly:
sub esp, 0x20
mov eax, dword [0x100af208]
mov ecx, dword [esp + 0x30]
push ebx
push ebp
push esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
push edi
lea edx, [esp + 0x1c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x3c]
push edx
mov dword [esp + 0x18], eax
call fcn.10049fb0
mov al, byte [esp + 0x38]
test al, al
mov edi, dword [sym.imp.tier0_s.dll__SpewInfo]
mov ebp, dword [sym.imp.tier0_s.dll__SpewMessage]
mov ebx, dword [sym.imp.tier0_s.dll_CallFlushLogFunc]
je 0x1005b091
call dword [sym.imp.tier0_s.dll_IsInAssert]
test al, al
jne 0x1005b091
push 1
call dword [sym.imp.tier0_s.dll_SetInAssert]
push 0xe0
push str..udpsocket.cpp
push 2
call edi
push str.Assertion_Failed:_false
push 0x1008d3bc
call ebp
add esp, 0x18
mov esi, eax
call ebx
call dword [sym.imp.tier0_s.dll_CallAssertFailedNotifyFunc]
test esi, esi
jne 0x1005b054
call dword [sym.imp.tier0_s.dll_ShouldUseNewAssertDialog]
test al, al
je 0x1005b054
push str.Assertion_Failed:_false
push 0xe0
push str..udpsocket.cpp
call dword [sym.imp.tier0_s.dll_DoNewAssertDialog]
add esp, 0xc
test al, al
je 0x1005b054
int3
mov al, byte [0x100c0961]
test al, al
jne 0x1005b086
call dword [sym.imp.tier0_s.dll_Plat_IsInDebugSession]
test al, al
jne 0x1005b086
push 0xe0
push str..udpsocket.cpp
push str.Assertion_Failed:_false
call dword [sym.imp.tier0_s.dll_WriteMiniDump]
add esp, 0xc
mov byte [0x100c0961], 1
push 0
call dword [sym.imp.tier0_s.dll_SetInAssert]
add esp, 4
push 0
push 0
push 0x10
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x44]
push 0
lea ecx, [esp + 0x24]
push ecx
push 1
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.WS2_32.dll_WSASendTo]
push 0x100c0584
mov esi, eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [0x100c0584]
cmp eax, dword [0x100c0588]
jbe 0x1005b0d4
mov dword [0x100c0588], eax
cmp esi, 0xffffffff
jne 0x1005b1ca
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x1005b117
push 0x100c0584
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, 0x100b1410
call fcn.10042df0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x1c]
call fcn.10076182
add esp, 0x20
ret
mov al, byte [esp + 0x38]
test al, al
jne 0x1005b1ec
call dword [sym.imp.tier0_s.dll_IsInAssert]
test al, al
jne 0x1005b1d2
push 1
call dword [sym.imp.tier0_s.dll_SetInAssert]
push 0x109
push str..udpsocket.cpp
push 2
call edi
push str.Assertion_Failed:_bUseIOCP
push 0x1008d3bc
call ebp
add esp, 0x18
mov esi, eax
call ebx
call dword [sym.imp.tier0_s.dll_CallAssertFailedNotifyFunc]
test esi, esi
jne 0x1005b18b
call dword [sym.imp.tier0_s.dll_ShouldUseNewAssertDialog]
test al, al
je 0x1005b18b
push str.Assertion_Failed:_bUseIOCP
push 0x109
push str..udpsocket.cpp
call dword [sym.imp.tier0_s.dll_DoNewAssertDialog]
add esp, 0xc
test al, al
je 0x1005b18b
int3
mov al, byte [0x100c0960]
test al, al
jne 0x1005b1bd
call dword [sym.imp.tier0_s.dll_Plat_IsInDebugSession]
test al, al
jne 0x1005b1bd
push 0x109
push str..udpsocket.cpp
push str.Assertion_Failed:_bUseIOCP
call dword [sym.imp.tier0_s.dll_WriteMiniDump]
add esp, 0xc
mov byte [0x100c0960], 1
push 0
call dword [sym.imp.tier0_s.dll_SetInAssert]
add esp, 4
jmp 0x1005b1d2
mov al, byte [esp + 0x38]
test al, al
jne 0x1005b1ec
push 0x100c0584
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov edx, dword [esp + 0x40]
push edx
mov ecx, 0x100b1410
call fcn.10042df0
mov esi, dword [0x100c04cc]
mov edx, dword [0x100c04d0]
mov eax, dword [esp + 0x44]
mov ecx, dword [0x100c04d4]
add esi, 1
adc edx, 0
mov dword [0x100c04d0], edx
cdq
add ecx, eax
mov eax, dword [0x100c04d8]
pop edi
mov dword [0x100c04cc], esi
adc eax, edx
pop esi
mov dword [0x100c04d4], ecx
mov ecx, dword [esp + 0x24]
pop ebp
mov dword [0x100c04d8], eax
mov al, 1
pop ebx
call fcn.10076182
add esp, 0x20
ret