Function at 0x14009aa04
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 0x14009aa4a
xor dword [rbp + 0x58], eax
mov r15d, r12d
jmp 0x14009aa4d
xor r15d, r15d
mov dword [rbp - 0x20], r15d
test rbx, rbx
je 0x14009ad20
xor edx, edx
lea rsi, [rbp + 0x60]
mov dword [rbp - 0x28], edx
mov qword [rbp - 0x18], rsi
cmp qword [rbx + 0x2a8], rdx
je 0x14009acc9
test r15d, r15d
jne 0x14009aa8e
xor eax, eax
lock cmpxchg dword [rbx + 0x288], r12d
jne 0x14009aa8a
pause
jmp 0x14009aa79
mov rsi, qword [rbp - 0x18]
xor edi, edi
cmp dword [rbp + 0x58], edx
jbe 0x14009aaf5
lea rax, [rsi + 8]
cmp qword [rax], 0x7fffffff
lea rsi, [rax + 0x10]
mov r15d, dword [rsi - 8]
mov r14, qword [rax - 8]
ja 0x14009aad6
test edx, edx
jne 0x14009aad6
mov r8d, dword [rax]
mov rdx, r14
mov rcx, qword [rbx + 0x2a8]
call fcn.1401a1970
test r15d, r15d
jne 0x14009aad1
mov rcx, r14
call fcn.1401e8ee0
mov edx, dword [rbp - 0x28]
jmp 0x14009aae9
test r15d, r15d
jne 0x14009aae3
mov rcx, r14
call fcn.1401e8ee0
mov edx, r12d
mov dword [rbp - 0x28], edx
add edi, r12d
cmp edi, dword [rbp + 0x58]
jb 0x14009aa95
mov r15d, dword [rbp - 0x20]
and qword [rbp - 0x18], 0
test edx, edx
jne 0x14009ac91
lea rdi, [rbx + 0x280]
cmp qword [rdi], 0
lea rsi, [rbx + 0x2d0]
mov rax, qword [rsi]
jne 0x14009ac88
cmp qword [rax], 0
jbe 0x14009ac81
mov rcx, qword [rbx + 0x2c0]
mov edx, reloc.WS2_32.dll_ntohs
call fcn.1400e2e50
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 0x14009ab69
mov rcx, qword [rsi]
cmp r14d, dword [rcx]
jge 0x14009ac53
mov ecx, dword [rcx]
sub ecx, r14d
jmp 0x14009ab89
jns 0x14009ac53
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14009ac53
lea rdi, [rbx + 0x280]
xor ecx, ecx
xor r9d, r9d
movsxd rdx, ecx
xor r8d, r8d
lea ecx, [r9 + 0x38]
call fcn.14009fd78
and dword [rax + 0xc], 0
mov dword [rax + 0x2c], 3
mov qword [rdi], rax
mov qword [rbx + 0x278], rax
test r14d, r14d
jle 0x14009ac4f
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 0x14009ac29
test rcx, rcx
je 0x14009ac19
test rdx, rdx
je 0x14009ac14
call fcn.14020df90
jmp 0x14009ac29
call fcn.14020e630
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401e7e2c
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.1400e2e80
xor edi, edi
jmp 0x14009ac9e
mov rcx, qword [rsi]
cmp r14, qword [rcx]
jne 0x14009ac81
mov rcx, qword [rbx + 0x2c0]
xor r9d, r9d
xor r8d, r8d
mov edx, r12d
mov edi, r12d
call fcn.1400e2e80
mov rax, qword [rsi]
add dword [rbx + 0x74], r14d
mov ecx, dword [rax]
mov dword [rbx + 0x70], ecx
jmp 0x14009ac9e
mov edi, 0xfffffffc
jmp 0x14009ac96
mov eax, dword [rax]
xor edi, edi
mov dword [rbx + 0x70], eax
jmp 0x14009ac9e
mov edi, 0xfffffffb
mov rcx, rbx
call fcn.14009a98c
test r15d, r15d
jne 0x14009acaa
mov dword [rbx + 0x288], r15d
cmp edi, r12d
je 0x14009acc5
mov rcx, qword [rbx + 0x20]
call fcn.1400aa51c
test eax, eax
jne 0x14009acc5
mov rcx, qword [rbx + 0x20]
call fcn.1400a08e8
mov eax, edi
jmp 0x14009ad25
test r15d, r15d
jne 0x14009ace3
xor eax, eax
lock cmpxchg dword [rbx + 0x288], r12d
jne 0x14009acdf
pause
jmp 0x14009acce
mov rsi, qword [rbp - 0x18]
cmp qword [rbx + 0x68], 0xffffffffffffffff
jne 0x14009ad36
xor edi, edi
cmp dword [rbp + 0x58], edx
jbe 0x14009ad14
lea rcx, [rsi + 8]
lea rsi, [rcx + 0x10]
cmp dword [rsi - 8], 0
jne 0x14009ad08
mov rcx, qword [rcx - 8]
call fcn.1401e8ee0
add edi, r12d
cmp edi, dword [rbp + 0x58]
jb 0x14009acf1
mov qword [rbp - 0x18], rsi
test r15d, r15d
jne 0x14009ad20
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 0x14009b03a
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 0x14009affd
test edx, edx
jne 0x14009affd
cmp qword [rbx + 0x280], 0
jne 0x14009aee8
cmp dword [rbx + 0x258], edx
je 0x14009aee8
test r9, r9
je 0x14009adc5
lea eax, [rcx - 0x1b]
cmp word [r9], ax
je 0x14009adc5
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 0x14009add8
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 0x14009ade6
cmp eax, r14d
jl 0x14009ae00
test eax, eax
jns 0x14009ae9b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14009ae9b
xor r15d, r15d
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14009fd78
mov r12, rax
cmp r13d, 2
jne 0x14009ae6f
sub r14d, r15d
movsxd rcx, r14d
mov dword [rax + 8], r14d
call fcn.1401ea40c
mov qword [r12], rax
mov rcx, rax
test rax, rax
je 0x14009b06b
movsxd r8, dword [r12 + 8]
movsxd rdx, r15d
add rdx, qword [rbp - 0x10]
test r8, r8
je 0x14009ae6a
test rdx, rdx
je 0x14009ae55
call fcn.14020df90
jmp 0x14009ae6a
call fcn.14020e630
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401e7e2c
xor r13d, r13d
jmp 0x14009ae81
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 0x14009aec9
cmp r15d, r14d
jne 0x14009aebc
mov eax, 1
mov dword [rbp - 0x24], eax
mov ecx, eax
test r13d, r13d
jne 0x14009aec9
mov rcx, r12
call fcn.1401e8ee0
mov ecx, dword [rbp - 0x24]
jmp 0x14009aec9
mov rcx, rbx
mov dword [rbp - 0x24], edi
call fcn.14009a98c
mov ecx, edi
test r15d, r15d
jle 0x14009aedc
add dword [rbx + 0x74], r15d
sub dword [rbx + 0x70], r15d
jns 0x14009aedc
and dword [rbx + 0x70], 0
mov edx, dword [rbp - 0x28]
mov r9, qword [rbp + 0x50]
jmp 0x14009b01e
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14009fd78
mov r15, rax
mov dword [rax + 8], r14d
add dword [rbx + 0x70], r14d
cmp r13d, 2
jne 0x14009af7a
movsxd rcx, dword [rax + 8]
call fcn.1401ea40c
mov qword [r15], rax
test rax, rax
je 0x14009b0b1
movsxd r13, dword [r15 + 8]
test r14, r14
je 0x14009af75
test r12, r12
je 0x14009af41
cmp r13, r14
jb 0x14009af41
mov r8, r14
mov rdx, r12
mov rcx, rax
call fcn.14020df90
jmp 0x14009af75
mov r8, r13
xor edx, edx
mov rcx, rax
call fcn.14020e630
test r12, r12
jne 0x14009af60
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x14009af70
cmp r13, r14
jae 0x14009af75
call fcn.1401e8db4
mov dword [rax], 0x22
call fcn.1401e7e2c
xor r13d, r13d
jmp 0x14009af7d
mov qword [rax], r12
mov dword [r15 + 0x2c], r13d
and dword [r15 + 0xc], 0
mov r9, qword [rbp + 0x50]
test r9, r9
je 0x14009afc9
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 0x14009afbd
call fcn.1401e8db4
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401e7e2c
jmp 0x14009afc5
mov rdx, r9
call fcn.14020df90
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 0x14009aff0
mov qword [rbx + 0x280], r15
mov qword [rbx + 0x278], r15
jmp 0x14009b01e
mov qword [rax + 0x30], r15
mov qword [rbx + 0x280], r15
jmp 0x14009b01e
mov eax, 1
mov dword [rbp - 0x28], eax
mov edx, eax
test r13d, r13d
jne 0x14009b01b
mov rcx, r12
call fcn.1401e8ee0
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 0x14009ad47
mov r15d, dword [rbp - 0x20]
and qword [rbp - 0x18], 0
test r15d, r15d
jne 0x14009b04b
mov dword [rbx + 0x288], r15d
test edx, edx
je 0x14009b061
mov rcx, rbx
mov edi, 0xfffffffb
call fcn.14009a98c
jmp 0x14009acaf
mov edi, ecx
cmp ecx, r12d
jmp 0x14009acad
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibAsyncSocket.c
mov edi, 0x2eb
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400aa25c
mov r8d, edi
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.14000105c
mov ecx, ebx
call fcn.1401e0110
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibAsyncSocket.c
mov edi, 0x2bc
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400aa25c
mov r8d, edi
lea rdx, str.C:Users_anfdhDownloadsMeshAgent_masterMeshAgent_mastermicrostackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.14000105c
mov ecx, ebx
call fcn.1401e0110
int3