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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c0908290
cmp dword [rsp + 0x98], 0
jge 0x7ff6c0912104
mov dword [rsp + 0x50], 0
jmp 0x7ff6c091212b
cmp dword [rsp + 0x98], 0x2710
jl 0x7ff6c091211b
mov dword [rsp + 0x4c], 0
jmp 0x7ff6c0912123
mov dword [rsp + 0x4c], 1
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x7ff6c091214f
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
lea rax, [0x7ff6c0dae230]
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x10], 0xffffffffffffffff
jne 0x7ff6c0912191
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
lea rax, [0x7ff6c0dae230]
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp dword [rax + 4], 0
jne 0x7ff6c09121d2
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
cmp dword [rsp + 0xa8], 0x2400
jl 0x7ff6c0912224
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x98]
lea r8, [0x7ff6c091b7a0]
xor edx, edx
lea rcx, [0x7ff6c0c82d30]
call fcn.7ff6c0909fb0
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
movsxd rax, dword [rsp + 0xa8]
mov r8, rax
mov rdx, qword [rsp + 0xa0]
lea rcx, [0x7ff6c0da9e00]
call sub.VCRUNTIME140.dll_memcpy_1
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa0]
movzx eax, byte [rcx + rax]
cmp eax, 0xc3
je 0x7ff6c091227f
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa0]
movzx eax, byte [rcx + rax]
cmp eax, 0xc4
jne 0x7ff6c0912460
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa0]
movzx eax, byte [rcx + rax]
cmp eax, 0xc3
jne 0x7ff6c091236c
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xa0]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x48], al
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xff
mov eax, dword [rsp + 0xa8]
dec eax
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa0]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 2
lea r8, [0x7ff6c0da9e00]
add r8, rdx
mov rdx, r8
mov r9d, eax
mov r8, rcx
lea rcx, [0x7ff6c0cbdb48]
call fcn.7ff6c090caa0
add eax, 2
mov dword [rsp + 0xa8], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xa0]
movzx edx, byte [rsp + 0x48]
mov byte [rcx + rax], dl
mov eax, 1
imul rax, rax, 0
lea rcx, [0x7ff6c0da9e00]
mov byte [rcx + rax], 0xc3
mov eax, 1
imul rax, rax, 1
lea rcx, [0x7ff6c0da9e00]
movzx edx, byte [rsp + 0xa8]
mov byte [rcx + rax], dl
jmp 0x7ff6c0912460
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xa0]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x49], al
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xff
mov eax, dword [rsp + 0xa8]
sub eax, 2
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xa0]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 3
lea r8, [0x7ff6c0da9e00]
add r8, rdx
mov rdx, r8
mov r9d, eax
mov r8, rcx
lea rcx, [0x7ff6c0cbdb48]
call fcn.7ff6c090caa0
add eax, 3
mov dword [rsp + 0xa8], eax
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0xa0]
movzx edx, byte [rsp + 0x49]
mov byte [rcx + rax], dl
mov eax, 1
imul rax, rax, 0
lea rcx, [0x7ff6c0da9e00]
mov byte [rcx + rax], 0xc4
movsxd rax, dword [rsp + 0xa8]
shr rax, 8
and rax, 0xff
mov ecx, 1
imul rcx, rcx, 1
lea rdx, [0x7ff6c0da9e00]
mov byte [rdx + rcx], al
movsxd rax, dword [rsp + 0xa8]
and rax, 0xff
mov ecx, 1
imul rcx, rcx, 2
lea rdx, [0x7ff6c0da9e00]
mov byte [rdx + rcx], al
cmp dword [rsp + 0xa8], 0x2400
jle 0x7ff6c09124c6
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x98]
lea r8, [0x7ff6c091b7e0]
xor edx, edx
lea rcx, [0x7ff6c0c82d30]
call fcn.7ff6c0909fb0
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call fcn.7ff6c0912740
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
lea rax, [0x7ff6c0dae230]
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
add rax, 0x2450
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x34], 0
jle 0x7ff6c09125e9
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x4243c]
add eax, dword [rsp + 0xa8]
cmp eax, 0x40000
jle 0x7ff6c091257f
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x4243c]
add eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x98]
lea r8, [0x7ff6c091b820]
xor edx, edx
lea rcx, [0x7ff6c0c82d30]
call fcn.7ff6c0909fb0
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call fcn.7ff6c0912740
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
movsxd rax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
movsxd rcx, dword [rcx + 0x4243c]
mov rdx, qword [rsp + 0x40]
lea rcx, [rdx + rcx + 0x243c]
mov r8, rax
lea rdx, [0x7ff6c0da9e00]
call sub.VCRUNTIME140.dll_memcpy_1
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x4243c]
add eax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x4243c], eax
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
mov al, 1
jmp 0x7ff6c0912734
movsxd rax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
add rcx, 0x38
mov r8, rax
lea rdx, [0x7ff6c0da9e00]
call sub.VCRUNTIME140.dll_memcpy_1
mov rax, qword [rsp + 0x40]
add rax, 0x38
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xa8]
mov dword [rax + 0x20], ecx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x30], 1
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xa8]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2438], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x54], 0
lea rax, [0x7ff6c0dae230]
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
add rcx, 0x20
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x58]
mov r8d, 1
mov rdx, rcx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x10]
call qword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x7ff6c091271c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x7ff6c091271c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r9d, eax
lea r8, [0x7ff6c091b860]
xor edx, edx
lea rcx, [0x7ff6c0c82d30]
call fcn.7ff6c0909fb0
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call fcn.7ff6c0912740
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
xor al, al
jmp 0x7ff6c0912734
mov rax, qword [rsp + 0x90]
add rax, 0xe0
mov rcx, rax
call fcn.7ff6c09082b0
mov al, 1
add rsp, 0x88
ret