Function at 0x496480
Capabilities:
Create tcp socket
Create udp socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b5a8b
mov eax, dword fs:[0]
push eax
mov eax, 0x200bc
call fcn.004ae2d0
mov eax, dword [0x4e5258]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20014], ecx
cmp dword [ebp + 8], 0
jne 0x4964c2
xor al, al
jmp 0x496c77
mov eax, dword [ebp - 0x20014]
add eax, 0x30
push eax
lea ecx, [ebp - 0x20048]
call fcn.0048f930
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x20030]
push edx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.00495470
lea eax, [ebp - 0x200b4]
push eax
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.0043e480
push eax
lea ecx, [ebp - 0x20030]
call fcn.00439140
movzx ecx, al
test ecx, ecx
je 0x496580
mov edx, dword [ebp + 8]
mov dword [ebp - 0x20094], edx
mov eax, dword [ebp - 0x20094]
mov dword [ebp - 0x2004c], eax
cmp dword [ebp - 0x2004c], 0
je 0x496552
push 1
mov ecx, dword [ebp - 0x2004c]
call fcn.00491490
mov dword [ebp - 0x20098], eax
jmp 0x49655c
mov dword [ebp - 0x20098], 0
mov byte [ebp - 0x20019], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x20019]
jmp 0x496c77
push 1
push 0
push 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov dword [ebp - 0x20024], eax
cmp dword [ebp - 0x20024], 0xffffffff
jne 0x496602
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2009c], ecx
mov edx, dword [ebp - 0x2009c]
mov dword [ebp - 0x20050], edx
cmp dword [ebp - 0x20050], 0
je 0x4965d4
push 1
mov ecx, dword [ebp - 0x20050]
call fcn.00491490
mov dword [ebp - 0x200a0], eax
jmp 0x4965de
mov dword [ebp - 0x200a0], 0
mov byte [ebp - 0x2001a], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x2001a]
jmp 0x496c77
push 1
push 0
push 0
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov dword [ebp - 0x2002c], eax
cmp dword [ebp - 0x2002c], 0xffffffff
jne 0x496691
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20070], eax
mov ecx, dword [ebp - 0x20070]
mov dword [ebp - 0x20054], ecx
cmp dword [ebp - 0x20054], 0
je 0x496656
push 1
mov ecx, dword [ebp - 0x20054]
call fcn.00491490
mov dword [ebp - 0x20074], eax
jmp 0x496660
mov dword [ebp - 0x20074], 0
mov edx, dword [ebp - 0x20024]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [ebp - 0x2001b], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x2001b]
jmp 0x496c77
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20024]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x2002c]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
add eax, 0x3d
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x364], ecx
mov edx, dword [ebp - 0x20024]
push edx
mov ecx, dword [ebp - 0x20014]
add ecx, 4
call fcn.0049c5d0
movzx eax, al
test eax, eax
jne 0x4966f6
jmp 0x4967bf
mov ecx, dword [ebp - 0x2002c]
push ecx
mov ecx, dword [ebp - 0x20014]
add ecx, 4
call fcn.0049c5d0
movzx edx, al
test edx, edx
jne 0x496717
jmp 0x4967bf
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.00491210
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x20024]
push ecx
mov ecx, dword [ebp - 0x20014]
call fcn.0049d1e0
movzx edx, al
test edx, edx
jne 0x4967b8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x20058]
push ecx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.00495470
lea edx, [ebp - 0x200bc]
push edx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.0043e480
push eax
lea ecx, [ebp - 0x20058]
call fcn.00439140
movzx eax, al
test eax, eax
je 0x4967b6
mov ecx, dword [ebp - 0x20058]
push ecx
lea edx, [ebp - 0x200c0]
push edx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.0048f570
jmp 0x4967bf
jmp 0x4967bf
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x200c4]
push ecx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.00495470
mov edx, dword [eax]
mov dword [ebp - 0x20030], edx
lea eax, [ebp - 0x200ac]
push eax
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.0043e480
push eax
lea ecx, [ebp - 0x20030]
call fcn.00439040
movzx ecx, al
test ecx, ecx
je 0x496869
mov edx, dword [ebp + 8]
mov dword [ebp - 0x20078], edx
mov eax, dword [ebp - 0x20078]
mov dword [ebp - 0x2005c], eax
cmp dword [ebp - 0x2005c], 0
je 0x49683b
push 1
mov ecx, dword [ebp - 0x2005c]
call fcn.00491490
mov dword [ebp - 0x2007c], eax
jmp 0x496845
mov dword [ebp - 0x2007c], 0
mov byte [ebp - 0x2001c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x2001c]
jmp 0x496c77
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x360]
mov dword [ebp - 0x20060], edx
cmp dword [ebp - 0x20060], 0
jne 0x4968aa
mov byte [ebp - 0x2001d], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x2001d]
jmp 0x496c77
cmp dword [ebp - 0x20060], 1
jne 0x496c58
mov ecx, dword [ebp - 0x20014]
call fcn.00497820
mov dword [ebp - 0x20018], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x20040], ecx
mov edx, dword [ebp - 0x20018]
mov dword [edx + 0x20], 3
mov eax, dword [ebp - 0x20018]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [eax + 0x18], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp + 0x14]
movzx eax, word [edx]
cmp eax, 2
jne 0x496a8b
mov byte [ebp - 0x2006c], 1
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2006b], edx
mov eax, dword [ebp + 0x14]
mov cx, word [eax + 2]
mov word [ebp - 0x20067], cx
push 0xffff
push 0
lea edx, [ebp - 0x20010]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 7
lea eax, [ebp - 0x2006c]
push eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0x20010]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, 1
imul eax, edx, 7
lea ecx, [ebp + eax - 0x20010]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xffff
push 0
lea edx, [ebp - 0x10010]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x20034], 0
mov eax, dword [ebp + 8]
add eax, 0x160
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x260
push ecx
call fcn.004a8e70
add esp, 8
mov dword [ebp - 0x20028], eax
lea edx, [ebp - 0x20034]
push edx
lea eax, [ebp - 0x10010]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
add edx, 7
push edx
lea eax, [ebp - 0x20010]
push eax
mov ecx, dword [ebp - 0x20028]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20028]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [ebp - 0x20034]
push ecx
mov ecx, dword [ebp - 0x20018]
add ecx, 0x44
call fcn.0049c850
mov edx, dword [ebp - 0x20034]
push edx
lea eax, [ebp - 0x10010]
push eax
push 0
mov ecx, dword [ebp - 0x20018]
add ecx, 0x44
call fcn.00491240
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x20028], 0
je 0x496a8b
mov ecx, dword [ebp - 0x20028]
mov dword [ebp - 0x20080], ecx
mov edx, dword [ebp - 0x20080]
mov dword [ebp - 0x20038], edx
cmp dword [ebp - 0x20038], 0
je 0x496a77
push 1
mov eax, dword [ebp - 0x20038]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20038]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x20084], eax
jmp 0x496a81
mov dword [ebp - 0x20084], 0
mov dword [ebp - 0x20028], 0
push 0
mov ecx, dword [ebp - 0x20018]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x200a4], eax
mov ecx, dword [ebp - 0x20018]
add ecx, 0x44
call fcn.0049d070
mov dword [ebp - 0x200a8], eax
push 0
mov ecx, dword [ebp - 0x20018]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x3d
push ecx
push 0
lea edx, [ebp - 0x200b0]
push edx
push 1
lea eax, [ebp - 0x200a8]
push eax
mov ecx, dword [ebp - 0x20040]
push ecx
call dword [sym.imp.WS2_32.dll_WSASendTo]
test eax, eax
jne 0x496af4
jmp 0x496c28
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x20088], eax
cmp dword [ebp - 0x20088], 0x3e5
je 0x496c28
mov edx, dword [ebp - 0x20018]
mov dword [edx + 0x20], 4
mov ecx, dword [ebp - 0x20018]
add ecx, 0x44
call fcn.004603e0
mov eax, dword [ebp - 0x20018]
push eax
push 0
mov ecx, dword [ebp - 0x20040]
push ecx
mov ecx, dword [ebp - 0x20014]
add ecx, 4
call fcn.0049c510
movzx edx, al
test edx, edx
jne 0x496b62
mov eax, dword [ebp - 0x20018]
push eax
mov ecx, dword [ebp - 0x20014]
call fcn.004946f0
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2003c]
push edx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.00495470
lea eax, [ebp - 0x200c8]
push eax
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.0043e480
push eax
lea ecx, [ebp - 0x2003c]
call fcn.00439140
movzx ecx, al
test ecx, ecx
je 0x496c07
lea ecx, [ebp - 0x2003c]
call fcn.00439290
mov edx, dword [eax + 8]
mov dword [ebp - 0x2008c], edx
mov eax, dword [ebp - 0x2008c]
mov dword [ebp - 0x20064], eax
cmp dword [ebp - 0x20064], 0
je 0x496be1
push 1
mov ecx, dword [ebp - 0x20064]
call fcn.00491490
mov dword [ebp - 0x20090], eax
jmp 0x496beb
mov dword [ebp - 0x20090], 0
mov ecx, dword [ebp - 0x2003c]
push ecx
lea edx, [ebp - 0x200b8]
push edx
mov ecx, dword [ebp - 0x20014]
add ecx, 0x20
call fcn.0048f570
mov byte [ebp - 0x2001e], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x2001e]
jmp 0x496c77
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x3c]
test ecx, ecx
jne 0x496c58
mov edx, dword [ebp + 8]
mov byte [edx + 0x3c], 1
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x20040]
push eax
mov ecx, dword [ebp - 0x20014]
call fcn.0049e210
mov byte [ebp - 0x2001f], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20048]
call fcn.00490ae0
mov al, byte [ebp - 0x2001f]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004adff8
mov esp, ebp
pop ebp
ret 0x10