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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rsi, rcx
mov dword [rsp + 0x4c], 0
call sym.SocketBuffer_getWrite
mov ecx, dword [rax + 8]
mov rbx, rax
test ecx, ecx
jle 0x1400d0b80
mov rax, qword [rax + 0x18]
mov edx, dword [rbx + 0x20]
test rax, rax
jne 0x1400d08a0
mov r8, qword [rbx + 0x28]
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x58], r8
cmp ecx, 1
je 0x1400d0b90
mov r11d, dword [rbx + 0x30]
mov r10d, 1
add edx, r11d
mov r9, qword [rbx + 0x38]
movsxd r8, r10d
shl r8, 4
mov dword [rsp + r8 + 0x50], r11d
mov qword [rsp + r8 + 0x58], r9
lea r8d, [r10 + 1]
cmp ecx, 2
jle 0x1400d0780
mov r9d, dword [rbx + 0x40]
mov r10d, edx
add edx, r9d
cmp r10, rax
jae 0x1400d0950
mov r11d, edx
cmp rax, r11
jb 0x1400d0ae0
cmp ecx, 3
je 0x1400d0780
mov r9d, dword [rbx + 0x50]
mov r10d, edx
add edx, r9d
cmp r10, rax
jae 0x1400d0978
mov r11d, edx
cmp rax, r11
jb 0x1400d0b08
cmp ecx, 4
je 0x1400d0780
mov r9d, edx
mov ecx, dword [rbx + 0x60]
cmp r9, rax
jb 0x1400d0ab0
movsxd rdx, r8d
mov rax, rdx
shl rax, 4
mov dword [rsp + rax + 0x50], ecx
mov rax, qword [rbx + 0x68]
shl rdx, 4
add r8d, 1
mov qword [rsp + rdx + 0x58], rax
mov dword [rsp + 0x4c], 0
lea rdx, [rsp + 0x50]
lea r9, [rsp + 0x4c]
mov rcx, rsi
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_WSASend]
mov edi, eax
cmp eax, 0xffffffff
je 0x1400d09a0
mov eax, dword [rsp + 0x4c]
mov r9, rax
add rax, qword [rbx + 0x18]
mov qword [rbx + 0x18], rax
cmp rax, qword [rbx + 0x10]
jne 0x1400d0920
mov eax, dword [rbx + 8]
test eax, eax
jle 0x1400d0870
mov r11d, dword [rbx + 0x70]
test r11d, r11d
jne 0x1400d0b30
cmp eax, 1
jle 0x1400d0870
mov r10d, dword [rbx + 0x74]
test r10d, r10d
jne 0x1400d0b50
cmp eax, 2
jle 0x1400d0870
mov r9d, dword [rbx + 0x78]
test r9d, r9d
jne 0x1400d0bb0
cmp eax, 3
jle 0x1400d0870
mov r8d, dword [rbx + 0x7c]
test r8d, r8d
jne 0x1400d0bc9
cmp eax, 4
jle 0x1400d0870
mov ecx, dword [rbx + 0x80]
test ecx, ecx
jne 0x1400d0c30
cmp eax, 5
jle 0x1400d0870
mov edx, dword [rbx + 0x84]
test edx, edx
jne 0x1400d0c49
cmp eax, 6
jle 0x1400d0870
mov edi, 6
mov ebp, dword [rbx + rdi*4 + 0x70]
test ebp, ebp
jne 0x1400d0c94
add rdi, 1
cmp eax, edi
jg 0x1400d0857
nop dword [rax + rax]
mov r9, rsi
mov edx, 0xffffffff
mov ecx, 3
mov edi, 1
lea r8, str.ContinueWrite:_partial_write_now_complete_for_socket__d
call sym.Log
mov eax, edi
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov r9d, edx
mov r10d, 0xffffffff
cmp rax, r9
jae 0x1400d08c8
mov r8d, edx
xor r10d, r10d
sub r8d, eax
mov dword [rsp + 0x50], r8d
mov r8, qword [rbx + 0x28]
add r8, rax
mov qword [rsp + 0x58], r8
lea r8d, [r10 + 1]
cmp ecx, 1
je 0x1400d0780
mov r11d, dword [rbx + 0x30]
lea r8d, [r10 + 1]
add edx, r11d
cmp r9, rax
jae 0x1400d0ba0
mov edi, edx
cmp rax, rdi
jae 0x1400d0705
mov rdi, rax
movsxd r8, r8d
sub rdi, r9
shl r8, 4
sub r11d, edi
add rdi, qword [rbx + 0x38]
mov dword [rsp + r8 + 0x50], r11d
mov qword [rsp + r8 + 0x58], rdi
lea r8d, [r10 + 2]
jmp 0x1400d0705
mov qword [rsp + 0x20], rsi
lea r8, str.ContinueWrite_wrote__lu_bytes_on_socket__d
mov edx, 0xffffffff
xor edi, edi
mov ecx, 3
call sym.Log
mov eax, edi
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
ret
movsxd r10, r8d
mov r11, r10
shl r11, 4
mov dword [rsp + r11 + 0x50], r9d
mov r9, qword [rbx + 0x48]
shl r10, 4
add r8d, 1
mov qword [rsp + r10 + 0x58], r9
jmp 0x1400d0729
movsxd r10, r8d
mov r11, r10
shl r11, 4
mov dword [rsp + r11 + 0x50], r9d
mov r9, qword [rbx + 0x58]
shl r10, 4
add r8d, 1
mov qword [rsp + r10 + 0x58], r9
jmp 0x1400d074d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
cmp eax, 0x2714
je 0x1400d0b69
cmp eax, 0x2733
je 0x1400d07c0
cmp eax, 0x2734
je 0x1400d09fa
mov ecx, eax
call sym.strerror
mov qword [rsp + 0x30], rsi
mov edx, 0xffffffff
lea r8, str.Socket_error__s__d__in__s_for_socket__d
mov r9, rax
lea rax, str.WSASend___putdatas
mov dword [rsp + 0x20], ebp
mov ecx, 3
mov qword [rsp + 0x28], rax
call sym.Log
mov eax, dword [rbx + 8]
test eax, eax
jle 0x1400d088e
mov esi, dword [rbx + 0x70]
test esi, esi
jne 0x1400d0c62
cmp eax, 1
jle 0x1400d088e
mov r11d, dword [rbx + 0x74]
test r11d, r11d
jne 0x1400d0c7b
cmp eax, 2
jle 0x1400d088e
mov r10d, dword [rbx + 0x78]
test r10d, r10d
jne 0x1400d0cc2
cmp eax, 3
jle 0x1400d088e
mov r9d, dword [rbx + 0x7c]
test r9d, r9d
jne 0x1400d0cdb
cmp eax, 4
jle 0x1400d088e
mov r8d, dword [rbx + 0x80]
test r8d, r8d
jne 0x1400d0cf4
cmp eax, 5
jle 0x1400d088e
mov ecx, dword [rbx + 0x84]
test ecx, ecx
jne 0x1400d0be2
cmp eax, 6
jle 0x1400d088e
mov esi, 6
mov edx, dword [rbx + rsi*4 + 0x70]
test edx, edx
jne 0x1400d0bfb
add rsi, 1
cmp eax, esi
jg 0x1400d0a90
jmp 0x1400d088e
add edx, ecx
mov edx, edx
cmp rax, rdx
jae 0x1400d0780
movsxd rdx, r8d
sub rax, r9
mov r9, rdx
sub ecx, eax
add rax, qword [rbx + 0x68]
shl r9, 4
mov dword [rsp + r9 + 0x50], ecx
jmp 0x1400d0773
mov r11, rax
sub r11, r10
movsxd r10, r8d
mov rdi, r10
sub r9d, r11d
add r11, qword [rbx + 0x48]
shl rdi, 4
mov dword [rsp + rdi + 0x50], r9d
mov r9, r11
jmp 0x1400d0963
mov r11, rax
sub r11, r10
movsxd r10, r8d
mov rdi, r10
sub r9d, r11d
add r11, qword [rbx + 0x58]
shl rdi, 4
mov dword [rsp + rdi + 0x50], r9d
mov r9, r11
jmp 0x1400d098b
mov rcx, qword [rbx + 0x28]
call sym.free
mov qword [rbx + 0x28], 0
mov eax, dword [rbx + 8]
jmp 0x1400d07f1
mov rcx, qword [rbx + 0x38]
call sym.free
mov qword [rbx + 0x38], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0803
cmp eax, 0x2733
jne 0x1400d09fa
jmp 0x1400d07c0
xor r8d, r8d
jmp 0x1400d0780
mov r8d, 1
jmp 0x1400d0780
mov r10d, r8d
jmp 0x1400d06ec
mov rcx, qword [rbx + 0x48]
call sym.free
mov qword [rbx + 0x48], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0815
mov rcx, qword [rbx + 0x58]
call sym.free
mov qword [rbx + 0x58], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0827
mov rcx, qword [rbx + 0x78]
call sym.free
mov qword [rbx + 0x78], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0a82
mov rbp, rsi
add rsi, 1
shl rbp, 4
mov rcx, qword [rbx + rbp + 0x28]
call sym.free
mov eax, dword [rbx + 8]
mov qword [rbx + rbp + 0x28], 0
cmp eax, esi
jg 0x1400d0a90
jmp 0x1400d088e
mov rcx, qword [rbx + 0x68]
call sym.free
mov qword [rbx + 0x68], 0
mov eax, dword [rbx + 8]
jmp 0x1400d083a
mov rcx, qword [rbx + 0x78]
call sym.free
mov qword [rbx + 0x78], 0
mov eax, dword [rbx + 8]
jmp 0x1400d084d
mov rcx, qword [rbx + 0x28]
call sym.free
mov qword [rbx + 0x28], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0a10
mov rcx, qword [rbx + 0x38]
call sym.free
mov qword [rbx + 0x38], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0a26
mov rbp, rdi
add rdi, 1
shl rbp, 4
mov rcx, qword [rbx + rbp + 0x28]
call sym.free
mov eax, dword [rbx + 8]
mov qword [rbx + rbp + 0x28], 0
cmp eax, edi
jg 0x1400d0857
jmp 0x1400d0870
mov rcx, qword [rbx + 0x48]
call sym.free
mov qword [rbx + 0x48], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0a3c
mov rcx, qword [rbx + 0x58]
call sym.free
mov qword [rbx + 0x58], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0a52
mov rcx, qword [rbx + 0x68]
call sym.free
mov qword [rbx + 0x68], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0a6b