Function at 0x140047480
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 r13
push r14
push r15
sub rsp, 0xc38
mov rax, qword [0x140417010]
xor rax, rsp
mov qword [rsp + 0xc20], rax
mov rbp, r9
mov r15, r8
mov r12, rdx
mov r13, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov r14, qword [rsp + 0xca0]
mov qword [rsp + 0x40], r14
xor esi, esi
mov dword [rsp + 0x50], 4
mov eax, 0x30
mov word [rsp + 0x374], ax
xor edx, edx
mov r8d, 0xc6
lea rcx, [rsp + 0x376]
call sub.VCRUNTIME140.dll_memset
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x14004750e
mov rcx, qword [r12]
lea rdx, [rsp + 0x54]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047520
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x14004753b
mov rcx, qword [r15]
lea rdx, [rsp + 0x11c]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047550
mov rcx, rbp
cmp qword [rbp + 0x18], 0x10
jb 0x14004756c
mov rcx, qword [rbp]
lea rdx, [rsp + 0x1e4]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047580
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14004759b
mov rcx, qword [r14]
lea rdx, [rsp + 0x2ac]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400475b0
xor r9d, r9d
mov r8d, 0x3ec
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rsp + 0x440], 0xa
xor r9d, r9d
mov r8d, 0x7d4
lea rdx, [rsp + 0x440]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_recv]
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], rsi
lea rax, [rsp + 0x444]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140047621
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x140047872
mov qword [r13 + 0x18], send
cmp rbx, 0x10
jae 0x14004766c
mov qword [r13 + 0x10], rbx
mov r8, rbx
lea rdx, [rsp + 0x444]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r13], 0
jmp 0x140047705
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x1400476a1
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140053fd8
test rax, rax
je 0x1400476cc
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400476e0
mov rdi, rax
mov ecx, socket
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400476d3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140047878
jmp 0x140047686
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x1400476e0
call fcn.140053fd8
mov rsi, rax
mov qword [r13], rsi
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], rdi
mov r8, rbx
lea rdx, [rsp + 0x444]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
xor esi, esi
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x140047741
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x14004773c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047856
mov rcx, r8
call fcn.140053ab0
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], send
mov byte [r12], 0
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x14004778e
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x140047789
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004785d
mov rcx, r8
call fcn.140053ab0
mov qword [r15 + 0x10], rsi
mov qword [r15 + 0x18], send
mov byte [r15], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1400477d9
mov rcx, qword [rbp]
inc rdx
cmp rdx, 0x1000
jb 0x1400477d4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047864
mov rcx, r8
call fcn.140053ab0
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], send
mov byte [rbp], 0
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14004781f
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x14004781a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004786b
mov rcx, r8
call fcn.140053ab0
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], send
mov byte [r14], 0
mov rax, r13
mov rcx, qword [rsp + 0xc20]
xor rcx, rsp
call fcn.1400539c0
add rsp, 0xc38
pop r15
pop r14
pop r13
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 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