Function at 0x180013510
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x2a8
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov rax, qword [0x1800f8370]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov dword [rsp + 0x30], 0
lea rcx, [rsp + 0x140]
call fcn.1800197e0
nop
mov dword [rsp + 0x18c], 0
mov byte [rsp + 0x140], 1
movzx eax, byte [0x1800fc204]
test eax, eax
jne 0x1800135bb
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x2b0]
call fcn.180019730
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x140]
call fcn.180019c50
nop
mov rcx, qword [rsp + 0x2b8]
call fcn.180007220
mov rax, qword [rsp + 0x2b0]
jmp 0x180013c68
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x78]
call fcn.180006740
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0xd0]
call fcn.18001fe60
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x180013658
lea rdx, str.main_link_not_exist
lea rcx, [rsp + 0x148]
call fcn.18000e3f0
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x2b0]
call fcn.180019730
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x140]
call fcn.180019c50
nop
mov rcx, qword [rsp + 0x2b8]
call fcn.180007220
mov rax, qword [rsp + 0x2b0]
jmp 0x180013c68
mov rax, qword [rsp + 0x40]
add rax, 0x1d0
lea rdx, [0x1800c8de4]
mov rcx, rax
call fcn.180016760
movzx eax, al
test eax, eax
je 0x1800136d5
lea rdx, str.main_link_not_empty
lea rcx, [rsp + 0x148]
call fcn.18000e3f0
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x2b0]
call fcn.180019730
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x140]
call fcn.180019c50
nop
mov rcx, qword [rsp + 0x2b8]
call fcn.180007220
mov rax, qword [rsp + 0x2b0]
jmp 0x180013c68
lea rcx, [rsp + 0xa8]
call fcn.180054ba0
nop
lea rax, [rsp + 0x118]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x40]
add rax, 0x168
mov rdx, rax
mov rcx, qword [rsp + 0x88]
call fcn.180006740
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0xd8]
call fcn.18000f770
lea rcx, [rsp + 0xa8]
call fcn.180011aa0
test rax, rax
jbe 0x1800137a7
lea rdx, str.ip_link_exist
lea rcx, [rsp + 0x148]
call fcn.18000e3f0
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x2b0]
call fcn.180019730
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0xa8]
call fcn.180028d30
nop
lea rcx, [rsp + 0x140]
call fcn.180019c50
nop
mov rcx, qword [rsp + 0x2b8]
call fcn.180007220
mov rax, qword [rsp + 0x2b0]
jmp 0x180013c68
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0xffffffffffffffff
jne 0x1800138a4
mov byte [rsp + 0x140], 0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x200]
call fcn.18001db00
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xc8], rax
mov r8, qword [rsp + 0xc8]
lea rdx, [0x1800c8e28]
lea rcx, [rsp + 0x1e0]
call fcn.18000df20
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x148]
call fcn.18000e300
lea rcx, [rsp + 0x1e0]
call fcn.180007220
nop
lea rcx, [rsp + 0x200]
call fcn.180007220
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x2b0]
call fcn.180019730
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0xa8]
call fcn.180028d30
nop
lea rcx, [rsp + 0x140]
call fcn.180019c50
nop
mov rcx, qword [rsp + 0x2b8]
call fcn.180007220
mov rax, qword [rsp + 0x2b0]
jmp 0x180013c68
mov eax, dword [0x1800f8008]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x48]
mov r8d, 0x1002
mov edx, 0xffff
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x48]
mov r8d, 0x1001
mov edx, 0xffff
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ecx, 0x220
call fcn.18007cd90
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x180013922
mov edx, dword [0x1800f8004]
mov rcx, qword [rsp + 0x60]
call fcn.18001e220
mov qword [rsp + 0x68], rax
jmp 0x18001392b
mov qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
lea rcx, [0x180011f70]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x38]
lea rcx, [0x180012060]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x38]
lea rcx, [0x1800120a0]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x38]
lea rcx, [fcn.1800120b0]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x38]
lea rcx, [0x180012420]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x38]
movzx ecx, byte [reloc.WS2_32.dll_accept]
mov byte [rax + 0x7a], cl
mov rax, qword [rsp + 0x38]
mov ecx, dword [0x1800f8010]
mov dword [rax + 0x84], ecx
mov rax, qword [rsp + 0x38]
mov ecx, dword [0x1800f8014]
mov dword [rax + 0x88], ecx
cmp dword [0x1800fbcec], 0x64
jl 0x1800139e7
mov dword [0x1800fbcec], 0
mov eax, dword [0x1800fbcec]
inc eax
mov dword [0x1800fbcec], eax
mov rax, qword [rsp + 0x38]
mov ecx, dword [0x1800fbcec]
mov dword [rax + 0x160], ecx
lea rcx, [rsp + 0x1c0]
call fcn.18002c620
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
add rax, 0x30
mov rdx, qword [rsp + 0x90]
mov rcx, rax
call fcn.18000e300
lea rcx, [rsp + 0x1c0]
call fcn.180007220
mov rax, qword [rsp + 0x38]
mov byte [rax + 0x164], 0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x18c]
mov dword [rax + 0x18c], ecx
mov rax, qword [rsp + 0x40]
add rax, 0x168
mov rcx, qword [rsp + 0x38]
add rcx, 0x168
mov rdx, rax
call fcn.180007610
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x190]
mov dword [rax + 0x190], ecx
call fcn.18007eb70
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x194], eax
mov rax, qword [rsp + 0x38]
mov byte [rax + 0x19c], 1
call fcn.18006f970
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x90], eax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx + 0x188]
mov word [rax + 0x188], cx
mov rax, qword [rsp + 0x38]
mov byte [rax + 0x1ac], 1
mov rax, qword [rsp + 0x40]
add rax, 0x30
mov rcx, qword [rsp + 0x38]
add rcx, 0x1b0
mov rdx, rax
call fcn.180007610
mov rax, qword [rsp + 0x38]
add rax, 0x30
mov rcx, qword [rsp + 0x40]
add rcx, 0x1d0
mov rdx, rax
call fcn.180007610
mov dword [rsp + 0x58], 0x604282
mov edx, dword [rsp + 0x58]
lea rcx, [rsp + 0x220]
call fcn.18005ec30
nop
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x160]
lea rcx, [rsp + 0x1a0]
call fcn.18001db00
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xc0], rax
xor r8d, r8d
lea rdx, [0x1800c8dfc]
lea rcx, [rsp + 0x228]
call fcn.18001cb10
mov r9, qword [rsp + 0xc0]
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x228]
call fcn.18001da20
mov rdx, rax
lea rcx, [rsp + 0x228]
call fcn.180007610
nop
lea rcx, [rsp + 0x1a0]
call fcn.180007220
lea rcx, [rsp + 0x220]
call fcn.18005ee00
lea r8, [rsp + 0x38]
lea rdx, [0x180015f20]
lea rcx, [rsp + 0xe0]
call fcn.180016190
nop
lea rcx, [rsp + 0xe0]
call fcn.18001c050
mov byte [rsp + 0x140], 1
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x2b0]
call fcn.180019730
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0xe0]
call fcn.180019c80
nop
lea rcx, [rsp + 0x220]
call fcn.180019c00
nop
lea rcx, [rsp + 0xa8]
call fcn.180028d30
nop
lea rcx, [rsp + 0x140]
call fcn.180019c50
nop
mov rcx, qword [rsp + 0x2b8]
call fcn.180007220
mov rax, qword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.18007e510
add rsp, 0x2a8
ret