Function at 0x14001d5b0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x268
mov qword [rsp + 0x68], r9
mov dword [rsp + 0x74], r8d
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x264], eax
cmp eax, 1
setne al
and al, 1
cmp al, 0
je 0x14001d618
mov eax, 0xffff
mov dword [rsp + 0x64], eax
jmp 0x14001d623
mov eax, 6
mov dword [rsp + 0x64], eax
jmp 0x14001d623
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x260], ecx
mov dword [rsp + 0x25c], 0
mov dword [rsp + 0x258], 0
mov dword [rsp + 0x254], 0
mov qword [rsp + 0x248], 0
mov dword [rsp + 0x244], 0
sub eax, 0xffffff7f
je 0x14001d709
jmp 0x14001d677
mov eax, dword [rsp + 0x74]
sub eax, 0xfffffffb
je 0x14001d709
jmp 0x14001d686
mov eax, dword [rsp + 0x74]
sub eax, 1
je 0x14001d709
jmp 0x14001d691
mov eax, dword [rsp + 0x74]
sub eax, 4
je 0x14001d709
jmp 0x14001d69c
mov eax, dword [rsp + 0x74]
sub eax, 8
je 0x14001d709
jmp 0x14001d6a7
mov eax, dword [rsp + 0x74]
sub eax, 0x20
je 0x14001d709
jmp 0x14001d6b2
mov eax, dword [rsp + 0x74]
sub eax, 0x80
je 0x14001d8c9
jmp 0x14001d6c3
mov eax, dword [rsp + 0x74]
sub eax, 0x100
je 0x14001d709
jmp 0x14001d6d0
mov eax, dword [rsp + 0x74]
add eax, 0xffffefff
sub eax, 2
jb 0x14001db53
jmp 0x14001d6e4
mov eax, dword [rsp + 0x74]
add eax, 0xffffeffb
sub eax, 2
jb 0x14001da9c
jmp 0x14001d6f8
mov eax, dword [rsp + 0x74]
sub eax, 0x3002
jne 0x14001debf
jmp 0x14001d709
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
mov rcx, rax
mov qword [rsp + 0x58], rcx
movabs rcx, 0x70000000000001b
sub rax, rcx
je 0x14001d79f
jmp 0x14001d738
mov rax, qword [rsp + 0x58]
movabs rcx, 0x70000000000006d
sub rax, rcx
je 0x14001d7f5
jmp 0x14001d752
mov rax, qword [rsp + 0x58]
movabs rcx, 0x700000000000077
sub rax, rcx
je 0x14001d825
jmp 0x14001d76c
mov rax, qword [rsp + 0x58]
movabs rcx, 0x700000000000086
sub rax, rcx
je 0x14001d79f
jmp 0x14001d782
mov rax, qword [rsp + 0x58]
movabs rcx, 0x70000000000008e
sub rax, rcx
je 0x14001d846
jmp 0x14001d873
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x228]
mov rcx, qword [rsp + 0x230]
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x218], rax
cmp byte [rsp + 0x218], 0
setne al
and al, 1
movzx eax, al
mov dword [rsp + 0x25c], eax
jmp 0x14001d8a9
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov ax, word [rax]
mov word [rsp + 0x238], ax
cmp word [rsp + 0x238], 0
setne al
and al, 1
movzx eax, al
mov dword [rsp + 0x25c], eax
jmp 0x14001d8a9
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov eax, dword [rax]
mov dword [rsp + 0x238], eax
mov eax, dword [rsp + 0x238]
mov dword [rsp + 0x25c], eax
jmp 0x14001d8a9
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x238], rax
cmp qword [rsp + 0x238], 0
setne al
and al, 1
movzx eax, al
mov dword [rsp + 0x25c], eax
jmp 0x14001d8a9
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x210], rax
lea rcx, str.set_option___value_must_be_a_boolean_here
call fcn.14003d440
lea rax, [rsp + 0x25c]
mov qword [rsp + 0x248], rax
mov dword [rsp + 0x244], 4
jmp 0x14001debf
mov rax, qword [rsp + 0x68]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
movabs rcx, 0x61000000000000c0
cmp qword [rax + 8], rcx
jne 0x14001d904
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x1f0], rax
mov byte [rsp + 0x1f8], 1
mov rcx, qword [rsp + 0x1f0]
mov al, byte [rsp + 0x1f8]
mov qword [rsp + 0x1e8], rcx
mov byte [rsp + 0x1e7], al
cmp byte [rsp + 0x1e7], 0
jne 0x14001d948
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
lea rcx, str.set_option___value_must_be_a_time.Duration_here
call fcn.14003d440
mov rcx, qword [rsp + 0x1e8]
call fcn.140016620
cvttsd2si rax, xmm0
mov qword [rsp + 0x1d8], rax
imul rax, qword [rsp + 0x1d8], 0x3b9aca00
cmp rax, qword [rsp + 0x1e8]
setne al
and al, 1
cmp al, 0
je 0x14001d9e6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1c0], xmm0
xor eax, eax
test al, 1
jne 0x14001d992
jmp 0x14001d9ac
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1c0], 0
jmp 0x14001d9c3
mov dword [rsp + 0x1c0], 1
mov qword [rsp + 0x1c8], reloc.WS2_32.dll_listen
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rcx], xmm0
add rsp, 0x268
ret
cmp qword [rsp + 0x1d8], 0xffff
setg al
and al, 1
cmp al, 0
je 0x14001da62
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1b0], xmm0
xor eax, eax
test al, 1
jne 0x14001da0e
jmp 0x14001da28
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1b0], 0
jmp 0x14001da3f
mov dword [rsp + 0x1b0], 2
mov qword [rsp + 0x1b8], reloc.WS2_32.dll_listen
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
movaps xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rcx], xmm0
add rsp, 0x268
ret
mov word [rsp + 0x254], 1
mov rax, qword [rsp + 0x1d8]
mov word [rsp + 0x256], ax
lea rax, [rsp + 0x254]
mov qword [rsp + 0x248], rax
mov dword [rsp + 0x244], 4
jmp 0x14001debf
mov rax, qword [rsp + 0x68]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movabs rcx, 0x61000000000000c0
cmp qword [rax + 8], rcx
jne 0x14001dad7
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rsp + 0x1a0], rax
mov byte [rsp + 0x1a8], 1
mov rcx, qword [rsp + 0x1a0]
mov al, byte [rsp + 0x1a8]
mov qword [rsp + 0x198], rcx
mov byte [rsp + 0x197], al
cmp byte [rsp + 0x197], 0
jne 0x14001db1b
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
lea rcx, str.set_option___value_must_be_a_time.Duration_here
call fcn.14003d440
mov rcx, qword [rsp + 0x198]
call fcn.1400164d0
cvttsd2si eax, xmm0
mov dword [rsp + 0x258], eax
lea rax, [rsp + 0x258]
mov qword [rsp + 0x248], rax
mov dword [rsp + 0x244], 4
jmp 0x14001debf
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x38], rax
mov rcx, rax
mov qword [rsp + 0x40], rcx
movabs rcx, 0x10000000000000e
sub rax, rcx
je 0x14001dc9f
jmp 0x14001db86
mov rax, qword [rsp + 0x40]
movabs rcx, 0x10000000000000f
sub rax, rcx
je 0x14001dd3b
jmp 0x14001dba0
mov rax, qword [rsp + 0x40]
movabs rcx, 0x100000000000011
sub rax, rcx
je 0x14001dd88
jmp 0x14001dbba
mov rax, qword [rsp + 0x40]
movabs rcx, 0x10000000000006b
sub rax, rcx
je 0x14001de23
jmp 0x14001dbd4
mov rax, qword [rsp + 0x40]
movabs rcx, 0x100000000000073
sub rax, rcx
je 0x14001dced
jmp 0x14001dbee
mov rax, qword [rsp + 0x40]
movabs rcx, 0x100000000000075
sub rax, rcx
je 0x14001ddd6
jmp 0x14001dc08
mov rax, qword [rsp + 0x40]
movabs rcx, 0x4100000000000003
sub rax, rcx
je 0x14001de23
jmp 0x14001dc22
mov rax, qword [rsp + 0x40]
movabs rcx, 0x4100000000000018
sub rax, rcx
je 0x14001dd3b
jmp 0x14001dc3c
mov rax, qword [rsp + 0x40]
movabs rcx, 0x4100000000000035
sub rax, rcx
je 0x14001dd88
jmp 0x14001dc56
mov rax, qword [rsp + 0x40]
movabs rcx, 0x410000000000006f
sub rax, rcx
je 0x14001dc9f
jmp 0x14001dc6c
mov rax, qword [rsp + 0x40]
movabs rcx, 0x4100000000000081
sub rax, rcx
je 0x14001ddd6
jmp 0x14001dc86
mov rax, qword [rsp + 0x40]
movabs rcx, 0x410000000000008b
sub rax, rcx
je 0x14001dced
jmp 0x14001de6e
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x170], rax
movzx eax, byte [rsp + 0x170]
mov dword [rsp + 0x258], eax
jmp 0x14001dea4
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x150], rax
movzx eax, word [rsp + 0x150]
mov dword [rsp + 0x258], eax
jmp 0x14001dea4
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x258], eax
jmp 0x14001dea4
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x258], eax
jmp 0x14001dea4
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x258], eax
jmp 0x14001dea4
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0x258], eax
jmp 0x14001dea4
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rcx, str.hM_v_
call fcn.14003d440
lea rax, [rsp + 0x258]
mov qword [rsp + 0x248], rax
mov dword [rsp + 0x244], 4
mov rcx, qword [rsp + 0x78]
call fcn.140017100
mov r8d, dword [rsp + 0x74]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x260]
mov r9, qword [rsp + 0x248]
mov eax, dword [rsp + 0x244]
mov dword [rsp + 0x20], eax
call sub.WS2_32.dll_setsockopt
mov dword [rsp + 0xb4], eax
cmp dword [rsp + 0xb4], 0
setl al
and al, 1
cmp al, 0
je 0x14001df82
call sub.WS2_32.dll_WSAGetLastError
mov dword [rsp + 0x2c], eax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
cmp eax, 0
jne 0x14001df48
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xa0], 0
jmp 0x14001df5f
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0xa0], eax
mov qword [rsp + 0xa8], reloc.WS2_32.dll_listen
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rcx], xmm0
add rsp, 0x268
ret
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov qword [rcx + 8], 0
mov qword [rcx], 0
add rsp, 0x268
ret