Function at 0x14009c40a
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
movups xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x30], r8
mov rdi, rcx
mov r14, qword [rbp + 0x80]
imul eax, dword [0x1402b1640], 0xf4931da3
imul ecx, dword [0x1402b1644], 0x6ccf75ff
add eax, ecx
add eax, 0xfbd42bbd
mov rcx, rax
shl rcx, 9
lea rax, [rcx + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rbx, rsp
imul eax, dword [0x1402b1648], 0xeceb3d22
imul ecx, dword [0x1402b164c], 0x1a1e5547
add eax, ecx
add eax, 0x2e5e39c6
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov rcx, qword [0x1402b1650]
mov r8, qword [0x1402b1658]
shrd r8, rcx, 0x2e
movabs rcx, 0xbe519473a4f5093
xor rcx, r8
cmp rdi, rcx
jne 0x14009c5b2
mov rax, qword [0x1402b1660]
mov rcx, qword [0x1402b1668]
shrd rcx, rax, 0xf
movabs rax, 0x294bf40c33db6751
xor rax, rcx
and rax, qword [0x140294740]
movabs rcx, 0xf971581cf97bf016
imul rcx, qword [0x1402b1670]
movabs rdx, 0x3c26d2a2fa8901f0
imul rdx, qword [0x1402b1678]
add rdx, rcx
movabs rcx, 0x5e6e8f4504add33e
add rcx, rdx
cmp rax, rcx
je 0x14009c565
mov rax, qword [0x140294738]
imul edx, dword [0x1402b1680], 0xed68fae8
imul r8d, dword [str.R1Q], 0xa69d2ba0
lea rcx, [0x140294738]
add edx, r8d
add edx, 0xa025ea09
sub rsp, 0x20
call qword [rax + 0x30]
add rsp, 0x20
mov ecx, 2
test al, al
je 0x14009c56a
mov ecx, 3
movabs rax, 0xa6a6a02f79afa82b
imul rax, qword [0x1402b1688]
movabs rdx, 0xd5491fe1b584aee4
imul rdx, qword [0x1402b1690]
add rdx, rax
movabs rax, 0xcc8f92ab47c0656a
add rax, rdx
mov qword [r14], rax
lea rax, [0x140294738]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rcx
jmp 0x14009c612
movzx ecx, byte [0x1402b1698]
movzx r8d, byte [0x1402b1699]
imul ecx, ecx, 0xffffffa4
mov r10d, r8d
shl r10d, 4
add r10d, r8d
mov r8d, r10d
add r8b, cl
add r8b, 0xfe
and r8b, dl
movzx ecx, byte [0x1402b169a]
movzx r10d, byte [reloc.WS2_32.dll_WSASetLastError]
imul ecx, ecx, 0xffffffcd
imul r10d, r10d, 0xffffff8c
add r10b, cl
add r10b, 4
cmp r8b, r10b
je 0x14009c62c
cmp byte [rbp + 0x78], 0
je 0x14009c62c
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
xor ecx, ecx
mov rax, rcx
movups xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp - 0x28], rax
mov eax, r9d
mov dword [rbp - 0x1c], r9d
movzx eax, byte [0x1402b169c]
mov cl, byte [0x1402b169d]
imul eax, eax, 0xffffffe7
shl cl, 3
add cl, al
add cl, 0xc0
and dl, cl
mov byte [rbp - 0x12], dl
movzx eax, byte [0x1402b169e]
movzx ecx, byte [0x1402b169f]
imul eax, eax, 0x4b
imul ecx, ecx, 0xffffffbc
add cl, al
add cl, 0x57
mov byte [rbp - 0x11], cl
mov eax, dword [0x1402b16a0]
mov ecx, dword [0x1402b16a4]
shrd ecx, eax, 4
mov eax, edi
xor ecx, 0x8e017761
add ecx, edi
mov dword [rbp - 0x18], ecx
xorps xmm6, xmm6
lea r13, [0x140294738]
mov eax, dword [0x1402b16a8]
mov ecx, dword [0x1402b16ac]
shrd ecx, eax, 6
xor ecx, 0x5939552a
mov r9, qword [rbp - 0x28]
mov dword [r9], ecx
sub rsp, 0x40
movups xmmword [rsp + 0x28], xmm6
mov eax, dword [rbp + 0x70]
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov rdx, qword [rbp - 0x30]
mov r8d, dword [rbp - 0x1c]
call qword [sym.imp.WS2_32.dll_WSASend]
add rsp, 0x40
mov r15d, eax
sub rsp, 0x20
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add rsp, 0x20
mov esi, eax
mov rax, qword [0x1402b16b0]
movabs rcx, 0xf86dd490cc0aca00
imul rax, rcx
mov rcx, qword [0x1402b16b8]
movabs rdx, 0x964a2f544197ce6b
imul rcx, rdx
add rcx, rax
movabs rax, 0x328d2c9c2c3284c1
add rcx, rax
and rcx, qword [0x140294740]
mov rax, qword [0x1402b16c0]
mov rdx, qword [0x1402b16c8]
shrd rdx, rax, 0xd
mov r12d, esi
movabs rax, 0x5e3d5ac831735d3a
xor rdx, rax
cmp rcx, rdx
jne 0x14009c777
imul eax, dword [0x1402b16d0], 0x8511faf9
imul ecx, dword [0x1402b16d4], 0x30954c6c
add eax, ecx
add eax, 0x1827be12
cmp esi, eax
setne al
jmp 0x14009c78f
mov rax, qword [0x140294738]
sub rsp, 0x20
mov rcx, r13
mov edx, r12d
call qword [rax + 0x30]
add rsp, 0x20
mov rcx, qword [0x1402b16d8]
mov rdx, qword [0x1402b16e0]
shrd rdx, rcx, 0x1a
movabs rcx, 0x2f2c62480afa99f
xor rdx, rcx
mov rcx, qword [0x1402b16e8]
movabs r8, 0x33dea7d020fbcf4a
imul rcx, r8
mov r8, qword [0x1402b16f0]
movabs r9, 0xc2d5b3f3cdd9b9e4
imul r8, r9
add r8, rcx
movabs rcx, 0x3ee9ebbd00c90bda
add r8, rcx
test al, al
mov rax, r8
cmovne rax, rdx
mov dword [r14], r12d
mov ecx, dword [0x1402b16f8]
mov edx, dword [0x1402b16fc]
shrd edx, ecx, 0xc
xor edx, 0x291955f3
mov dword [r14 + 4], edx
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], rax
cmp esi, 0x4d2
je 0x14009c8d7
cmp esi, 0x40
jne 0x14009c9a2
mov rax, qword [0x1402b1700]
movabs rcx, 0x9c949258eec0042a
imul rax, rcx
mov rcx, qword [0x1402b1708]
movabs rdx, 0xd7e8fa09c4f650bf
imul rcx, rdx
add rcx, rax
movabs rax, 0x9f09b9e58c589987
add rcx, rax
and rcx, qword [0x140294740]
mov rax, qword [0x1402b1710]
mov rdx, qword [0x1402b1718]
shrd rdx, rax, 0x37
movabs rax, 0xf55ab0944342a7d1
xor rdx, rax
cmp rcx, rdx
je 0x14009c8cd
imul eax, dword [0x1402b1720], 0x2463f389
imul ecx, dword [0x1402b1724], 0x76c94613
mov r8, qword [0x140294738]
lea edx, [rax + rcx]
add edx, 0xc59f3f40
sub rsp, 0x20
mov rcx, r13
call qword [r8 + 0x30]
add rsp, 0x20
test al, al
je 0x14009c980
mov eax, 0x2746
jmp 0x14009c979
mov rax, qword [0x1402b1728]
movabs rcx, 0x8a2ba12a4c9f0649
imul rax, rcx
mov rcx, qword [0x1402b1730]
movabs rdx, 0xb7adb3b7a0d751a5
imul rcx, rdx
add rcx, rax
movabs rax, 0x8380fbe39c2b3b7d
add rcx, rax
and rcx, qword [0x140294740]
mov rax, qword [0x1402b1738]
mov rdx, qword [0x1402b1740]
shrd rdx, rax, 0x21
movabs rax, 0xa8ee486d2a7d65ff
xor rdx, rax
cmp rcx, rdx
je 0x14009c974
imul eax, dword [0x1402b1748], 0xc57f56a4
imul ecx, dword [0x1402b174c], 0x7e33c675
mov r8, qword [0x140294738]
lea edx, [rax + rcx]
add edx, 0x91cb5473
sub rsp, 0x20
mov rcx, r13
call qword [r8 + 0x30]
add rsp, 0x20
test al, al
je 0x14009c987
mov eax, 0x274d
mov ecx, 3
jmp 0x14009c991
mov eax, 0x2746
jmp 0x14009c98c
mov eax, 0x274d
mov ecx, 2
mov qword [r14], rax
mov qword [r14 + 8], r13
mov qword [r14 + 0x10], rcx
mov r12d, eax
mov rax, rcx
mov ecx, dword [0x1402b1750]
mov edx, dword [0x1402b1754]
shrd edx, ecx, 0xf
xor edx, 0x1f44b3b8
cmp r15d, edx
jne 0x14009c9f5
movups xmmword [r14], xmm6
mov qword [r14 + 0x10], 0
mov rax, qword [rbp - 0x28]
mov eax, dword [rax]
mov ecx, dword [0x1402b1758]
mov edx, dword [0x1402b175c]
shrd edx, ecx, 0xf
mov rcx, rax
xor edx, 0x39f435a0
cmp eax, edx
jg 0x14009c614
xor r12d, r12d
xor eax, eax
mov dl, byte [rbp - 0x11]
cmp byte [rbp - 0x12], dl
jne 0x14009c612
mov rdx, qword [0x140294740]
mov r8, qword [str.U_Y]
movabs r9, 0xe898ea6e487e14c1
imul r8, r9
mov r9, qword [0x1402b1768]
movabs r10, 0xddb83cf74a4f6078
imul r9, r10
add r9, r8
movabs r8, 0x1888c8eb030c8109
add r9, r8
and r9, rdx
mov r8, qword [0x1402b1770]
mov r10, qword [0x1402b1778]
shrd r10, r8, 0x23
movabs r8, 0xc0e6b1688050a8f3
xor r10, r8
mov ecx, r12d
cmp r9, r10
je 0x14009caa6
mov rax, qword [0x140294738]
mov ecx, dword [0x1402b1780]
mov edx, dword [0x1402b1784]
shrd edx, ecx, 0x1e
xor edx, 0xa9cc4d8c
sub rsp, 0x20
mov rcx, r13
call qword [rax + 0x30]
add rsp, 0x20
mov rax, qword [r14 + 0x10]
mov ecx, dword [r14]
mov rdx, qword [0x140294740]
mov r8, qword [0x1402b1788]
mov r9, qword [0x1402b1790]
shrd r9, r8, 0x11
movabs r8, 0xbf06c31207eb6524
xor r9, r8
cmp rax, r9
je 0x14009cb8d
mov r8d, dword [0x1402b1798]
mov r9d, dword [0x1402b179c]
shrd r9d, r8d, 6
xor r9d, 0x229b9e05
cmp ecx, r9d
jne 0x14009cb8d
mov r8, qword [0x1402b17a0]
mov r9, qword [0x1402b17a8]
shrd r9, r8, 0x1b
movabs r8, 0x960266eea76e9178
xor r9, r8
mov r8, r13
cmp rax, r9
je 0x14009cb1e
mov r8, qword [r14 + 8]
mov r9, qword [0x1402b17b0]
movabs r10, 0x79dfb27464b06004
imul r9, r10
mov r10, qword [0x1402b17b8]
movabs r11, 0x1c5498c904b2392d
imul r10, r11
add r10, r9
movabs r9, 0x8ee1d473c1b9ce24
add r10, r9
cmp r8, r13
setne r9b
cmp qword [r8 + 8], rdx
setne r8b
cmp rdx, r10
mov r10d, 0
mov r10b, r9b
mov r9d, 0
mov r9b, r8b
cmove r9d, r10d
mov r8d, r9d
cmp r9b, 1
jne 0x14009cd0b
mov r8, qword [0x1402b17c0]
mov r9, qword [0x1402b17c8]
shrd r9, r8, 0x2f
movabs r8, 0x3ee643a17e4b3e4b
xor r9, r8
and rdx, r9
mov r8, qword [0x1402b17d0]
movabs r9, 0x3d4434f80b9cb9cb
imul r8, r9
mov r9, qword [0x1402b17d8]
movabs r10, 0xa33e076cde434918
imul r9, r10
add r9, r8
movabs r8, 0x97f90eb4819b3627
add r9, r8
cmp rdx, r9
je 0x14009cc21
mov rax, qword [0x140294738]
mov ecx, dword [0x1402b17e0]
mov edx, dword [0x1402b17e4]
shrd edx, ecx, 6
xor edx, 0x90b25d
sub rsp, 0x20
mov rcx, r13
call qword [rax + 0x30]
add rsp, 0x20
mov rax, qword [r14 + 0x10]
mov ecx, dword [r14]
mov rdx, qword [0x1402b17e8]
mov r8, qword [0x1402b17f0]
shrd r8, rdx, 0x18
mov edx, ecx
movabs rcx, 0xf96ad6a62f19b583
xor r8, rcx
cmp rax, r8
je 0x14009ceb3
mov ecx, dword [0x1402b17f8]
mov r8d, dword [0x1402b17fc]
shrd r8d, ecx, 0x17
xor r8d, 0xf0e33cc9
mov ecx, 0
cmp edx, r8d
jne 0x14009c614
mov rcx, qword [0x1402b1800]
movabs rdx, 0xe939fc9e7c35cd5a
imul rcx, rdx
mov rdx, qword [0x1402b1808]
movabs r8, 0x3f06b357b0aa014b
imul rdx, r8
add rdx, rcx
movabs rcx, 0xeafd31c7e86ad279
add rdx, rcx
mov rcx, r13
cmp rax, rdx
je 0x14009ccb9
mov rcx, qword [r14 + 8]
mov rax, qword [0x140294740]
mov rdx, qword [0x1402b1810]
mov r8, qword [0x1402b1818]
shrd r8, rdx, 0x20
movabs rdx, 0x945af5139b107203
xor r8, rdx
cmp rcx, r13
setne dl
cmp qword [rcx + 8], rax
setne cl
cmp rax, r8
mov eax, 0
mov al, dl
mov edx, 0
mov dl, cl
cmove edx, eax
mov eax, edx
test dl, dl
jne 0x14009c612
mov eax, dword [0x1402b1820]
mov ecx, dword [0x1402b1824]
shrd ecx, eax, 3
mov qword [rbx + 8], rdi
xor ecx, 0x323b3962
mov dword [rbx], ecx
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov ecx, dword [rbp - 0x18]
xor edx, edx
mov r8, rbx
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_select]
add rsp, 0x30
imul ecx, dword [0x1402b1828], 0x5c472bec
imul edx, dword [0x1402b182c], 0xebe75d66
add ecx, edx
add ecx, 0x807a3c38
cmp eax, ecx
jl 0x14009cd7a
movups xmmword [r14], xmm6
mov qword [r14 + 0x10], 0
jmp 0x14009c697
sub rsp, 0x20
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add rsp, 0x20
mov esi, eax
movabs rcx, 0xdc7a3d446242a779
imul rcx, qword [0x1402b1830]
movabs rdx, 0xa37482268c5c982f
imul rdx, qword [0x1402b1838]
add rdx, rcx
movabs rcx, 0x3402a8a11e7b5895
add rcx, rdx
and rcx, qword [0x140294740]
mov rdx, qword [0x1402b1840]
mov r8, qword [0x1402b1848]
shrd r8, rdx, 0x1a
movabs rdx, 0x95001122f7d2dbeb
xor rdx, r8
cmp rcx, rdx
jne 0x14009ce0d
imul ecx, dword [0x1402b1850], 0x2587737d
imul edx, dword [0x1402b1854], 0xef6da65d
add ecx, edx
add ecx, 0xc837335
cmp eax, ecx
setne al
jmp 0x14009ce28
mov rax, qword [0x140294738]
lea rcx, [0x140294738]
sub rsp, 0x20
mov edx, esi
call qword [rax + 0x30]
add rsp, 0x20
movabs rcx, 0x30f2538a46d4256d
imul rcx, qword [0x1402b1858]
movabs rdx, 0x180822a4b206262e
imul rdx, qword [0x1402b1860]
add rdx, rcx
movabs rcx, 0x9e4db3eb13baa4f2
add rcx, rdx
mov rdx, qword [0x1402b1868]
mov r8, qword [0x1402b1870]
shrd r8, rdx, 0xe
movabs rdx, 0x72d607c8bcf0c2bf
xor rdx, r8
test al, al
cmovne rdx, rcx
mov dword [r14], esi
mov eax, dword [0x1402b1878]
mov ecx, dword [0x1402b187c]
shrd ecx, eax, 0x17
xor ecx, 0x87e42efc
mov dword [r14 + 4], ecx
lea rax, [0x140294738]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rdx
jmp 0x14009c612
mov ecx, 0
jmp 0x14009c614