Function at 0x1800346e0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
movzx r12d, r9w
mov ebp, r8d
mov rsi, rdx
mov r14, rcx
mov byte [rcx], 0
xor r15d, r15d
mov qword [rcx + 8], r15
mov qword [rcx + 0x20], r15
mov qword [rcx + 0x28], r15
mov qword [rcx + 0x30], r15
mov qword [rcx + 0x38], r15
mov qword [rcx + 0x40], r15
mov qword [rcx + 0x48], r15
mov qword [rcx + 0x58], r15
mov qword [rcx + 0x60], r15
mov qword [rcx + 0x68], r15
mov qword [rcx + 0x70], r15
mov qword [rcx + 0x78], r15
mov qword [rcx + 0x80], r15
mov qword [rcx + 0x88], r15
add rcx, 0x90
mov edx, 0x102
call fcn.18015a7d0
nop
lea rcx, [r14 + 0xe0]
lea rax, [0x180038010]
mov qword [rsp + 0x20], rax
lea r9, [0x180037d30]
lea edx, [r15 + 0x18]
lea r8d, [r15 + 0xa]
call fcn.18015dac8
nop
mov qword [r14 + 0x1d0], r15
mov qword [r14 + 0x1d8], r15
mov qword [r14 + 0x1e0], r15
mov word [r14 + 0x18], r12w
mov word [r14 + 0x1a], r12w
mov dword [r14 + 0x1c], 0x7f000001
mov byte [r14 + 1], 1
call fcn.18015a360
mov rbx, rax
call fcn.18015a344
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov qword [r14 + 8], rcx
mov dword [r14 + 0x50], ebp
cmp byte [rsp + 0xa8], r15b
je 0x1800347fb
mov byte [r14], r15b
mov qword [r14 + 0x10], 0xffffffffffffffff
jmp 0x180034aa2
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1800348ab
mov r15, qword [rax]
mov rbx, qword [r15]
cmp rbx, r15
je 0x1800348a8
nop dword [rax + rax]
mov ecx, dword [rbx + 0x1c]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0xa8], eax
mov rdx, qword [r14 + 0x68]
cmp rdx, qword [r14 + 0x70]
je 0x180034843
mov dword [rdx], eax
add qword [r14 + 0x68], 4
jmp 0x180034854
lea r8, [rsp + 0xa8]
lea rcx, [r14 + 0x60]
call fcn.180037750
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x180034880
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18003487b
cmp rbx, qword [rax + 0x10]
jne 0x18003487b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180034868
mov rbx, rax
jmp 0x18003489f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x18003489f
nop dword [rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180034890
cmp rbx, r15
jne 0x180034820
xor r15d, r15d
call fcn.180036550
mov edx, 2
mov ecx, edx
lea r8d, [rdx + 0xf]
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp eax, 0xffffffff
je 0x180034990
mov dword [rsp + 0xa8], 1
mov ebp, edi
lea r8, [rsp + 0xa8]
mov edx, 0x8004667e
mov ecx, edi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x180034990
mov dword [rsp + 0xa8], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0xa8]
mov edx, 0xffff
lea r8d, [rax + 0x20]
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ecx, edi
call fcn.1800368f0
mov ebx, r15d
nop dword [rax]
lea edx, [r12 + rbx]
mov word [r14 + 0x18], dx
mov ecx, edi
call fcn.180036950
test al, al
jne 0x18003498c
mov dword [rsp + 0x90], r15d
mov dword [rsp + 0x98], 4
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_getsockopt]
inc ebx
cmp ebx, 0x3e8
jb 0x180034930
jmp 0x180034990
mov dword [r14 + 0x10], edi
mov edx, 1
lea ecx, [rdx + 1]
lea r8d, [rdx + 5]
call qword [sym.imp.WS2_32.dll_socket]
mov rbp, rax
cmp eax, 0xffffffff
je 0x180034a62
mov dword [rsp + 0xa8], 1
mov edi, ebp
lea r8, [rsp + 0xa8]
mov edx, 0x8004667e
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x180034a62
mov ecx, ebp
call fcn.1800368f0
mov ebx, r15d
nop dword [rax]
nop word [rax + rax]
lea edx, [r12 + rbx]
mov word [r14 + 0x1a], dx
mov ecx, ebp
call fcn.180036950
mov rcx, rdi
test al, al
je 0x180034a19
mov edx, 0x80
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x180034a5e
mov rcx, rdi
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x98], r15d
mov dword [rsp + 0xa8], 4
lea r9, [rsp + 0x98]
mov r8d, 0x1007
mov edx, 0xffff
call qword [sym.imp.WS2_32.dll_getsockopt]
inc ebx
cmp ebx, 0x3e8
jae 0x180034a62
jmp 0x1800349f0
mov dword [r14 + 0x14], ebp
cmp dword [r14 + 0x10], 0xffffffff
je 0x180034a74
cmp dword [r14 + 0x14], 0xffffffff
je 0x180034a74
mov byte [r14], 1
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x180034a88
mov qword [rdx], rsi
add qword [r14 + 0x40], 8
jmp 0x180034a99
lea r8, [rsp + 0x88]
lea rcx, [r14 + 0x38]
call fcn.1800373f0
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
nop
mov rax, r14
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret