Function at 0x51ef20
Capabilities:
Check for software breakpoints

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x51f1af
push rbp
mov rbp, rsp
sub rsp, 0x38
mov rcx, qword [rax + 0x20]
mov rsi, qword [rax + 0x40]
nop word [rax + rax]
cmp rcx, rsi
jb 0x51f1a6
mov qword [rsp + 0x48], rax
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x30], rdx
mov rdi, qword [rax + 0x18]
mov r8, qword [rax + 0x28]
sub r8, rsi
sub rcx, rsi
mov r9, r8
neg r8
sar r8, 0x3f
and rsi, r8
add rsi, rdi
mov rbx, rcx
mov rcx, r9
mov rax, rsi
nop
call sym.unicode_utf8.DecodeRune
mov dword [rsp + 0x1c], eax
mov rdx, qword [rsp + 0x30]
mov rsi, qword [rdx]
mov rdi, qword [rsp + 0x48]
mov r8, qword [rdi + 0x38]
mov qword [rsp + 0x20], r8
mov rax, rdi
call rsi
test al, al
je 0x51efcd
mov rax, qword [0x007a1bd8]
mov ebx, dword [rsp + 0x1c]
call sym.unicode.Is
test al, al
je 0x51efc2
xor eax, eax
nop
jmp 0x51efe7
mov eax, 1
add rsp, 0x38
pop rbp
ret
xor eax, eax
add rsp, 0x38
pop rbp
ret
mov rax, qword [rsp + 0x48]
call sym.golang.org_x_text_cases._context_.copy
mov rax, qword [rsp + 0x28]
inc rax
cmp rax, 0x1e
jge 0x51f185
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x48]
nop dword [rax + rax]
call sym.golang.org_x_text_cases._context_.next
test al, al
je 0x51f17c
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + 0x70]
call sym.golang.org_x_text_cases.info.cccType
nop dword [rax + rax]
cmp ax, 0x10
je 0x51f167
cmp ax, 0x20
jne 0x51efd5
mov rax, qword [rsp + 0x48]
lea rbx, [0x005ccffc]
mov ecx, 2
call sym.golang.org_x_text_cases._context_.hasPrefix
test al, al
jne 0x51f054
mov rax, qword [rsp + 0x48]
jmp 0x51f154
mov rax, qword [rsp + 0x48]
call sym.golang.org_x_text_cases._context_.next
nop
test al, al
je 0x51f15f
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x20]
cmp rcx, rdx
jbe 0x51f19e
mov rsi, qword [rax]
movzx esi, byte [rsi + rdx]
cmp sil, 0x49
jne 0x51f154
lea rsi, [rdx + 1]
cmp qword [rax + 0x38], rsi
jne 0x51f154
mov rcx, qword [rax + 0x20]
mov rsi, qword [rax + 0x40]
cmp rsi, rcx
jae 0x51f196
mov rdi, qword [rax + 0x18]
movzx r8d, byte [rdi + rsi]
nop dword [rax + rax]
cmp r8b, 0xcc
jne 0x51f154
lea r8, [rsi + 1]
cmp rcx, r8
jbe 0x51f18e
movzx esi, byte [rsi + rdi + 1]
nop dword [rax]
cmp sil, 0x81
ja 0x51f114
cmp sil, 0x80
jne 0x51f100
mov ecx, 2
lea rbx, [0x005ccffe]
jmp 0x51f140
cmp sil, 0x81
jne 0x51f13c
mov ecx, 2
lea rbx, [0x005cd000]
jmp 0x51f140
cmp sil, 0x83
jne 0x51f128
mov ecx, 2
lea rbx, [0x005cd002]
jmp 0x51f140
cmp sil, 0x88
jne 0x51f13c
mov ecx, 2
lea rbx, [0x005cd004]
jmp 0x51f140
xor ecx, ecx
xor ebx, ebx
test rcx, rcx
je 0x51f154
mov qword [rax + 0x38], rdx
call sym.golang.org_x_text_cases._context_.writeString
add rsp, 0x38
pop rbp
ret
call sym.golang.org_x_text_cases._context_.copy
add rsp, 0x38
pop rbp
ret
xor eax, eax
add rsp, 0x38
pop rbp
ret
mov rax, qword [rsp + 0x48]
call sym.golang.org_x_text_cases._context_.unreadRune
mov eax, 1
add rsp, 0x38
pop rbp
ret
mov rcx, qword [rsp + 0x28]
cmp rcx, 0x1e
sete al
add rsp, 0x38
pop rbp
ret
mov rax, r8
call sym.runtime.panicIndex
mov rax, rsi
call sym.runtime.panicIndex
mov rax, rdx
call sym.runtime.panicIndex
mov rax, rsi
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
call sym.runtime.morestack.abi0
mov rax, qword [rsp + 8]
nop
jmp sym.golang.org_x_text_cases.init.ltUpper.func2