Function at 0x140029900
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x14008f060]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov word [rsp + 0x30], r8w
mov r14, rdx
mov rsi, rcx
xor ebx, ebx
cmp qword [rcx + 0x98], rbx
jne 0x1400299de
mov rax, qword [rcx + 0xc0]
mov rcx, qword [rax]
mov rax, qword [rcx]
lea edx, [rbx + 0x38]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
jne 0x140029960
mov eax, ebx
jmp 0x140029982
lea rcx, vtable.cppnet::Event.0
mov qword [rax], rcx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
mov word [rax + 0x20], bx
mov qword [rax + 0x28], rbx
mov qword [rax + 0x30], rbx
mov qword [rsi + 0x98], rax
mov rdx, qword [rsi + 0x80]
test rdx, rdx
je 0x140029c67
mov eax, dword [rdx + 8]
test eax, eax
je 0x140029c67
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1400299b8
test eax, eax
je 0x140029c67
jmp 0x1400299a4
mov rax, qword [rsi + 0x78]
mov rcx, qword [rsi + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x38]
mov rcx, qword [rsi + 0x98]
call fcn.1400222a0
mov rdi, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1400299eb
mov rdi, qword [r14]
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x140029a14
mov edx, 0x3a
mov rcx, rdi
call fcn.140039ae0
test rax, rax
je 0x140029a14
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x140029a14
xor bpl, bpl
jmp 0x140029a17
mov bpl, 1
mov r15d, 1
cmp qword [rsi + 8], rbx
jne 0x140029ab8
mov ecx, 2
mov eax, reloc.WS2_32.dll_socket
test bpl, bpl
cmove ecx, eax
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140029a56
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x140029a8a
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x78]
mov edx, 0x29
lea r8d, [rdx - 0xe]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x140029a85
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test rdi, rdi
jns 0x140029ab4
call fcn.14001f020
mov rcx, rax
mov dword [rsp + 0x20], ebx
lea r9, str.create_socket_failed._error:_d
mov r8d, 0x84
lea rdx, str.D:GitADESv2_acerdeviceenablingservicev2AcerDeviceEnablingServiceCppNetcppnet_socket_rw_socket.cpp
call fcn.1400219d0
jmp 0x140029c3c
mov qword [rsi + 8], rdi
movzx eax, bpl
xor eax, r15d
inc eax
mov dword [rsi + 0x10], eax
mov rdx, r14
lea rcx, [rsi + 0x10]
call fcn.140021f30
movzx eax, word [rsp + 0x30]
mov word [rsi + 0x38], ax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov rdx, qword [rsi + 0x58]
test rdx, rdx
je 0x140029b14
mov eax, dword [rdx + 8]
test eax, eax
je 0x140029b14
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x140029b02
test eax, eax
jne 0x140029af2
jmp 0x140029b14
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x58]
mov qword [rsp + 0x70], rax
mov ebp, 0xffffffff
cmp qword [rsp + 0x68], 0
je 0x140029c04
xchg byte [rsi + 0x97], r15b
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov eax, socket
cmp byte [rax + r14], 0
jne 0x140029b49
call fcn.140037524
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov rdx, qword [rsi + 0x80]
test rdx, rdx
je 0x140029c6d
mov eax, dword [rdx + 8]
test eax, eax
je 0x140029c6d
nop dword [rax]
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x140029b84
test eax, eax
je 0x140029c6d
jmp 0x140029b70
mov rbx, qword [rsi + 0x78]
mov qword [rsp + 0x48], rbx
mov rdi, qword [rsi + 0x80]
mov qword [rsp + 0x50], rdi
mov ecx, 0x1b0
add rcx, r14
lea r8, [rsi + 8]
lea rdx, [rsp + 0x58]
call fcn.1400269a0
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
mov rbx, qword [rcx + 0x20]
mov qword [rcx + 0x20], rdi
test rbx, rbx
je 0x140029bed
mov eax, ebp
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140029bed
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, ebp
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140029bed
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rsi + 0x10]
mov rdx, qword [rsi + 0x98]
call qword [rax + 0x30]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140029c3c
mov eax, ebp
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140029c3c
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], ebp
cmp ebp, 1
jne 0x140029c3c
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140036cc0
mov rbx, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14001f4c0
nop
call fcn.14001f4c0
nop
int3