Function at 0x1400214f0
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbp, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov edi, dword [r8]
mov r13, r8
mov rsi, r9
test rbp, rbp
je 0x1400216a0
xor r15d, r15d
xor ebx, ebx
lea r14, [0x1400599b4]
nop
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021690
cmp edi, 0xa
ja case.default.0x140021554
mov r9d, edi
movsxd rax, dword [r14 + r9*4]
add rax, r14
jmp rax
cmp edi, 0xce
je case.0x140021554.6
cmp edi, 0xd0
jne 0x14002193c
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0xa
jne 0x140021690
lea rdi, [r13 + 8]
mov rcx, r13
xor eax, eax
movzx edx, word [r13 + 8]
and rdi, 0xfffffffffffffff8
mov qword [r13], 0
xor r9d, r9d
mov qword [r13 + 0xd0], 0
sub rcx, rdi
add ecx, 0xd8
shr ecx, 3
rep stosq qword [rdi], rax
mov eax, 9
mov word [r13 + 8], dx
mov word [r13 + 0xa], ax
mov rax, qword [0x140068cd0]
or byte [r13 + 0xc], 1
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
call dbg.tcp_transmit
lea eax, [r15 + 1]
mov rdi, rax
cmp rax, rbp
jae 0x140021ab1
lea rbx, [rsi + rax]
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021a80
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0x2b
jne 0x140021a0f
lea ebx, [r15 + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x140021ae9
add rbx, rsi
mov edi, 1
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021690
mov r9d, 1
nop dword [rax]
mov edx, 0xc
mov rcx, r12
mov qword [rsp + 0x28], r9
add edi, 1
call sym.banout_append_char
mov r9, qword [rsp + 0x28]
lea rax, [0x1400599ae]
movsx edx, byte [rax + r9]
movzx eax, byte [rbx]
cmp edx, eax
jne 0x140021908
nop dword [rax]
lea ebx, [r15 + 1]
mov r15, rbx
cmp rbx, rbp
jb 0x140021530
mov dword [r13], edi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp al, 0xa
jne 0x14002172e
lea ebx, [r15 + 1]
mov rax, rbx
cmp rbx, rbp
jae 0x140021adf
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021ab8
mov r15d, eax
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
movzx eax, byte [rbx]
cmp al, 0x2e
jne 0x1400216b8
lea ebx, [r15 + 1]
mov rax, rbx
cmp rbx, rbp
jae 0x140021a4f
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021a21
mov r15d, eax
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0xa
je 0x1400219a0
lea ebx, [r15 + 1]
mov rax, rbx
cmp rbx, rbp
jae 0x1400219fe
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x1400219d7
mov r15d, eax
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0xa
jne 0x14002172e
jmp 0x1400216bc
lea ebx, [r15 + 1]
mov r15, rbx
cmp rbx, rbp
jae 0x1400216a0
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021690
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0xa
jne 0x140021770
mov rcx, qword [rsp + 0xb0]
xor r9d, r9d
lea ebx, [r15 + 1]
mov r8d, 6
lea rdx, str.CAPA_r_n
call dbg.tcp_transmit
mov rax, rbx
cmp rbx, rbp
jae 0x140021aa7
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021a59
mov r15d, eax
mov edi, 4
nop dword [rax]
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
movzx eax, byte [rbx]
cmp al, 0x2d
je 0x140021980
cmp al, 0x2b
jne 0x140021908
lea ebx, [r15 + 1]
add edi, 1
mov r15, rbx
cmp rbx, rbp
jae 0x1400216a0
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021690
cmp edi, 0xb
sbb edi, edi
and dil, 0x38
add edi, 0xcd
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0x4f
jne 0x140021908
lea ebx, [r15 + 1]
add edi, 1
mov r15, rbx
cmp rbx, rbp
jae 0x1400216a0
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021690
cmp edi, 0xb
sbb edi, edi
and dil, 0x38
add edi, 0xce
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0x4b
jne 0x140021908
lea ebx, [r15 + 1]
lea eax, [rdi + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x140021a48
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021a08
mov edi, 0xd0
cmp eax, 0xa
jbe case.0x140021554.8
jmp 0x140021578
cmp edi, 0xcd
je case.0x140021554.5
ja 0x140021560
cmp edi, 0x64
jne 0x140021930
mov edx, 0xc
mov rcx, r12
call sym.banout_append_char
cmp byte [rbx], 0xa
jne 0x140021980
nop dword [rax]
mov rcx, qword [rsp + 0xb0]
lea ebx, [r15 + 1]
mov edi, 0xffffffff
mov r15, rbx
call dbg.tcp_close
cmp rbx, rbp
jb 0x140021530
jmp 0x1400216a0
cmp edi, 0xcc
je case.0x140021554.4
lea edx, [rbp + 1]
mov rcx, rdx
lea rax, [rsi + rdx]
mov r15d, ecx
cmp rdx, rbp
jae 0x1400216a0
movzx r8d, byte [rax]
mov rbx, rax
cmp r8b, 0xd
je 0x140021690
cmp edi, 0xa
ja case.default.0x140021554
mov edi, 7
mov r15d, ecx
cmp rdx, rbp
jb 0x140021952
jmp 0x1400216a0
lea ebx, [r15 + 1]
mov edi, 0x64
mov r15, rbx
cmp rbx, rbp
jb 0x140021530
jmp 0x1400216a0
mov rcx, qword [rsp + 0xb0]
xor r9d, r9d
lea ebx, [r15 + 1]
mov r8d, 6
lea rdx, str.STLS_r_n
mov edi, 0xcc
mov r15, rbx
call dbg.tcp_transmit
cmp rbx, rbp
jb 0x140021530
jmp 0x1400216a0
lea ebx, [r15 + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x1400219fe
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
jne case.0x140021554.8
mov edi, 8
jmp 0x140021690
mov edi, 8
jmp 0x1400216a0
mov edi, eax
jmp 0x140021690
mov r15d, edi
jmp 0x140021908
mov edi, 7
jmp 0x14002193c
lea ebx, [r15 + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x140021a4f
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
jne case.0x140021554.10
mov edi, 0xa
jmp 0x140021690
mov edi, eax
jmp 0x1400216a0
mov edi, 0xa
jmp 0x1400216a0
lea ebx, [r15 + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x140021aa7
add rbx, rsi
mov edi, 4
movzx r8d, byte [rbx]
cmp r8b, 0xd
jne case.0x140021554.4
jmp 0x140021690
lea ebx, [r15 + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x140021ab1
add rbx, rsi
xor edi, edi
movzx r8d, byte [rbx]
cmp r8b, 0xd
je 0x140021690
xor r9d, r9d
jmp case.0x140021554.0
mov edi, 4
jmp 0x1400216a0
xor edi, edi
jmp 0x1400216a0
lea ebx, [r15 + 2]
mov r15, rbx
cmp rbx, rbp
jae 0x140021adf
add rbx, rsi
movzx r8d, byte [rbx]
cmp r8b, 0xd
jne case.0x140021554.9
mov edi, 9
jmp 0x140021690
mov edi, 9
jmp 0x1400216a0
mov edi, 1
jmp 0x1400216a0