Function at 0x1800153fc
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
movzx r13d, r9w
mov ebp, edx
mov r15d, ecx
xor r14d, r14d
mov dword [rsp + 0x50], 1
mov rcx, qword [0x18008a130]
mov ebx, dword [rsp + 0xc8]
mov r12d, dword [rsp + 0xc0]
lea rax, [0x18008a130]
cmp rcx, rax
je 0x180015455
test byte [rcx + 0x1c], 8
jne 0x18003f955
mov eax, 6
cmp ebp, 1
mov edx, ebp
lea r8d, [rax + 0xb]
mov ecx, r15d
mov dword [rsp + 0x28], r12d
cmove r8d, eax
and dword [rsp + 0x20], 0
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x18003f981
lea r9, [rsp + 0x50]
mov edi, 4
mov edx, 0xffff
mov r8d, 0x3005
mov rcx, rax
mov dword [rsp + 0x20], edi
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x18003fa33
and ebx, 1
je 0x1800154e1
and dword [rsp + 0x54], 0
lea r9, [rsp + 0x54]
lea edx, [rdi + 0x25]
lea r8d, [rdi + 0x17]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x18003fa87
mov r14, qword [rsp + 0xb0]
movzx r9d, r13w
mov edx, r15d
mov r8, r14
mov rcx, rsi
call fcn.1800155c0
mov edi, eax
test eax, eax
jne 0x18003fa20
lea r12d, [rax + 2]
cmp ebp, r12d
jne 0x180015580
lea edi, [rax + 1]
mov eax, r15d
lea r9, [rsp + 0xa8]
sub eax, r12d
lea r8d, [r12 + 0x11]
mov rcx, rsi
neg eax
mov dword [rsp + 0xa8], edi
mov dword [rsp + 0x20], 4
sbb edx, edx
and edx, 0x29
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x18003fab2
test ebx, ebx
je 0x180015580
lea r9, [rsp + 0xa8]
lea r8d, [r12 + 0x11]
xor edx, edx
mov rcx, rsi
mov dword [rsp + 0xa8], edi
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x18003fb0a
mov rax, qword [0x18008a130]
lea rbx, [0x18008a130]
cmp rax, rbx
je 0x18001559d
test byte [rax + 0x1c], 8
jne 0x18003fb35
mov rax, rsi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], r12d
movzx eax, r13w
mov r9d, r15d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], edx
call fcn.18006299c
nop
jmp 0x180015455
xor esi, esi
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edi, eax
mov rax, qword [0x18008a130]
lea rcx, [0x18008a130]
cmp rax, rcx
je 0x18003f9cc
test byte [rax + 0x1c], 8
je 0x18003f9cc
mov rcx, qword [rax + 0x10]
lea edx, [rsi + 0x14]
lea r8, [0x180082740]
mov r9d, ebp
mov dword [rsp + 0x20], edi
call fcn.18005b9d0
mov rax, qword [0x18008a130]
lea rcx, [0x18008a130]
cmp edi, 0x276d
jne 0x18003fb7a
test r14d, r14d
jne 0x18003fb7a
cmp rax, rcx
je 0x18003fa03
test byte [rax + 0x1c], 8
je 0x18003fa03
mov rcx, qword [rax + 0x10]
lea edx, [r14 + 0x15]
lea r8, [0x180082740]
mov r9d, ebp
call fcn.180058fb0
xor ecx, ecx
lea r14d, [rcx + 1]
call sym.DNSAPI.dll_Socket_InitWinsock
mov edi, eax
test eax, eax
je 0x180015455
mov r14, qword [rsp + 0xb0]
mov rax, qword [0x18008a130]
lea rbx, [0x18008a130]
jmp 0x18004f490
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edi, eax
mov rax, qword [0x18008a130]
lea rbx, [0x18008a130]
cmp rax, rbx
je 0x18004f4da
test byte [rax + 0x1c], 8
je 0x18003fb81
mov edx, reloc.WS2_32.dll_shutdown
jmp 0x18003fa68
mov edx, reloc.WS2_32.dll_socket
mov rcx, qword [rax + 0x10]
lea r8, [0x180082740]
mov r9d, edi
call fcn.180058fb0
mov rax, qword [0x18008a130]
jmp 0x18003fb81
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edi, eax
mov rax, qword [0x18008a130]
lea rbx, [0x18008a130]
cmp rax, rbx
je 0x18004f4da
test byte [rax + 0x1c], 8
je 0x18003fb81
jmp 0x18003fa63
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edi, eax
mov rax, qword [0x18008a130]
lea rbx, [0x18008a130]
cmp rax, rbx
je 0x18004f4da
test byte [rax + 0x1c], 8
je 0x18004f490
mov edx, 0x19
jmp 0x18003fae7
mov edx, 0x1a
mov rcx, qword [rax + 0x10]
lea r8, [0x180082740]
mov r9d, r12d
mov dword [rsp + 0x20], edi
call fcn.18005b9d0
mov rax, qword [0x18008a130]
jmp 0x18004f490
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov edi, eax
mov rax, qword [0x18008a130]
lea rbx, [0x18008a130]
cmp rax, rbx
je 0x18004f4da
test byte [rax + 0x1c], 8
je 0x18004f490
jmp 0x18003fae2
movzx ecx, r13w
call qword [sym.imp.WS2_32.dll_ntohs]
mov rcx, r14
movzx ebx, ax
call fcn.180069264
mov rcx, qword [0x18008a130]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
mov edx, 0x1b
mov r9d, esi
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r15d
call fcn.1800628d8
nop
jmp 0x18001559d
lea rbx, [0x18008a130]
mov r14, qword [rsp + 0xb0]
jmp 0x18004f490
cmp rax, rbx
je 0x18004f4da
test byte [rax + 0x1c], 8
je 0x18004f4da
movzx ecx, r13w
call qword [sym.imp.WS2_32.dll_ntohs]
mov rcx, r14
movzx ebx, ax
call fcn.180069264
mov rcx, qword [0x18008a130]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
mov edx, 0x1c
mov r9d, edi
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r15d
call fcn.1800628d8
test rsi, rsi
je 0x18004f4e8
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, 0x267b
test edi, edi
cmove edi, eax
mov ecx, edi
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetLastError]
xor eax, eax
jmp 0x1800155a0