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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, qword [0x1400467c0]
xor ebp, ebp
mov r14, rcx
mov esi, ebp
nop dword [rax + rax]
mov rbx, rdi
mov rcx, qword [0x140042878]
xor r9d, r9d
mov rdx, rbx
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x14002260e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add eax, 0xffffd8bb
test eax, 0xfffffffa
jne 0x1400225c3
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp eax, 1
jne 0x1400225c3
cmp byte [rbx], 0xa
je 0x14002261d
inc rbx
jmp 0x1400225c3
mov byte [rbx], bpl
cmp rbx, rdi
jbe 0x14002262f
cmp byte [rbx - 1], 0xd
jne 0x14002262f
mov byte [rbx - 1], bpl
test rdi, rdi
je 0x1400225f1
cmp byte [rdi], bpl
je 0x140022658
cmp esi, 0x64
je 0x140022658
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bpl
jne 0x140022642
inc rdi
add rdi, rax
inc esi
jmp 0x1400225c0
lea rcx, [rdi + 1]
movsxd r9, esi
mov dword [r14 + 0x24], ebp
mov rax, r9
mov qword [r14 + 0x10], rcx
shl rax, 4
add rax, rcx
mov qword [r14 + 8], rax
lea eax, [rsi - 1]
mov dword [r14 + 0x28], eax
mov rax, qword [0x1400467c0]
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140022690
cmp cl, 9
jne 0x140022695
inc rax
jmp 0x140022683
mov qword [r14], rax
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x1400226b5
cmp cl, 9
je 0x1400226b5
test cl, cl
je 0x14002270a
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
jne 0x1400226a0
cmp byte [rax], bpl
je 0x14002270a
nop word [rax + rax]
mov byte [rax], bpl
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x1400226c3
cmp cl, 9
je 0x1400226c3
movsxd rdx, dword [r14 + 0x24]
mov rcx, qword [r14 + 8]
mov qword [rcx + rdx*8], rax
inc dword [r14 + 0x24]
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140022705
nop dword [rax]
cmp cl, 9
je 0x140022705
test cl, cl
je 0x14002270a
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
jne 0x1400226f0
cmp byte [rax], bpl
jne 0x1400226c0
test esi, esi
jle 0x1400227e2
mov r8, rbp
nop word [rax + rax]
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140022720
cmp cl, 9
je 0x140022720
mov rcx, qword [r14 + 0x10]
mov qword [r8 + rcx], rax
cmp byte [rax], 0x3a
je 0x14002274d
nop
cmp byte [rax], bpl
je 0x1400227bc
inc rax
cmp byte [rax], 0x3a
jne 0x140022740
cmp byte [rax], bpl
je 0x1400227bc
lea rcx, [rax - 1]
movzx edx, byte [rcx]
cmp dl, 0x20
je 0x140022763
cmp dl, 9
jne 0x14002276b
mov byte [rcx], bpl
dec rcx
jmp 0x140022756
mov byte [rax], bpl
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x14002276e
cmp cl, 9
je 0x14002276e
mov rcx, qword [r14 + 0x10]
mov qword [r8 + rcx + 8], rax
cmp byte [rax], bpl
je 0x140022798
nop dword [rax]
inc rax
cmp byte [rax], bpl
jne 0x140022790
mov rcx, qword [r14 + 0x10]
cmp rax, qword [r8 + rcx + 8]
jbe 0x1400227d5
lea rcx, [rax - 1]
movzx edx, byte [rcx]
cmp dl, 0x20
je 0x1400227b4
cmp dl, 9
jne 0x1400227d5
mov byte [rcx], bpl
dec rcx
jmp 0x1400227a7
mov rcx, qword [r14 + 0x10]
mov rdx, qword [r8 + rcx]
mov byte [rdx], bpl
mov rdx, qword [r14 + 0x10]
add rdx, r8
mov rcx, qword [rdx]
mov qword [rdx + 8], rcx
add r8, 0x10
dec r9
jne 0x140022720
cmp dword [r14 + 0x24], 1
lea r8, [r14 + 0x20]
mov dword [r8], ebp
jl 0x140022803
mov rcx, qword [r14 + 8]
lea rdx, [0x140033c54]
mov rcx, qword [rcx]
call sub.msvcrt.dll_sscanf
mov ebx, ebp
mov dword [r14 + 0x2c], ebp
cmp dword [r14 + 0x28], ebx
jle 0x1400228ed
mov rdi, rbp
nop word [rax + rax]
mov rcx, qword [r14 + 0x10]
lea rdx, [0x1400383b8]
mov rcx, qword [rdi + rcx]
call sub.msvcrt.dll__stricmp
test eax, eax
je 0x14002284e
inc ebx
add rdi, 0x10
cmp ebx, dword [r14 + 0x28]
jl 0x140022820
mov eax, 1
jmp 0x1400225f3
mov rcx, qword [r14 + 0x10]
movsxd rax, ebx
lea r8, [r14 + 0x2c]
add rax, rax
lea rdx, [0x140033c54]
mov rcx, qword [rcx + rax*8 + 8]
call sub.msvcrt.dll_sscanf
cmp dword [r14 + 0x2c], ebp
jge 0x140022877
mov dword [r14 + 0x2c], ebp
mov edi, dword [r14 + 0x2c]
test edi, edi
je 0x1400228e9
movsxd rcx, dword [r14 + 0x24]
mov rax, qword [r14 + 8]
lea rsi, [rax + rcx*8]
mov qword [r14 + 0x18], rsi
jle 0x1400228ed
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140042878]
mov r8d, edi
movsxd rdx, ebp
sub r8d, ebp
add rdx, rsi
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1400228d9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add eax, 0xffffd8bb
test eax, 0xfffffffa
je 0x1400225f1
add ebp, ebx
cmp ebp, edi
jl 0x1400228a0
mov eax, 1
jmp 0x1400225f3
mov qword [r14 + 0x18], rbp
mov eax, 1
jmp 0x1400225f3