Function at 0x140047d20
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, 0xa90
mov rax, qword [0x140417010]
xor rax, rsp
mov qword [rsp + 0xa80], rax
mov rdi, r8
mov rbp, rdx
mov r14, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
xor r12d, r12d
mov dword [rsp + 0x40], 8
mov eax, 0x30
mov word [rsp + 0x1d4], ax
xor edx, edx
mov r8d, 0xc6
lea rcx, [rsp + 0x1d6]
call sub.VCRUNTIME140.dll_memset
mov rcx, rbp
cmp qword [rbp + 0x18], 0x10
jb 0x140047d97
mov rcx, qword [rbp]
lea rdx, [rsp + 0x44]
sub rdx, rcx
nop
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140047da0
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140047dbb
mov rcx, qword [rdi]
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 0x140047dd0
xor r9d, r9d
mov r8d, 0x25c
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rsp + 0x2a0], 0xa
xor r9d, r9d
mov r8d, 0x7d4
lea rdx, [rsp + 0x2a0]
mov rcx, qword [0x1404182c0]
call qword [sym.imp.WS2_32.dll_recv]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r12
lea rax, [rsp + 0x2a4]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140047e40
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x140047fea
mov qword [r14 + 0x18], send
cmp rbx, 0x10
jae 0x140047e8b
mov qword [r14 + 0x10], rbx
mov r8, rbx
lea rdx, [rsp + 0x2a4]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r14], 0
jmp 0x140047f27
mov rax, rbx
or rax, 0xf
cmp rax, rsi
jbe 0x140047ec0
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140053fd8
test rax, rax
je 0x140047eeb
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140047f04
mov rsi, rax
mov ecx, socket
cmp rax, rcx
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140047ef2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140047ff0
jmp 0x140047ea5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140047f01
call fcn.140053fd8
mov r15, rax
jmp 0x140047f04
mov r15, r12
mov qword [r14], r15
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], rsi
mov r8, rbx
lea rdx, [rsp + 0x2a4]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + rbx], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140047f62
mov rcx, qword [rbp]
inc rdx
cmp rdx, 0x1000
jb 0x140047f5d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047fdc
mov rcx, r8
call fcn.140053ab0
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], send
mov byte [rbp], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140047fa8
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140047fa3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140047fe3
mov rcx, r8
call fcn.140053ab0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], send
mov byte [rdi], 0
mov rax, r14
mov rcx, qword [rsp + 0xa80]
xor rcx, rsp
call fcn.1400539c0
add rsp, 0xa90
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