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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f8]
sub rsp, 0x3f8
mov rax, qword [0x1401811c0]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call fcn.140062004
cmp byte [r15 + 4], 0
jne 0x14001da99
mov rcx, r15
call fcn.14001c690
cmp byte [r15 + 4], 0
jne 0x14001da99
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x14001d9f1
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001d9ec
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001e286
mov rcx, r8
call fcn.140062974
xor ebx, ebx
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], recv
mov byte [rsi], bl
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x14001da3b
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x14001da36
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001e28c
mov rcx, r8
call fcn.140062974
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], recv
mov byte [r14], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x14001da85
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14001da80
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001e292
mov rcx, r8
call fcn.140062974
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], recv
mov byte [rdi], 0
jmp 0x14001e25f
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
inc r8
cmp byte [rax + r8], 0
jne 0x14001dc22
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
mov dword [rbp - 0x30], 1
lea r8, [rbp - 0x70]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001dc9d
mov rcx, qword [rax]
lea rdx, [rbp + 0x9c]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001dcb0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001dcfb
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001dcf6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e298
call fcn.140062974
lea r8, [rbp - 0x70]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001dd19
mov rcx, qword [rax]
lea rdx, [rbp + 0x5c]
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001dd20
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001dd6b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001dd66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e29e
call fcn.140062974
lea r8, [rbp - 0x70]
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.14001be20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001dd89
mov rcx, qword [rax]
lea rdx, [rbp + 0x7c]
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001dd90
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001dddb
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ddd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2a4
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 0x14001ddfa
mov rcx, qword [rax]
lea rdx, [rbp + 0xbc]
sub rdx, rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001de10
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001de5b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001de56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2aa
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 0x14001de7b
mov rcx, qword [rax]
lea rdx, [rbp + 0x100]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001de90
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14001dedb
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ded6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2b0
call fcn.140062974
lea rcx, [rbp - 0x30]
call fcn.14001c100
movsxd rcx, dword [r15]
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 0x14001e142
xor edx, edx
mov r8d, 0x168
lea rcx, [rbp + 0x170]
call fcn.140091150
movsxd rcx, dword [r15]
xor r9d, r9d
mov r8d, 0x168
lea rdx, [rbp + 0x170]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0x168
jne 0x14001e142
mov byte [r15 + 4], 0
movsxd rax, dword [r15]
test eax, eax
je 0x14001df69
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 r15, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x14001dfb4
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001dfaf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2b6
call fcn.140062974
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], recv
mov byte [rsp + 0x70], bl
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14001e001
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001dffc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2bc
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 0x14001e04d
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e048
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2c2
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 0x14001e098
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001e093
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001e2c8
mov rcx, r8
call fcn.140062974
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], recv
mov byte [rsi], 0
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x14001e0e1
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x14001e0dc
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001e2ce
mov rcx, r8
call fcn.140062974
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], recv
mov byte [r14], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x14001e12b
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x14001e126
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001e2d4
mov rcx, r8
call fcn.140062974
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], recv
mov byte [rdi], 0
mov rax, r15
jmp 0x14001e261
mov byte [r15 + 4], 0
movsxd rax, dword [r15]
test eax, eax
je 0x14001e15d
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 0x14001e19f
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e19a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2da
call fcn.140062974
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], recv
mov byte [rsp + 0x70], bl
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14001e1ec
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e1e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e2e0
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 0x14001e234
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e22f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e280
call fcn.140062974
movdqa xmm0, xmmword [0x140095e10]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
mov rcx, rsi
call fcn.140016fe0
nop
mov rcx, r14
call fcn.140016fe0
nop
mov rcx, rdi
call fcn.140016fe0
xor eax, eax
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.1400624d0
add rsp, 0x3f8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
nop
call fcn.14007332c
int3
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