Function at 0x140020970
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 [0x140046360]
xor ebp, ebp
mov r14, rcx
mov esi, ebp
nop dword [rax + rax]
mov rbx, rdi
mov rcx, qword [0x140041de8]
xor r9d, r9d
mov rdx, rbx
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1400209ee
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add eax, 0xffffd8bb
test eax, 0xfffffffa
jne 0x1400209a3
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 0x1400209a3
cmp byte [rbx], 0xa
je 0x1400209fd
inc rbx
jmp 0x1400209a3
mov byte [rbx], bpl
cmp rbx, rdi
jbe 0x140020a0f
cmp byte [rbx - 1], 0xd
jne 0x140020a0f
mov byte [rbx - 1], bpl
test rdi, rdi
je 0x1400209d1
cmp byte [rdi], bpl
je 0x140020a38
cmp esi, 0x64
je 0x140020a38
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bpl
jne 0x140020a22
inc rdi
add rdi, rax
inc esi
jmp 0x1400209a0
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 [0x140046360]
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140020a70
cmp cl, 9
jne 0x140020a75
inc rax
jmp 0x140020a63
mov qword [r14], rax
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140020a95
cmp cl, 9
je 0x140020a95
test cl, cl
je 0x140020aea
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
jne 0x140020a80
cmp byte [rax], bpl
je 0x140020aea
nop word [rax + rax]
mov byte [rax], bpl
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140020aa3
cmp cl, 9
je 0x140020aa3
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 0x140020ae5
nop dword [rax]
cmp cl, 9
je 0x140020ae5
test cl, cl
je 0x140020aea
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
jne 0x140020ad0
cmp byte [rax], bpl
jne 0x140020aa0
test esi, esi
jle 0x140020bc2
mov r8, rbp
nop word [rax + rax]
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140020b00
cmp cl, 9
je 0x140020b00
mov rcx, qword [r14 + 0x10]
mov qword [r8 + rcx], rax
cmp byte [rax], 0x3a
je 0x140020b2d
nop
cmp byte [rax], bpl
je 0x140020b9c
inc rax
cmp byte [rax], 0x3a
jne 0x140020b20
cmp byte [rax], bpl
je 0x140020b9c
lea rcx, [rax - 1]
movzx edx, byte [rcx]
cmp dl, 0x20
je 0x140020b43
cmp dl, 9
jne 0x140020b4b
mov byte [rcx], bpl
dec rcx
jmp 0x140020b36
mov byte [rax], bpl
movzx ecx, byte [rax + 1]
inc rax
cmp cl, 0x20
je 0x140020b4e
cmp cl, 9
je 0x140020b4e
mov rcx, qword [r14 + 0x10]
mov qword [r8 + rcx + 8], rax
cmp byte [rax], bpl
je 0x140020b78
nop dword [rax]
inc rax
cmp byte [rax], bpl
jne 0x140020b70
mov rcx, qword [r14 + 0x10]
cmp rax, qword [r8 + rcx + 8]
jbe 0x140020bb5
lea rcx, [rax - 1]
movzx edx, byte [rcx]
cmp dl, 0x20
je 0x140020b94
cmp dl, 9
jne 0x140020bb5
mov byte [rcx], bpl
dec rcx
jmp 0x140020b87
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 0x140020b00
cmp dword [r14 + 0x24], 1
lea r8, [r14 + 0x20]
mov dword [r8], ebp
jl 0x140020be3
mov rcx, qword [r14 + 8]
lea rdx, [0x140033024]
mov rcx, qword [rcx]
call sub.msvcrt.dll_sscanf
mov ebx, ebp
mov dword [r14 + 0x2c], ebp
cmp dword [r14 + 0x28], ebx
jle 0x140020ccd
mov rdi, rbp
nop word [rax + rax]
mov rcx, qword [r14 + 0x10]
lea rdx, [0x140037798]
mov rcx, qword [rdi + rcx]
call sub.msvcrt.dll__stricmp
test eax, eax
je 0x140020c2e
inc ebx
add rdi, 0x10
cmp ebx, dword [r14 + 0x28]
jl 0x140020c00
mov eax, 1
jmp 0x1400209d3
mov rcx, qword [r14 + 0x10]
movsxd rax, ebx
lea r8, [r14 + 0x2c]
add rax, rax
lea rdx, [0x140033024]
mov rcx, qword [rcx + rax*8 + 8]
call sub.msvcrt.dll_sscanf
cmp dword [r14 + 0x2c], ebp
jge 0x140020c57
mov dword [r14 + 0x2c], ebp
mov edi, dword [r14 + 0x2c]
test edi, edi
je 0x140020cc9
movsxd rcx, dword [r14 + 0x24]
mov rax, qword [r14 + 8]
lea rsi, [rax + rcx*8]
mov qword [r14 + 0x18], rsi
jle 0x140020ccd
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140041de8]
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 0x140020cb9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
add eax, 0xffffd8bb
test eax, 0xfffffffa
je 0x1400209d1
add ebp, ebx
cmp ebp, edi
jl 0x140020c80
mov eax, 1
jmp 0x1400209d3
mov qword [r14 + 0x18], rbp
mov eax, 1
jmp 0x1400209d3