Function at 0x1401ba370
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 [0x1402a25c0]
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 0x1401ba3e1
xor eax, eax
jmp 0x1401bab3d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9170
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401ba409
xor eax, eax
jmp 0x1401bab3d
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x4b8], rax
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9170
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.1400a9170
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.1400a9170
mov rcx, rax
add rcx, 1
movsxd rax, dword [rsp + 0x5e0]
cmp rcx, rax
jbe 0x1401ba48c
xor eax, eax
jmp 0x1401bab3d
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9170
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.1400a9170
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.140010ae0
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.1401b9b20
test eax, eax
jne 0x1401ba561
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 0x1401bab3d
cmp dword [rsp + 0x5e0], 0
jne 0x1401ba5d4
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.140027f90
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 0x1401bab3d
lea rcx, [rsp + 0x478]
call fcn.1400774a0
nop
lea rcx, [rsp + 0x38]
call fcn.1400774a0
nop
cmp dword [rsp + 0x5e0], 0
jle 0x1401ba73f
mov rdx, qword [rsp + 0x5d8]
lea rcx, [rsp + 0x4c0]
call fcn.140010e20
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x550], rax
mov rcx, qword [rsp + 0x550]
call fcn.140010eb0
mov rdx, rax
lea rcx, [rsp + 0x478]
call fcn.140010a70
nop
lea rcx, [rsp + 0x4c0]
call fcn.140002e10
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9170
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.1400a9170
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.140010e20
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x560], rax
mov rcx, qword [rsp + 0x560]
call fcn.140010eb0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140010a70
nop
lea rcx, [rsp + 0x4c8]
call fcn.140002e10
mov rcx, qword [rsp + 0x5d8]
call fcn.1400a9170
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.1400a9170
mov rdx, rax
mov rax, qword [rsp + 0x5d8]
lea rax, [rax + rdx + 1]
mov qword [rsp + 0x5d8], rax
jmp 0x1401ba5ed
lea rcx, [rsp + 0x470]
call fcn.140002d50
nop
lea rcx, [rsp + 0x68]
call fcn.140002d50
nop
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x64], 0
jmp 0x1401ba77d
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
movsxd rdi, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.14000f920
cmp rdi, rax
jge 0x1401ba970
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140021970
lea rdx, [0x14021a2d0]
mov rcx, rax
call fcn.140006050
test eax, eax
jne 0x1401ba7e8
mov r8d, dword [rsp + 0x4a0]
lea rdx, str.tsize_d
lea rcx, [rsp + 0x68]
call fcn.140002be0
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x470]
call fcn.140005f70
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140021970
lea rdx, [0x14021a2f8]
mov rcx, rax
call fcn.140006050
test eax, eax
jne 0x1401ba932
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x38]
call fcn.140021970
mov rcx, rax
call fcn.1400012c0
mov rcx, rax
call fcn.1400a947c
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.140021970
lea r8, [0x140219d64]
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.140021970
mov r8, rax
mov rdx, qword [rsp + 0x570]
lea rcx, [rsp + 0x4d8]
call fcn.140006b70
mov qword [rsp + 0x578], rax
mov rax, qword [rsp + 0x578]
mov qword [rsp + 0x580], rax
lea r8, [0x140219d34]
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.140005f70
nop
lea rcx, [rsp + 0x4e0]
call fcn.140001470
nop
lea rcx, [rsp + 0x4d8]
call fcn.140001470
nop
lea rcx, [rsp + 0x4d0]
call fcn.140001470
movsxd rdx, dword [rsp + 0x64]
lea rcx, [rsp + 0x478]
call fcn.140021970
lea rdx, [0x14021a308]
mov rcx, rax
call fcn.140006050
test eax, eax
jne 0x1401ba96b
lea rdx, str.timeout255
lea rcx, [rsp + 0x470]
call fcn.140005fa0
jmp 0x1401ba772
xor r8d, r8d
lea rdx, [0x14021a338]
lea rcx, [rsp + 0x470]
call fcn.140006720
cmp eax, 0xffffffff
jne 0x1401ba9a0
lea rdx, str.blksize512
lea rcx, [rsp + 0x470]
call fcn.140005fa0
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.140027f90
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.1400012c0
mov rdx, rax
lea rcx, [rsp + 0x4e8]
call fcn.140002d80
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x5a0], rax
mov rcx, qword [rsp + 0x5a0]
call fcn.140002e30
lea rcx, [rsp + 0x72]
mov rdx, rax
call fcn.1400acdd0
nop
lea rcx, [rsp + 0x4e8]
call fcn.140002e10
mov dword [rsp + 0x64], 0
jmp 0x1401baa7b
mov eax, dword [rsp + 0x64]
add eax, 1
mov dword [rsp + 0x64], eax
lea rcx, [rsp + 0x470]
call fcn.1400019f0
cmp dword [rsp + 0x64], eax
jge 0x1401baabb
cmp dword [rsp + 0x64], 0x3e8
jge 0x1401baabb
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
movsx eax, byte [rsp + rax + 0x70]
cmp eax, 0x23
jne 0x1401baab9
mov eax, dword [rsp + 0x64]
add eax, 2
cdqe
mov byte [rsp + rax + 0x70], 0
jmp 0x1401baa70
lea rcx, [rsp + 0x470]
call fcn.1400019f0
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.140001470
nop
lea rcx, [rsp + 0x470]
call fcn.140001470
nop
lea rcx, [rsp + 0x38]
call fcn.140077764
nop
lea rcx, [rsp + 0x478]
call fcn.140077764
mov eax, dword [rsp + 0x4f0]
mov rcx, qword [rsp + 0x5a8]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0x5b8
pop rdi
pop rsi
ret