Function at 0x14004a9d0
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xc8
mov rax, qword [0x14007d040]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov rax, qword [rbp + 0x7f]
mov r15, rcx
mov rcx, qword [r8]
xor esi, esi
mov r14, qword [rbp + 0x8f]
mov rbx, 0xffffffffffffffff
mov rdi, qword [rbp + 0x97]
mov r13d, r9d
mov dword [rbp - 0x69], r9d
mov r12, r8
mov qword [rbp - 0x61], r8
mov qword [rbp - 0x71], rdx
mov qword [rbp - 0x79], rax
cmp rcx, rbx
je 0x14004aa58
xorps xmm0, xmm0
mov qword [rbp - 0x31], rsi
lea r9, [rbp - 0x41]
mov byte [rsp + 0x40], sil
mov r8b, 1
lea rdx, [rsp + 0x40]
movups xmmword [rbp - 0x41], xmm0
call fcn.14004fe70
mov qword [r12], rbx
mov rax, qword [r15 + 8]
lock inc dword [rax + 0x30]
test r14, r14
je 0x14004aa86
mov eax, esi
lock xadd dword [r14], eax
cmp eax, 1
jne 0x14004aa86
mov rcx, qword [r15 + 8]
xor r9d, r9d
mov r8d, 0x3e3
mov rdx, rdi
call fcn.14004b1e0
mov r8d, dword [rbp + 0x77]
xorps xmm0, xmm0
mov edx, dword [rbp + 0x6f]
mov r12d, 1
mov dword [rsp + 0x28], r12d
xor r9d, r9d
mov ecx, r13d
mov dword [rsp + 0x20], esi
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rsi
call qword [sym.imp.WS2_32.dll_WSASocketW]
cmp rax, rbx
lea rcx, [rbp - 0x59]
mov r13, rax
sete dl
call fcn.140014e40
cmp r13, rbx
je 0x14004aaf5
cmp dword [rbp - 0x69], 0x17
jne 0x14004aaf2
lea r9, [rbp - 0x69]
mov dword [rbp - 0x69], esi
lea edx, [r12 + 0x28]
mov dword [rsp + 0x20], 4
lea r8d, [r12 + 0x1a]
mov rcx, r13
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rbx, r13
mov r13, qword [rbp - 0x61]
mov rcx, qword [r13]
cmp rcx, 0xffffffffffffffff
je 0x14004ab23
xorps xmm0, xmm0
mov qword [rbp - 0x19], rsi
lea r9, [rbp - 0x29]
mov byte [rbp - 0x80], sil
movzx r8d, r12b
lea rdx, [rbp - 0x80]
movups xmmword [rbp - 0x29], xmm0
call fcn.14004fe70
mov qword [r13], rbx
cmp rbx, 0xffffffffffffffff
jne 0x14004abfc
mov rax, qword [rbp - 0x49]
mov rbx, qword [r15 + 8]
mov dword [rdi + 0x30], r12d
test rax, rax
jne 0x14004ab4b
lea rax, [0x140081920]
jmp 0x14004ab94
cmp rax, r12
jne 0x14004ab90
mov rcx, qword [rbp - 0x51]
lea rax, [0x140081978]
mov qword [rdi], rax
movabs rax, 0x4800144005b3
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 0x14
imul rax, rax, 0x1ffff7
sub rcx, rax
imul eax, ecx, 0x3e8
add eax, dword [rbp - 0x59]
jmp 0x14004ab9a
mov rax, qword [rbp - 0x51]
mov qword [rdi], rax
mov eax, dword [rbp - 0x59]
xor edx, edx
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x14], esi
mov r9, rdi
mov rcx, qword [rbx + 0x28]
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14004ac80
lea rcx, [rbx + 0x60]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rdi + 0x20], rsi
mov rax, qword [rbx + 0x98]
test rax, rax
je 0x14004abdb
mov qword [rax + 0x20], rdi
jmp 0x14004abe2
mov qword [rbx + 0x90], rdi
mov qword [rbx + 0x98], rdi
lea rcx, [rbx + 0x60]
xchg dword [rbx + 0x58], r12d
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14004ac80
mov r12, qword [rbp - 0x71]
lea rax, [rbp - 0x61]
mov r8, qword [rbp - 0x79]
xor r9d, r9d
mov qword [rsp + 0x38], rdi
mov rdx, rbx
mov qword [rsp + 0x30], rax
mov rcx, r12
mov eax, dword [rbp + 0x87]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dword [rbp - 0x61], esi
call qword [sym.imp.MSWSOCK.dll_AcceptEx]
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x14004ac59
cmp eax, 0x3e5
je 0x14004ac59
mov rcx, qword [r15 + 8]
xor r9d, r9d
mov r8d, eax
mov rdx, rdi
call fcn.14004b1e0
jmp 0x14004ac80
test r14, r14
je 0x14004ac74
lock xadd dword [r14], esi
cmp esi, 1
jne 0x14004ac74
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CancelIoEx]
mov rcx, qword [r15 + 8]
mov rdx, rdi
call fcn.14004b270
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.14005e550
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret