Function at 0x140022ae0
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 [0x140047e00]
xor ebp, ebp
mov r14, rcx
mov esi, ebp
nop dword [rax + rax]
mov rbx, rdi
mov rcx, qword [0x140043758]
xor r9d, r9d
mov rdx, rbx
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x140022b5e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add eax, 0xffffd8bb
test eax, 0xfffffffa
jne 0x140022b13
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 0x140022b13
cmp byte [rbx], 0xa
je 0x140022b6d
inc rbx
jmp 0x140022b13
mov byte [rbx], bpl
cmp rbx, rdi
jbe 0x140022b7f
cmp byte [rbx - 1], 0xd
jne 0x140022b7f
mov byte [rbx - 1], bpl
test rdi, rdi
je 0x140022b41
cmp byte [rdi], bpl
je 0x140022ba8
cmp esi, 0x64
je 0x140022ba8
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bpl
jne 0x140022b92
inc rdi
add rdi, rax
inc esi
jmp 0x140022b10
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 [0x140047e00]
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140022be0
cmp cl, 9
jne 0x140022be5
inc rax
jmp 0x140022bd3
mov qword [r14], rax
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140022c05
cmp cl, 9
je 0x140022c05
test cl, cl
je 0x140022c5a
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
jne 0x140022bf0
cmp byte [rax], bpl
je 0x140022c5a
nop word [rax + rax]
mov byte [rax], bpl
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140022c13
cmp cl, 9
je 0x140022c13
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 0x140022c55
nop dword [rax]
cmp cl, 9
je 0x140022c55
test cl, cl
je 0x140022c5a
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
jne 0x140022c40
cmp byte [rax], bpl
jne 0x140022c10
test esi, esi
jle 0x140022d32
mov r8, rbp
nop word [rax + rax]
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140022c70
cmp cl, 9
je 0x140022c70
mov rcx, qword [r14 + 0x10]
mov qword [r8 + rcx], rax
cmp byte [rax], 0x3a
je 0x140022c9d
nop
cmp byte [rax], bpl
je 0x140022d0c
inc rax
cmp byte [rax], 0x3a
jne 0x140022c90
cmp byte [rax], bpl
je 0x140022d0c
lea rcx, [rax - 1]
movzx edx, byte [rcx]
cmp dl, 0x20
je 0x140022cb3
cmp dl, 9
jne 0x140022cbb
mov byte [rcx], bpl
dec rcx
jmp 0x140022ca6
mov byte [rax], bpl
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140022cbe
cmp cl, 9
je 0x140022cbe
mov rcx, qword [r14 + 0x10]
mov qword [r8 + rcx + 8], rax
cmp byte [rax], bpl
je 0x140022ce8
nop dword [rax]
inc rax
cmp byte [rax], bpl
jne 0x140022ce0
mov rcx, qword [r14 + 0x10]
cmp rax, qword [r8 + rcx + 8]
jbe 0x140022d25
lea rcx, [rax - 1]
movzx edx, byte [rcx]
cmp dl, 0x20
je 0x140022d04
cmp dl, 9
jne 0x140022d25
mov byte [rcx], bpl
dec rcx
jmp 0x140022cf7
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 0x140022c70
cmp dword [r14 + 0x24], 1
lea r8, [r14 + 0x20]
mov dword [r8], ebp
jl 0x140022d53
mov rcx, qword [r14 + 8]
lea rdx, [0x140034ee4]
mov rcx, qword [rcx]
call sub.msvcrt.dll_sscanf
mov ebx, ebp
mov dword [r14 + 0x2c], ebp
cmp dword [r14 + 0x28], ebx
jle 0x140022e3d
mov rdi, rbp
nop word [rax + rax]
mov rcx, qword [r14 + 0x10]
lea rdx, [0x1400394c8]
mov rcx, qword [rdi + rcx]
call sub.msvcrt.dll__stricmp
test eax, eax
je 0x140022d9e
inc ebx
add rdi, 0x10
cmp ebx, dword [r14 + 0x28]
jl 0x140022d70
mov eax, 1
jmp 0x140022b43
mov rcx, qword [r14 + 0x10]
movsxd rax, ebx
lea r8, [r14 + 0x2c]
add rax, rax
lea rdx, [0x140034ee4]
mov rcx, qword [rcx + rax*8 + 8]
call sub.msvcrt.dll_sscanf
cmp dword [r14 + 0x2c], ebp
jge 0x140022dc7
mov dword [r14 + 0x2c], ebp
mov edi, dword [r14 + 0x2c]
test edi, edi
je 0x140022e39
movsxd rcx, dword [r14 + 0x24]
mov rax, qword [r14 + 8]
lea rsi, [rax + rcx*8]
mov qword [r14 + 0x18], rsi
jle 0x140022e3d
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140043758]
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 0x140022e29
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add eax, 0xffffd8bb
test eax, 0xfffffffa
je 0x140022b41
add ebp, ebx
cmp ebp, edi
jl 0x140022df0
mov eax, 1
jmp 0x140022b43
mov qword [r14 + 0x18], rbp
mov eax, 1
jmp 0x140022b43