Function at 0x14000e700
Capabilities:
Set socket configuration

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14007b960]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov edi, r8d
mov r13d, edx
mov dword [rsp + 0x5c], edx
mov rbx, rcx
mov qword [rsp + 0x68], rcx
xor r12d, r12d
mov r15d, r12d
mov dword [rsp + 0x30], r12d
call fcn.140019d18
mov rcx, qword [rax + 8]
call fcn.1400157e8
nop
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x60], r12d
xor r9d, r9d
lea r8, [rsp + 0x60]
xor edx, edx
lea rcx, [0x140082050]
call fcn.140008b00
cmp dword [rsp + 0x60], r12d
je 0x14000e855
xor r8d, r8d
mov edx, 2
mov ecx, edx
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x14000e7c7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rbx, qword [rsp + 0x68]
jmp 0x14000e855
mov byte [rsp + 0x34], 1
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x20
mov rcx, rax
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x14000e7fa
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x14000e847
mov word [rsp + 0xa0], 2
mov cx, 0xa1
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0xa2], ax
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0xa4], eax
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x14000e847
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
mov rbx, qword [rsp + 0x68]
xor r9d, r9d
lea r8, [rsp + 0xb0]
lea edx, [r9 + 2]
lea rcx, [0x140082050]
call fcn.140008b00
test edi, edi
je 0x14000e891
cmp edi, 1
je 0x14000e88a
mov r15d, 2
mov dword [rsp + 0x30], r15d
mov ebp, dword [rsp + 0x60]
jmp 0x14000e896
mov ebp, 6
jmp 0x14000e896
mov ebp, 4
lea rdi, [rbx + 0x478]
mov rbx, qword [rdi + 0x10]
cmp qword [rdi + 8], rbx
jbe 0x14000e8ac
call fcn.14003f440
mov rsi, qword [rdi + 8]
cmp rsi, qword [rdi + 0x10]
jbe 0x14000e8bb
call fcn.14003f440
movabs rax, 0x8208208208208209
cmp rsi, rbx
je 0x14000e92a
mov r13, qword [rdi + 0x10]
mov rcx, r13
sub rcx, rbx
imul rcx
lea r12, [rcx + rdx]
sar r12, 9
mov rax, r12
shr rax, 0x3f
add r12, rax
imul r12, r12, 0x3f0
add r12, rsi
cmp rbx, r13
je 0x14000e91e
sub rsi, rbx
nop
nop
lea rcx, [rbx + rsi]
mov rdx, rbx
mov r8d, 0x3f0
call fcn.140042a20
add rbx, 0x3f0
cmp rbx, r13
jne 0x14000e900
mov qword [rdi + 0x10], r12
mov r13d, dword [rsp + 0x5c]
xor r12d, r12d
cmp ebp, 4
jne 0x14000ee4f
xor r14d, r14d
test r15d, r15d
jne 0x14000eb33
nop
cmp r14d, r13d
jge 0x14000eb33
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x38]
call fcn.140003460
mov r15d, eax
mov dword [rsp + 0x30], eax
xor r13d, r13d
test eax, eax
jne 0x14000eb21
mov rbx, qword [rsp + 0x40]
movabs r15, 0x8208208208208209
nop
test rbx, rbx
jne 0x14000e989
xor edx, edx
jmp 0x14000e9a8
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r13d, edx
jge 0x14000eb1c
xor r12d, r12d
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000e9c1
xor edx, edx
jmp 0x14000e9df
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r12d, edx
jge 0x14000ea92
movsxd rsi, r13d
test rbx, rbx
je 0x14000ea14
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x14000ea1e
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul rsi, rsi, 0x3f0
add rsi, rbx
movsxd rbp, r12d
mov rax, qword [rdi + 8]
test rax, rax
je 0x14000ea57
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jb 0x14000ea61
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul rbp, rbp, 0x3f0
add rbp, qword [rdi + 8]
lea rdx, [rsi + 0x188]
lea rcx, [rbp + 0x188]
mov r8d, 0x40
call fcn.1400420e0
test eax, eax
je 0x14000ea92
add r12d, 1
jmp 0x14000e9b4
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000ea9f
xor edx, edx
jmp 0x14000eabd
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r12d
cmp rax, rdx
jne 0x14000eb13
movsxd rsi, r13d
test rbx, rbx
je 0x14000eaf1
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x14000eafb
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul rsi, rsi, 0x3f0
lea rdx, [rbx + rsi]
mov rcx, rdi
call fcn.140004b50
mov rbx, qword [rsp + 0x40]
add r13d, 1
jmp 0x14000e980
mov r15d, dword [rsp + 0x30]
add r14d, 1
test r15d, r15d
mov r13d, dword [rsp + 0x5c]
je 0x14000e940
mov dword [rsp + 0x58], 0
mov r9d, 4
lea r8, [rsp + 0x58]
lea edx, [r9 + 0x13]
lea rcx, [0x140082050]
call fcn.140008b00
cmp dword [rsp + 0x58], 0
je 0x14000f348
cmp dword [0x14008222c], 8
jne 0x14000f348
mov rbp, qword [rsp + 0x48]
mov rbx, rbp
mov rsi, qword [rsp + 0x40]
cmp rsi, rbp
jbe 0x14000eb8f
call fcn.14003f440
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
cmp rsi, rbp
jbe 0x14000eb9e
call fcn.14003f440
mov rbp, qword [rsp + 0x48]
cmp rsi, rbx
je 0x14000ec05
mov rcx, rbp
sub rcx, rbx
movabs r15, 0x8208208208208209
mov rax, r15
imul rcx
lea r12, [rcx + rdx]
sar r12, 9
mov rax, r12
shr rax, 0x3f
add r12, rax
imul r12, r12, 0x3f0
add r12, rsi
cmp rbx, rbp
je 0x14000ebfe
sub rsi, rbx
nop
lea rcx, [rbx + rsi]
mov rdx, rbx
mov r8d, 0x3f0
call fcn.140042a20
add rbx, 0x3f0
cmp rbx, rbp
jne 0x14000ebe0
mov qword [rsp + 0x48], r12
jmp 0x14000ec0f
movabs r15, 0x8208208208208209
xor r9d, r9d
lea r8, [rsp + 0xb0]
lea edx, [r9 + 0x16]
lea rcx, [0x140082050]
call fcn.140008b00
xor r14d, r14d
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14000ee3b
mov rbx, qword [rsp + 0x40]
cmp r14d, r13d
jge 0x14000f352
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x38]
call fcn.140003460
mov r10d, eax
mov dword [rsp + 0x30], eax
xor r13d, r13d
test eax, eax
jne 0x14000ee0e
mov rbx, qword [rsp + 0x40]
test rbx, rbx
jne 0x14000ec7b
xor edx, edx
jmp 0x14000ec9a
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r13d, edx
jge 0x14000ee15
xor r12d, r12d
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000ecb3
xor edx, edx
jmp 0x14000ecd1
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r12d, edx
jge 0x14000ed84
movsxd rsi, r13d
test rbx, rbx
je 0x14000ed06
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x14000ed10
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul rsi, rsi, 0x3f0
add rsi, rbx
movsxd rbp, r12d
mov rax, qword [rdi + 8]
test rax, rax
je 0x14000ed49
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jb 0x14000ed53
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul rbp, rbp, 0x3f0
add rbp, qword [rdi + 8]
lea rdx, [rsi + 0x188]
lea rcx, [rbp + 0x188]
mov r8d, 0x40
call fcn.1400420e0
test eax, eax
je 0x14000ed84
add r12d, 1
jmp 0x14000eca6
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000ed91
xor edx, edx
jmp 0x14000edaf
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r12d
cmp rax, rdx
jne 0x14000ee05
movsxd rsi, r13d
test rbx, rbx
je 0x14000ede3
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x14000eded
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul rsi, rsi, 0x3f0
lea rdx, [rbx + rsi]
mov rcx, rdi
call fcn.140004b50
mov rbx, qword [rsp + 0x40]
add r13d, 1
jmp 0x14000ec72
mov rbx, qword [rsp + 0x40]
jmp 0x14000ee1a
mov r10d, dword [rsp + 0x30]
add r14d, 1
test r10d, r10d
mov r13d, dword [rsp + 0x5c]
je 0x14000ec40
movabs rbp, 0x8208208208208209
jmp 0x14000f3c9
mov rbx, qword [rsp + 0x40]
movabs rbp, 0x8208208208208209
jmp 0x14000f3c9
cmp ebp, 6
jne 0x14000f348
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r12
lea rcx, [rsp + 0x70]
call fcn.1400049a0
mov r10d, eax
mov dword [rsp + 0x30], eax
xor r12d, r12d
mov dword [rsp + 0x58], r12d
test eax, eax
jne 0x14000f325
mov rbx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
cmp r12d, r13d
jge 0x14000f32f
xor r15d, r15d
xor ebp, ebp
mov qword [rsp + 0x90], rbp
test r10d, r10d
jne 0x14000f311
xor esi, esi
mov qword [rsp + 0xa0], rsi
nop
nop
test r8, r8
jne 0x14000eee3
xor edx, edx
movabs r12, 0xf83e0f83e0f83e1
jmp 0x14000ef07
mov rcx, r9
sub rcx, r8
movabs r12, 0xf83e0f83e0f83e1
mov rax, r12
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r15d, edx
jge 0x14000f307
test r8, r8
je 0x14000ef31
sub r9, r8
mov rax, r12
imul r9
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jb 0x14000ef3b
call fcn.14003f440
mov r8, qword [rsp + 0x78]
mov r8d, dword [r8 + rsi]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x38]
call fcn.140003e20
mov r10d, eax
mov dword [rsp + 0x30], eax
xor r14d, r14d
test eax, eax
jne 0x14000f29c
mov rbx, qword [rsp + 0x40]
test rbx, rbx
jne 0x14000ef7b
xor edx, edx
movabs rbp, 0x8208208208208209
jmp 0x14000efa4
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
movabs rbp, 0x8208208208208209
mov rax, rbp
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r14d, edx
jge 0x14000f2a3
movsxd rsi, r15d
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x14000efde
mov rcx, qword [rsp + 0x80]
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x14000efed
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x78]
imul rsi, rsi, 0x108
add rsi, r8
movsxd r13, r14d
test rbx, rbx
je 0x14000f023
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, rbp
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r13, rdx
jb 0x14000f02d
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
lea rdx, [rsi + 4]
mov rax, r13
imul rax, rax, 0x3f0
lea rcx, [rax + rbx + 0x2ec]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
xor r12d, r12d
mov rbx, qword [rsp + 0x40]
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000f05e
xor edx, edx
jmp 0x14000f07c
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, rbp
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r12d, edx
jge 0x14000f1f7
test rbx, rbx
je 0x14000f0ae
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, rbp
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r13, rdx
jb 0x14000f0b8
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
mov rsi, r13
imul rsi, rsi, 0x3f0
add rsi, rbx
movsxd rbp, r12d
mov rax, qword [rdi + 8]
test rax, rax
je 0x14000f0fb
mov rcx, qword [rdi + 0x10]
sub rcx, rax
movabs rax, 0x8208208208208209
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jb 0x14000f105
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
mov rcx, rbp
imul rcx, rcx, 0x3f0
add rcx, qword [rdi + 8]
lea rdx, [rsi + 0x188]
add rcx, 0x188
mov r8d, 0x40
call fcn.1400420e0
test eax, eax
jne 0x14000f1df
test rbx, rbx
je 0x14000f167
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
movabs r8, 0x8208208208208209
mov rax, r8
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r13, rdx
jb 0x14000f17b
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
movabs r8, 0x8208208208208209
mov rsi, r13
imul rsi, rsi, 0x3f0
mov rax, qword [rdi + 8]
test rax, rax
je 0x14000f1b1
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, r8
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jb 0x14000f1b6
call fcn.14003f440
imul rbp, rbp, 0x3f0
add rbp, qword [rdi + 8]
lea rdx, [rsi + rbx + 0x2ec]
lea rcx, [rbp + 0x2ec]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x14000f1f2
mov rbx, qword [rsp + 0x40]
add r12d, 1
movabs rbp, 0x8208208208208209
jmp 0x14000f051
mov rbx, qword [rsp + 0x40]
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000f20e
xor edx, edx
movabs r8, 0x8208208208208209
jmp 0x14000f236
mov rcx, qword [rdi + 0x10]
sub rcx, rax
movabs r8, 0x8208208208208209
mov rax, r8
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r12d
cmp rax, rdx
jne 0x14000f289
test rbx, rbx
je 0x14000f267
mov rcx, qword [rsp + 0x48]
sub rcx, rbx
mov rax, r8
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r13, rdx
jb 0x14000f271
call fcn.14003f440
mov rbx, qword [rsp + 0x40]
imul r13, r13, 0x3f0
lea rdx, [rbx + r13]
mov rcx, rdi
call fcn.140004b50
mov rbx, qword [rsp + 0x40]
add r14d, 1
movabs r12, 0xf83e0f83e0f83e1
jmp 0x14000ef68
mov rbx, qword [rsp + 0x40]
jmp 0x14000f2b8
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x90]
mov r10d, dword [rsp + 0x30]
add r15d, 1
add rbp, 1
mov qword [rsp + 0x90], rbp
add rsi, 0x108
mov qword [rsp + 0xa0], rsi
test r10d, r10d
jne 0x14000f2ee
mov r9, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
jmp 0x14000eed0
mov r9, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x5c]
jmp 0x14000f311
mov r12d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x5c]
add r12d, 1
mov dword [rsp + 0x58], r12d
test r10d, r10d
je 0x14000eea0
jmp 0x14000f32f
mov rbx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x14000f352
mov rcx, r8
call fcn.14001470c
mov rbx, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x30]
jmp 0x14000f352
mov rbx, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x30]
test r10d, r10d
jne 0x14000f3bf
mov rbx, qword [rdi + 0x10]
cmp qword [rdi + 8], rbx
jbe 0x14000f366
call fcn.14003f440
mov rsi, qword [rdi + 8]
cmp rsi, qword [rdi + 0x10]
jbe 0x14000f375
call fcn.14003f440
cmp rdi, rdi
je 0x14000f37f
call fcn.14003f440
mov r9, rbx
sub r9, rsi
movabs rbp, 0x8208208208208209
mov rax, rbp
imul r9
add rdx, r9
sar rdx, 9
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea r9, [0x14000e6c0]
mov rdx, rbx
mov rcx, rsi
call fcn.14000f740
mov rbx, qword [rsp + 0x40]
jmp 0x14000f3c9
movabs rbp, 0x8208208208208209
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14000f3d6
xor edx, edx
jmp 0x14000f3f4
mov rcx, qword [rdi + 0x10]
sub rcx, rax
mov rax, rbp
imul rcx
add rdx, rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
neg rdx
sbb eax, eax
neg eax
sub eax, 1
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x470], eax
test rbx, rbx
je 0x14000f416
mov rcx, rbx
call fcn.14001470c
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
lea rcx, [rsp + 0x34]
call fcn.14000bd50
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.14003dbe0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret