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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x288
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, WSAAsyncSelect
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x2a8]
lea rcx, [0x14024c061]
call fcn.1400b51d0
nop
mov rax, qword [rbp + 0x260]
mov rax, qword [rax + 0xc8]
mov qword [rbp + 8], rax
mov dword [rbp + 0x84], 0
mov dword [rbp + 0xa4], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x148], 0
xor eax, eax
cmp eax, 1
je 0x140048785
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rbp + 0x128]
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0x24]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov dword [rbp + 0xa4], eax
cmp dword [rbp + 0xa4], 0
jne 0x1400483cd
cmp qword [rbp + 0x128], 0
je 0x1400483cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x164], eax
cmp dword [rbp + 0x164], 0x40
je 0x1400483cd
cmp dword [rbp + 0x164], 0x4d4
je 0x1400483cd
cmp dword [rbp + 0x164], 0x3e3
je 0x1400483cd
cmp dword [rbp + 0x164], 0x79
je 0x1400483cd
cmp dword [rbp + 0x164], 0x4d0
je 0x1400483cd
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.Error_Thread:_GetQueueCompletionStatus___d__
mov edx, 0xff
lea rcx, [0x14022f400]
call fcn.14004c6a0
nop
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
xor eax, eax
jmp 0x14004878a
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
cmp qword [rbp + 0xe8], 0
jb 0x1400483fb
cmp qword [rbp + 0xe8], 0x5dc
jb 0x140048417
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
jmp 0x1400482e0
imul rax, qword [rbp + 0xe8], 0x48
lea rcx, [0x1402030f0]
mov rax, qword [rcx + rax + 0x30]
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x108]
mov eax, dword [rax + 0x100a0]
dec eax
mov rcx, qword [rbp + 0x108]
mov dword [rcx + 0x100a0], eax
cmp dword [rbp + 0x24], 0
jne 0x140048487
xor r8d, r8d
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x260]
call fcn.140046120
nop
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
jmp 0x1400482e0
mov rax, qword [rbp + 0x128]
mov qword [rbp + 0x148], rax
cmp qword [rbp + 0x148], 0
jne 0x1400484a4
jmp 0x1400482e0
mov rax, qword [rbp + 0x148]
cmp dword [rax + 0x803c], 1
jne 0x140048541
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 0x8038]
add eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x148]
mov dword [rcx + 0x8038], eax
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x148]
mov ecx, dword [rcx + 0x8034]
cmp dword [rax + 0x8038], ecx
jl 0x140048528
mov rax, qword [rbp + 0x148]
mov dword [rax + 0x8040], 0
mov rax, qword [rbp + 0x148]
cmp dword [rax + 0x8030], 0
jle 0x140048526
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x260]
call fcn.140047030
nop
jmp 0x14004853c
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x260]
call fcn.140046dd0
nop
jmp 0x140048769
mov rax, qword [rbp + 0x148]
cmp dword [rax + 0x803c], 0
jne 0x140048769
mov dword [rbp + 0x44], 0
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 0x8038]
add eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x148]
mov dword [rcx + 0x8038], eax
mov rax, qword [rbp + 0x108]
mov r8d, dword [rax + 8]
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x260]
call fcn.140047cf0
movzx eax, al
test eax, eax
jne 0x140048601
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, qword [rbp + 0x108]
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x20], ecx
mov r9d, eax
lea r8, str.error_L1:_Socket_Header_error__d___d
mov edx, 0xff
lea rcx, [0x14022f400]
call fcn.14004c6a0
nop
xor r8d, r8d
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x260]
call fcn.140046120
nop
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
jmp 0x1400482e0
mov rax, qword [rbp + 0x148]
mov dword [rax + 0x8040], 0
mov dword [rbp + 0x64], 0
mov rax, qword [rbp + 0x148]
mov r8d, 0x20
xor edx, edx
mov rcx, rax
call fcn.14019f170
nop
mov rax, qword [rbp + 0x148]
mov ecx, 0x4000
sub ecx, dword [rax + 0x8038]
mov eax, ecx
mov rcx, qword [rbp + 0x148]
mov dword [rcx + 0x20], eax
mov rax, qword [rbp + 0x148]
movsxd rax, dword [rax + 0x8038]
mov rcx, qword [rbp + 0x148]
lea rax, [rcx + rax + 0x30]
mov rcx, qword [rbp + 0x148]
mov qword [rcx + 0x28], rax
mov rax, qword [rbp + 0x148]
mov dword [rax + 0x803c], 0
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x148]
add rcx, 0x20
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x64]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x44]
mov r8d, 1
mov rdx, rcx
mov rax, qword [rbp + 0x108]
mov rcx, qword [rax]
call qword [sym.imp.WS2_32.dll_WSARecv]
mov dword [rbp + 0xc4], eax
cmp dword [rbp + 0xc4], 0xffffffff
jne 0x14004873c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x14004873c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r9d, eax
lea r8, str.WSARecv___failed_with_error__d
mov edx, 0xff
lea rcx, [0x14022f400]
call fcn.14004c6a0
nop
xor r8d, r8d
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x260]
call fcn.140046120
nop
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
jmp 0x1400482e0
mov rax, qword [rbp + 0x108]
mov eax, dword [rax + 0x100a0]
inc eax
mov rcx, qword [rbp + 0x108]
mov dword [rcx + 0x100a0], eax
mov rax, qword [rbp + 0x148]
mov dword [rax + 0x8040], 1
mov rax, qword [rbp + 0x260]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
jmp 0x1400482e0
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x1401b50f0]
call fcn.1400b4fa0
mov rax, rdi
lea rsp, [rbp + 0x248]
pop rdi
pop rbp
ret