Function at 0x417735
Capabilities:
Initialize winsock library
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1014
call fcn.00581590
mov eax, dword [0x617ff0]
xor eax, esp
mov dword [esp + 0x1010], eax
push ebx
push esi
push edi
call fcn.0041770f
lea eax, [esp + 0x28]
xor ebx, ebx
push eax
inc ebx
push 0x202
mov dword [esp + 0x18], ebx
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 6
push ebx
push 2
pop eax
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea ecx, [esp + 0x10]
push 4
push ecx
push ebx
push 6
push eax
mov dword [0x6b5ab0], eax
call esi
or edi, 0xffffffff
xor ebx, ebx
cmp eax, edi
je 0x417a6a
push 0x10
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.005838b0
add esp, 0xc
mov dword [esp + 0x14], 0x12d000
push 2
pop eax
push 4
mov word [esp + 0x1c], ax
lea eax, [esp + 0x18]
push eax
push 0x1001
push 0xffff
push dword [0x6b5ab0]
call esi
push ecx
push str.Remote.ini
push 0xff
lea eax, [esp + 0x724]
mov edx, str.ServerName
push eax
push 0x5e66b6
mov ecx, str.RemoteAudio
call fcn.00407255
lea eax, [esp + 0x718]
mov esi, ebx
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov ebx, eax
xor ecx, ecx
test ebx, ebx
je 0x417822
mov eax, dword [ebx + 0xc]
mov esi, dword [ecx + eax]
test esi, esi
je 0x417a93
movzx eax, byte [esi + 3]
add ecx, 4
push eax
movzx eax, byte [esi + 2]
push eax
movzx eax, byte [esi + 1]
push eax
movzx eax, byte [esi]
push eax
lea eax, [esp + 0x628]
mov dword [esp + 0x1c], ecx
push str._d._d._d._d
push eax
call fcn.00406a6f
add esp, 0x18
lea eax, [esp + 0x618]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
push ecx
push str.Remote.ini
push 0x7767
mov edx, str.Port
mov dword [esp + 0x28], eax
mov ecx, str.RemoteAudio
call fcn.00407367
push eax
call dword [sym.imp.WS2_32.dll_htons]
push ecx
push ecx
mov ecx, dword [0x6b5ab0]
lea edx, [esp + 0x20]
mov word [esp + 0x22], ax
call fcn.0040451b
mov ecx, dword [esp + 0xc]
test eax, eax
js 0x417818
mov ecx, dword [0x6b5ab0]
lea edx, [esp + 0x608]
xor ebx, ebx
push 1
mov byte [esp + 0x60c], bl
call fcn.00417676
cmp byte [esp + 0x608], 0x4e
je 0x4178ec
push 2
pop eax
push eax
push dword [0x6b5ab0]
call dword [sym.imp.WS2_32.dll_shutdown]
push 0xfffffffffffffffd
jmp 0x417a69
mov ecx, dword [0x6b5ab0]
lea edx, [esp + 0x608]
push 9
call fcn.00417676
lea eax, [esp + 0x608]
mov byte [esp + 0x611], bl
push str.SNDSERVE2
push eax
call fcn.0058afe0
pop ecx
pop ecx
test eax, eax
je 0x417936
push 2
pop eax
push eax
push dword [0x6b5ab0]
call dword [sym.imp.WS2_32.dll_shutdown]
push 0xfffffffffffffffc
jmp 0x417a69
mov esi, dword [sym.imp.WS2_32.dll_send]
push ebx
push 1
push 0x5eefa8
push dword [0x6b5ab0]
call esi
mov ecx, dword [0x6b5ab0]
lea edx, [esp + 0x618]
push 6
call fcn.00417676
push ecx
push str.Remote.ini
mov byte [esp + 0x626], bl
lea eax, [esp + 0x820]
mov byte [esp + 0x820], bl
mov edx, str.UIDSrvEnc
mov ebx, 0x400
mov ecx, str.RemoteAudio
push ebx
push eax
push 0x5e66b6
call fcn.00407255
lea ecx, [esp + 0x1b8]
call fcn.004098b8
push ebx
xor ebx, ebx
lea eax, [esp + 0xc1c]
push ebx
push eax
call fcn.005838b0
pop ecx
pop ecx
lea eax, [esp + 0xc1c]
push eax
lea eax, [esp + 0x820]
push eax
call fcn.0058b5a0
pop ecx
push eax
lea eax, [esp + 0x824]
push eax
lea ecx, [esp + 0x1c8]
call fcn.00409c01
push 0xfe
lea eax, [esp + 0xc1c]
push eax
lea eax, [esp + 0x820]
push eax
call fcn.00583330
lea eax, [esp + 0x624]
mov byte [esp + 0x922], bl
push eax
lea eax, [esp + 0x828]
push eax
call fcn.00589e70
add esp, 0x14
lea ecx, [esp + 0x818]
call fcn.004047ea
push ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push 4
push eax
push dword [0x6b5ab0]
call esi
mov ecx, dword [0x6b5ab0]
lea edx, [esp + 0x608]
push 1
call fcn.00417676
cmp byte [esp + 0x608], 0x4f
je 0x417a80
push 2
pop eax
push eax
push dword [0x6b5ab0]
call dword [sym.imp.WS2_32.dll_shutdown]
push 0xfffffffffffffffb
pop edi
push dword [0x6b5ab0]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [0x6b5ab0], ebx
mov eax, edi
jmp 0x417aa9
push edi
push edi
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.DLL_SetProcessWorkingSetSize]
xor eax, eax
jmp 0x417aa9
push dword [0x6b5ab0]
call dword [sym.imp.WS2_32.dll_closesocket]
and dword [0x6b5ab0], 0
push 0xfffffffffffffffe
pop eax
mov ecx, dword [esp + 0x101c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00580b5b
mov esp, ebp
pop ebp
ret 4