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

Disassembly:
push rbp
mov eax, 0x2270
call fcn.0041add0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x2200], rcx
mov qword [rbp + 0x21e8], 0
mov dword [rbp + 0x21e4], 0
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
mov edx, 0xa
mov rcx, rax
call sym.strchr
test rax, rax
jne 0x4bf411
lea rax, [rbp + 0x21b0]
mov rcx, rax
call dbg.cgtime
mov edx, 0x3c
mov rcx, qword [rbp + 0x2200]
call dbg.socket_full
xor eax, 1
test al, al
je 0x4bf1e7
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4bf5e1
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4bf1ad
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4bf1ad
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4bf5e1
lea rax, [rbp + 0x1a0]
lea r8, str.Timed_out_waiting_for_data_on_socket_full
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp + 0x1a0]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
jmp 0x4bf5e5
lea rax, [rbp + 0x1a0]
mov r8d, 0x2000
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x228]
lea rdx, [rbp + 0x1a0]
mov r9d, 0
mov r8d, 0x1ffc
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_recv]
call rax
cdqe
mov qword [rbp + 0x21d8], rax
cmp qword [rbp + 0x21d8], 0
jne 0x4bf2b9
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4bf2a8
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4bf279
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4bf279
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4bf2a8
lea rax, [rbp - 0x60]
lea r8, str.Socket_closed_waiting_in_recv_line
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x60]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov rcx, qword [rbp + 0x2200]
call dbg.suspend_stratum
jmp 0x4bf411
lea rax, [rbp + 0x21a8]
mov rcx, rax
call dbg.cgtime
lea rdx, [rbp + 0x21b0]
lea rax, [rbp + 0x21a8]
mov rcx, rax
call dbg.tdiff
cvttsd2si eax, xmm0
mov dword [rbp + 0x21e4], eax
cmp qword [rbp + 0x21d8], 0
jns 0x4bf39b
call dbg.sock_blocks
xor eax, 1
test al, al
jne 0x4bf326
mov eax, 0x3c
sub eax, dword [rbp + 0x21e4]
mov edx, eax
mov rcx, qword [rbp + 0x2200]
call dbg.socket_full
xor eax, 1
test al, al
je 0x4bf3e4
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4bf38d
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4bf35e
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4bf35e
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4bf38d
lea rax, [rbp - 0x60]
lea r8, str.Failed_to_recv_sock_in_recv_line
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x60]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov rcx, qword [rbp + 0x2200]
call dbg.suspend_stratum
jmp 0x4bf411
lea rax, [rbp + 0x1a0]
mov rcx, rax
call sym.strlen
mov qword [rbp + 0x21d0], rax
mov rax, qword [rbp + 0x21d0]
mov rdx, rax
mov rcx, qword [rbp + 0x2200]
call dbg.recalloc_sock
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
lea rdx, [rbp + 0x1a0]
mov rcx, rax
call sym.strcat
cmp dword [rbp + 0x21e4], 0x3b
jg 0x4bf411
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
mov edx, 0xa
mov rcx, rax
call sym.strchr
test rax, rax
je 0x4bf1e7
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
mov rcx, rax
call sym.strlen
mov qword [rbp + 0x21c8], rax
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
lea rdx, [0x0050f371]
mov rcx, rax
call sym.strtok
mov qword [rbp + 0x21c0], rax
cmp qword [rbp + 0x21c0], 0
jne 0x4bf4d6
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4bf5e4
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4bf49c
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4bf49c
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4bf5e4
lea rax, [rbp + 0x1a0]
lea r8, str.Failed_to_parse_a__n_terminated_string_in_recv_line
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp + 0x1a0]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
jmp 0x4bf5e4
mov rax, qword [rbp + 0x21c0]
mov rcx, rax
call sym.strdup
mov qword [rbp + 0x21e8], rax
mov rax, qword [rbp + 0x21e8]
mov rcx, rax
call sym.strlen
mov qword [rbp + 0x21b8], rax
mov rax, qword [rbp + 0x21b8]
add rax, 1
cmp qword [rbp + 0x21c8], rax
jle 0x4bf562
mov rax, qword [rbp + 0x21c8]
sub rax, qword [rbp + 0x21b8]
add rax, 1
mov rcx, rax
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
mov rdx, qword [rbp + 0x21b8]
add rdx, 1
add rdx, rax
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
mov r8, rcx
mov rcx, rax
call sym.memmove
jmp 0x4bf573
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x230]
mov byte [rax], 0
mov rax, qword [rbp + 0x2200]
mov rax, qword [rax + 0x1e0]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x2200]
mov qword [rax + 0x1e0], rdx
mov rax, qword [rbp + 0x2200]
mov rdx, qword [rax + 0x1e8]
mov rax, qword [rbp + 0x21b8]
add rdx, rax
mov rax, qword [rbp + 0x2200]
mov qword [rax + 0x1e8], rdx
mov rax, qword [rbp + 0x2200]
mov rdx, qword [rax + 0x1f0]
mov rax, qword [rbp + 0x21b8]
add rdx, rax
mov rax, qword [rbp + 0x2200]
mov qword [rax + 0x1f0], rdx
jmp 0x4bf5e5
nop
jmp 0x4bf5e5
nop
cmp qword [rbp + 0x21e8], 0
jne 0x4bf600
mov rcx, qword [rbp + 0x2200]
call dbg.clear_sock
jmp 0x4bf685
mov rax, qword [0x00514b10]
movzx eax, byte [rax]
test al, al
je 0x4bf685
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4bf685
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4bf646
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4bf646
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4bf685
mov rdx, qword [rbp + 0x21e8]
lea rax, [rbp + 0x1a0]
mov r9, rdx
lea r8, str.RECVD:__s
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp + 0x1a0]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov rax, qword [rbp + 0x21e8]
add rsp, 0x2270
pop rbp
ret