Function at 0x1400f6bf0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r13, rcx
mov rbx, qword [r9 + 0x10]
mov rdi, qword [r9 + 0x20]
cmp rdi, rbx
jae 0x1400f6c8d
mov rax, qword [r9 + 8]
movzx r15d, byte [rax + rdi]
mov eax, dword [r9]
mov r10d, dword [r9 + 4]
mov rcx, qword [rdx + 0x298]
or rcx, qword [rdx + 0x2a8]
mov r11, qword [rdx + 0x290]
or r11, qword [rdx + 0x2a0]
or r11, rcx
je 0x1400f6ca3
lea r11, [rdx + 0x290]
mov esi, r15d
shr esi, 3
and esi, 0xfffffff0
mov r14d, 1
xor r12d, r12d
mov ecx, r15d
shld r12, r14, cl
shl r14, cl
xor ecx, ecx
test r15b, 0x40
cmovne r12, r14
cmovne r14, rcx
and r12, qword [r11 + rsi + 8]
and r14, qword [r11 + rsi]
or r14, r12
je 0x1400f6ca3
mov eax, 4
jmp 0x1400f6f66
mov eax, dword [r9]
mov r10d, dword [r9 + 4]
mov cl, 2
movzx r11d, cl
mov rcx, r11
test eax, eax
jne 0x1400f6cb7
jmp 0x1400f6cc4
movzx ecx, byte [rdx + r15 + 0x90]
movzx r11d, cl
mov rcx, r11
test eax, eax
je 0x1400f6cc4
cmp eax, 1
jne 0x1400f6f02
lea rcx, [r11 + 6]
mov r14, qword [r8 + 0x40]
cmp rcx, r14
jae 0x1400f6f43
mov rsi, qword [r8 + 0x38]
mov esi, dword [rsi + rcx*4]
test esi, esi
js 0x1400f71dc
mov r15d, esi
mov r14, qword [r9 + 0x18]
cmp r14, rdi
jne 0x1400f6d5b
test rdi, rdi
je 0x1400f7083
lea r14, [rdi - 1]
cmp r14, rbx
jae 0x1400f75dc
mov rax, qword [r9 + 8]
movzx esi, byte [rax + r14]
movzx eax, byte [rdx + rsi + 0x190]
mov ecx, r15d
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [r8 + 0x28]
cmp rcx, rax
jae 0x1400f75a5
mov rax, qword [r8 + 0x20]
mov ecx, dword [rax + rcx*4]
test ecx, ecx
js 0x1400f724e
mov eax, ecx
test eax, 0x8000000
jne 0x1400f7290
test eax, 0x20000000
jne 0x1400f70d0
xor r9d, r9d
jmp 0x1400f74a9
dec rdi
mov rsi, qword [r9 + 8]
mov r11, qword [rdx + 0x2b0]
mov rax, qword [rdx + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0xa0], rax
xor r10d, r10d
nop
cmp rdi, rbx
jae 0x1400f7562
movzx eax, byte [rsi + rdi]
movzx r9d, byte [rdx + rax + 0x190]
mov ecx, r15d
and ecx, 0x7ffffff
add rcx, r9
mov r9, qword [r8 + 0x28]
cmp rcx, r9
jae 0x1400f7574
mov r9, qword [r8 + 0x20]
mov r12d, dword [r9 + rcx*4]
test r12d, r12d
js 0x1400f6e8a
cmp r12d, 0x7ffffff
jbe 0x1400f6e68
mov eax, r12d
test eax, 0x8000000
jne 0x1400f6df0
test eax, 0x40000000
jne 0x1400f71a4
test eax, 0x20000000
je 0x1400f6e68
jmp 0x1400f721f
xor ebp, ebp
cmp qword [r11 + 0x168], 1
je 0x1400f6e59
mov r9d, r12d
and r9d, 0x7ffffff
mov rcx, qword [rsp + 0xa0]
shr r9, cl
mov rax, qword [r8 + 0x58]
cmp r9, rax
jae 0x1400f7593
mov rcx, qword [r8 + 0x50]
shl r9d, 4
mov rax, qword [rcx + r9 + 8]
test rax, rax
je 0x1400f7583
mov rcx, qword [rcx + r9]
test byte [rcx + 0x10], 2
je 0x1400f6e59
cmp rax, 0xd
jb 0x1400f75c8
add rax, 0xfffffffffffffff3
cmp rax, 3
jbe 0x1400f75b4
mov ebp, dword [rcx + 0x1d]
lea rax, [rdi + 1]
mov qword [rsp + 0x70], rax
mov r10d, 1
cmp r14, rdi
je 0x1400f6ff8
dec rdi
mov r15d, r12d
cmp rdi, qword [rsp + 0x110]
jae 0x1400f6d80
jmp 0x1400f718f
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x7c], ebp
mov qword [rsp + 0x80], r13
shl eax, 8
mov r13, rdx
mov qword [rsp + 0x38], rdx
mov rbp, r8
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x38]
mov edx, r15d
mov r8d, eax
call fcn.14010b500
test eax, eax
jne 0x1400f7314
mov r12d, edx
mov r8, rbp
mov rdx, r13
mov r13, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x7c]
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x98]
cmp r12d, 0x7ffffff
ja 0x1400f6dcd
jmp 0x1400f6e68
movzx ecx, byte [rdx + 0x81]
mov r15d, r10d
cmp cl, 2
je 0x1400f6f52
test cl, 1
je 0x1400f6f52
mov rcx, qword [rdx + 0x2b0]
cmp qword [rcx + 0x168], r15
jbe 0x1400f71b2
lea rcx, [r15 + r15*2]
lea rcx, [r11 + rcx*2]
add rcx, 0xc
mov r14, qword [r8 + 0x40]
cmp rcx, r14
jb 0x1400f6cd1
lea r8, str._redacted_
mov rdx, r14
call fcn.140056860
mov rax, r15
shl rax, 0x20
or rax, 2
cmp eax, 5
je 0x1400f6ce3
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x1400f6fa6
cmp ecx, 1
jne 0x1400f75ee
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f7609
mov byte [rax], 0
mov byte [rax + 1], r15b
jmp 0x1400f6fc5
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f7609
mov byte [rax], 1
mov qword [rax + 8], rdi
mov qword [rsp + 0x30], rax
mov rcx, qword [0x14031a288]
xor edx, edx
mov r8, rax
call fcn.1401fb9c4
mov qword [r13 + 8], 1
mov qword [r13 + 0x10], rdi
mov qword [r13], 2
jmp 0x1400f754e
test r14, r14
je 0x1400f7126
movzx edi, byte [rsi + r14 - 1]
movzx eax, byte [rdx + rdi + 0x190]
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [r8 + 0x28]
cmp rcx, rax
jae 0x1400f75a5
mov r15, r10
mov rax, qword [r8 + 0x20]
mov r10d, dword [rax + rcx*4]
test r10d, r10d
js 0x1400f739a
mov eax, r10d
test eax, 0x8000000
jne 0x1400f74d6
test eax, 0x20000000
je 0x1400f716a
dec r14
mov ecx, edi
mov rdx, r14
call fcn.140101270
mov rcx, rax
call fcn.140105c60
mov qword [r13 + 8], 1
mov qword [r13 + 0x10], rax
mov qword [r13], 2
jmp 0x1400f754e
movzx r9d, byte [rdx + 0x28f]
mov eax, r15d
and eax, 0x7ffffff
lea rcx, [rax + r9]
inc rcx
mov rax, qword [r8 + 0x28]
cmp rax, rcx
jbe 0x1400f75a5
mov rax, qword [r8 + 0x20]
mov r10d, dword [rax + rcx*4]
test r10d, r10d
js 0x1400f7344
xor r11d, r11d
test r10d, 0x8000000
jne 0x1400f742b
xor r9d, r9d
jmp 0x1400f74a9
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f7609
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r14
mov qword [rsp + 0x30], rax
mov rcx, qword [0x14031a288]
xor edx, edx
mov r8, rax
call fcn.1401fb9c4
mov qword [r13 + 8], 1
mov qword [r13 + 0x10], r14
mov qword [r13], 2
jmp 0x1400f754e
movzx r9d, byte [rdx + 0x28f]
mov eax, r12d
and eax, 0x7ffffff
lea ecx, [rax + r9]
inc ecx
mov rax, qword [r8 + 0x28]
cmp rax, rcx
jbe 0x1400f75a5
mov r15, r10
mov rax, qword [r8 + 0x20]
mov r10d, dword [rax + rcx*4]
test r10d, r10d
js 0x1400f73d1
test r10d, 0x8000000
jne 0x1400f74fd
test r12d, 0x40000000
jne 0x1400f730a
test r15b, 1
mov rax, qword [rsp + 0x70]
je 0x1400f7542
cmp rax, r14
jbe 0x1400f7542
mov qword [r13 + 8], 0
mov qword [r13], 2
jmp 0x1400f754e
mov qword [r13], r10
mov rax, qword [rsp + 0x70]
jmp 0x1400f7546
mov rcx, qword [rdx + 0x2b8]
and ecx, 0x3f
mov esi, 1
shl rsi, cl
cmp rcx, 0x1b
jae 0x1400f76b9
or esi, 0x40000000
test esi, esi
jns 0x1400f6ce0
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x38]
mov rsi, rdx
mov edx, eax
mov r14, r8
mov r8d, r10d
mov r15, r9
mov r9d, r11d
call fcn.14010c9f0
mov r9, r15
mov rdx, rsi
mov r8, r14
mov r15, rax
shr r15, 0x20
cmp eax, 5
je 0x1400f6ce3
jmp 0x1400f6f66
movzx ebx, byte [rsi + rdi]
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f7609
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rdi
jmp 0x1400f6fce
mov eax, esi
shl eax, 8
mov rbx, rdx
mov qword [rsp + 0x38], rdx
mov r12, r8
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x38]
mov edx, r15d
mov r8d, eax
call fcn.14010b500
test eax, eax
jne 0x1400f7378
mov ecx, edx
mov r8, r12
mov rdx, rbx
mov eax, ecx
test eax, 0x8000000
je 0x1400f6d48
mov rcx, qword [rdx + 0x2b0]
mov r9d, 1
xor r11d, r11d
cmp qword [rcx + 0x168], 1
je 0x1400f74a9
and eax, 0x7ffffff
movzx ecx, byte [rdx + 0x2b8]
shr rax, cl
mov rdx, qword [r8 + 0x58]
cmp rax, rdx
jae 0x1400f7688
mov rcx, qword [r8 + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x1400f7583
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
je 0x1400f74a9
cmp rdx, 0xd
jb 0x1400f7697
add rdx, 0xfffffffffffffff3
cmp rdx, 3
ja 0x1400f74a5
jmp 0x1400f76a8
mov rax, qword [rsp + 0x70]
jmp 0x1400f7542
mov rcx, rdi
call fcn.1401012c0
mov rcx, rax
call fcn.140105c60
mov rbx, qword [rsp + 0x80]
mov qword [rbx + 8], 1
mov qword [rbx + 0x10], rax
mov qword [rbx], 2
jmp 0x1400f754e
inc r9
shl r9d, 0x10
inc r9d
mov rsi, rdx
mov qword [rsp + 0x38], rdx
mov rdi, r8
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x38]
mov edx, r15d
mov r8d, r9d
call fcn.14010b500
test eax, eax
je 0x1400f7412
xor edi, edi
mov rcx, rdi
call fcn.1401012c0
movzx ecx, byte [rax]
mov qword [rsp + 0x30], rax
cmp cl, 1
ja 0x1400f7627
mov r14, qword [rax + 8]
jmp 0x1400f70fc
mov qword [rsp + 0x68], r11
mov eax, edi
shl eax, 8
mov rsi, rdx
mov qword [rsp + 0x38], rdx
mov rbx, r8
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x38]
mov edx, r12d
mov r8d, eax
call fcn.14010b500
test eax, eax
je 0x1400f74ba
mov rcx, r14
jmp 0x1400f7408
mov rbx, r11
inc r9d
shl r9d, 0x10
inc r9d
mov rsi, rdx
mov qword [rsp + 0x38], rdx
mov rdi, r8
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x38]
mov edx, r12d
mov r8d, r9d
call fcn.14010b500
test eax, eax
je 0x1400f74e4
xor ecx, ecx
call fcn.1401012c0
jmp 0x1400f7062
mov r10d, edx
mov r8, rdi
mov rdx, rsi
xor r11d, r11d
test r10d, 0x8000000
je 0x1400f70c8
mov rax, qword [rdx + 0x2b0]
mov r9d, 1
cmp qword [rax + 0x168], 1
jne 0x1400f7446
xor edi, edi
jmp 0x1400f74a9
and r10d, 0x7ffffff
movzx ecx, byte [rdx + 0x2b8]
shr r10, cl
mov rdx, qword [r8 + 0x58]
cmp r10, rdx
jae 0x1400f76e7
mov rax, qword [r8 + 0x50]
shl r10d, 4
mov rdx, qword [rax + r10 + 8]
test rdx, rdx
je 0x1400f7583
mov rax, qword [rax + r10]
test byte [rax + 0x10], 2
jne 0x1400f748b
xor r11d, r11d
xor edi, edi
jmp 0x1400f74a9
cmp rdx, 0xd
jb 0x1400f7697
add rdx, 0xfffffffffffffff3
cmp rdx, 3
jbe 0x1400f76a8
xor edi, edi
mov r11d, dword [rax + 0x1d]
mov qword [r13], r9
mov qword [r13 + 8], rdi
mov dword [r13 + 0x10], r11d
jmp 0x1400f754e
mov r10d, edx
mov r8, rbx
mov rdx, rsi
mov r11, qword [rsp + 0x68]
mov eax, r10d
test eax, 0x8000000
je 0x1400f704a
cmp qword [r11 + 0x168], 1
jne 0x1400f751a
xor ebp, ebp
jmp 0x1400f7539
mov r10d, edx
mov r8, rdi
mov rdx, rsi
mov r11, rbx
test r10d, 0x8000000
je 0x1400f716a
xor r14d, r14d
mov r15d, 1
cmp qword [r11 + 0x168], 1
mov eax, 0
mov ebp, 0
je 0x1400f7542
mov rcx, rdx
mov rdx, r8
mov r8d, r10d
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov ebp, eax
mov r15d, 1
mov rax, r14
mov qword [r13], r15
mov qword [r13 + 8], rax
mov dword [r13 + 0x10], ebp
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._redacted_
mov rcx, rdi
mov rdx, rbx
call fcn.140056860
lea r8, str._redacted_
mov rdx, r9
call fcn.140056860
lea r8, str._redacted_
xor ecx, ecx
xor edx, edx
call fcn.140056860
lea r8, str._redacted_
mov rcx, r9
mov rdx, rax
call fcn.140056860
lea r8, str._redacted_
mov rdx, rax
call fcn.140056860
lea r8, str._redacted_
mov ecx, 4
mov rdx, rax
call fcn.140057200
lea r8, str._redacted_
mov ecx, 0xd
mov rdx, rax
call fcn.1400567f0
lea r8, str._redacted_
mov rcx, r14
mov rdx, rbx
call fcn.140056860
mov rsi, rax
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
jne 0x1400f7618
mov ecx, 8
mov edx, 0x10
call fcn.140033f80
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], r15d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x88], rax
lea rax, [0x140101350]
mov qword [rsp + 0x90], rax
lea rax, [0x14027df98]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x58], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
lea rdx, str._redacted_
lea rcx, [rsp + 0x38]
call fcn.1400567b0
lea r8, str._redacted_
mov rcx, rax
call fcn.140056860
lea r8, str._redacted_
mov ecx, 0xd
call fcn.1400567f0
lea r8, str._redacted_
mov ecx, 4
call fcn.140057200
mov qword [rsp + 0x38], rsi
lea rax, str._redacted_
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueassertion_failed:_self.is_char_boundary_idx_assertion_failed:_self.is_char_boundary_new_len_assertion_failed:_self.is_char_boundary_at_
lea r9, [0x14027e088]
lea r8, [rsp + 0x38]
mov edx, 0x2b
call fcn.14005b770
lea r8, str._redacted_
mov rcx, r10
call fcn.140056860
int3