Function at 0x140089bd0
Capabilities:
Send data
Send data on socket

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
xor r13d, r13d
mov eax, 0x40000000
mov r15d, 1
mov r10, rdx
mov rbx, rcx
mov r12d, r15d
test eax, r8d
je 0x140089c16
xor dword [rbp + 0x58], eax
mov r14d, r15d
jmp 0x140089c19
mov r14d, r13d
mov dword [rbp - 0x24], r14d
test rbx, rbx
je 0x140089ec5
lea rsi, [rbp + 0x60]
mov edx, r13d
mov dword [rbp - 0x28], edx
mov qword [rbp - 0x20], rsi
cmp qword [rcx + 0x2a8], r13
je 0x140089e6c
test r14d, r14d
jne 0x140089c5b
xor eax, eax
lock cmpxchg dword [rcx + 0x288], r15d
jne 0x140089c57
pause
jmp 0x140089c46
mov rsi, qword [rbp - 0x20]
mov edi, r13d
cmp dword [rbp + 0x58], r13d
jbe 0x140089cca
lea rax, [rsi + 8]
cmp qword [rax], 0x7fffffff
lea rsi, [rax + 0x10]
mov r15d, dword [rsi - 8]
mov r14, qword [rax - 8]
ja 0x140089ca8
test edx, edx
jne 0x140089ca8
mov r8d, dword [rax]
mov rdx, r14
mov rcx, qword [rbx + 0x2a8]
call fcn.140185ea0
test r15d, r15d
jne 0x140089ca0
mov rcx, r14
call fcn.1401ccb68
mov edx, dword [rbp - 0x28]
mov r15d, r12d
jmp 0x140089cbe
test r15d, r15d
jne 0x140089cb5
mov rcx, r14
call fcn.1401ccb68
mov edx, r12d
mov r15d, r12d
mov dword [rbp - 0x28], edx
add edi, r15d
cmp edi, dword [rbp + 0x58]
jb 0x140089c64
mov r14d, dword [rbp - 0x24]
mov qword [rbp - 0x20], r13
test edx, edx
jne 0x140089e34
mov rax, qword [rbx + 0x2d0]
cmp qword [rbx + 0x280], r13
jne 0x140089e2a
cmp qword [rax], r13
jbe 0x140089e23
mov rcx, qword [rbx + 0x2c0]
mov edx, reloc.WS2_32.dll_ntohs
call fcn.1400c7dd0
mov rdx, qword [rbx + 0x2d0]
xor r9d, r9d
mov rcx, qword [rbx + 0x68]
mov r8d, dword [rdx]
mov rdx, qword [rdx + 8]
call qword [sym.imp.WS2_32.dll_send]
movsxd rsi, eax
test eax, eax
jle 0x140089d3b
mov rcx, qword [rbx + 0x2d0]
cmp esi, dword [rcx]
jge 0x140089dee
mov eax, dword [rcx]
sub eax, esi
jmp 0x140089d55
jns 0x140089dee
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140089dee
mov eax, r13d
xor r9d, r9d
movsxd rdx, eax
xor r8d, r8d
lea ecx, [r9 + 0x38]
call fcn.14008e944
mov dword [rax + 0x2c], 3
mov dword [rax + 0xc], r13d
mov qword [rbx + 0x280], rax
mov qword [rbx + 0x278], rax
test esi, esi
jle 0x140089de9
lea rcx, [rax + 0x40]
mov r8, rsi
mov qword [rax], rcx
mov rax, qword [rbx + 0x2d0]
mov ecx, dword [rax]
mov rax, qword [rbx + 0x278]
sub ecx, esi
mov dword [rax + 8], ecx
mov rcx, qword [rbx + 0x278]
mov rax, qword [rbx + 0x2d0]
movsxd rdx, dword [rcx + 8]
add r8, qword [rax + 8]
mov r9, rdx
mov rcx, qword [rcx]
call section..text
mov rax, qword [rbx + 0x278]
xor r9d, r9d
add dword [rbx + 0x74], esi
xor r8d, r8d
mov edx, r15d
mov ecx, dword [rax + 8]
mov dword [rbx + 0x70], ecx
mov rcx, qword [rbx + 0x2c0]
call fcn.1400c7e00
mov edi, r13d
jmp 0x140089e41
mov rcx, qword [rbx + 0x2d0]
cmp rsi, qword [rcx]
jne 0x140089e23
mov rcx, qword [rbx + 0x2c0]
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
mov edi, r15d
call fcn.1400c7e00
mov rax, qword [rbx + 0x2d0]
add dword [rbx + 0x74], esi
mov ecx, dword [rax]
mov dword [rbx + 0x70], ecx
jmp 0x140089e41
mov edi, 0xfffffffc
jmp 0x140089e39
mov eax, dword [rax]
mov edi, r13d
mov dword [rbx + 0x70], eax
jmp 0x140089e41
mov edi, 0xfffffffb
mov rcx, rbx
call fcn.140089b58
test r14d, r14d
jne 0x140089e4d
mov dword [rbx + 0x288], r13d
cmp edi, r15d
je 0x140089e68
mov rcx, qword [rbx + 0x20]
call fcn.140097350
test eax, eax
jne 0x140089e68
mov rcx, qword [rbx + 0x20]
call fcn.14008efc8
mov eax, edi
jmp 0x140089eca
test r14d, r14d
jne 0x140089e86
xor eax, eax
lock cmpxchg dword [rcx + 0x288], r15d
jne 0x140089e82
pause
jmp 0x140089e71
mov rsi, qword [rbp - 0x20]
cmp qword [rcx + 0x68], 0xffffffffffffffff
jne 0x140089edb
mov edi, r13d
cmp dword [rbp + 0x58], r13d
jbe 0x140089eb9
lea rcx, [rsi + 8]
lea rsi, [rcx + 0x10]
cmp dword [rsi - 8], r13d
jne 0x140089ead
mov rcx, qword [rcx - 8]
call fcn.1401ccb68
add edi, r15d
cmp edi, dword [rbp + 0x58]
jb 0x140089e96
mov qword [rbp - 0x20], rsi
test r14d, r14d
jne 0x140089ec5
mov dword [rbx + 0x288], r13d
mov eax, 0xfffffffc
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov dword [rbp - 0x20], r13d
cmp dword [rbp + 0x58], r13d
jbe 0x14008a176
mov edi, 0xfffffffc
lea r8d, [rdi + 0x20]
mov rcx, qword [rsi]
mov r15, qword [rsi + 8]
lea rsi, [rsi + 0x18]
mov r13d, dword [rsi - 8]
mov qword [rbp - 0x18], rcx
cmp r15, 0x7fffffff
ja 0x14008a13c
test edx, edx
jne 0x14008a13c
cmp qword [rbx + 0x280], 0
jne 0x14008a078
cmp dword [rbx + 0x258], edx
je 0x14008a078
lea r12d, [rdx + 1]
test r10, r10
je 0x140089f6d
cmp word [r10], r12w
je 0x140089f6d
cmp word [r10], 0x17
lea eax, [rdx + 0x10]
mov rdx, rcx
mov rcx, qword [rbx + 0x68]
cmove eax, r8d
xor r9d, r9d
mov dword [rsp + 0x28], eax
mov r8d, r15d
mov qword [rsp + 0x20], r10
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x140089f80
mov rdx, rcx
xor r9d, r9d
mov rcx, qword [rbx + 0x68]
mov r8d, r15d
call qword [sym.imp.WS2_32.dll_send]
mov r14d, eax
test eax, eax
jle 0x140089f8e
cmp eax, r15d
jl 0x140089fa5
test eax, eax
jns 0x14008a02c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14008a02c
xor eax, eax
test r14d, r14d
cmovns eax, r14d
xor edx, edx
xor r9d, r9d
movsxd r14, eax
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14008e944
mov r12, rax
cmp r13d, 2
jne 0x14008a002
sub r15d, r14d
movsxd rcx, r15d
mov dword [rax + 8], r15d
call fcn.1401cd1cc
mov qword [r12], rax
test rax, rax
je 0x14008a1a7
movsxd rdx, dword [r12 + 8]
mov r8, r14
add r8, qword [rbp - 0x18]
mov r9, rdx
mov rcx, rax
call section..text
xor r13d, r13d
jmp 0x14008a011
mov rcx, qword [rbp - 0x18]
mov qword [rax], rcx
mov dword [rax + 8], r15d
mov dword [rax + 0xc], r14d
mov dword [r12 + 0x2c], r13d
xor r13d, r13d
mov qword [rbx + 0x280], r12
mov qword [rbx + 0x278], r12
mov r12d, r13d
jmp 0x14008a04f
cmp r14d, r15d
jne 0x14008a041
test r13d, r13d
jne 0x14008a04c
mov rcx, qword [rbp - 0x18]
call fcn.1401ccb68
jmp 0x14008a04c
mov rcx, rbx
mov r12d, edi
call fcn.140089b58
xor r13d, r13d
test r14d, r14d
jle 0x14008a062
add dword [rbx + 0x74], r14d
sub dword [rbx + 0x70], r14d
jns 0x14008a062
mov dword [rbx + 0x70], r13d
mov edx, dword [rbp - 0x28]
mov r15d, 1
mov r10, qword [rbp + 0x50]
lea r8d, [r15 + 0x1b]
jmp 0x14008a160
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14008e944
mov r14, rax
mov dword [rax + 8], r15d
add dword [rbx + 0x70], r15d
cmp r13d, 2
jne 0x14008a0c6
movsxd rcx, dword [rax + 8]
call fcn.1401cd1cc
mov qword [r14], rax
test rax, rax
je 0x14008a1ed
movsxd rdx, dword [r14 + 8]
mov r9, r15
mov r8, qword [rbp - 0x18]
mov rcx, rax
call section..text
xor r13d, r13d
jmp 0x14008a0cd
mov rcx, qword [rbp - 0x18]
mov qword [rax], rcx
mov dword [r14 + 0x2c], r13d
xor r13d, r13d
mov r10, qword [rbp + 0x50]
mov dword [r14 + 0xc], r13d
test r10, r10
je 0x14008a102
cmp word [r10], 0x17
lea edx, [r13 + 0x1c]
lea r9d, [r13 + 0x10]
mov r8, r10
cmove r9d, edx
lea rcx, [r14 + 0x10]
call section..text
mov r10, qword [rbp + 0x50]
mov edx, dword [rbp - 0x28]
mov r15d, 1
mov qword [r14 + 0x30], r13
mov rax, qword [rbx + 0x280]
lea r8d, [r15 + 0x1b]
test rax, rax
jne 0x14008a12f
mov qword [rbx + 0x280], r14
mov qword [rbx + 0x278], r14
jmp 0x14008a160
mov qword [rax + 0x30], r14
mov qword [rbx + 0x280], r14
jmp 0x14008a160
mov r15d, 1
mov edx, r15d
mov dword [rbp - 0x28], edx
test r13d, r13d
jne 0x14008a15d
call fcn.1401ccb68
mov r10, qword [rbp + 0x50]
lea r8d, [r15 + 0x1b]
mov edx, r15d
xor r13d, r13d
mov eax, dword [rbp - 0x20]
add eax, r15d
mov dword [rbp - 0x20], eax
cmp eax, dword [rbp + 0x58]
jb 0x140089ef2
mov r14d, dword [rbp - 0x24]
mov qword [rbp - 0x20], r13
test r14d, r14d
jne 0x14008a186
mov dword [rbx + 0x288], r13d
test edx, edx
je 0x14008a19c
mov rcx, rbx
mov edi, 0xfffffffb
call fcn.140089b58
jmp 0x140089e52
mov edi, r12d
cmp r12d, r15d
jmp 0x140089e50
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibAsyncSocket.c
mov edi, 0x2eb
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.14009718c
mov r8d, edi
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.140001090
mov ecx, ebx
call fcn.1401c761c
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibAsyncSocket.c
mov edi, 0x2bc
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.14009718c
mov r8d, edi
lea rdx, str.X:XYO_SecurityDevelopmentMeshAgent.CustommicrostackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.140001090
mov ecx, ebx
call fcn.1401c761c
int3