Function at 0x14004d998
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm6
mov r14, r8
mov rbx, rdx
mov r13, rcx
movzx eax, byte [rdx + 0x70]
test eax, eax
je 0x14004d9fd
cmp eax, 3
jne 0x14004e198
mov rdx, qword [rbx + 0x68]
lea rsi, [rsp + 0x50]
mov rcx, rsi
mov r8, r14
call fcn.140097759
mov rax, qword [rsi]
cmp rax, 2
jne 0x14004db29
mov qword [r13], 3
mov al, 3
jmp 0x14004e179
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
lea r8, [rsp + 0x50]
and al, 0x50
xorps xmm6, xmm6
movups xmmword [rsp + 0x58], xmm6
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
mov ecx, 0xf0
call fcn.14003efd3
mov qword [rax], rsi
movups xmmword [rax + 8], xmm6
movups xmmword [rax + 0x18], xmm6
lea rcx, [0x14003f75e]
mov qword [rax + 0x28], rcx
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x40], xmm6
lea rcx, [0x14003f8ac]
mov qword [rax + 0x50], rcx
and qword [rax + 0x58], 0
xor ecx, ecx
mov byte [rax + 0x60], cl
and qword [rax + 0x68], 0
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rax + 0x70], xmm0
mov rdx, qword [rsp + 0xb0]
mov qword [rax + 0x80], rdx
and qword [rax + 0x88], 0
and qword [rax + 0x98], 0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0xc0], xmm0
movups xmmword [rax + 0xd0], xmm1
mov byte [rax + 0xe0], cl
mov qword [rax + 0xe8], 1
mov byte [rsp + 0x110], cl
and qword [rsp + 0x118], 0
mov qword [rsp + 0x128], rax
and qword [rsp + 0x130], 0
and qword [rsp + 0x108], 0
xor ecx, ecx
call fcn.1400950cf
test rax, rax
je 0x14004e198
mov rcx, rax
call fcn.140095747
mov rsi, rdx
cmp dword [rax], 3
jne 0x14004db5b
xor edi, edi
jmp 0x14004db67
test rax, rax
je 0x14004dc61
mov r12, qword [rsp + 0x58]
lea rcx, [rbx + 0x10]
call fcn.140046851
jmp 0x14004e153
call fcn.140086394
mov r12, rax
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
jmp 0x14004e153
mov rcx, qword [rax + 0x18]
call fcn.1400952aa
mov rdi, rax
dec qword [rsi]
test rdi, rdi
je 0x14004e198
mov qword [rsp + 0x100], rdi
mov rcx, rdi
call fcn.140093d31
test rax, rax
je 0x14004dc45
mov r12, rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], rax
lea rdx, [rax + 0x60]
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.14008aba0
cmp qword [rsi], 0
jne 0x14004e198
mov qword [rsp + 0xe0], r14
mov rax, r12
add rax, 0x10
mov qword [rsp + 0xf0], rax
movabs rbp, 0x7fffffffffffffff
invalid
invalid
invalid
invalid
invalid
invalid
invalid
jg 0x14004dc2c
mov ecx, dword [rsp + 0x58]
mov dl, byte [rsp + 0x60]
mov r15, qword [r12 + 0x50]
mov rsi, qword [r12 + 0x40]
mov rax, qword [r12 + 0x48]
mov qword [rsp + 0xf8], r12
imul rdi, qword [r12 + 0x58], 0x28
and al, 0x58
sub byte [rbp + 0x31], al
invalid
test rdi, rdi
je 0x14004e01c
cmp rax, r14
je 0x14004e198
mov r13, qword [rsi + r14*8]
cmp r13, qword [r15 + 0x18]
jb 0x14004dc2f
mov r13, rbp
xchg qword [r15 + 0x10], r13
cmp r13, rbp
jne 0x14004dcbf
add r15, 0x28
add rdi, 0xffffffffffffffd8
inc r14
jmp 0x14004dc0c
lea rdx, [0x1400d8a83]
mov r8d, 0x19
mov cl, 0x27
call fcn.140040166
mov rsi, rax
jmp 0x14004e136
cmp qword [rbx + 0x10], 0
je 0x14004e198
mov rax, qword [rbx + 0x38]
lea r9, [rsp + 0x38]
and dword [r9], 0
lea rdx, [rsp + 0xa0]
mov dword [rdx], 4
mov rcx, qword [rax]
mov qword [rsp + 0x20], rdx
mov edx, 0xffff
mov r8d, 0x1007
call sub.ws2_32.dll_getsockopt
cmp eax, 0xffffffff
je 0x14004dcdc
movsxd r12, dword [rsp + 0x38]
test r12, r12
je 0x14004dd34
shl r12, 0x20
or r12, 2
jmp 0x14004db37
mov r8, qword [r15]
test r8, r8
mov qword [rsp + 0xd8], rcx
mov byte [rsp + 0x2f], dl
je 0x14004dce9
mov r12, qword [r15 + 8]
jmp 0x14004dfbc
invalid
call fcn.140086394
mov r12, rax
jmp 0x14004db37
mov rcx, qword [r15 + 0x18]
test rcx, rcx
mov qword [rsp + 0x88], rbx
je 0x14004dd73
mov rax, rcx
shr rax, 0x39
jne 0x14004e19c
mov qword [rsp + 0x30], rcx
mov r12, rcx
shl r12, 6
mov ecx, 8
mov rdx, r12
call fcn.140084a40
test rax, rax
je 0x14004e1a3
mov rbx, qword [r15 + 0x18]
mov rcx, qword [rsp + 0x30]
jmp 0x14004dd7a
mov r14, rbx
lea r15, [rbx + 0x38]
mov rcx, qword [r15]
call fcn.14003f450
mov rsi, rax
mov edi, edx
mov rbx, qword [rax + 0x30]
mov r12, qword [rax + 0x38]
and qword [rax + 0x30], 0
cmp rbx, 3
jne 0x14004df26
mov rdx, rsi
add rdx, 0x10
mov rcx, r15
call fcn.14003f4a7
jmp 0x14004df3b
mov eax, 8
xor ebx, ebx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
and qword [rsp + 0x48], 0
xor r12d, r12d
mov r8, rbx
sub r8, 1
cmovb r8, r12
cmp rcx, r8
jae 0x14004ddbd
lea r12, [rsp + 0x38]
mov rcx, r12
xor edx, edx
call fcn.140095f9e
mov rcx, rax
call fcn.1400109e8
mov rax, qword [r12]
mov r12, qword [r12 + 0x10]
lea rcx, [rsp + 0x68]
mov rdx, r12
shl rdx, 6
add rdx, rax
mov eax, 1
xorps xmm0, xmm0
cmp rax, rbx
jae 0x14004de40
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rcx], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
mov qword [rdx], rax
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm3, xmmword [rsp + 0xc0]
movups xmmword [rdx + 8], xmm1
movups xmmword [rdx + 0x18], xmm2
movups xmmword [rdx + 0x28], xmm3
and qword [rdx + 0x38], 0
inc rax
inc r12
add rdx, 0x40
jmp 0x14004ddd4
mov qword [rsp + 0x48], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
mov r9, qword [rsp + 0x40]
cmp r12, r9
jne 0x14004de91
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, r12
call fcn.140096087
mov r9, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
invalid
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x38]
mov rax, r12
shl rax, 6
mov qword [rcx + rax], rbp
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movups xmmword [rcx + rax + 8], xmm0
movups xmmword [rcx + rax + 0x18], xmm1
movups xmmword [rcx + rax + 0x28], xmm2
and qword [rcx + rax + 0x38], 0
inc r12
cmp r9, r12
jbe 0x14004df1f
shl r9, 6
test r12, r12
je 0x14004df81
mov r8, r12
shl r8, 6
mov rdx, r9
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x30], rcx
call fcn.140093a00
test rax, rax
jne 0x14004df93
mov ebp, 8
mov rdx, qword [rsp + 0xd0]
jmp 0x14004df9c
mov qword [rsp + 0x30], rcx
jmp 0x14004dfa4
xor ecx, ecx
mov rdx, r12
call fcn.14003f610
dec dword [rax - 0x77]
pop rsi
xor byte [rcx + rcx*4 + 0x66], cl
cmp byte [rbp + 0x31], al
invalid
mov rcx, rsi
mov edx, edi
call fcn.14003f644
mov qword [rsp + 0x50], r12
test r12, r12
mov rbx, r14
jne 0x14004db37
lea rcx, [rsp + 0x50]
call fcn.14004d949
mov rax, qword [rbx + 0x10]
mov r12, qword [rbx + 0x18]
lea rsi, [rbx + 0x20]
lea rdi, [rsp + 0x138]
mov ecx, 9
rep movsq qword [rdi], qword [rsi]
jmp 0x14004e158
mov edx, 8
mov r8, r9
call fcn.140004fa3
mov eax, 8
add rbp, 2
mov qword [rsp + 0x30], rax
mov rcx, rbp
call fcn.1400109e8
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
call fcn.14009334d
mov r8, qword [rsp + 0x30]
mov qword [r15], r8
mov qword [r15 + 8], r12
cmp r13, r12
jae 0x14004e198
mov rax, r13
shl rax, 6
mov rcx, qword [r8 + rax]
mov qword [rsi + r14*8], rcx
mov rsi, qword [r8 + rax + 8]
shr rsi, 0x28
add r13, qword [r15 + 0x20]
mov ecx, 0x3fffff
xor edx, edx
mov r8, r13
xor r9d, r9d
call fcn.14009491d
movabs rcx, 0x7fffff800000000
mov edx, 0x23
mov r8, rsi
mov r9, rax
call fcn.14009491d
mov r12, rax
mov rcx, qword [rsp + 0xd8]
mov dl, byte [rsp + 0x2f]
call fcn.14003f644
test rdi, rdi
je 0x14004e0f1
mov rax, qword [rsp + 0xf8]
lock inc qword [rax + 0x70]
cmp r12, 0xffffffffffffffff
mov r13, qword [rsp + 0x90]
je 0x14004e112
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x108]
mov r9d, 3
mov rdx, qword [rsp + 0xf0]
mov r8, r12
call fcn.14003fba4
mov rsi, rax
test rax, rax
jne 0x14004e129
lea rcx, [rsp + 0x98]
call fcn.14009321f
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x14004e146
mov rax, qword [rsp + 0x108]
lea rdx, [rbx + 0x10]
mov qword [rbx + 0x10], 1
mov qword [rbx + 0x18], rax
lea rax, [rsp + 0x110]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm1
mov rax, qword [rax + 0x20]
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rbx + 0x58], xmm0
mov qword [rbx + 0x68], rdx
mov r14, qword [rsp + 0xe0]
jmp 0x14004d9d1
lea rdx, [0x1400d8a5c]
mov r8d, 0x27
mov cl, 0x27
call fcn.140040166
mov rsi, rax
mov r13, qword [rsp + 0x90]
jmp 0x14004e129
lea rdx, [0x1400d33d3]
mov r8d, 0xd
mov cl, 0x27
call fcn.140040166
mov rsi, rax
lea rcx, [rsp + 0x98]
call fcn.14009321f
lea rcx, [rsp + 0x100]
call fcn.140092c87
mov r12, rsi
lea rcx, [rsp + 0x108]
call fcn.140095bfd
mov eax, 2
mov qword [r13], rax
mov qword [r13 + 8], r12
add r13, 0x10
lea rsi, [rsp + 0x138]
mov ecx, 9
mov rdi, r13
rep movsq qword [rdi], qword [rsi]
mov al, 1
mov byte [rbx + 0x70], al
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
call fcn.140010a13
ud2
mov ecx, 8
mov rdx, r12
call fcn.1400a2916
ud2