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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x9d0
mov rax, qword [0x140417010]
xor rax, rsp
mov qword [rsp + 0x9c0], rax
mov rdi, r8
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
xor r12d, r12d
mov dword [rsp + 0x40], 2
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x140047214
mov rcx, qword [rdx]
lea rdx, [rsp + 0x44]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047220
mov rcx, rdi
cmp qword [r8 + 0x18], 0x10
jb 0x14004723b
mov rcx, qword [r8]
lea rdx, [rsp + 0x10c]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047250
xor r9d, r9d
mov r8d, 0x194
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rsp + 0x1e0], 0xa
xor r9d, r9d
mov r8d, 0x7d4
lea rdx, [rsp + 0x1e0]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_recv]
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], r12
lea rax, [rsp + 0x1e4]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400472c0
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x140047468
mov qword [r15 + 0x18], send
cmp rbx, 0x10
jae 0x14004730b
mov qword [r15 + 0x10], rbx
mov r8, rbx
lea rdx, [rsp + 0x1e4]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r15], 0
jmp 0x1400473a6
mov rax, rbx
or rax, 0xf
cmp rax, rsi
jbe 0x140047340
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140053fd8
test rax, rax
je 0x14004736b
lea rbp, [rax + 0x27]
and rbp, 0xffffffffffffffe0
mov qword [rbp - 8], rax
jmp 0x140047384
mov rsi, rax
mov ecx, socket
cmp rax, rcx
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140047372
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004746e
jmp 0x140047325
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140047381
call fcn.140053fd8
mov rbp, rax
jmp 0x140047384
mov rbp, r12
mov qword [r15], rbp
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], rsi
mov r8, rbx
lea rdx, [rsp + 0x1e4]
mov rcx, rbp
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rbp], 0
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1400473e0
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x1400473db
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004745a
mov rcx, r8
call fcn.140053ab0
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], send
mov byte [r14], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140047426
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140047421
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047461
mov rcx, r8
call fcn.140053ab0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], send
mov byte [rdi], 0
mov rax, r15
mov rcx, qword [rsp + 0x9c0]
xor rcx, rsp
call fcn.1400539c0
add rsp, 0x9d0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140043fb0
int3
call fcn.140043f10
int3