Function at 0x1401cd8a0
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 [0x1402bd5c0]
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 0x1401cd911
xor eax, eax
jmp 0x1401ce06d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400aa950
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401cd939
xor eax, eax
jmp 0x1401ce06d
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x4b8], rax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400aa950
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.1400aa950
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.1400aa950
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401cd9bc
xor eax, eax
jmp 0x1401ce06d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400aa950
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.1400aa950
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.14000f140
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.1401cd050
test eax, eax
jne 0x1401cda91
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 0x1401ce06d
cmp dword [rsp + 0x5e0], 0
jne 0x1401cdb04
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.140025ea0
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 0x1401ce06d
lea rcx, [rsp + 0x478]
call fcn.140078c60
nop
lea rcx, [rsp + 0x38]
call fcn.140078c60
nop
cmp dword [rsp + 0x5e0], 0
jle 0x1401cdc6f
mov rdx, qword [rsp + 0x5d8]
lea rcx, [rsp + 0x4c0]
call fcn.14000f540
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x550], rax
mov rcx, qword [rsp + 0x550]
call fcn.14000f5d0
mov rdx, rax
lea rcx, [rsp + 0x478]
call fcn.14000f0d0
nop
lea rcx, [rsp + 0x4c0]
call fcn.140002dd0
mov rcx, qword [rsp + 0x5d8]
call fcn.1400aa950
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.1400aa950
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.14000f540
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x560], rax
mov rcx, qword [rsp + 0x560]
call fcn.14000f5d0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14000f0d0
nop
lea rcx, [rsp + 0x4c8]
call fcn.140002dd0
mov rcx, qword [rsp + 0x5d8]
call fcn.1400aa950
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.1400aa950
mov rdx, rax
mov rax, qword [rsp + 0x5d8]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x5d8], rax
jmp 0x1401cdb1d
lea rcx, [rsp + 0x470]
call fcn.140002d10
nop
lea rcx, [rsp + 0x68]
call fcn.140002d10
nop
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x64], 0
jmp 0x1401cdcad
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
movsxd rdi, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.1400202c0
cmp rdi, rax
jge 0x1401cdea0
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140050190
lea rdx, [0x1402304c0]
mov rcx, rax
call fcn.140006130
test eax, eax
jne 0x1401cdd18
mov r8d, dword [rsp + 0x4a0]
lea rdx, str.tsize_d
lea rcx, [rsp + 0x68]
call fcn.140002ba0
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x470]
call fcn.140006050
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140050190
lea rdx, [0x1402304e8]
mov rcx, rax
call fcn.140006130
test eax, eax
jne 0x1401cde62
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x38]
call fcn.140050190
mov rcx, rax
call fcn.140050200
mov rcx, rax
call fcn.1400aac5c
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.140050190
lea r8, [0x14022fe2c]
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.140050190
mov r8, rax
mov rdx, qword [rsp + 0x570]
lea rcx, [rsp + 0x4d8]
call fcn.140006c50
mov qword [rsp + 0x578], rax
mov rax, qword [rsp + 0x578]
mov qword [rsp + 0x580], rax
lea r8, [0x14022fda4]
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.140006050
nop
lea rcx, [rsp + 0x4e0]
call fcn.140007060
nop
lea rcx, [rsp + 0x4d8]
call fcn.140007060
nop
lea rcx, [rsp + 0x4d0]
call fcn.140007060
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140050190
lea rdx, [0x1402304f8]
mov rcx, rax
call fcn.140006130
test eax, eax
jne 0x1401cde9b
lea rdx, str.timeout255
lea rcx, [rsp + 0x470]
call fcn.140006080
jmp 0x1401cdca2
xor r8d, r8d
lea rdx, [0x140230528]
lea rcx, [rsp + 0x470]
call fcn.140006800
cmp eax, 0xffffffff
jne 0x1401cded0
lea rdx, str.blksize512
lea rcx, [rsp + 0x470]
call fcn.140006080
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.140025ea0
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.140050200
mov rdx, rax
lea rcx, [rsp + 0x4e8]
call fcn.140002d40
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x5a0], rax
mov rcx, qword [rsp + 0x5a0]
call fcn.140002df0
lea rcx, [rsp + 0x72]
mov rdx, rax
call fcn.1400acae0
nop
lea rcx, [rsp + 0x4e8]
call fcn.140002dd0
mov dword [rsp + 0x64], 0
jmp 0x1401cdfab
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
lea rcx, [rsp + 0x470]
call fcn.1400019a0
cmp dword [rsp + 0x64], eax
jge 0x1401cdfeb
cmp dword [rsp + 0x64], 0x3e8
jge 0x1401cdfeb
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
movsx eax, byte [rsp + rax + 0x70]
cmp eax, 0x23
jne 0x1401cdfe9
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
mov byte [rsp + rax + 0x70], 0
jmp 0x1401cdfa0
lea rcx, [rsp + 0x470]
call fcn.1400019a0
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.WS2_32.dll_sendto]
mov dword [rsp + 0x4f0], 2
lea rcx, [rsp + 0x68]
call fcn.140007060
nop
lea rcx, [rsp + 0x470]
call fcn.140007060
nop
lea rcx, [rsp + 0x38]
call fcn.140078f24
nop
lea rcx, [rsp + 0x478]
call fcn.140078f24
mov eax, dword [rsp + 0x4f0]
mov rcx, qword [rsp + 0x5a8]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x5b8
pop rdi
pop rsi
ret