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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
mov eax, dword [ebp + 0xc]
sub eax, 4
je 0x49e755
sub eax, 1
je 0x49e6f8
sub eax, 1
je 0x49e755
sub eax, 1
je 0x49e693
push dword [ebp + 0xc]
push 0x40b128
push edi
call fcn.004928db
jmp 0x49e8fc
inc dword [esi + 0x18]
movzx eax, word [esi + 0x40]
push dword [esi + 0x18]
inc eax
movzx eax, ax
push eax
push 0x40b084
push edi
call fcn.00492971
mov eax, dword [esi + 0x18]
add esp, 0x10
cmp eax, dword [esi + 0x20]
jle 0x49e6c4
mov dword [esi + 8], 0xffffff9d
jmp 0x49e74a
push dword [esi + 0x148]
lea eax, [esi + 0xc8]
push eax
mov eax, dword [esi + 0x150]
push ebx
add eax, 4
push eax
push dword [esi + 0x160]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x49e8f0
jmp 0x49e8c4
mov dword [esi], 3
mov eax, dword [esi + 0x160]
mov byte [eax], bl
mov eax, dword [esi + 0x160]
mov byte [eax + 1], 5
movzx edx, word [esi + 0x40]
mov eax, dword [esi + 0x160]
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov eax, dword [esi + 0x160]
mov byte [eax + 3], dl
lea eax, [esi + 0xc8]
push dword [esi + 0x148]
push eax
push ebx
push 4
push dword [esi + 0x160]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
mov dword [esi], 3
jmp 0x49e8ff
xor eax, eax
inc eax
cmp dword [ebp + 0xc], 4
jne 0x49e82c
mov ecx, dword [esi + 0x15c]
movzx eax, byte [ecx + 2]
shl ax, 8
movzx edx, ax
movzx eax, byte [ecx + 3]
or edx, eax
movzx eax, word [esi + 0x40]
mov ecx, eax
cmp edx, ecx
je 0x49e81c
test ax, ax
jne 0x49e798
cmp edx, 0xffff
je 0x49e81c
push ecx
push edx
push 0x40b0d0
push edi
call fcn.00492971
add esp, 0x10
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x20]
jle 0x49e7c8
movzx eax, word [esi + 0x40]
push eax
push 0x40b0fc
push edi
call fcn.004928db
add esp, 0xc
jmp 0x49e812
push dword [esi + 0x148]
lea eax, [esi + 0xc8]
push eax
mov eax, dword [esi + 0x150]
push ebx
add eax, 4
push eax
lea eax, [esi + 0x160]
push eax
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x49e815
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0x10]
call fcn.00487de3
push eax
push 0x4180a8
push edi
call fcn.004928db
add esp, 0x14
push 0x37
pop ebx
mov eax, ebx
jmp 0x49e901
lea eax, [esi + 0x38]
push eax
call fcn.004b6de2
inc word [esi + 0x40]
pop ecx
jmp 0x49e830
mov word [esi + 0x40], ax
mov dword [esi + 0x18], ebx
mov eax, dword [esi + 0x160]
mov byte [eax], bl
mov eax, dword [esi + 0x160]
mov byte [eax + 1], 3
movzx edx, word [esi + 0x40]
mov eax, dword [esi + 0x160]
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov eax, dword [esi + 0x160]
mov byte [eax + 3], dl
xor eax, eax
inc eax
cmp word [esi + 0x40], ax
jbe 0x49e87b
mov eax, dword [esi + 0x150]
cmp eax, dword [esi + 0x154]
jl 0x49e74a
lea eax, [esi + 0x150]
push eax
push dword [esi + 0x154]
push dword [esi + 0x10]
call fcn.0048bb11
add esp, 0xc
test eax, eax
jne 0x49e901
push dword [esi + 0x148]
lea eax, [esi + 0xc8]
push eax
push ebx
lea ebx, [esi + 0x150]
mov eax, dword [ebx]
add eax, 4
push eax
push dword [esi + 0x160]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x49e8e7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0x10]
call fcn.00487de3
push eax
push 0x4180a8
push edi
call fcn.004928db
add esp, 0x14
push 0x37
pop eax
jmp 0x49e901
mov eax, dword [ebx]
cdq
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
push dword [edi + 0x44]
push dword [edi + 0x40]
push edi
call fcn.0049aa1d
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret