Function at 0x14000cdc0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
push rdi
sub rsp, 0x30
xor ebx, ebx
mov rdi, rcx
test r8d, r8d
mov eax, ebx
setne al
mov dword [rsp + 0x48], eax
cmp edx, 0x40
jg 0x14000cfe9
je 0x14000cf9b
sub edx, 1
je 0x14000cf47
sub edx, 1
je 0x14000cefb
sub edx, 2
je 0x14000ceb2
sub edx, 4
je 0x14000ce71
cmp edx, 8
jne 0x14000d021
mov eax, dword [rcx + 0x48]
shr eax, 4
and eax, 1
cmp r8d, eax
je 0x14000ce64
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
lea r8d, [rbx + 4]
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov ecx, dword [rdi + 0x48]
mov eax, ecx
or eax, 0x10
and ecx, 0xffffffef
cmp dword [rsp + 0x50], ebx
cmovne ecx, eax
mov dword [rdi + 0x48], ecx
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rcx + 0x48]
shr eax, 3
and eax, 1
cmp eax, r8d
je 0x14000ce64
mov rcx, qword [rcx + 8]
test r8d, r8d
je 0x14000ce9c
call fcn.14000d380
test eax, eax
je 0x14000cea5
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
call fcn.14000d330
test eax, eax
jne 0x14000ce66
mov ecx, dword [rdi + 0x48]
mov eax, ecx
or eax, 8
and ecx, 0xfffffff7
jmp 0x14000ce5a
mov eax, dword [rcx + 0x48]
shr eax, 2
and eax, 1
cmp r8d, eax
je 0x14000ce64
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 1
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov ecx, dword [rdi + 0x48]
mov eax, ecx
or eax, 4
and ecx, 0xfffffffb
jmp 0x14000ce5a
mov eax, dword [rcx + 0x48]
shr eax, 1
and eax, 1
cmp r8d, eax
je 0x14000ce64
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 8
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov ecx, dword [rdi + 0x48]
mov eax, ecx
or eax, 2
and ecx, 0xfffffffd
jmp 0x14000ce5a
mov eax, dword [rcx + 0x48]
and eax, 1
cmp eax, r8d
je 0x14000ce64
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x58]
mov eax, 0x1e
mov word [rsp + 0x58], r8w
mov edx, 0xffff
mov word [rsp + 0x5a], ax
mov dword [rsp + 0x20], 4
lea r8d, [rax + 0x62]
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov ecx, dword [rdi + 0x48]
mov eax, ecx
or eax, 1
and ecx, 0xfffffffe
jmp 0x14000ce5a
mov r8d, 0x1001
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x50]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x14000ce64
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
test eax, eax
je 0x14000cfdc
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
lea ebx, [rax + 0xafc80]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
cmp edx, 0x80
je 0x14000d18f
cmp edx, 0x200
je 0x14000d123
cmp edx, 0x4000
je 0x14000d09d
cmp edx, 0x8000
je 0x14000d0b9
cmp edx, 0x10000
je 0x14000d031
mov eax, reloc.WSOCK32.dll_shutdown
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
movzx eax, word [rcx + 0x4a]
and eax, 1
cmp r8d, eax
je 0x14000ce64
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 0x20
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov eax, dword [rdi + 0x48]
cmp dword [rsp + 0x50], ebx
je 0x14000d089
bts eax, 0x10
mov dword [rdi + 0x48], eax
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
btr eax, 0x10
mov dword [rdi + 0x48], eax
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
cmp dword [0x14001b440], 0x50
jge 0x14000d0c9
mov rax, qword [rcx + 0x18]
cmp dword [rax + 0x1c], 0x17
jne 0x14000d0c9
test r8d, r8d
jne 0x14000ce64
mov eax, 0x11187
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x50]
mov edx, 0x29
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 0xe]
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov eax, dword [rdi + 0x48]
cmp dword [rsp + 0x50], ebx
je 0x14000d10f
bts eax, 0xe
mov dword [rdi + 0x48], eax
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
btr eax, 0xe
mov dword [rdi + 0x48], eax
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rcx + 0x48]
shr eax, 9
and eax, 1
cmp eax, r8d
je 0x14000ce64
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x50]
mov edx, 6
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 5]
call qword [sym.imp.WSOCK32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14000cfc6
mov eax, dword [rdi + 0x48]
cmp dword [rsp + 0x50], ebx
je 0x14000d17b
bts eax, 9
mov dword [rdi + 0x48], eax
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
btr eax, 9
mov dword [rdi + 0x48], eax
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov r8d, 0x1002
jmp 0x14000cfa1