Function at 0x1400a6390
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
push rdi
sub rsp, 0x30
xor edi, edi
mov rbx, rcx
test r8d, r8d
mov eax, edi
setne al
mov dword [rsp + 0x48], eax
cmp edx, 0x40
jg 0x1400a6626
je 0x1400a65d8
sub edx, 1
je 0x1400a656c
sub edx, 1
je 0x1400a6508
sub edx, 2
je 0x1400a64a3
sub edx, 4
je 0x1400a6447
cmp edx, 8
jne 0x1400a665e
mov eax, dword [rcx + 0x48]
shr eax, 4
and eax, 1
cmp r8d, eax
je 0x1400a6429
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
lea r8d, [rdi + 4]
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1400a6603
cmp dword [rsp + 0x50], edi
je 0x1400a6436
or dword [rbx + 0x48], 0x10
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xffffffef
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 0x1400a6429
mov rcx, qword [rcx + 8]
test r8d, r8d
je 0x1400a6472
call fcn.1400a67b0
test eax, eax
je 0x1400a647b
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
call fcn.1400a6760
test eax, eax
jne 0x1400a642b
cmp dword [rsp + 0x50], edi
je 0x1400a6492
or dword [rbx + 0x48], 8
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xfffffff7
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rcx + 0x48]
shr eax, 2
and eax, 1
cmp r8d, eax
je 0x1400a6429
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 1
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1400a6603
cmp dword [rsp + 0x50], edi
je 0x1400a64f7
or dword [rbx + 0x48], 4
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xfffffffb
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rcx + 0x48]
shr eax, 1
and eax, 1
cmp r8d, eax
je 0x1400a6429
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 8
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1400a6603
cmp dword [rsp + 0x50], edi
je 0x1400a655b
or dword [rbx + 0x48], 2
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xfffffffd
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov eax, dword [rcx + 0x48]
and eax, 1
cmp eax, r8d
je 0x1400a6429
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x58]
mov eax, SQLFreeHandle
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.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1400a6603
cmp dword [rsp + 0x50], edi
je 0x1400a65c7
or dword [rbx + 0x48], 1
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xfffffffe
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov r8d, 0x1001
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x50]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1400a6429
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x1400a6619
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edi, [rax + 0xafc80]
mov eax, edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
cmp edx, 0x80
je 0x1400a6750
cmp edx, 0x200
je 0x1400a66e7
cmp edx, 0x4000
je 0x1400a66d7
cmp edx, 0x8000
je 0x1400a66d7
cmp edx, 0x10000
je 0x1400a666e
mov eax, reloc.WS2_32.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 0x1400a6429
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x48]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 0x20
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1400a6603
cmp dword [rsp + 0x50], edi
je 0x1400a66c3
or dword [rbx + 0x48], 0x10000
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xfffeffff
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov eax, 0x11187
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 0x1400a6429
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.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x1400a6603
cmp dword [rsp + 0x50], edi
je 0x1400a673c
or dword [rbx + 0x48], 0x200
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
and dword [rbx + 0x48], 0xfffffdff
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x30
pop rdi
ret
mov r8d, 0x1002
jmp 0x1400a65de