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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rsi, rdx
mov r14, rcx
lea rdx, [0x18004acd0]
lea rcx, [rbp - 0x48]
call fcn.1800063b0
mov rcx, rax
call fcn.1800099b0
test al, al
jne 0x18000a70e
xor edi, edi
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
mov rcx, qword [rsi]
test rcx, rcx
je 0x18000aadf
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000a6f9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000b171
mov rcx, r8
call fcn.180011450
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
jmp 0x18000aadf
mov rbx, qword [rsi + 8]
sub rbx, qword [rsi]
mov ecx, 4
call fcn.180011460
mov r8, rax
mov qword [rbp - 0x80], rax
add rax, 4
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x78], rax
mov byte [r8], bl
mov eax, ebx
sar eax, 8
mov byte [r8 + 1], al
mov eax, ebx
sar eax, 0x10
mov byte [r8 + 2], al
sar ebx, 0x18
mov byte [r8 + 3], bl
lea rax, [rbp - 0x68]
mov qword [rbp + 0x60], rax
lea rdx, [0x18004ad10]
lea rcx, [rbp - 0x68]
call fcn.1800063b0
mov r12, rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
xor edi, edi
mov qword [rsp + 0x30], rdi
mov r14, qword [rsi]
mov r15, qword [rsi + 8]
cmp r14, r15
je 0x18000a7fe
mov rsi, r15
sub rsi, r14
cmp rsi, 0x1000
jb 0x18000a7bd
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x18000b141
call fcn.180011460
test rax, rax
je 0x18000b147
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18000a7d2
test rsi, rsi
je 0x18000a7cf
mov rcx, rsi
call fcn.180011460
mov rbx, rax
jmp 0x18000a7d2
mov rbx, rdi
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rbx
lea rax, [rbx + rsi]
mov qword [rsp + 0x30], rax
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.180013720
sub rbx, r14
add rbx, r15
mov qword [rsp + 0x28], rbx
mov r8, r12
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x48]
call fcn.180009e90
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov rax, rdi
mov qword [rsp + 0x60], rax
mov r14d, edi
mov r12, qword [rbp - 0x80]
mov rsi, r12
mov rbx, qword [rsp + 0x58]
cmp rbx, rax
je 0x18000a849
movzx eax, byte [rsi]
mov byte [rbx], al
mov rbx, qword [rsp + 0x58]
inc rbx
mov qword [rsp + 0x58], rbx
jmp 0x18000a85e
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.18000e4b0
mov rbx, qword [rsp + 0x58]
inc r14d
inc rsi
cmp r14d, 4
jae 0x18000a871
mov rax, qword [rsp + 0x60]
jmp 0x18000a830
mov r14d, edi
mov r15, qword [rbp - 0x40]
mov r13, qword [rbp - 0x48]
sub r15, r13
je 0x18000a8c2
mov rsi, r13
cmp rbx, qword [rsp + 0x60]
je 0x18000a89f
movzx eax, byte [rsi]
mov byte [rbx], al
mov rbx, qword [rsp + 0x58]
inc rbx
mov qword [rsp + 0x58], rbx
jmp 0x18000a8b4
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.18000e4b0
mov rbx, qword [rsp + 0x58]
inc r14d
inc rsi
movsxd rax, r14d
cmp rax, r15
jb 0x18000a884
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov r15, qword [rsp + 0x50]
cmp r15, rbx
je 0x18000a955
mov r14, rbx
sub r14, r15
cmp r14, 0x1000
jb 0x18000a912
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x18000b14d
call fcn.180011460
test rax, rax
je 0x18000b159
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x18000a927
test r14, r14
je 0x18000a924
mov rcx, r14
call fcn.180011460
mov rsi, rax
jmp 0x18000a927
mov rsi, rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rsi
lea rax, [rsi + r14]
mov qword [rsp + 0x30], rax
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.180013720
sub rsi, r15
add rsi, rbx
mov qword [rsp + 0x28], rsi
jmp 0x18000a95a
mov rsi, qword [rsp + 0x28]
lea rax, [rsp + 0x20]
mov qword [rbp + 0x60], rax
mov rdx, qword [rsp + 0x20]
sub rsi, rdx
je 0x18000b153
xor r9d, r9d
mov r8d, esi
mov rcx, qword [0x18004cbc8]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
setg bl
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x18000a9c5
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a9c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b159
call fcn.180011450
test bl, bl
jne 0x18000aaf6
mov r14, qword [rbp + 0x50]
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18000aa26
mov rdx, qword [rsp + 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000aa13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b165
call fcn.180011450
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdi
test r13, r13
je 0x18000aa60
mov rdx, qword [rbp - 0x38]
sub rdx, r13
mov rax, r13
cmp rdx, 0x1000
jb 0x18000aa57
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b135
mov rcx, r13
call fcn.180011450
nop
mov rdx, qword [rbp - 0x70]
sub rdx, r12
cmp rdx, 0x1000
jb 0x18000aa8e
mov rcx, qword [r12 - 8]
sub r12, rcx
add rdx, 0x27
lea rax, [r12 - 8]
cmp rax, 0x1f
ja 0x18000b16b
mov r12, rcx
mov rcx, r12
call fcn.180011450
nop
mov rbx, qword [rbp + 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x18000aadf
mov rdx, qword [rbx + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000aacf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000b171
mov rcx, r8
call fcn.180011450
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov rax, r14
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rdi
mov ecx, 0xa00027
call fcn.180011460
test rax, rax
je 0x18000b13b
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
mov qword [rsp + 0x20], rcx
lea rbx, [rcx + 0xa00000]
mov qword [rsp + 0x30], rbx
xor edx, edx
mov r8d, 0xa00000
call fcn.180013dd0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x20]
call fcn.180009b40
test al, al
jne 0x18000ac87
mov r14, qword [rbp + 0x50]
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x18000abc2
mov rdx, qword [rsp + 0x48]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000abae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b15f
call fcn.180011450
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x18000abff
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000abf9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b13b
call fcn.180011450
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18000ac49
mov rdx, qword [rsp + 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ac36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b165
call fcn.180011450
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdi
test r13, r13
je 0x18000aa60
mov rdx, qword [rbp - 0x38]
sub rdx, r13
mov rax, r13
cmp rdx, 0x1000
jb 0x18000aa57
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b135
jmp 0x18000aa57
mov ecx, 4
call fcn.180011460
mov rbx, rax
mov qword [rbp - 0x68], rax
lea r12, [rax + 4]
mov qword [rbp - 0x58], r12
xor eax, eax
mov dword [rbx], eax
mov qword [rbp - 0x60], r12
mov r15, qword [rsp + 0x20]
movzx eax, byte [r15]
mov byte [rbx], al
movzx eax, byte [r15 + 1]
mov byte [rbx + 1], al
movzx eax, byte [r15 + 2]
mov byte [rbx + 2], al
movzx eax, byte [r15 + 3]
mov byte [rbx + 3], al
mov esi, 4
mov r14, qword [rsp + 0x28]
sub r14, r15
mov rdx, qword [rsp + 0x40]
cmp r14, rsi
jbe 0x18000ad30
lea rbx, [r15 + 4]
cmp rdx, qword [rsp + 0x48]
je 0x18000ad01
movzx eax, byte [rbx]
mov byte [rdx], al
mov rdx, qword [rsp + 0x40]
inc rdx
mov qword [rsp + 0x40], rdx
jmp 0x18000ad13
mov r8, rbx
lea rcx, [rsp + 0x38]
call fcn.18000e4b0
mov rdx, qword [rsp + 0x40]
inc esi
inc rbx
movsxd rax, esi
cmp rax, r14
jb 0x18000ace6
mov rbx, qword [rbp - 0x68]
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov r8, rdi
mov rcx, rdi
cmp rbx, r12
je 0x18000ad6c
mov ecx, 4
call fcn.180011460
mov rcx, rax
mov r9, rax
lea r8, [rax + 4]
mov eax, dword [rbx]
mov dword [rcx], eax
mov rax, rcx
sub rax, rbx
add rax, r12
mov rdx, qword [rsp + 0x40]
jmp 0x18000ad76
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0x68]
sub rax, rcx
cmp rax, 4
je 0x18000adbd
test rcx, rcx
je 0x18000adb9
sub r8, rcx
cmp r8, 0x1000
jb 0x18000adac
add r8, 0x27
mov rdx, qword [rcx - 8]
sub rcx, rdx
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000b177
mov rcx, rdx
mov rdx, r8
call fcn.180011450
mov rdx, qword [rsp + 0x40]
mov ebx, edi
jmp 0x18000ae13
movsx ebx, byte [r9 + 3]
shl ebx, 8
movzx eax, byte [r9 + 2]
or ebx, eax
shl ebx, 8
movzx eax, byte [r9 + 1]
or ebx, eax
shl ebx, 8
movzx eax, byte [rcx]
or ebx, eax
sub r8, rcx
cmp r8, 0x1000
jb 0x18000ae06
add r8, 0x27
mov rdx, qword [rcx - 8]
sub rcx, rdx
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000b177
mov rcx, rdx
mov rdx, r8
call fcn.180011450
mov rdx, qword [rsp + 0x40]
sub rdx, qword [rsp + 0x38]
movsxd rax, ebx
cmp rdx, rax
jae 0x18000ae8f
lea rcx, [rsp + 0x20]
call fcn.180009b40
mov r15, qword [rsp + 0x20]
test al, al
je 0x18000ae8f
mov r14, qword [rsp + 0x28]
sub r14, r15
mov esi, edi
mov rdx, qword [rsp + 0x40]
je 0x18000ad20
mov rbx, r15
nop dword [rax + rax]
cmp rdx, qword [rsp + 0x48]
je 0x18000ae6b
movzx eax, byte [rbx]
mov byte [rdx], al
mov rdx, qword [rsp + 0x40]
inc rdx
mov qword [rsp + 0x40], rdx
jmp 0x18000ae7d
mov r8, rbx
lea rcx, [rsp + 0x38]
call fcn.18000e4b0
mov rdx, qword [rsp + 0x40]
inc esi
inc rbx
movsxd rax, esi
cmp rax, r14
jb 0x18000ae50
jmp 0x18000ad20
mov rcx, qword [0x18004cbc8]
call qword [sym.imp.WS2_32.dll_closesocket]
lea rax, [rbp - 0x28]
mov qword [rbp + 0x68], rax
lea rdx, [0x18004acf0]
lea rcx, [rbp - 0x28]
call fcn.1800063b0
mov qword [rbp + 0x60], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
cmp r14, r12
je 0x18000af52
mov rsi, r12
sub rsi, r14
cmp rsi, 0x1000
jb 0x18000af0d
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x18000b17d
call fcn.180011460
test rax, rax
je 0x18000b183
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18000af22
test rsi, rsi
je 0x18000af1f
mov rcx, rsi
call fcn.180011460
mov rbx, rax
jmp 0x18000af22
mov rbx, rdi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
lea rax, [rbx + rsi]
mov qword [rsp + 0x78], rax
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.180013720
sub rbx, r14
add rbx, r12
mov qword [rsp + 0x70], rbx
mov rax, qword [rbp + 0x60]
mov r8, rax
lea rdx, [rsp + 0x68]
mov rsi, qword [rbp + 0x50]
mov rcx, rsi
call fcn.180009e90
nop
mov rax, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x58]
sub rdx, rax
cmp rdx, 0x1000
jb 0x18000af97
add rdx, 0x27
mov rcx, qword [rax - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b18f
mov rax, rcx
mov rcx, rax
call fcn.180011450
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x18000afeb
mov rdx, qword [rsp + 0x48]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000afd7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b189
call fcn.180011450
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
test r15, r15
je 0x18000b026
mov rdx, qword [rsp + 0x30]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x18000b01d
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b195
mov rcx, r15
call fcn.180011450
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18000b070
mov rdx, qword [rsp + 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b05d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b19b
call fcn.180011450
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdi
test r13, r13
je 0x18000b0aa
mov rdx, qword [rbp - 0x38]
sub rdx, r13
mov rax, r13
cmp rdx, 0x1000
jb 0x18000b0a1
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b1a1
mov rcx, r13
call fcn.180011450
nop
mov r8, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x70]
sub rdx, r8
cmp rdx, 0x1000
jb 0x18000b0da
add rdx, 0x27
mov rcx, qword [r8 - 8]
sub r8, rcx
lea rax, [r8 - 8]
cmp rax, 0x1f
ja 0x18000b1a7
mov r8, rcx
mov rcx, r8
call fcn.180011450
nop
mov rbx, qword [rbp + 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x18000b127
mov rdx, qword [rbx + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000b117
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000b12f
mov rcx, r8
call fcn.180011450
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov rax, rsi
jmp 0x18000aae2
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180001690
int3
call fcn.180019bb8
nop
call fcn.180001690
nop
call fcn.18000dc80
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180001690
int3
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
nop
call fcn.180019bb8
int3