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

Disassembly:
push rsi
push rdi
push r12
push r14
sub rsp, 0x48
mov r14, r9
mov r12, r8
mov rdi, rdx
mov rsi, rcx
test rdx, rdx
jne 0x14041c416
cmp r8, 0xffffffffffffffff
je 0x14041c5cf
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], r13
xor r13d, r13d
mov ebp, r13d
cmp dword [rcx + 0x98], r13d
jle 0x14041c5c2
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], r15
mov r15d, r13d
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rsi + 0x90]
add rbx, r15
mov rcx, qword [rbx + 0x28]
cmp rcx, 0xffffffffffffffff
je 0x14041c683
cmp dword [rbx + 0x88], r13d
jne 0x14041c683
test rdi, rdi
je 0x14041c4e8
mov rdx, rdi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x14041c683
mov edx, dword [rdi]
mov eax, r13d
mov r8, qword [rbx + 0x28]
test edx, edx
je 0x14041c4e2
mov ecx, eax
cmp qword [rdi + rcx*8 + 8], r8
je 0x14041c4ac
inc eax
cmp eax, edx
jb 0x14041c497
mov rcx, qword [rbx + 0x28]
jmp 0x14041c4f1
lea ecx, [rdx - 1]
cmp eax, ecx
jae 0x14041c4dd
nop dword [rax]
nop word [rax + rax]
mov edx, eax
lea r8d, [rax + 1]
mov rax, qword [rdi + r8*8 + 8]
mov qword [rdi + rdx*8 + 8], rax
mov eax, r8d
mov edx, dword [rdi]
lea ecx, [rdx - 1]
cmp r8d, ecx
jb 0x14041c4c0
lea eax, [rdx - 1]
mov dword [rdi], eax
mov rcx, qword [rbx + 0x28]
jmp 0x14041c4f1
cmp rcx, r12
jne 0x14041c683
movsxd rax, dword [rbx + 0x34]
xor r9d, r9d
mov r10, qword [rsi + 0x12200]
cmp eax, 2
je 0x14041c5da
mov r8d, 2
lea rdx, [rbx + 0x30]
sub r8d, eax
add rdx, rax
test r10, r10
je 0x14041c53c
mov rax, qword [rsi + 0x12208]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
movsxd r8, r8d
mov qword [rsp + 0x20], r13
call qword [r10 + 0x18]
jmp 0x14041c544
call qword [sym.imp.WS2_32.dll_recv]
cdqe
test rax, rax
jg 0x14041c57b
cmp rax, 0xffffffffffffffff
jne 0x14041c569
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x14041c683
cmp eax, 0x2733
je 0x14041c683
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.14041b960
jmp 0x14041c683
add dword [rbx + 0x34], eax
cmp dword [rbx + 0x34], 2
jne 0x14041c683
movzx ecx, byte [rbx + 0x30]
movzx eax, byte [rbx + 0x31]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x38], ecx
call qword [str.PhA_]
mov qword [rbx + 0x40], rax
test rax, rax
jne 0x14041c67f
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.14041b960
mov rbx, qword [rsp + 0x70]
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
add rsp, 0x48
pop r14
pop r12
pop rdi
pop rsi
ret
movsxd rax, dword [rbx + 0x48]
mov r8d, dword [rbx + 0x38]
mov rdx, rax
add rdx, qword [rbx + 0x40]
sub r8d, eax
test r10, r10
je 0x14041c610
mov rax, qword [rsi + 0x12208]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
movsxd r8, r8d
mov qword [rsp + 0x20], r13
call qword [r10 + 0x18]
jmp 0x14041c618
call qword [sym.imp.WS2_32.dll_recv]
cdqe
test rax, rax
jg 0x14041c644
cmp rax, 0xffffffffffffffff
jne 0x14041c635
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x14041c683
cmp eax, 0x2733
je 0x14041c683
mov r8, r14
mov edx, ebp
mov rcx, rsi
call fcn.14041b960
jmp 0x14041c683
add dword [rbx + 0x48], eax
mov r8d, dword [rbx + 0x38]
cmp dword [rbx + 0x48], r8d
jne 0x14041c683
mov rdx, qword [rbx + 0x40]
mov r9d, ebp
mov qword [rsp + 0x28], r14
mov rcx, rsi
mov dword [rsp + 0x20], 1
call fcn.14041c040
mov rcx, qword [rbx + 0x40]
call qword [str._hA_]
mov qword [rbx + 0x40], r13
mov dword [rbx + 0x34], r13d
mov dword [rbx + 0x48], r13d
inc ebp
add r15, 0x90
cmp ebp, dword [rsi + 0x98]
jl 0x14041c450
jmp 0x14041c5b8