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

Disassembly:
push rbp
mov rbp, rsp
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x150
test rcx, rcx
je 0x398116e58
movzx eax, byte [rcx + 0x38]
mov rbx, rcx
test al, 0x10
je 0x398116e58
mov r12, rdx
mov rdx, qword [rcx + 0x30]
mov dword [rsp + 0x44], 0
mov r13, r8
test rdx, rdx
je 0x398116e50
xor ecx, ecx
call fcn.3981220a0
test byte [rbx + 0x38], 4
jne 0x398116ec0
test byte [rbx + 0x90], 1
jne 0x398116ec0
lea r14, [rbx + 0xa8]
xor eax, eax
mov rdx, r12
mov qword [rbx + 0x98], 0
lea rdi, [rbx + 0xb0]
mov rcx, r14
mov dword [rbx + 0xa0], 0
mov r8d, 0x10
mov qword [rbx + 0xa8], 0
and rdi, 0xfffffffffffffff8
mov qword [rbx + 0x1a0], 0
sub rcx, rdi
add ecx, 0x100
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, rbx
call fcn.398115760
cmp eax, 0xffffffff
je 0x398116ec0
xor edx, edx
mov rcx, rbx
call fcn.398116850
lea rax, [rsp + 0x48]
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r9d, 0x10
lea r8, [rsp + 0x50]
mov dword [rsp + 0x28], 1
call fcn.398117750
mov r12d, eax
test eax, eax
jle 0x398116dd0
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0xb0], rax
mov rax, qword [rsp + 0x58]
mov dword [rbx + 0xa8], eax
cmp r12d, 1
je 0x398116dd0
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0xc0], rax
mov rax, qword [rsp + 0x68]
mov dword [rbx + 0xb8], eax
cmp r12d, 2
je 0x398116dd0
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0xd0], rax
mov rax, qword [rsp + 0x78]
mov dword [rbx + 0xc8], eax
cmp r12d, 3
je 0x398116dd0
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0xe0], rax
mov rax, qword [rsp + 0x88]
mov dword [rbx + 0xd8], eax
cmp r12d, 4
je 0x398116dd0
mov rax, qword [rsp + 0x90]
mov qword [rbx + 0xf0], rax
mov rax, qword [rsp + 0x98]
mov dword [rbx + 0xe8], eax
cmp r12d, 5
je 0x398116dd0
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0x100], rax
mov rax, qword [rsp + 0xa8]
mov dword [rbx + 0xf8], eax
cmp r12d, 6
je 0x398116dd0
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0x110], rax
mov rax, qword [rsp + 0xb8]
mov dword [rbx + 0x108], eax
cmp r12d, 7
je 0x398116dd0
mov rax, qword [rsp + 0xc0]
mov qword [rbx + 0x120], rax
mov rax, qword [rsp + 0xc8]
mov dword [rbx + 0x118], eax
cmp r12d, 8
je 0x398116dd0
mov rax, qword [rsp + 0xd0]
mov qword [rbx + 0x130], rax
mov rax, qword [rsp + 0xd8]
mov dword [rbx + 0x128], eax
cmp r12d, 9
je 0x398116dd0
mov rax, qword [rsp + 0xe0]
mov qword [rbx + 0x140], rax
mov rax, qword [rsp + 0xe8]
mov dword [rbx + 0x138], eax
cmp r12d, 0xa
je 0x398116dd0
mov rax, qword [rsp + 0xf0]
mov qword [rbx + 0x150], rax
mov rax, qword [rsp + 0xf8]
mov dword [rbx + 0x148], eax
cmp r12d, 0xb
je 0x398116dd0
mov rax, qword [rsp + 0x100]
mov qword [rbx + 0x160], rax
mov rax, qword [rsp + 0x108]
mov dword [rbx + 0x158], eax
cmp r12d, 0xc
je 0x398116dd0
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x170], rax
mov rax, qword [rsp + 0x118]
mov dword [rbx + 0x168], eax
cmp r12d, 0xd
je 0x398116dd0
mov rax, qword [rsp + 0x120]
mov qword [rbx + 0x180], rax
mov rax, qword [rsp + 0x128]
mov dword [rbx + 0x178], eax
cmp r12d, 0xe
je 0x398116dd0
mov rax, qword [rsp + 0x130]
mov qword [rbx + 0x190], rax
mov rax, qword [rsp + 0x138]
mov dword [rbx + 0x188], eax
cmp r12d, 0xf
je 0x398116dd0
mov rax, qword [rsp + 0x140]
mov qword [rbx + 0x1a0], rax
mov rax, qword [rsp + 0x148]
mov dword [rbx + 0x198], eax
nop dword [rax]
mov rax, qword [rsp + 0x48]
mov dword [rbx + 0xa0], r12d
mov rsi, qword [rax]
mov qword [rbx + 0x98], rsi
test rsi, rsi
je 0x398116e05
nop dword [rax + rax]
mov rcx, rsi
mov edx, 0x10
call fcn.398113c30
mov rsi, qword [rsi]
test rsi, rsi
jne 0x398116df0
mov rcx, rbx
call fcn.398116990
lea rax, [rsp + 0x44]
mov r8d, r12d
mov rdx, r14
mov rcx, qword [rbx + 0x88]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_WSARecv]
test eax, eax
jne 0x398116e70
or byte [rbx + 0x90], 1
xor r12d, r12d
jmp 0x398116ec6
test al, 4
je 0x398116acc
mov r12d, 0xffffffff
lea rsp, [rbp - 0x30]
mov eax, r12d
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x398116e41
mov eax, dword [rbx + 0xa0]
mov rdi, qword [rbx + 0x98]
xor esi, esi
test eax, eax
jle 0x398116eab
mov rcx, rdi
mov edx, 0x10
mov rdi, qword [rdi]
add esi, 1
call fcn.398113c40
cmp esi, dword [rbx + 0xa0]
jl 0x398116e90
mov rcx, rbx
xor edx, edx
call fcn.398117df0
mov rcx, rbx
call fcn.3981161c0
nop dword [rax]
mov r12d, 0xffffffff
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x398116e5e
xor ecx, ecx
call fcn.3981220c0
jmp 0x398116e5e