Function at 0x14009a2a4
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 eax, 0x40000000
mov r12d, 1
mov rbx, rcx
mov r14d, r12d
test eax, r8d
je 0x14009a2e4
xor dword [rbp + 0x58], eax
mov r15d, r12d
jmp 0x14009a2e7
xor r15d, r15d
mov dword [rbp - 0x24], r15d
test rbx, rbx
jne 0x14009a2fa
mov eax, 0xfffffffc
jmp 0x14009a857
xor ecx, ecx
lea rdi, [rbp + 0x60]
mov dword [rbp - 0x28], ecx
mov qword [rbp - 0x20], rdi
cmp qword [rbx + 0x2a8], rcx
je 0x14009a53e
test r15d, r15d
jne 0x14009a32e
xor eax, eax
lock cmpxchg dword [rbx + 0x288], r12d
jne 0x14009a32a
pause
jmp 0x14009a319
mov rdi, qword [rbp - 0x20]
xor esi, esi
cmp dword [rbp + 0x58], ecx
jbe 0x14009a397
add rdi, 0xfffffffffffffff8
mov rax, qword [rdi + 0x10]
mov r14, qword [rdi + 8]
lea rdi, [rdi + 0x18]
mov r15d, dword [rdi]
cmp rax, 0x7fffffff
ja 0x14009a378
test ecx, ecx
jne 0x14009a378
mov rcx, qword [rbx + 0x2a8]
mov r8d, eax
mov rdx, r14
call fcn.1401a0a40
test r15d, r15d
jne 0x14009a373
mov rcx, r14
call fcn.1401e18f8
mov ecx, dword [rbp - 0x28]
jmp 0x14009a38b
test r15d, r15d
jne 0x14009a385
mov rcx, r14
call fcn.1401e18f8
mov ecx, r12d
mov dword [rbp - 0x28], ecx
add esi, r12d
cmp esi, dword [rbp + 0x58]
jb 0x14009a339
mov r15d, dword [rbp - 0x24]
and qword [rbp - 0x20], 0
test ecx, ecx
jne 0x14009a503
cmp qword [rbx + 0x280], 0
mov rax, qword [rbx + 0x2d0]
jne 0x14009a4fa
cmp qword [rax], 0
jbe 0x14009a4f3
lea edx, [rcx + 0xf]
mov rcx, qword [rbx + 0x2c0]
call fcn.1400e1ec0
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 0x14009a401
mov rcx, qword [rbx + 0x2d0]
cmp esi, dword [rcx]
jl 0x14009a418
test eax, eax
jns 0x14009a4c3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14009a4c3
test esi, esi
jns 0x14009a420
xor eax, eax
jmp 0x14009a42b
mov rax, qword [rbx + 0x2d0]
mov eax, dword [rax]
sub eax, esi
xor r9d, r9d
movsxd rdx, eax
xor r8d, r8d
lea ecx, [r9 + 0x38]
call fcn.14009f32c
and dword [rax + 0xc], 0
mov dword [rax + 0x2c], 3
mov qword [rbx + 0x280], rax
mov qword [rbx + 0x278], rax
test esi, esi
jle 0x14009a4bf
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, r12d
mov ecx, dword [rax + 8]
mov dword [rbx + 0x70], ecx
mov rcx, qword [rbx + 0x2c0]
call fcn.1400e1ef0
xor edi, edi
jmp 0x14009a510
mov rax, qword [rbx + 0x2d0]
cmp rsi, qword [rax]
jne 0x14009a4f3
mov rcx, qword [rbx + 0x2c0]
xor r9d, r9d
xor r8d, r8d
mov edx, r12d
mov edi, r12d
call fcn.1400e1ef0
add dword [rbx + 0x74], esi
mov rax, qword [rbx + 0x2d0]
jmp 0x14009a4fc
mov edi, 0xfffffffc
jmp 0x14009a508
xor edi, edi
mov ecx, dword [rax]
mov dword [rbx + 0x70], ecx
jmp 0x14009a510
mov edi, 0xfffffffb
mov rcx, rbx
call fcn.14009a22c
test r15d, r15d
jne 0x14009a51c
mov dword [rbx + 0x288], r15d
cmp edi, r12d
je 0x14009a537
mov rcx, qword [rbx + 0x20]
call fcn.1400a8e04
test eax, eax
jne 0x14009a537
mov rcx, qword [rbx + 0x20]
call fcn.14009fea4
mov eax, edi
jmp 0x14009a857
test r15d, r15d
jne 0x14009a558
xor eax, eax
lock cmpxchg dword [rbx + 0x288], r12d
jne 0x14009a554
pause
jmp 0x14009a543
mov rdi, qword [rbp - 0x20]
cmp qword [rbx + 0x68], 0xffffffffffffffff
jne 0x14009a599
xor esi, esi
cmp dword [rbp + 0x58], ecx
jbe 0x14009a584
mov rcx, qword [rdi]
add rdi, 0x18
cmp dword [rdi - 8], 0
jne 0x14009a578
call fcn.1401e18f8
add esi, r12d
cmp esi, dword [rbp + 0x58]
jb 0x14009a566
mov qword [rbp - 0x20], rdi
test r15d, r15d
jne 0x14009a2f0
mov dword [rbx + 0x288], r15d
jmp 0x14009a2f0
and dword [rbp - 0x20], ecx
cmp dword [rbp + 0x58], ecx
jbe 0x14009a816
lea rax, [rdi - 8]
mov edi, 0xfffffffc
lea r8d, [rdi + 0x20]
mov r15, qword [rax + 0x10]
mov r12, qword [rax + 8]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov r13d, dword [rax]
cmp r15, 0x7fffffff
ja 0x14009a7d1
test ecx, ecx
jne 0x14009a7d1
cmp qword [rbx + 0x280], 0
jne 0x14009a714
cmp dword [rbx + 0x258], ecx
je 0x14009a714
lea r14d, [rcx + 1]
test rdx, rdx
je 0x14009a62c
cmp word [rdx], r14w
je 0x14009a62c
cmp word [rdx], 0x17
lea eax, [rcx + 0x10]
mov rcx, qword [rbx + 0x68]
cmove eax, r8d
xor r9d, r9d
mov dword [rsp + 0x28], eax
mov r8d, r15d
mov qword [rsp + 0x20], rdx
mov rdx, r12
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x14009a63f
mov rcx, qword [rbx + 0x68]
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
call qword [sym.imp.WS2_32.dll_send]
mov esi, eax
test eax, eax
jle 0x14009a64c
cmp eax, r15d
jl 0x14009a65f
test eax, eax
jns 0x14009a6d8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14009a6d8
xor eax, eax
test esi, esi
cmovns eax, esi
xor edx, edx
xor r9d, r9d
movsxd rsi, eax
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14009f32c
mov r14, rax
cmp r13d, 2
jne 0x14009a6b7
sub r15d, esi
movsxd rcx, r15d
mov dword [rax + 8], r15d
call fcn.1401e2d40
mov qword [r14], rax
test rax, rax
je 0x14009a868
movsxd rdx, dword [r14 + 8]
lea r8, [r12 + rsi]
mov r9, rdx
mov rcx, rax
call section..text
and dword [r14 + 0x2c], 0
jmp 0x14009a6c5
mov qword [rax], r12
mov dword [rax + 8], r15d
mov dword [rax + 0xc], esi
mov dword [rax + 0x2c], r13d
mov qword [rbx + 0x280], r14
mov qword [rbx + 0x278], r14
xor r14d, r14d
jmp 0x14009a6f7
cmp esi, r15d
jne 0x14009a6ec
test r13d, r13d
jne 0x14009a6f7
mov rcx, r12
call fcn.1401e18f8
jmp 0x14009a6f7
mov rcx, rbx
mov r14d, edi
call fcn.14009a22c
test esi, esi
jle 0x14009a7e6
add dword [rbx + 0x74], esi
sub dword [rbx + 0x70], esi
jns 0x14009a7e6
and dword [rbx + 0x70], 0
jmp 0x14009a7e6
xor edx, edx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x38]
call fcn.14009f32c
mov rsi, rax
mov dword [rax + 8], r15d
add dword [rbx + 0x70], r15d
cmp r13d, 2
jne 0x14009a762
movsxd rcx, dword [rax + 8]
call fcn.1401e2d40
mov qword [rsi], rax
test rax, rax
je 0x14009a8ae
movsxd rdx, dword [rsi + 8]
mov r9, r15
mov r8, r12
mov rcx, rax
call section..text
and dword [rsi + 0x2c], 0
jmp 0x14009a769
mov qword [rax], r12
mov dword [rax + 0x2c], r13d
and dword [rsi + 0xc], 0
mov rdx, qword [rbp + 0x50]
test rdx, rdx
je 0x14009a79a
cmp word [rdx], 0x17
lea rcx, [rsi + 0x10]
mov r9d, reloc.WS2_32.dll_recv
mov r8, rdx
lea eax, [r9 + 0xc]
cmove r9d, eax
mov edx, eax
call section..text
mov rdx, qword [rbp + 0x50]
and qword [rsi + 0x30], 0
mov r8d, 0x1c
mov rax, qword [rbx + 0x280]
mov ecx, dword [rbp - 0x28]
test rax, rax
jne 0x14009a7c4
mov qword [rbx + 0x280], rsi
mov qword [rbx + 0x278], rsi
jmp 0x14009a7f3
mov qword [rax + 0x30], rsi
mov qword [rbx + 0x280], rsi
jmp 0x14009a7f3
mov ecx, 1
mov dword [rbp - 0x28], ecx
test r13d, r13d
jne 0x14009a7f7
mov rcx, r12
call fcn.1401e18f8
mov ecx, dword [rbp - 0x28]
mov r8d, 0x1c
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x18]
mov r15d, dword [rbp - 0x20]
mov r12d, 1
add r15d, r12d
mov dword [rbp - 0x20], r15d
cmp r15d, dword [rbp + 0x58]
jb 0x14009a5b2
mov r15d, dword [rbp - 0x24]
and qword [rbp - 0x20], 0
test r15d, r15d
jne 0x14009a827
mov dword [rbx + 0x288], r15d
test ecx, ecx
je 0x14009a839
mov rcx, rbx
mov r14d, 0xfffffffb
call fcn.14009a22c
cmp r14d, r12d
je 0x14009a854
mov rcx, qword [rbx + 0x20]
call fcn.1400a8e04
test eax, eax
jne 0x14009a854
mov rcx, qword [rbx + 0x20]
call fcn.14009fea4
mov eax, r14d
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str...microstackILibAsyncSocket.c
mov edi, 0x2eb
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400a8b44
mov r8d, edi
lea rdx, str...microstackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.1400010e4
mov ecx, ebx
call fcn.1401db608
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xfe
lea rdx, str...microstackILibAsyncSocket.c
mov edi, 0x2bc
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8d, edi
xor ecx, ecx
call fcn.1400a8b44
mov r8d, edi
lea rdx, str...microstackILibAsyncSocket.c
lea rcx, str.CRITICALEXIT__FILE:__s__LINE:__d_r_n
call fcn.1400010e4
mov ecx, ebx
call fcn.1401db608
int3