Function at 0x14001c830
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f0]
sub rsp, 0x3f0
mov rax, qword [0x1401811c0]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
call fcn.140062004
cmp byte [r14 + 4], 0
jne 0x14001c94f
mov rcx, r14
call fcn.14001c690
cmp byte [r14 + 4], 0
jne 0x14001c94f
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14001c8cc
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001c8c7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d076
mov rcx, r8
call fcn.140062974
xor r15d, r15d
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], recv
mov byte [rsi], r15b
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x14001c918
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14001c913
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d07c
mov rcx, r8
call fcn.140062974
xor eax, eax
mov byte [rdi], 0
mov qword [rdi + 0x18], recv
mov qword [rdi + 0x10], r15
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.1400624d0
mov rbx, qword [rsp + 0x438]
add rsp, 0x3f0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
mov r8d, 0x164
lea rcx, [rbp - 0x2c]
call fcn.140091150
movabs rax, 0xa0a4c165b05a8ea9
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
movabs rax, 0xf954cc9b83849e64
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x48], rax
movabs rax, 0x6ef205783b6594b6
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
movabs rax, 0x13331b72bd8f200c
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
movabs rdx, 0x5186da30fe2ec96f
mov qword [rsp + 0x20], rdx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x60], rax
movabs rcx, 0x703b970555eb8fc4
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x68], rax
movabs rax, 0xc694f804896ebccb
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x140], rax
movabs rax, 0xce30aea9b1b5ad50
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x148], rax
movabs rax, 0x5cc1304a0f52a685
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x150], rax
movabs rax, 0x23002317deed103a
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x158], rax
mov qword [rsp + 0x20], rdx
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x160], rax
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x168], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmmword [rbp + 0x150]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14001cae0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.1400153f0
nop
lea rcx, [rbp - 0x50]
call fcn.140017d80
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 3
mov qword [rbp - 0x78], recv
mov eax, dword [0x140095ef0]
mov word [rsp + 0x70], ax
movzx eax, byte [0x140095ef2]
mov byte [rsp + 0x72], al
mov byte [rsp + 0x73], 0
xor r15d, r15d
mov dword [rbp - 0x30], r15d
lea r8, [rbp - 0x70]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001cb5b
mov rcx, qword [rax]
lea rdx, [rbp - 0x28]
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001cb62
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001cbad
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cba8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d082
call fcn.140062974
lea r8, [rbp - 0x70]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001cbcb
mov rcx, qword [rax]
lea rdx, [rbp - 8]
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001cbd2
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001cc1d
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cc18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d088
call fcn.140062974
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001cc3c
mov rcx, qword [rax]
lea rdx, [rbp + 0x18]
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001cc50
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001cc9b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cc96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d08e
call fcn.140062974
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001ccbb
mov rcx, qword [rax]
lea rdx, [rbp + 0x100]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001ccd0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001cd1b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cd16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d094
call fcn.140062974
lea rcx, [rbp - 0x30]
call fcn.14001c100
movsxd rcx, dword [r14]
xor r9d, r9d
mov r8d, 0x168
lea rdx, [rbp - 0x30]
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
xor edx, edx
mov r8d, 0x168
lea rcx, [rbp - 0x30]
call fcn.140091150
cmp ebx, 0xffffffff
je 0x14001cf27
xor edx, edx
mov r8d, 0x168
lea rcx, [rbp + 0x170]
call fcn.140091150
movsxd rcx, dword [r14]
xor r9d, r9d
mov r8d, 0x168
lea rdx, [rbp + 0x170]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0x168
jne 0x14001cf27
mov byte [r14 + 4], r15b
movsxd rax, dword [r14]
test eax, eax
je 0x14001cda8
mov rcx, rax
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rcx, [rbp + 0x170]
call fcn.14001bc60
mov rbx, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x14001cdf3
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cdee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d09a
call fcn.140062974
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], recv
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14001ce3f
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ce3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d0a0
call fcn.140062974
movdqa xmm0, xmmword [0x140095e10]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x14001ce8b
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ce86
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d0a6
call fcn.140062974
movdqa xmm0, xmmword [0x140095e10]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14001ced6
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001ced1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d0ac
mov rcx, r8
call fcn.140062974
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], recv
mov byte [rsi], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x14001cf1f
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14001cf1a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d0b2
mov rcx, r8
call fcn.140062974
mov rax, rbx
jmp 0x14001c91a
mov byte [r14 + 4], r15b
movsxd rax, dword [r14]
test eax, eax
je 0x14001cf41
mov rcx, rax
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
call fcn.14006201e
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x14001cf83
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cf7e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d0b8
call fcn.140062974
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], recv
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14001cfcf
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cfca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d0be
call fcn.140062974
movdqa xmm0, xmmword [0x140095e10]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x14001d01b
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d016
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d0c4
call fcn.140062974
movdqa xmm0, xmmword [0x140095e10]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14001d062
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001d05d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d076
mov rcx, r8
call fcn.140062974
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], recv
mov byte [rsi], 0
jmp 0x14001c8de
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
int3
call fcn.14007332c
int3
call fcn.14007332c
int3
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
int3