Function at 0x417a20
Capabilities:
Create tcp socket
Create udp socket
Initialize winsock library
Send data
Send data on socket
Set socket configuration

Disassembly:
push rbp
sub rsp, 0x250
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0x260], rcx
mov rcx, qword [rbp + 0x260]
call fcn.00409330
nop
mov dword [rbp + 0x88], 0
cmp qword [rbp + 0x260], 0
je 0x417a8e
mov rax, qword [rbp + 0x260]
mov eax, dword [rax - 4]
mov dword [rbp + 0x88], eax
cmp dword [rbp + 0x88], 0xc
jne 0x417d57
lea rcx, [rbp + 0x98]
lea rdx, [0x00417dd8]
call fcn.004097d0
mov dword [rbp + 0x90], 0
mov byte [rbp + 0x68], 1
mov rax, qword [rbp + 0x260]
mov ecx, dword [rbp + 0x90]
add ecx, ecx
add ecx, 1
movsxd rcx, ecx
movzx rax, byte [rax + rcx - 1]
mov byte [rbp + 0x69], al
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x68]
call fcn.004099f0
mov byte [rbp + 0x58], 1
mov rax, qword [rbp + 0x260]
mov ecx, dword [rbp + 0x90]
add ecx, ecx
add ecx, 2
movsxd rcx, ecx
movzx rax, byte [rax + rcx - 1]
mov byte [rbp + 0x59], al
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x58]
mov r8d, 2
call fcn.00409a20
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x60]
xor r8, r8
call fcn.00409b60
mov rcx, qword [rbp + 0x50]
call fcn.00417490
lea rcx, [rbp + 0x48]
mov edx, eax
xor r8, r8
call fcn.00409ab0
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x48]
call fcn.00409c60
add dword [rbp + 0x90], 1
cmp dword [rbp + 0x90], 6
jne 0x417ab8
nop
lea rcx, [rbp + 0x98]
lea rdx, [0x00417dec]
call fcn.00409c60
mov dword [rbp + 0x94], 0
mov dword [rbp + 0x90], 0
mov byte [rbp + 0x68], 1
mov rax, qword [rbp + 0x260]
mov ecx, dword [rbp + 0x90]
add ecx, ecx
add ecx, 1
movsxd rcx, ecx
movzx rax, byte [rax + rcx - 1]
mov byte [rbp + 0x69], al
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x68]
call fcn.004099f0
mov byte [rbp + 0x58], 1
mov rax, qword [rbp + 0x260]
mov ecx, dword [rbp + 0x90]
add ecx, ecx
add ecx, 2
movsxd rcx, ecx
movzx rax, byte [rax + rcx - 1]
mov byte [rbp + 0x59], al
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x58]
mov r8d, 2
call fcn.00409a20
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x60]
xor r8, r8
call fcn.00409b60
mov rcx, qword [rbp + 0x40]
call fcn.00417490
lea rcx, [rbp + 0x38]
mov edx, eax
xor r8, r8
call fcn.00409ab0
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x38]
call fcn.00409c60
add dword [rbp + 0x90], 1
cmp dword [rbp + 0x90], 6
jne 0x417b8f
nop
add dword [rbp + 0x94], 1
cmp dword [rbp + 0x94], 0x10
jne 0x417b85
nop
mov cx, 0x101
lea rdx, [rbp + 0xb8]
call sub.wsock32.dll_WSAStartup
test eax, eax
je 0x417c72
call sub.wsock32.dll_WSACleanup
jmp 0x417d57
mov ecx, 2
mov edx, 2
mov r8d, 0x11
call sub.wsock32.dll_socket
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0xa8]
mov edx, 0x10
xor r8, r8
call fcn.00405c10
mov word [rbp + 0xa8], 2
or ecx, 0xffffffff
call sub.wsock32.dll_htons
mov word [rbp + 0xaa], ax
mov dword [rbp + 0xac], 0xffffffff
mov dword [rbp + 0x8c], 1
mov rcx, qword [rbp + 0xa0]
mov edx, 0xffff
mov r8d, 0x20
lea r9, [rbp + 0x8c]
mov dword [rsp + 0x20], 4
call sub.wsock32.dll_setsockopt
lea rcx, [rbp + 0x98]
call fcn.00409940
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x84], 0
cmp qword [rbp + 0x98], 0
je 0x417d28
mov rax, qword [rbp + 0x98]
mov eax, dword [rax - 4]
mov dword [rbp + 0x84], eax
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x78]
mov r8d, dword [rbp + 0x84]
xor r9, r9
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0x10
call sub.wsock32.dll_sendto
nop
lea rcx, [rbp + 0x38]
mov edx, 4
call fcn.00409290
lea rcx, [rbp + 0x98]
call fcn.004091d0
lea rcx, [rbp + 0x260]
call fcn.004091d0
lea rsp, [rbp + 0x250]
pop rbp
ret