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

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0x178
mov rax, qword [0x1400d41c0]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x1d0]
lea rsi, [rsp + 0x70]
xor r14d, r14d
mov r13d, r8d
mov qword [rsp + 0x30], rdx
mov ebx, r14d
mov byte [rsp + 0x20], bl
mov r12d, r9d
mov qword [rsp + 0x38], rcx
mov rbp, rcx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x24], r14d
test rcx, rcx
je 0x14002c298
cmp dword [rcx], 0xbab1e
jne 0x14002c298
cmp byte [rcx + 0x178], bl
je 0x14002befd
lea eax, [r14 + 8]
jmp 0x14002bfe5
mov qword [rsp + 0x170], rdi
mov rdi, qword [rcx + 8]
mov qword [rsp + 0x168], r15
test rdi, rdi
je 0x14002bf7d
nop word [rax + rax]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.14002d090
mov r10d, eax
lea r8, [rsp + 0x48]
mov eax, 1
mov r9d, r14d
nop dword [rax]
mov rdx, 0xffffffffffffffff
test r10d, eax
je 0x14002bf51
mov rdx, qword [r8]
inc ebx
mov ecx, eax
rol ecx, 0x10
test r10d, ecx
je 0x14002bf60
mov rdx, qword [r8]
inc ebx
cmp rdx, 0xffffffffffffffff
je 0x14002bf75
inc r9d
rol eax, 1
add r8, 8
cmp r9d, 5
jb 0x14002bf40
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14002bf20
lea rdx, [rsp + 0x28]
mov rcx, rbp
call fcn.14002e3e0
mov eax, dword [rsp + 0x28]
test eax, eax
js 0x14002bf99
cmp eax, r12d
cmovl r12d, eax
movzx r15d, byte [rsp + 0x1e0]
mov r14d, ebx
add ebx, r13d
test r15b, r15b
je 0x14002bfb9
cmp qword [rbp + 0x180], 0xffffffffffffffff
je 0x14002bfb9
inc ebx
cmp ebx, 0xa
jbe 0x14002c00b
mov ecx, ebx
shl rcx, 4
call qword [fcn.140080bc0]
mov rsi, rax
test rax, rax
jne 0x14002c006
lea eax, [rsi + 3]
mov rdi, qword [rsp + 0x170]
mov r15, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140073fb0
add rsp, 0x178
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov byte [rsp + 0x20], 1
xor r11d, r11d
mov r10d, 0x300
mov ebx, r11d
test r14d, r14d
je 0x14002c0c5
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x14002c0c5
xor ebp, ebp
nop
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.14002d090
mov r10d, eax
lea r8, [rsp + 0x48]
mov r9d, ebp
mov edx, 1
nop dword [rax]
mov rcx, 0xffffffffffffffff
test r10d, edx
je 0x14002c074
mov rax, qword [r8]
mov ecx, ebx
add rcx, rcx
inc ebx
mov qword [rsi + rcx*8], rax
mov word [rsi + rcx*8 + 8], 0x300
mov rcx, qword [r8]
mov eax, edx
rol eax, 0x10
test r10d, eax
je 0x14002c096
mov rax, qword [r8]
mov ecx, ebx
add rcx, rcx
inc ebx
mov qword [rsi + rcx*8], rax
mov word [rsi + rcx*8 + 8], reloc.WS2_32.dll_recv
mov rcx, qword [r8]
cmp rcx, 0xffffffffffffffff
je 0x14002c0ab
inc r9d
rol edx, 1
add r8, 8
cmp r9d, 5
jb 0x14002c050
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14002c030
mov rbp, qword [rsp + 0x38]
mov r10d, 0x300
xor r11d, r11d
mov r9d, 0x400
test r13d, r13d
je 0x14002c12c
mov rcx, qword [rsp + 0x30]
mov r8, r13
add rcx, 8
nop dword [rax]
mov rax, qword [rcx - 8]
mov edx, ebx
shl rdx, 4
add rdx, rsi
mov qword [rdx], rax
movzx eax, r11w
mov word [rdx + 8], r11w
test byte [rcx], 1
je 0x14002c106
mov word [rdx + 8], r10w
mov eax, r10d
test byte [rcx], 2
je 0x14002c113
or ax, r9w
mov word [rdx + 8], ax
test byte [rcx], 4
je 0x14002c120
or ax, 0x10
mov word [rdx + 8], ax
inc ebx
add rcx, 0x10
sub r8, 1
jne 0x14002c0e0
test r15b, r15b
je 0x14002c14f
mov rcx, qword [rbp + 0x180]
cmp rcx, 0xffffffffffffffff
je 0x14002c14f
mov eax, ebx
add rax, rax
inc ebx
mov qword [rsi + rax*8], rcx
mov word [rsi + rax*8 + 8], r10w
test ebx, ebx
je 0x14002c224
mov r8d, r12d
mov edx, ebx
mov rcx, rsi
call fcn.14003e620
mov edi, eax
test eax, eax
jle 0x14002c224
xor r9d, r9d
mov r11d, 0x300
test r13d, r13d
je 0x14002c1d8
mov r10, qword [rsp + 0x30]
add r10, 0xa
nop word [rax + rax]
mov ecx, 0
lea edx, [r14 + r9]
add rdx, rdx
lea r10, [r10 + 0x10]
movsx r8d, word [rsi + rdx*8 + 0xa]
test r11d, r8d
setne cl
movzx edx, cx
or dx, 4
test r8b, 0x10
cmove dx, cx
movzx eax, dx
or ax, 2
bt r8d, 0xa
cmovae ax, dx
inc r9d
mov word [r10 - 0x10], ax
cmp r9d, r13d
jb 0x14002c190
test r15b, r15b
je 0x14002c228
cmp qword [rbp + 0x180], 0xffffffffffffffff
je 0x14002c228
lea ecx, [r14 + r13]
add rcx, rcx
test word [rsi + rcx*8 + 0xa], r11w
je 0x14002c228
nop word [rax + rax]
mov rcx, qword [rbp + 0x180]
lea rdx, [rsp + 0x110]
xor r9d, r9d
lea r8d, [r9 + 0x40]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jns 0x14002c200
dec edi
jmp 0x14002c228
mov edi, dword [rsp + 0x24]
cmp byte [rsp + 0x20], 0
je 0x14002c238
mov rcx, rsi
call qword [fcn.14007f8a8]
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14002c244
mov dword [rax], edi
cmp byte [rsp + 0x1d8], 0
je 0x14002c291
test ebx, ebx
jne 0x14002c291
cmp dword [rbp], 0xbab1e
mov dword [rsp + 0x24], ebx
jne 0x14002c291
cmp byte [rbp + 0x178], bl
jne 0x14002c291
lea rdx, [rsp + 0x24]
mov rcx, rbp
call fcn.14002e3e0
test eax, eax
jne 0x14002c291
mov ecx, dword [rsp + 0x24]
test ecx, ecx
je 0x14002c291
cmp ecx, r12d
jg 0x14002c289
test ecx, ecx
jns 0x14002c28c
mov ecx, r12d
call fcn.14003ee00
xor eax, eax
jmp 0x14002bfd5
mov eax, 1
jmp 0x14002bfe5