Function at 0x140047880
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, 0xd18
mov rax, qword [0x140417010]
xor rax, rsp
mov qword [rsp + 0xd00], rax
mov rbp, r9
mov r14, r8
mov r13, rdx
mov rsi, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r9
mov r12, qword [rsp + 0xd80]
mov qword [rsp + 0x48], r12
mov r15, qword [rsp + 0xd88]
mov qword [rsp + 0x50], r15
xor ebx, ebx
mov dword [rsp + 0x60], 5
mov eax, 0x30
mov word [rsp + 0x44c], ax
xor edx, edx
mov r8d, 0xc6
lea rcx, [rsp + 0x44e]
call sub.VCRUNTIME140.dll_memset
mov rcx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x14004791f
mov rcx, qword [r13]
lea rdx, [rsp + 0x64]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047930
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14004794b
mov rcx, qword [r14]
lea rdx, [rsp + 0x12c]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047960
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x14004797d
mov rcx, qword [r12]
lea rdx, [rsp + 0x2bc]
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047990
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x1400479ab
mov rcx, qword [r15]
lea rdx, [rsp + 0x384]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400479c0
mov rcx, rbp
cmp qword [rbp + 0x18], 0x10
jb 0x1400479dc
mov rcx, qword [rbp]
lea rdx, [rsp + 0x1f4]
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400479f0
xor r9d, r9d
mov r8d, 0x4b4
lea rdx, [rsp + 0x60]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rsp + 0x520], 0xa
xor r9d, r9d
mov r8d, 0x7d4
lea rdx, [rsp + 0x520]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_recv]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rbx
lea rax, [rsp + 0x524]
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x140047a60
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x140047d0f
mov qword [rsi + 0x18], send
cmp rbx, 0x10
jae 0x140047aaa
mov qword [rsi + 0x10], rbx
mov r8, rbx
lea rdx, [rsp + 0x524]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], 0
jmp 0x140047b4e
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x140047adf
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140053fd8
test rax, rax
je 0x140047b0a
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140047b22
mov rdi, rax
mov ecx, socket
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140047b11
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140047d15
jmp 0x140047ac4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140047b20
call fcn.140053fd8
mov rsi, rax
jmp 0x140047b22
xor esi, esi
mov rax, qword [rsp + 0x20]
mov qword [rax], rsi
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov r8, rbx
lea rdx, [rsp + 0x524]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
mov rsi, qword [rsp + 0x20]
mov rdx, qword [r13 + 0x18]
cmp rdx, 0x10
jb 0x140047b89
mov rcx, qword [r13]
inc rdx
cmp rdx, 0x1000
jb 0x140047b84
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047cec
mov rcx, r8
call fcn.140053ab0
xor ebx, ebx
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], send
mov byte [r13], bl
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140047bd5
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x140047bd0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047cf3
mov rcx, r8
call fcn.140053ab0
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], send
mov byte [r14], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140047c20
mov rcx, qword [rbp]
inc rdx
cmp rdx, 0x1000
jb 0x140047c1b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047cfa
mov rcx, r8
call fcn.140053ab0
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], send
mov byte [rbp], 0
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x140047c6c
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x140047c67
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047d01
mov rcx, r8
call fcn.140053ab0
mov qword [r12 + 0x10], rbx
mov qword [r12 + 0x18], send
mov byte [r12], 0
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x140047cb5
inc rdx
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x140047cb0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047d08
mov rcx, r8
call fcn.140053ab0
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], send
mov byte [r15], 0
mov rax, rsi
mov rcx, qword [rsp + 0xd00]
xor rcx, rsp
call fcn.1400539c0
add rsp, 0xd18
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 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