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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x5b8
mov qword [rsp + 0x540], 0xfffffffffffffffe
mov rax, qword [0x1402aa5c0]
xor rax, rsp
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0x5d8]
add rax, 2
mov qword [rsp + 0x5d8], rax
mov eax, dword [rsp + 0x5e0]
sub eax, 2
mov dword [rsp + 0x5e0], eax
cmp dword [rsp + 0x5e0], 0
jg 0x1401c1131
xor eax, eax
jmp 0x1401c188d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401c1159
xor eax, eax
jmp 0x1401c188d
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x4b8], rax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rcx, rax
add rcx, 1
mov eax, dword [rsp + 0x5e0]
sub eax, ecx
mov dword [rsp + 0x5e0], eax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
add rax, 1
movsxd rcx, eax
mov rax, qword [rsp + 0x5d8]
add rax, rcx
mov qword [rsp + 0x5d8], rax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401c11dc
xor eax, eax
jmp 0x1401c188d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rcx, rax
add rcx, 1
mov eax, dword [rsp + 0x5e0]
sub eax, ecx
mov dword [rsp + 0x5e0], eax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
add rax, 1
movsxd rcx, eax
mov rax, qword [rsp + 0x5d8]
add rax, rcx
mov qword [rsp + 0x5d8], rax
mov rcx, qword [rsp + 0x5d0]
add rcx, 0x2a0
call fcn.14000e350
mov dword [rsp + 0x4a4], 0x200
mov dword [rsp + 0x4a0], 0
mov qword [rsp + 0x4a8], 0
mov dword [rsp + 0x4b0], 0
mov r8, qword [rsp + 0x4b8]
lea rdx, [rsp + 0x4a0]
lea rcx, [rsp + 0x4a8]
call fcn.1401c0870
test eax, eax
jne 0x1401c12b1
mov rcx, qword [rsp + 0x5d0]
add rcx, 0x2a0
mov rax, qword [rsp + 0x5d0]
mov rax, qword [rax + 0x2a0]
call qword [rax + 0x28]
xor eax, eax
jmp 0x1401c188d
cmp dword [rsp + 0x5e0], 0
jne 0x1401c1324
lea rdi, [rsp + 0x500]
lea rsi, [rsp + 0x4a0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x5d0]
add rcx, 0x2d8
lea r8, [rsp + 0x500]
mov rax, qword [rsp + 0x5e8]
mov edx, dword [rax + 4]
call fcn.1400244b0
mov rcx, qword [rsp + 0x5d0]
add rcx, 0x2a0
mov rax, qword [rsp + 0x5d0]
mov rax, qword [rax + 0x2a0]
call qword [rax + 0x28]
mov eax, 1
jmp 0x1401c188d
lea rcx, [rsp + 0x478]
call fcn.140077c20
nop
lea rcx, [rsp + 0x38]
call fcn.140077c20
nop
cmp dword [rsp + 0x5e0], 0
jle 0x1401c148f
mov rdx, qword [rsp + 0x5d8]
lea rcx, [rsp + 0x4c0]
call fcn.14000e700
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x550], rax
mov rcx, qword [rsp + 0x550]
call fcn.1400118c0
mov rdx, rax
lea rcx, [rsp + 0x478]
call fcn.14000e2e0
nop
lea rcx, [rsp + 0x4c0]
call fcn.140002ea0
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rcx, rax
add rcx, 1
mov eax, dword [rsp + 0x5e0]
sub eax, ecx
mov dword [rsp + 0x5e0], eax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rdx, rax
mov rax, qword [rsp + 0x5d8]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x5d8], rax
mov rdx, qword [rsp + 0x5d8]
lea rcx, [rsp + 0x4c8]
call fcn.14000e700
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x560], rax
mov rcx, qword [rsp + 0x560]
call fcn.1400118c0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14000e2e0
nop
lea rcx, [rsp + 0x4c8]
call fcn.140002ea0
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rcx, rax
add rcx, 1
mov eax, dword [rsp + 0x5e0]
sub eax, ecx
mov dword [rsp + 0x5e0], eax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a98c0
mov rdx, rax
mov rax, qword [rsp + 0x5d8]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x5d8], rax
jmp 0x1401c133d
lea rcx, [rsp + 0x470]
call fcn.140002de0
nop
lea rcx, [rsp + 0x68]
call fcn.140002de0
nop
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x64], 0
jmp 0x1401c14cd
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
movsxd rdi, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140012e60
cmp rdi, rax
jge 0x1401c16c0
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14001edf0
lea rdx, [0x140220180]
mov rcx, rax
call fcn.140006180
test eax, eax
jne 0x1401c1538
mov r8d, dword [rsp + 0x4a0]
lea rdx, str.tsize_d
lea rcx, [rsp + 0x68]
call fcn.140002c70
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x470]
call fcn.1400060a0
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14001edf0
lea rdx, [0x1402201a8]
mov rcx, rax
call fcn.140006180
test eax, eax
jne 0x1401c1682
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x38]
call fcn.14001edf0
mov rcx, rax
call fcn.14000f8f0
mov rcx, rax
call fcn.1400a99f8
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x4a4], eax
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14001edf0
lea r8, [0x14021faec]
mov rdx, rax
lea rcx, [rsp + 0x4d0]
call fcn.1400010b0
mov qword [rsp + 0x568], rax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x570], rax
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x38]
call fcn.14001edf0
mov r8, rax
mov rdx, qword [rsp + 0x570]
lea rcx, [rsp + 0x4d8]
call fcn.140006bd0
mov qword [rsp + 0x578], rax
mov rax, qword [rsp + 0x578]
mov qword [rsp + 0x580], rax
lea r8, [0x14021fa64]
mov rdx, qword [rsp + 0x580]
lea rcx, [rsp + 0x4e0]
call fcn.1400010b0
mov qword [rsp + 0x588], rax
mov rax, qword [rsp + 0x588]
mov qword [rsp + 0x590], rax
mov rdx, qword [rsp + 0x590]
lea rcx, [rsp + 0x470]
call fcn.1400060a0
nop
lea rcx, [rsp + 0x4e0]
call fcn.140001490
nop
lea rcx, [rsp + 0x4d8]
call fcn.140001490
nop
lea rcx, [rsp + 0x4d0]
call fcn.140001490
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14001edf0
lea rdx, [0x1402201b8]
mov rcx, rax
call fcn.140006180
test eax, eax
jne 0x1401c16bb
lea rdx, str.timeout255
lea rcx, [rsp + 0x470]
call fcn.1400060d0
jmp 0x1401c14c2
xor r8d, r8d
lea rdx, [0x1402201e8]
lea rcx, [rsp + 0x470]
call fcn.140006780
cmp eax, 0xffffffff
jne 0x1401c16f0
lea rdx, str.blksize1468
lea rcx, [rsp + 0x470]
call fcn.1400060d0
lea rdi, [rsp + 0x520]
lea rsi, [rsp + 0x4a0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x5d0]
add rcx, 0x2d8
lea r8, [rsp + 0x520]
mov rax, qword [rsp + 0x5e8]
mov edx, dword [rax + 4]
call fcn.1400244b0
mov rcx, qword [rsp + 0x5d0]
add rcx, 0x2a0
mov rax, qword [rsp + 0x5d0]
mov rax, qword [rax + 0x2a0]
call qword [rax + 0x28]
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x71], 6
lea rcx, [rsp + 0x470]
call fcn.14000f8f0
mov rdx, rax
lea rcx, [rsp + 0x4e8]
call fcn.140002e10
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x5a0], rax
mov rcx, qword [rsp + 0x5a0]
call fcn.140002ec0
lea rcx, [rsp + 0x72]
mov rdx, rax
call fcn.1400ab970
nop
lea rcx, [rsp + 0x4e8]
call fcn.140002ea0
mov dword [rsp + 0x64], 0
jmp 0x1401c17cb
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
lea rcx, [rsp + 0x470]
call fcn.140001a40
cmp dword [rsp + 0x64], eax
jge 0x1401c180b
cmp dword [rsp + 0x64], 0x3e8
jge 0x1401c180b
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
movsx eax, byte [rsp + rax + 0x70]
cmp eax, 0x23
jne 0x1401c1809
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
mov byte [rsp + rax + 0x70], 0
jmp 0x1401c17c0
lea rcx, [rsp + 0x470]
call fcn.140001a40
mov r8d, eax
add r8d, 2
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rax, qword [rsp + 0x5e8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x5f0]
call qword [sym.imp.WSOCK32.dll_sendto]
mov dword [rsp + 0x4f0], 2
lea rcx, [rsp + 0x68]
call fcn.140001490
nop
lea rcx, [rsp + 0x470]
call fcn.140001490
nop
lea rcx, [rsp + 0x38]
call fcn.140077ee4
nop
lea rcx, [rsp + 0x478]
call fcn.140077ee4
mov eax, dword [rsp + 0x4f0]
mov rcx, qword [rsp + 0x5a8]
xor rcx, rsp
call fcn.1400a8790
add rsp, 0x5b8
pop rdi
pop rsi
ret