Function at 0x4a4580
Capabilities:
Get local ipv4 addresses
Get socket information
Send data
Send data on socket

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5448b0
push eax
mov dword fs:[0], esp
sub esp, 0x34
xor eax, eax
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov ecx, 0x400
lea ebx, [ebp + 0x107c]
mov edi, ebx
rep stosd dword es:[edi], eax
cmp dword [esp + 0x54], 1
je 0x4a45c5
lea esi, [ebp + 0x2224]
mov ecx, 0x100
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 0x10
push 0x58d784
push ebx
call fcn.004a37d0
mov edi, dword [esp + 0x60]
mov esi, eax
add esp, 0xc
add esi, ebx
xor eax, eax
cmp edi, 0x1b
mov dword [ebp + 0x64], edi
mov dword [ebp + 0x5c], eax
je 0x4a4743
mov ecx, dword [0x591288]
mov dword [esp + 0x10], ecx
push edi
lea edx, [esp + 0x14]
push str.Send_Command__X
push edx
mov dword [esp + 0x58], eax
call fcn.005060bb
add esp, 0xc
lea eax, [esp + 0x10]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0050d172
mov ecx, dword [ebp + 0x10]
call fcn.0047db40
lea ecx, [esp + 0x10]
mov dword [esp + 0x4c], 0xffffffff
call fcn.0050d3fd
cmp edi, 1
jne 0x4a475a
push 0x24
push 0x58d7ac
push esi
call fcn.004a37d0
add esi, eax
push 0
push str.NSPlayer_9.0.0.2980_
push esi
call fcn.004a3810
lea ecx, [ebp + 0x21f8]
add esi, eax
push 0
push ecx
push esi
call fcn.004a3810
add esi, eax
push edi
push 0x589fd4
push esi
call fcn.004a3810
add esi, eax
push edi
push 0x599e40
push esi
call fcn.004a3810
add esi, eax
push 0
push str.Host:
push esi
call fcn.004a3810
mov ecx, dword [ebp + 0x18]
add esp, 0x48
lea edx, [esp + 0x54]
add esi, eax
push edx
call fcn.0041f280
mov eax, dword [eax]
push 0
push eax
push esi
mov dword [esp + 0x58], edi
call fcn.004a3810
add esp, 0xc
lea ecx, [esp + 0x54]
add esi, eax
mov dword [esp + 0x4c], 0xffffffff
call fcn.0050d3fd
push edi
push 0x599e40
push esi
call fcn.004a3810
mov edi, eax
sub esi, ebx
add edi, esi
add esp, 0xc
mov eax, edi
and eax, 7
je 0x4a46f8
mov ecx, 8
sub ecx, eax
add edi, ecx
lea esi, [edi - 0x10]
lea edx, [ebx + 8]
push esi
push edx
call fcn.004a3b50
mov eax, dword [ebp + 0x2220]
lea edx, [ebx + 0x14]
push eax
push edx
lea ecx, [eax + 1]
mov dword [ebp + 0x2220], ecx
call fcn.004a3b50
shr esi, 3
lea eax, [ebx + 0x10]
push esi
push eax
call fcn.004a3b50
lea ecx, [edi - 0x20]
lea edx, [ebx + 0x20]
shr ecx, 3
push ecx
push edx
call fcn.004a3b50
add esp, 0x20
jmp 0x4a4e08
push 0x20
push 0x58d8a4
push esi
call fcn.004a37d0
add esp, 0xc
add esi, eax
jmp 0x4a4d93
cmp edi, 2
jne 0x4a48d2
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x30]
push ecx
push edx
push eax
mov dword [esp + 0x2c], 0x10
call dword [sym.imp.WSOCK32.dll_getsockname]
mov ecx, dword [ebp + 0x18]
call fcn.0041f8d0
push eax
lea ecx, [esp + 0x2c]
push 0x58838c
push ecx
call fcn.004ed976
push 0x2c
push 0x58d7d0
push esi
call fcn.004a37d0
add esi, eax
push 0
push 0x58d968
push esi
call fcn.004a3810
mov edx, dword [esp + 0x58]
mov edi, dword [sym.imp.WSOCK32.dll_inet_ntoa]
add esp, 0x24
add esi, eax
push 0
push edx
call edi
push eax
push esi
call fcn.004a3810
add esi, eax
push 0
push str.TCP_
push esi
call fcn.004a3810
add esi, eax
lea eax, [esp + 0x40]
push 0
push eax
push esi
call fcn.004a3810
add esi, eax
push 1
push 0x599e40
push esi
call fcn.004a3810
mov ecx, dword [esp + 0x64]
add esp, 0x30
add esi, eax
push ecx
call edi
push eax
lea ecx, [esp + 0x14]
call fcn.0050d46b
lea edx, [esp + 0x10]
push 0x5881a0
lea eax, [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x58], 2
call fcn.0050d692
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 3
call fcn.0050d536
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c], 2
call fcn.0050d3fd
mov ecx, dword [0x591288]
lea edx, [esp + 0x28]
mov dword [esp + 0x18], ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.0050d586
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x58], 4
call fcn.0050d62c
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 5
call fcn.0050d536
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c], 4
call fcn.0050d3fd
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c], 2
call fcn.0050d3fd
push 1
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0050d172
mov ecx, dword [ebp + 0x10]
call fcn.0047db40
mov dword [esp + 0x4c], 0xffffffff
lea ecx, [esp + 0x10]
jmp 0x4a4d8e
cmp edi, 5
jne 0x4a497a
push 0x28
push 0x58d7fc
push esi
call fcn.004a37d0
add esp, 0xc
lea ecx, [esp + 0x10]
add esi, eax
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0041fd40
push 0x588690
lea ecx, [esp + 0x14]
mov dword [esp + 0x50], 6
call fcn.00505d35
test eax, eax
jne 0x4a4948
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00505bc9
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x50], 7
call fcn.0050d536
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c], 6
call fcn.0050d3fd
mov ecx, dword [esp + 0x10]
push 0
push ecx
push esi
call fcn.004a3810
add esi, eax
push 1
push 0x599e40
push esi
call fcn.004a3810
add esp, 0x18
add esi, eax
mov dword [esp + 0x4c], 0xffffffff
lea ecx, [esp + 0x10]
jmp 0x4a4d8e
cmp edi, 0x15
jne 0x4a49a7
push 0x48
push 0x58d824
push esi
call fcn.004a37d0
add esp, 0xc
add esi, eax
mov al, byte [ebp + 0x22a34]
cmp al, 1
jbe 0x4a4d93
mov byte [ebx + 0x28], al
jmp 0x4a4d93
cmp edi, 0x18
jne 0x4a49f5
push edi
push 0x58d794
push esi
call fcn.004a37d0
add esi, eax
push 8
push 0x58d954
push esi
call fcn.004a3790
lea edx, [ebx + 0x24]
push 0x30018
push edx
add esi, eax
call fcn.004a3b50
lea eax, [ebx + 0x10]
push 4
push eax
call fcn.004a3b50
lea ecx, [ebx + 0x20]
push 2
push ecx
call fcn.004a3b50
add esp, 0x30
jmp 0x4a4d93
cmp edi, 7
jne 0x4a4abc
push 0x38
push 0x58d86c
push esi
call fcn.004a37d0
mov ecx, dword [ebp + 0x10]
add esp, 0xc
add esi, eax
call fcn.0047e1c0
mov edx, dword [ebp + 0x18]
mov dword [ebp + 0x2190], eax
mov dword [ebp + 0x2194], 0
mov ecx, eax
mov edi, dword [edx + 0x24]
mov eax, dword [edi + 0x10]
sub ecx, eax
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor edx, edx
and eax, ecx
lea ecx, [ebx + 0x3c]
div dword [edi + 4]
push eax
push ecx
mov dword [esp + 0x2c], eax
call fcn.004a3b50
mov eax, dword [esp + 0x2c]
xor ecx, ecx
add esp, 8
cmp eax, ecx
jbe 0x4a4991
mov edx, dword [edi + 0x38]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
fild qword [esp + 0x28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
fild qword [esp + 0x28]
cmp edi, ecx
fmulp st(1)
jbe 0x4a4ab5
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
fild qword [esp + 0x28]
lea eax, [esp + 0x28]
lea ecx, [ebx + 0x30]
push eax
push ecx
fdivr st(1)
fmul qword [0x553a68]
fstp qword [esp + 0x30]
fstp st(0)
call fcn.004a3b80
add esp, 8
jmp 0x4a4991
fstp st(0)
jmp 0x4a4991
cmp edi, 0x1a
jne 0x4a4d93
push 0x18
push 0x58d794
push esi
call fcn.004a37d0
add esi, eax
push 0xc
push 0x58d944
push esi
call fcn.004a3790
lea edx, [ebx + 0x24]
push 0x3001a
push edx
add esi, eax
call fcn.004a3b50
mov eax, dword [ebp + 0x18]
add esp, 0x20
lea ecx, [esp + 0x1c]
mov eax, dword [eax + 0x24]
add eax, 0x5c
push eax
call fcn.0050d172
lea ecx, [esp + 0x1c]
mov dword [esp + 0x4c], 8
call fcn.0050d979
push str.BASIC
lea ecx, [esp + 0x20]
call fcn.00505d35
test eax, eax
jl 0x4a4c2e
lea ecx, [esp + 0x30]
call fcn.004d1cf0
lea ecx, [esp + 0x14]
mov byte [esp + 0x4c], 9
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0041f9e0
mov edi, eax
mov ecx, dword [ebp + 0x18]
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x50], 0xa
call fcn.0041f980
push 0x5881a0
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x54], 0xb
push eax
call fcn.0050d692
push edi
lea ecx, [esp + 0x1c]
push eax
push ecx
mov byte [esp + 0x58], 0xc
call fcn.0050d62c
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c], 0x10
call fcn.0050d3fd
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], 0xf
call fcn.0050d3fd
lea ecx, [esp + 0x14]
mov byte [esp + 0x4c], 0xe
call fcn.0050d3fd
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.004d1d40
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c], 0x11
mov edi, dword [eax - 8]
push edi
push edi
call fcn.0050d82d
push eax
push esi
call fcn.004a3790
add esp, 0xc
lea ecx, [esp + 0x10]
add esi, eax
push 0xffffffffffffffff
call fcn.0050d87c
lea ecx, [ebx + 0x30]
push edi
push ecx
call fcn.004a3b50
add esp, 8
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c], 0xe
call fcn.0050d3fd
lea ecx, [esp + 0x18]
mov byte [esp + 0x4c], 9
call fcn.0050d3fd
lea ecx, [esp + 0x30]
mov byte [esp + 0x4c], 8
call fcn.004d1d30
jmp 0x4a4d74
mov al, byte [ebp + 0x22a34]
cmp al, 1
jne 0x4a4c5a
push 0x3c
push 0x58d8c4
push esi
call fcn.004a37d0
lea edx, [ebx + 0x30]
push 0x38
push edx
add esi, eax
call fcn.004a3b50
add esp, 0x14
jmp 0x4a4d74
cmp al, 2
jne 0x4a4d74
push 0x3c
push 0x58d900
push esi
call fcn.004a37d0
mov ecx, dword [ebp + 0x18]
add esp, 0xc
add esi, eax
lea eax, [esp + 0x14]
push eax
call fcn.0041f980
mov ecx, dword [esp + 0x14]
add esi, 2
mov byte [esp + 0x4c], 0x12
add esi, 0x1a
mov eax, dword [ecx - 8]
mov cl, al
push eax
shl cl, 1
mov byte [esi - 0x1c], cl
lea edx, [eax + eax]
mov byte [esi - 0x1a], cl
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], edx
call fcn.0050d82d
push eax
push esi
call fcn.004a3810
add esp, 0xc
lea ecx, [esp + 0x14]
add esi, eax
push 0xffffffffffffffff
call fcn.0050d87c
lea edi, [esi + 0x18]
call fcn.0042eff0
mov ecx, eax
call fcn.00434250
lea eax, [ebp + 0x228a]
push eax
push edi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push ecx
mov ecx, dword [ebp + 0x18]
call fcn.0041f9e0
call fcn.004a3e90
add esp, 0x10
call fcn.0042eff0
mov ecx, eax
call fcn.00434260
add esi, 0x30
lea eax, [ebx + 0x30]
mov edi, esi
sub edi, ebx
lea edx, [edi - 0x34]
push edx
push eax
call fcn.004a3b50
sub edi, 0x4c
lea ecx, [ebx + 0x40]
push edi
push ecx
call fcn.004a3b50
lea edx, [ebx + 0x84]
push edi
push edx
call fcn.004a3b50
sub edi, 0x18
lea eax, [ebx + 0x64]
push edi
push eax
call fcn.004a3b50
sub edi, 0x18
lea ecx, [ebx + 0x5c]
push edi
push ecx
call fcn.004a3b50
mov eax, dword [esp + 0x4c]
sub edi, eax
lea edx, [ebx + 0x74]
push edi
push edx
call fcn.004a3b50
mov al, byte [ebp + 0x22a34]
add esp, 0x30
lea ecx, [esp + 0x14]
mov byte [ebx + 0x2c], al
mov byte [esp + 0x4c], 8
call fcn.0050d3fd
mov al, byte [ebp + 0x22a34]
mov dword [esp + 0x4c], 0xffffffff
inc al
lea ecx, [esp + 0x1c]
mov byte [ebp + 0x22a34], al
call fcn.0050d3fd
sub esi, ebx
mov edi, esi
cmp edi, 0x10
jbe 0x4a4e16
mov eax, edi
and eax, 7
je 0x4a4dac
mov ecx, 8
sub ecx, eax
add edi, ecx
lea esi, [edi - 0x10]
lea edx, [ebx + 8]
push esi
push edx
call fcn.004a3b50
shr esi, 3
lea eax, [ebx + 0x10]
push esi
push eax
call fcn.004a3b50
lea ecx, [edi - 0x20]
lea edx, [ebx + 0x20]
shr ecx, 3
push ecx
push edx
call fcn.004a3b50
mov eax, dword [esp + 0x6c]
add esp, 0x18
cmp eax, 7
je 0x4a4e08
cmp eax, 5
je 0x4a4e08
cmp eax, 2
je 0x4a4e08
mov eax, dword [ebp + 0x2220]
lea edx, [ebx + 0x14]
push eax
push edx
lea ecx, [eax + 1]
mov dword [ebp + 0x2220], ecx
call fcn.004a3b50
add esp, 8
mov eax, dword [ebp + 0x30]
push 0
push edi
push ebx
push eax
call dword [sym.imp.WSOCK32.dll_send]
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebp
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x40
ret 4