Function at 0x14009aa88
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
mov r12d, 1
mov rbx, rcx
mov eax, 0x40000000
mov ecx, r12d
mov dword [rbp - 0x24], ecx
mov r9, rdx
test eax, r8d
je 0x14009aace
xor dword [rbp + 0x58], eax
mov r15d, r12d
jmp 0x14009aad1
xor r15d, r15d
mov dword [rbp - 0x20], r15d
test rbx, rbx
je 0x14009ada4
xor edx, edx
lea rsi, [rbp + 0x60]
mov dword [rbp - 0x28], edx
mov qword [rbp - 0x18], rsi
cmp qword [rbx + 0x2a8], rdx
je 0x14009ad4d
test r15d, r15d
jne 0x14009ab12
xor eax, eax
lock cmpxchg dword [rbx + 0x288], r12d
jne 0x14009ab0e
pause
jmp 0x14009aafd
mov rsi, qword [rbp - 0x18]
xor edi, edi
cmp dword [rbp + 0x58], edx
jbe 0x14009ab79
lea rax, [rsi + 8]
cmp qword [rax], 0x7fffffff
lea rsi, [rax + 0x10]
mov r15d, dword [rsi - 8]
mov r14, qword [rax - 8]
ja 0x14009ab5a
test edx, edx
jne 0x14009ab5a
mov r8d, dword [rax]
mov rdx, r14
mov rcx, qword [rbx + 0x2a8]
call fcn.1401a38a0
test r15d, r15d
jne 0x14009ab55
mov rcx, r14
call fcn.1401ebcd0
mov edx, dword [rbp - 0x28]
jmp 0x14009ab6d
test r15d, r15d
jne 0x14009ab67
mov rcx, r14
call fcn.1401ebcd0
mov edx, r12d
mov dword [rbp - 0x28], edx
add edi, r12d
cmp edi, dword [rbp + 0x58]
jb 0x14009ab19
mov r15d, dword [rbp - 0x20]
and qword [rbp - 0x18], 0
test edx, edx
jne 0x14009ad15
lea rdi, [rbx + 0x280]
cmp qword [rdi], 0
lea rsi, [rbx + 0x2d0]
mov rax, qword [rsi]
jne 0x14009ad0c
cmp qword [rax], 0
jbe 0x14009ad05
mov rcx, qword [rbx + 0x2c0]
mov edx, reloc.WS2_32.dll_ntohs
call fcn.1400e4d80
mov rdx, qword [rsi]
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 r14, eax
test eax, eax
jle 0x14009abed
mov rcx, qword [rsi]
cmp r14d, dword [rcx]
jge 0x14009acd7
mov ecx, dword [rcx]
sub ecx, r14d
jmp 0x14009ac0d
jns 0x14009acd7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14009acd7
lea rdi, [rbx + 0x280]
xor ecx, ecx
xor r9d, r9d
movsxd rdx, ecx
xor r8d, r8d
lea ecx, [r9 + 0x38]
call fcn.14009fdfc
and dword [rax + 0xc], 0
mov dword [rax + 0x2c], 3
mov qword [rdi], rax
mov qword [rbx + 0x278], rax
test r14d, r14d
jle 0x14009acd3
lea r8, [rax + 0x40]
mov rcx, rax
neg rcx
sbb rdx, rdx
and rdx, r8
mov qword [rax], rdx
mov rdx, r14
mov rax, qword [rbx + 0x2d0]
mov ecx, dword [rax]
mov rax, qword [rbx + 0x278]
sub ecx, r14d
mov dword [rax + 8], ecx
mov rcx, qword [rbx + 0x278]
mov rax, qword [rbx + 0x2d0]
movsxd r8, dword [rcx + 8]
add rdx, qword [rax + 8]
mov rcx, qword [rcx]
test r8, r8
je 0x14009acad
test rcx, rcx
je 0x14009ac9d
test rdx, rdx
je 0x14009ac98
call fcn.140210d80
jmp 0x14009acad
call fcn.140211420
call fcn.1401ebba4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401eac1c
mov rax, qword [rbx + 0x278]
xor r9d, r9d
add dword [rbx + 0x74], r14d
xor r8d, r8d
mov edx, r12d
mov ecx, dword [rax + 8]
mov dword [rbx + 0x70], ecx
mov rcx, qword [rbx + 0x2c0]
call fcn.1400e4db0
xor edi, edi
jmp 0x14009ad22
mov rcx, qword [rsi]
cmp r14, qword [rcx]
jne 0x14009ad05
mov rcx, qword [rbx + 0x2c0]
xor r9d, r9d
xor r8d, r8d
mov edx, r12d
mov edi, r12d
call fcn.1400e4db0
mov rax, qword [rsi]
add dword [rbx + 0x74], r14d
mov ecx, dword [rax]
mov dword [rbx + 0x70], ecx
jmp 0x14009ad22
mov edi, 0xfffffffc
jmp 0x14009ad1a
mov eax, dword [rax]
xor edi, edi
mov dword [rbx + 0x70], eax
jmp 0x14009ad22
mov edi, 0xfffffffb
mov rcx, rbx
call fcn.14009aa10
test r15d, r15d
jne 0x14009ad2e
mov dword [rbx + 0x288], r15d
cmp edi, r12d
je 0x14009ad49
mov rcx, qword [rbx + 0x20]
call fcn.1400aa5b8
test eax, eax
jne 0x14009ad49
mov rcx, qword [rbx + 0x20]
call fcn.1400a0978
mov eax, edi
jmp 0x14009ada9
test r15d, r15d
jne 0x14009ad67
xor eax, eax
lock cmpxchg dword [rbx + 0x288], r12d
jne 0x14009ad63
pause
jmp 0x14009ad52
mov rsi, qword [rbp - 0x18]
cmp qword [rbx + 0x68], 0xffffffffffffffff
jne 0x14009adba
xor edi, edi
cmp dword [rbp + 0x58], edx
jbe 0x14009ad98
lea rcx, [rsi + 8]
lea rsi, [rcx + 0x10]
cmp dword [rsi - 8], 0
jne 0x14009ad8c
mov rcx, qword [rcx - 8]
call fcn.1401ebcd0
add edi, r12d
cmp edi, dword [rbp + 0x58]
jb 0x14009ad75
mov qword [rbp - 0x18], rsi
test r15d, r15d
jne 0x14009ada4
mov dword [rbx + 0x288], r15d
mov eax, 0xfffffffc
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
and dword [rbp - 0x18], edx
cmp dword [rbp + 0x58], edx
jbe 0x14009b0be
mov edi, 0xfffffffc
mov r12, qword [rsi]
mov ecx, 0x1c
mov r14, qword [rsi + 8]
lea rsi, [rsi + 0x18]
mov r13d, dword [rsi - 8]
mov qword [rbp - 0x10], r12
cmp r14, 0x7fffffff
ja 0x14009b081
test edx, edx
jne 0x14009b081
cmp qword [rbx + 0x280], 0
jne 0x14009af6c
cmp dword [rbx + 0x258], edx
je 0x14009af6c
test r9, r9
je 0x14009ae49
lea eax, [rcx - 0x1b]
cmp word [r9], ax
je 0x14009ae49
cmp word [r9], 0x17
lea eax, [rcx - 0xc]
mov r8d, r14d
mov rdx, r12
cmove eax, ecx
mov rcx, qword [rbx + 0x68]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r9
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x14009ae5c
mov rcx, qword [rbx + 0x68]
xor r9d, r9d
mov r8d, r14d
mov rdx, r12
call qword [sym.imp.WS2_32.dll_send]
mov r15d, eax
test eax, eax
jle 0x14009ae6a
cmp eax, r14d
jl 0x14009ae84
test eax, eax
jns 0x14009af1f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14009af1f
xor r15d, r15d
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14009fdfc
mov r12, rax
cmp r13d, 2
jne 0x14009aef3
sub r14d, r15d
movsxd rcx, r14d
mov dword [rax + 8], r14d
call fcn.1401ed1fc
mov qword [r12], rax
mov rcx, rax
test rax, rax
je 0x14009b0ef
movsxd r8, dword [r12 + 8]
movsxd rdx, r15d
add rdx, qword [rbp - 0x10]
test r8, r8
je 0x14009aeee
test rdx, rdx
je 0x14009aed9
call fcn.140210d80
jmp 0x14009aeee
call fcn.140211420
call fcn.1401ebba4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401eac1c
xor r13d, r13d
jmp 0x14009af05
mov rax, qword [rbp - 0x10]
mov qword [r12], rax
mov dword [r12 + 8], r14d
mov dword [r12 + 0xc], r15d
mov dword [r12 + 0x2c], r13d
xor ecx, ecx
mov dword [rbp - 0x24], ecx
mov qword [rbx + 0x280], r12
mov qword [rbx + 0x278], r12
jmp 0x14009af4d
cmp r15d, r14d
jne 0x14009af40
mov eax, 1
mov dword [rbp - 0x24], eax
mov ecx, eax
test r13d, r13d
jne 0x14009af4d
mov rcx, r12
call fcn.1401ebcd0
mov ecx, dword [rbp - 0x24]
jmp 0x14009af4d
mov rcx, rbx
mov dword [rbp - 0x24], edi
call fcn.14009aa10
mov ecx, edi
test r15d, r15d
jle 0x14009af60
add dword [rbx + 0x74], r15d
sub dword [rbx + 0x70], r15d
jns 0x14009af60
and dword [rbx + 0x70], 0
mov edx, dword [rbp - 0x28]
mov r9, qword [rbp + 0x50]
jmp 0x14009b0a2
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14009fdfc
mov r15, rax
mov dword [rax + 8], r14d
add dword [rbx + 0x70], r14d
cmp r13d, 2
jne 0x14009affe
movsxd rcx, dword [rax + 8]
call fcn.1401ed1fc
mov qword [r15], rax
test rax, rax
je 0x14009b135
movsxd r13, dword [r15 + 8]
test r14, r14
je 0x14009aff9
test r12, r12
je 0x14009afc5
cmp r13, r14
jb 0x14009afc5
mov r8, r14
mov rdx, r12
mov rcx, rax
call fcn.140210d80
jmp 0x14009aff9
mov r8, r13
xor edx, edx
mov rcx, rax
call fcn.140211420
test r12, r12
jne 0x14009afe4
call fcn.1401ebba4
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x14009aff4
cmp r13, r14
jae 0x14009aff9
call fcn.1401ebba4
mov dword [rax], 0x22
call fcn.1401eac1c
xor r13d, r13d
jmp 0x14009b001
mov qword [rax], r12
mov dword [r15 + 0x2c], r13d
and dword [r15 + 0xc], 0
mov r9, qword [rbp + 0x50]
test r9, r9
je 0x14009b04d
cmp word [r9], 0x17
lea rcx, [r15 + 0x10]
mov r8d, reloc.WS2_32.dll_recv
lea eax, [r8 + 0xc]
cmove r8d, eax
test rcx, rcx
jne 0x14009b041
call fcn.1401ebba4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401eac1c
jmp 0x14009b049
mov rdx, r9
call fcn.140210d80
mov r9, qword [rbp + 0x50]
and qword [r15 + 0x30], 0
mov rax, qword [rbx + 0x280]
mov ecx, dword [rbp - 0x24]
mov edx, dword [rbp - 0x28]
test rax, rax
jne 0x14009b074
mov qword [rbx + 0x280], r15
mov qword [rbx + 0x278], r15
jmp 0x14009b0a2
mov qword [rax + 0x30], r15
mov qword [rbx + 0x280], r15
jmp 0x14009b0a2
mov eax, 1
mov dword [rbp - 0x28], eax
mov edx, eax
test r13d, r13d
jne 0x14009b09f
mov rcx, r12
call fcn.1401ebcd0
mov edx, dword [rbp - 0x28]
mov r9, qword [rbp + 0x50]
mov ecx, dword [rbp - 0x24]
mov eax, dword [rbp - 0x18]
mov r12d, 1
add eax, r12d
mov dword [rbp - 0x18], eax
cmp eax, dword [rbp + 0x58]
jb 0x14009adcb
mov r15d, dword [rbp - 0x20]
and qword [rbp - 0x18], 0
test r15d, r15d
jne 0x14009b0cf
mov dword [rbx + 0x288], r15d
test edx, edx
je 0x14009b0e5
mov rcx, rbx
mov edi, 0xfffffffb
call fcn.14009aa10
jmp 0x14009ad33
mov edi, ecx
cmp ecx, r12d
jmp 0x14009ad31
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibAsyncSocket.c
mov edi, 0x2eb
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400aa2f8
mov r8d, edi
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.14000105c
mov ecx, ebx
call fcn.1401e2ef8
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibAsyncSocket.c
mov edi, 0x2bc
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400aa2f8
mov r8d, edi
lea rdx, str.C:Users_anfdhDownloads_bvavMeshAgent_mastermicrostackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.14000105c
mov ecx, ebx
call fcn.1401e2ef8
int3