Function at 0x14006b773
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x48], rdx
movabs r13, 0x8677c240d511f36a
movabs rdi, 0x62600ec2b32c4c4a
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov rbx, rsp
mov rdx, qword [r8 + 8]
mov rax, qword [r8 + 0x10]
mov r15, qword [rcx + 0x10]
mov r12, qword [rcx + 0x18]
mov qword [rbp - 0x18], r8
mov r8, qword [r8]
add r8, rax
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x10], rax
sub rdx, rax
mov eax, 0x7fffffff
cmp rdx, rax
cmovae rdx, rax
mov qword [rbp - 0x30], rdx
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rbx
mov qword [rbp - 8], r12
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, qword [rbp - 0x48]
xor r9d, r9d
call fcn.140067c2d
add rsp, 0x20
mov al, byte [rbx + 9]
cmp al, 3
je 0x14006b9b8
mov rsi, qword [rbx]
cmp al, 2
je 0x14006b9bf
mov rax, qword [rbp - 0x40]
cmp rax, qword [rbp - 0x10]
jb 0x14006ba10
mov rax, 0xffffffffffffffff
cmp r12, rax
je 0x14006ba10
movzx r14d, byte [rbx + 8]
sub rsp, 0x20
mov rcx, r12
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x30]
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_recv]
add rsp, 0x20
cmp eax, 0xffffffff
jne 0x14006b9c6
sub rsp, 0x20
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
add rsp, 0x20
cmp eax, 0x274a
je 0x14006b9cb
mov r12, qword [rbp - 0x28]
test r12, r12
sete byte [rbp + 7]
cdqe
movabs rdx, 0xe6c5b7c183d0a6d7
lea ecx, [rdx + 0x20]
xor ecx, edx
shl rax, cl
movabs rcx, 0x9d268892b45f8334
lea rbx, [rcx + 2]
xor rbx, rcx
or rbx, rax
sub rsp, 0x20
mov rcx, rbx
call fcn.14004b946
add rsp, 0x20
cmp al, 0xd
setne al
or al, byte [rbp + 7]
jne 0x14006b920
mov rcx, qword [r12]
mov rdx, qword [r12 + 8]
lock inc qword [rdx]
jle 0x14006ba10
add rcx, 0x10
mov r8, qword [r12 + 0x10]
mov r9b, byte [r12 + 0x18]
sub rsp, 0x20
call fcn.14004afc8
add rsp, 0x20
test rax, rax
je 0x14006b920
mov r12, rax
sub rsp, 0x20
mov rcx, rbx
call fcn.14004df29
add rsp, 0x20
mov rbx, r12
mov r12, qword [rbp - 8]
sub rsp, 0x20
mov rcx, rbx
call fcn.14004b946
add rsp, 0x20
cmp al, 0xd
jne 0x14006b9fa
movabs rcx, 0x35419e37fd080398
lea rax, [rcx + 0x13]
xor rax, rcx
and rsi, rax
mov rax, qword [r15 + 0x90]
movabs rdx, 0x36b4db5d84a70f49
lea ecx, [rdx + 0x10]
xor ecx, edx
mov rdx, r14
shl rdx, cl
not rsi
lea ecx, [r13 + 0x10]
xor ecx, r13d
mov r8, rax
shr r8, cl
cmp r14b, r8b
jne 0x14006b99f
lea rcx, [rdi + 0x1b]
xor rcx, rdi
mov r8, rax
and r8, rsi
and r8, rcx
or r8, rdx
lock cmpxchg qword [r15 + 0x90], r8
jne 0x14006b96f
sub rsp, 0x20
mov rcx, rbx
call fcn.14004df29
add rsp, 0x20
mov rbx, qword [rbp - 0x20]
jmp 0x14006b7f9
mov eax, 1
jmp 0x14006b9c1
xor eax, eax
mov rbx, rsi
jmp 0x14006b9fc
movsxd r8, eax
jmp 0x14006b9ce
xor r8d, r8d
mov rax, qword [rbp - 0x10]
add rax, r8
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rdx + 0x18]
cmp rax, rcx
jbe 0x14006b9e9
mov qword [rdx + 0x18], rax
mov rcx, rax
add qword [rbp - 0x10], r8
jb 0x14006ba10
cmp rcx, rax
jb 0x14006ba10
mov qword [rdx + 0x10], rax
xor ebx, ebx
xor eax, eax
mov rdx, rbx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2