Function at 0x1401b93d0
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 [0x1402a15c0]
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 0x1401b9441
xor eax, eax
jmp 0x1401b9b9d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9180
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401b9469
xor eax, eax
jmp 0x1401b9b9d
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x4b8], rax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9180
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.1400a9180
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.1400a9180
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401b94ec
xor eax, eax
jmp 0x1401b9b9d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9180
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.1400a9180
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.140010210
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.1401b8b80
test eax, eax
jne 0x1401b95c1
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 0x1401b9b9d
cmp dword [rsp + 0x5e0], 0
jne 0x1401b9634
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.140026c80
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 0x1401b9b9d
lea rcx, [rsp + 0x478]
call fcn.140077478
nop
lea rcx, [rsp + 0x38]
call fcn.140077478
nop
cmp dword [rsp + 0x5e0], 0
jle 0x1401b979f
mov rdx, qword [rsp + 0x5d8]
lea rcx, [rsp + 0x4c0]
call fcn.140010530
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x550], rax
mov rcx, qword [rsp + 0x550]
call fcn.1400105c0
mov rdx, rax
lea rcx, [rsp + 0x478]
call fcn.1400101a0
nop
lea rcx, [rsp + 0x4c0]
call fcn.140002e70
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9180
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.1400a9180
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.140010530
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x560], rax
mov rcx, qword [rsp + 0x560]
call fcn.1400105c0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400101a0
nop
lea rcx, [rsp + 0x4c8]
call fcn.140002e70
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9180
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.1400a9180
mov rdx, rax
mov rax, qword [rsp + 0x5d8]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x5d8], rax
jmp 0x1401b964d
lea rcx, [rsp + 0x470]
call fcn.140002db0
nop
lea rcx, [rsp + 0x68]
call fcn.140002db0
nop
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x64], 0
jmp 0x1401b97dd
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
movsxd rdi, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140014cc0
cmp rdi, rax
jge 0x1401b99d0
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14004ff30
lea rdx, [0x1402192d0]
mov rcx, rax
call fcn.1400060b0
test eax, eax
jne 0x1401b9848
mov r8d, dword [rsp + 0x4a0]
lea rdx, str.tsize_d
lea rcx, [rsp + 0x68]
call fcn.140002c40
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x470]
call fcn.140005fd0
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14004ff30
lea rdx, [0x1402192f8]
mov rcx, rax
call fcn.1400060b0
test eax, eax
jne 0x1401b9992
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x38]
call fcn.14004ff30
mov rcx, rax
call fcn.140023510
mov rcx, rax
call fcn.1400a948c
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.14004ff30
lea r8, [0x140218d64]
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.14004ff30
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, [0x140218d34]
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.140005fd0
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.14004ff30
lea rdx, [0x140219308]
mov rcx, rax
call fcn.1400060b0
test eax, eax
jne 0x1401b99cb
lea rdx, str.timeout255
lea rcx, [rsp + 0x470]
call fcn.140006000
jmp 0x1401b97d2
xor r8d, r8d
lea rdx, [0x140219338]
lea rcx, [rsp + 0x470]
call fcn.140006780
cmp eax, 0xffffffff
jne 0x1401b9a00
lea rdx, str.blksize512
lea rcx, [rsp + 0x470]
call fcn.140006000
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.140026c80
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.140023510
mov rdx, rax
lea rcx, [rsp + 0x4e8]
call fcn.140002de0
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x5a0], rax
mov rcx, qword [rsp + 0x5a0]
call fcn.140002e90
lea rcx, [rsp + 0x72]
mov rdx, rax
call fcn.1400acdf0
nop
lea rcx, [rsp + 0x4e8]
call fcn.140002e70
mov dword [rsp + 0x64], 0
jmp 0x1401b9adb
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 0x1401b9b1b
cmp dword [rsp + 0x64], 0x3e8
jge 0x1401b9b1b
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
movsx eax, byte [rsp + rax + 0x70]
cmp eax, 0x23
jne 0x1401b9b19
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
mov byte [rsp + rax + 0x70], 0
jmp 0x1401b9ad0
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.WS2_32.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.14007773c
nop
lea rcx, [rsp + 0x478]
call fcn.14007773c
mov eax, dword [rsp + 0x4f0]
mov rcx, qword [rsp + 0x5a8]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x5b8
pop rdi
pop rsi
ret