Function at 0x14000d930
Capabilities:
Get socket status
Send data
Send data on socket
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x288
movaps xmmword [rsp + 0x270], xmm6
mov eax, edx
mov rsi, rcx
mov byte [rsp + 0x43], al
mov rcx, qword [rcx + 0x90]
mov rbx, qword [rsi + 0x98]
cmp rcx, rbx
je 0x14000df85
mov rdx, qword [rsi + 0x20]
mov rbp, qword [rsi + 0x40]
mov r14, qword [rbp]
mov r13, qword [rdx]
sub r14, r13
test r14, r14
je 0x14000df9e
mov dword [rsp + 0x44], eax
lea r12, [rsi + 0x150]
movabs r15, 0x595588bd12bf6fe8
lea rbx, [0x140109178]
xorps xmm6, xmm6
nop word cs:[rax + rax]
nop
call fcn.1400a1dd0
mov rdi, rax
call fcn.1400a1db4
cmp rdi, 0x989680
jne 0x14000d9e0
imul rax, rax, 0x64
cmp qword [rsi + 0x168], rax
jge 0x14000da2c
jmp 0x14000dfea
mov rcx, rax
or rcx, rdi
shr rcx, 0x20
je 0x14000d9f3
cqo
idiv rdi
jmp 0x14000d9f7
xor edx, edx
div edi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rdi
or rdx, rax
shr rdx, 0x20
je 0x14000da18
cqo
idiv rdi
jmp 0x14000da1c
xor edx, edx
div edi
add rax, rcx
cmp qword [rsi + 0x168], rax
jl 0x14000dfea
test byte [rsi + 0xc0], 2
jne 0x14000db20
mov rcx, qword [rsi + 0xb8]
cmp rcx, 0xffffffffffffffff
je 0x14000da7c
mov dword [rsp + 0x68], 1
mov edx, 0x8004667e
lea r8, [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
js 0x14000dac6
movups xmmword [r12], xmm6
mov qword [r12 + 0x10], 0
or byte [rsi + 0xc0], 2
jmp 0x14000db20
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
je 0x14000daa6
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, 0x2719
call qword [rax + 0x30]
mov ecx, 2
test al, al
je 0x14000daab
mov ecx, 3
mov qword [rsi + 0x150], 0x2719
mov qword [rsi + 0x158], rbx
mov qword [rsi + 0x160], rcx
jmp 0x14000db20
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
jne 0x14000dae4
test edi, edi
setne al
jmp 0x14000daf3
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, edi
call qword [rax + 0x30]
movzx eax, al
or rax, 2
mov dword [rsi + 0x150], edi
mov dword [rsi + 0x154], 0
mov qword [rsi + 0x158], rbx
mov qword [rsi + 0x160], rax
nop dword [rax + rax]
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x60], r14
mov rcx, qword [rsi + 0xb8]
mov dword [rsp + 0x68], 0
movups xmmword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
mov r8d, 1
lea r9, [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_WSASend]
mov ebp, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
jne 0x14000db90
test edi, edi
setne al
jmp 0x14000db9f
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, edi
call qword [rax + 0x30]
movzx eax, al
or rax, 2
mov dword [rsi + 0x150], edi
mov dword [rsi + 0x154], 0
mov qword [rsi + 0x158], rbx
mov qword [rsi + 0x160], rax
cmp edi, 0x4d2
je 0x14000dc10
cmp edi, 0x40
jne 0x14000dc67
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
je 0x14000dbfa
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, 0x2746
call qword [rax + 0x30]
test al, al
je 0x14000dc3c
mov eax, 3
mov edi, 0x2746
jmp 0x14000dc52
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
je 0x14000dc35
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, 0x274d
call qword [rax + 0x30]
test al, al
je 0x14000dc48
mov eax, 3
jmp 0x14000dc4d
mov eax, 2
mov edi, 0x2746
jmp 0x14000dc52
mov eax, 2
mov edi, 0x274d
mov qword [rsi + 0x150], rdi
mov qword [rsi + 0x158], rbx
mov qword [rsi + 0x160], rax
test ebp, ebp
je 0x14000dd90
mov rcx, qword [0x140109180]
shr rcx, 1
cmp rcx, r15
je 0x14000dc9d
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, 0x2733
call qword [rax + 0x30]
mov rax, qword [rsi + 0x160]
mov edi, dword [rsi + 0x150]
cmp rax, 1
je 0x14000dcf0
cmp edi, 0x2733
jne 0x14000dcf0
mov rcx, rbx
test rax, rax
je 0x14000dcba
mov rcx, qword [rsi + 0x158]
mov rax, qword [0x140109180]
xor edx, edx
cmp rcx, rbx
setne dl
xor ebp, ebp
cmp qword [rcx + 8], rax
setne bpl
test rax, rax
cmove ebp, edx
cmp bpl, 1
je 0x14000dcf7
jmp 0x14000dd69
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
je 0x14000dd11
mov rax, qword [0x140109178]
mov rcx, rbx
mov edx, 0x4d5
call qword [rax + 0x30]
mov rcx, qword [rsi + 0x160]
cmp rcx, 1
je 0x14000e0dc
cmp dword [rsi + 0x150], 0x4d5
jne 0x14000e0dc
mov rax, rbx
test rcx, rcx
je 0x14000dd41
mov rax, qword [rsi + 0x158]
mov rcx, qword [0x140109180]
xor edx, edx
cmp rax, rbx
setne dl
xor ebp, ebp
cmp qword [rax + 8], rcx
setne bpl
test rcx, rcx
cmove ebp, edx
test bpl, bpl
jne 0x14000e0dc
call fcn.1400a1dd0
mov rdi, rax
call fcn.1400a1db4
cmp rdi, 0x989680
jne 0x14000ddd0
imul rax, rax, 0x64
jmp 0x14000de18
movups xmmword [r12], xmm6
mov qword [r12 + 0x10], 0
mov eax, dword [rsp + 0x68]
test eax, eax
jle 0x14000dde3
cmp r14, rax
cmovbe rax, r14
add r13, rax
sub r14, rax
test r14, r14
jne 0x14000d9b0
jmp 0x14000df69
mov rcx, rax
or rcx, rdi
shr rcx, 0x20
je 0x14000ddec
cqo
idiv rdi
jmp 0x14000ddf0
xor edi, edi
xor eax, eax
jmp 0x14000dc6f
xor edx, edx
div edi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rdi
or rdx, rax
shr rdx, 0x20
je 0x14000de11
cqo
idiv rdi
jmp 0x14000de15
xor edx, edx
div edi
add rax, rcx
mov rcx, qword [rsi + 0x168]
test rcx, rcx
js 0x14000de60
test rax, rax
jns 0x14000de90
mov edx, 0x7fffffff
movabs rbp, 0x8000000000000000
cmp rax, rbp
je 0x14000dee0
mov rbp, rax
neg rbp
movabs rdi, 0x7fffffffffffffff
sub rdi, rcx
cmp rdi, rbp
jge 0x14000de90
jmp 0x14000dee0
test rax, rax
js 0x14000de90
movabs rdx, 0x8000000000000000
cmp rcx, rdx
je 0x14000dec0
mov rdx, rcx
neg rdx
movabs rbp, 0x7fffffffffffffff
sub rbp, rax
cmp rbp, rdx
jl 0x14000dec0
nop dword [rax]
sub rcx, rax
mov edx, 0x7fffffff
movabs rax, 0x7a11fffffffff
cmp rcx, rax
jg 0x14000dee0
mov rax, rcx
movabs rdx, 0x431bde82d7b634db
imul rdx
cmp rcx, 0xfffffffffff0bdc0
jg 0x14000dec4
xor edx, edx
jmp 0x14000dee0
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rsi + 0xb8]
cmp rcx, 0xffffffffffffffff
je 0x14000e02a
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x68], 1
test edx, edx
js 0x14000df30
mov eax, edx
imul rax, rax, 0x10624dd3
shr rax, 0x26
mov dword [rsp + 0x48], eax
imul eax, eax, 0x3e8
sub edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x4c], eax
lea rax, [rsp + 0x48]
jmp 0x14000df32
xor eax, eax
add ecx, 1
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8, [rsp + 0x68]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x14000e07f
movups xmmword [r12], xmm6
mov qword [r12 + 0x10], 0
test r14, r14
jne 0x14000d9b0
mov rcx, qword [rsi + 0x90]
mov rbx, qword [rsi + 0x98]
mov eax, dword [rsp + 0x44]
cmp rcx, rbx
jne 0x14000dfa7
jmp 0x14000e0e1
cmp eax, 0xffffffff
je 0x14000dfe3
lea r13, [rsp + 0x43]
mov r14d, 1
test r14, r14
jne 0x14000d986
cmp rcx, rbx
je 0x14000e0e1
sub ebx, ecx
mov rdx, qword [rsi + 0x20]
mov qword [rdx], rcx
mov rdx, qword [rsi + 0x40]
mov qword [rdx], rcx
mov rcx, qword [rsi + 0x58]
mov dword [rcx], ebx
cmp eax, 0xffffffff
je 0x14000dfe3
mov dl, byte [rsp + 0x43]
mov rcx, qword [rsi + 0x40]
mov rcx, qword [rcx]
mov byte [rcx], dl
mov rcx, qword [rsi + 0x58]
add dword [rcx], 0xffffffff
mov rcx, qword [rsi + 0x40]
add qword [rcx], 1
jmp 0x14000e0e1
xor eax, eax
jmp 0x14000e0e1
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
je 0x14000e018
mov rax, qword [0x140109178]
lea rcx, [0x140109178]
mov edx, 0x274c
call qword [rax + 0x30]
mov ecx, 2
test al, al
je 0x14000e01d
mov ecx, 3
mov qword [rsi + 0x150], 0x274c
jmp 0x14000e068
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
je 0x14000e058
mov rax, qword [0x140109178]
lea rcx, [0x140109178]
mov edx, 0x2719
call qword [rax + 0x30]
mov ecx, 2
test al, al
je 0x14000e05d
mov ecx, 3
mov qword [rsi + 0x150], 0x2719
lea rax, [0x140109178]
mov qword [rsi + 0x158], rax
mov qword [rsi + 0x160], rcx
jmp 0x14000e0dc
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rax, qword [0x140109180]
shr rax, 1
cmp rax, r15
jne 0x14000e09d
test edi, edi
setne al
jmp 0x14000e0b0
mov rax, qword [0x140109178]
lea rcx, [0x140109178]
mov edx, edi
call qword [rax + 0x30]
movzx eax, al
or rax, 2
mov dword [rsi + 0x150], edi
mov dword [rsi + 0x154], 0
lea rcx, [0x140109178]
mov qword [rsi + 0x158], rcx
mov qword [rsi + 0x160], rax
mov eax, 0xffffffff
movaps xmm6, xmmword [rsp + 0x270]
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret