Function at 0x1400d01c0
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 0x1400d06b0
mov rax, qword [rax + 0x18]
mov edx, dword [rbx + 0x20]
test rax, rax
jne 0x1400d03d0
mov r8, qword [rbx + 0x28]
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x58], r8
cmp ecx, 1
je 0x1400d06c0
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 0x1400d02b0
mov r9d, dword [rbx + 0x40]
mov r10d, edx
add edx, r9d
cmp r10, rax
jae 0x1400d0480
mov r11d, edx
cmp rax, r11
jb 0x1400d0610
cmp ecx, 3
je 0x1400d02b0
mov r9d, dword [rbx + 0x50]
mov r10d, edx
add edx, r9d
cmp r10, rax
jae 0x1400d04a8
mov r11d, edx
cmp rax, r11
jb 0x1400d0638
cmp ecx, 4
je 0x1400d02b0
mov r9d, edx
mov ecx, dword [rbx + 0x60]
cmp r9, rax
jb 0x1400d05e0
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 0x1400d04d0
mov eax, dword [rsp + 0x4c]
mov r9, rax
add rax, qword [rbx + 0x18]
mov qword [rbx + 0x18], rax
cmp rax, qword [rbx + 0x10]
jne 0x1400d0450
mov eax, dword [rbx + 8]
test eax, eax
jle 0x1400d03a0
mov r11d, dword [rbx + 0x70]
test r11d, r11d
jne 0x1400d0660
cmp eax, 1
jle 0x1400d03a0
mov r10d, dword [rbx + 0x74]
test r10d, r10d
jne 0x1400d0680
cmp eax, 2
jle 0x1400d03a0
mov r9d, dword [rbx + 0x78]
test r9d, r9d
jne 0x1400d06e0
cmp eax, 3
jle 0x1400d03a0
mov r8d, dword [rbx + 0x7c]
test r8d, r8d
jne 0x1400d06f9
cmp eax, 4
jle 0x1400d03a0
mov ecx, dword [rbx + 0x80]
test ecx, ecx
jne 0x1400d0760
cmp eax, 5
jle 0x1400d03a0
mov edx, dword [rbx + 0x84]
test edx, edx
jne 0x1400d0779
cmp eax, 6
jle 0x1400d03a0
mov edi, 6
mov ebp, dword [rbx + rdi*4 + 0x70]
test ebp, ebp
jne 0x1400d07c4
add rdi, 1
cmp eax, edi
jg 0x1400d0387
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 0x1400d03f8
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 0x1400d02b0
mov r11d, dword [rbx + 0x30]
lea r8d, [r10 + 1]
add edx, r11d
cmp r9, rax
jae 0x1400d06d0
mov edi, edx
cmp rax, rdi
jae 0x1400d0235
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 0x1400d0235
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 0x1400d0259
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 0x1400d027d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
cmp eax, 0x2714
je 0x1400d0699
cmp eax, 0x2733
je 0x1400d02f0
cmp eax, 0x2734
je 0x1400d052a
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 0x1400d03be
mov esi, dword [rbx + 0x70]
test esi, esi
jne 0x1400d0792
cmp eax, 1
jle 0x1400d03be
mov r11d, dword [rbx + 0x74]
test r11d, r11d
jne 0x1400d07ab
cmp eax, 2
jle 0x1400d03be
mov r10d, dword [rbx + 0x78]
test r10d, r10d
jne 0x1400d07f2
cmp eax, 3
jle 0x1400d03be
mov r9d, dword [rbx + 0x7c]
test r9d, r9d
jne 0x1400d080b
cmp eax, 4
jle 0x1400d03be
mov r8d, dword [rbx + 0x80]
test r8d, r8d
jne 0x1400d0824
cmp eax, 5
jle 0x1400d03be
mov ecx, dword [rbx + 0x84]
test ecx, ecx
jne 0x1400d0712
cmp eax, 6
jle 0x1400d03be
mov esi, 6
mov edx, dword [rbx + rsi*4 + 0x70]
test edx, edx
jne 0x1400d072b
add rsi, 1
cmp eax, esi
jg 0x1400d05c0
jmp 0x1400d03be
add edx, ecx
mov edx, edx
cmp rax, rdx
jae 0x1400d02b0
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 0x1400d02a3
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 0x1400d0493
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 0x1400d04bb
mov rcx, qword [rbx + 0x28]
call sym.free
mov qword [rbx + 0x28], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0321
mov rcx, qword [rbx + 0x38]
call sym.free
mov qword [rbx + 0x38], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0333
cmp eax, 0x2733
jne 0x1400d052a
jmp 0x1400d02f0
xor r8d, r8d
jmp 0x1400d02b0
mov r8d, 1
jmp 0x1400d02b0
mov r10d, r8d
jmp 0x1400d021c
mov rcx, qword [rbx + 0x48]
call sym.free
mov qword [rbx + 0x48], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0345
mov rcx, qword [rbx + 0x58]
call sym.free
mov qword [rbx + 0x58], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0357
mov rcx, qword [rbx + 0x78]
call sym.free
mov qword [rbx + 0x78], 0
mov eax, dword [rbx + 8]
jmp 0x1400d05b2
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 0x1400d05c0
jmp 0x1400d03be
mov rcx, qword [rbx + 0x68]
call sym.free
mov qword [rbx + 0x68], 0
mov eax, dword [rbx + 8]
jmp 0x1400d036a
mov rcx, qword [rbx + 0x78]
call sym.free
mov qword [rbx + 0x78], 0
mov eax, dword [rbx + 8]
jmp 0x1400d037d
mov rcx, qword [rbx + 0x28]
call sym.free
mov qword [rbx + 0x28], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0540
mov rcx, qword [rbx + 0x38]
call sym.free
mov qword [rbx + 0x38], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0556
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 0x1400d0387
jmp 0x1400d03a0
mov rcx, qword [rbx + 0x48]
call sym.free
mov qword [rbx + 0x48], 0
mov eax, dword [rbx + 8]
jmp 0x1400d056c
mov rcx, qword [rbx + 0x58]
call sym.free
mov qword [rbx + 0x58], 0
mov eax, dword [rbx + 8]
jmp 0x1400d0582
mov rcx, qword [rbx + 0x68]
call sym.free
mov qword [rbx + 0x68], 0
mov eax, dword [rbx + 8]
jmp 0x1400d059b