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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x470c95
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x491d58]
xor eax, esp
mov dword [esp + 0x198], eax
push ebx
push esi
push edi
mov eax, dword [0x491d58]
xor eax, esp
push eax
lea eax, [esp + 0x1b0]
mov dword fs:[0], eax
mov eax, 7
mov edi, ecx
mov esi, edx
mov dword [esp + 0x34], eax
xor ebx, ebx
mov dword [esp + 0x50], eax
xor ecx, ecx
xor edx, edx
mov eax, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], vtable.LogItem.0
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], cx
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], dx
mov dword [esp + 0x58], eax
mov dword [esp + 0x1b8], ebx
push str._DBG___0x
lea ecx, [esp + 0x20]
mov dword [esp + 0x60], eax
call fcn.00403090
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
mov dword [eax + 0x3c], ebx
call fcn.00402fa0
push str.Send_message_called
push 0x48176c
mov ecx, eax
mov dword [eax + 0x3c], 1
call fcn.00403090
mov ecx, eax
call fcn.00403090
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], 0xffffffff
call fcn.00402d10
mov eax, dword [esi]
mov esi, dword [esi + 4]
cmp esi, 0x10
jb 0x415732
lea edx, [esp + 0xc8]
push edx
push eax
call fcn.00411740
mov esi, eax
mov dword [esp + 0x1b8], 4
mov eax, 7
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
xor ecx, ecx
xor edx, edx
mov eax, 1
mov dword [esp + 0x1c], vtable.LogItem.0
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], cx
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], dx
mov dword [esp + 0x58], eax
mov byte [esp + 0x1b8], 5
push str._DBG___N_A_
lea ecx, [esp + 0x20]
mov dword [esp + 0x60], eax
call fcn.00403090
push esi
mov esi, eax
call fcn.00403200
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b8], 4
call fcn.00402d10
or esi, 0xffffffff
mov dword [esp + 0x1b8], esi
cmp dword [esp + 0xdc], 0x10
jb 0x415581
mov eax, dword [esp + 0xc8]
push eax
call fcn.0044d9f1
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
push ebx
push eax
push ecx
mov ecx, dword [edi + 0x1d4]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [esp + 0x18], eax
cmp eax, esi
jne 0x415659
mov eax, 7
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
xor edx, edx
xor eax, eax
mov edi, 1
mov dword [esp + 0x1c], vtable.LogItem.0
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], dx
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], ax
mov dword [esp + 0x58], edi
mov dword [esp + 0x1b8], 6
push str._ERR___0x
lea ecx, [esp + 0x20]
mov dword [esp + 0x60], 3
call fcn.00403090
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
mov dword [eax + 0x3c], ebx
call fcn.00402fa0
push str.Send_failed_with_error.
push 0x48176c
mov ecx, eax
mov dword [eax + 0x3c], edi
call fcn.00403090
mov ecx, eax
call fcn.00403090
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1b8], esi
call fcn.00402d10
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
lea ecx, [esp + 0x1c]
call fcn.00411a00
push 0x4891e0
lea edx, [esp + 0x20]
push edx
call fcn.00450350
mov esi, edi
call fcn.004159b0
mov eax, 7
xor ecx, ecx
xor edx, edx
mov esi, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x64], vtable.LogItem.0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], cx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ebx
mov word [esp + 0x84], dx
mov dword [esp + 0xa0], esi
mov dword [esp + 0x1b8], eax
push str._INF___0x
lea ecx, [esp + 0x68]
mov dword [esp + 0xa8], 2
call fcn.00403090
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
mov dword [eax + 0x3c], ebx
call fcn.00402fa0
lea edx, [esp + 0x18]
push edx
push str.Bytes_sent:
push 0x48176c
mov ecx, eax
mov dword [eax + 0x3c], esi
call fcn.00403090
mov ecx, eax
call fcn.00403090
mov ecx, eax
call fcn.00402fa0
lea ecx, [esp + 0x64]
mov dword [esp + 0x1b8], 0xffffffff
call fcn.00402d10
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x198]
xor ecx, esp
call fcn.0044ce4c
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x14], 0xef
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
lea eax, [esp + 0x14]
push eax
push ecx
mov edi, str.C:BuildAgentwork_ae1bc25fceea6c8fIUSLSupportCore_Buffer.h
lea esi, [esp + 0xb4]
mov dword [esp + 0x1c0], 1
call fcn.0040d710
mov esi, eax
call fcn.0040d840
add esp, 4
mov esi, eax
call fcn.0040d970
mov edi, eax
lea ecx, [esp + 0x144]
call fcn.00416a10
mov esi, vtable.iusl::BufferReaderException.0
mov dword [esp + 0x144], esi
mov edi, str.Unable_to_cast___not_enough_data
lea ecx, [esp + 0x144]
mov byte [esp + 0x1b8], 2
call fcn.00418ef0
mov edi, eax
push edi
lea ecx, [esp + 0xe8]
call fcn.00402180
push 0xffffffffffffffff
mov byte [esp + 0x1bc], 3
push ebx
add edi, 0x44
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0xf0], vtable.ExceptionStream_class_iusl::BufferReaderException__class_Exception_.0
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
call fcn.00409390
push 0x489168
lea ecx, [esp + 0xe8]
mov byte [esp + 0x1bc], 2
push ecx
mov dword [esp + 0xec], esi
call fcn.00450350
int3