Function at 0x1400afa00
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, r8
mov rbx, rdx
mov r13, rcx
mov qword [rsp + 0x28], r9
mov rbp, qword [r9 + 0x18]
test rbp, rbp
je 0x1400afabf
lea rax, [rbp - 1]
mov rcx, qword [rsp + 0x28]
cmp rax, qword [rcx + 0x10]
jae 0x1400afabf
mov r8, qword [rsp + 0x28]
mov rcx, qword [r8 + 8]
movzx r15d, byte [rcx + rax]
mov edx, dword [r8]
mov r8d, dword [r8 + 4]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x1400afad9
lea rax, [rbx + 0x290]
mov r9d, r15d
shr r9d, 3
and r9d, 0xfffffff0
mov r10d, 1
xor r11d, r11d
mov ecx, r15d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r15b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r9 + 8]
and r10, qword [rax + r9]
or r10, r11
je 0x1400afad9
mov eax, 4
jmp 0x1400b0020
mov rax, qword [rsp + 0x28]
mov edx, dword [rax]
mov r8d, dword [rax + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x1400afaed
jmp 0x1400afafa
movzx eax, byte [rbx + r15 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x1400afafa
cmp edx, 1
jne 0x1400afcb3
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x40]
jae 0x1400b02b3
mov rcx, qword [rdi + 0x38]
mov r15d, dword [rcx + rax*4]
test r15d, r15d
js 0x1400afffc
mov rax, qword [rsp + 0x28]
mov r12, qword [rax + 0x10]
mov rsi, qword [rax + 0x20]
cmp rbp, rsi
jae 0x1400afc08
mov qword [rsp + 0x48], r13
mov rcx, qword [rsp + 0x28]
mov r13, qword [rcx + 8]
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0x58], rax
cmp byte [rcx + 0x28], 0
je 0x1400afcdc
xor r9d, r9d
lea rcx, [rsp + 0x38]
jmp 0x1400afb6f
inc rbp
mov r15d, edx
cmp rsi, rbp
je 0x1400afe66
cmp rbp, r12
jae 0x1400b02b3
movzx r8d, byte [r13 + rbp]
movzx edx, byte [rbx + r8 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rdx
cmp rax, qword [rdi + 0x28]
jae 0x1400b02b3
mov rdx, qword [rdi + 0x20]
mov edx, dword [rdx + rax*4]
test edx, edx
js 0x1400afbd3
cmp edx, 0x7ffffff
jbe 0x1400afb60
mov eax, edx
test eax, 0x8000000
jne 0x1400aff97
test eax, 0x40000000
jne 0x1400afff2
test eax, 0x20000000
je 0x1400afb60
jmp 0x1400aff45
shl r8d, 8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
mov r14, rcx
mov edx, r15d
call fcn.140091630
test eax, eax
jne 0x1400b0182
xor r9d, r9d
mov rcx, r14
cmp edx, 0x7ffffff
jbe 0x1400afb60
jmp 0x1400afbaf
xor r9d, r9d
cmp rsi, r12
jae 0x1400afe7a
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 8]
movzx r14d, byte [rax + rsi]
movzx ecx, byte [rbx + r14 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400b02b3
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400b00d2
mov eax, edx
test eax, 0x8000000
jne 0x1400b01e5
test eax, 0x20000000
je 0x1400b0256
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x1400b02b3
mov byte [rax], 0
mov byte [rax + 1], r14b
mov r12, rsi
mov qword [rax + 8], r12
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rax
call fcn.140102ef8
mov qword [r13 + 8], r12
mov qword [r13], 2
jmp 0x1400b026e
test byte [rbx + 0x81], 1
mov r15d, r8d
jne 0x1400afe37
mov rax, r15
shl rax, 0x20
or rax, 2
cmp eax, 5
je 0x1400afb15
jmp 0x1400b0020
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0x60], rax
xor r9d, r9d
jmp 0x1400afd03
mov r10d, dword [rax + 0x1d]
mov r11, rbp
inc rbp
cmp rsi, rbp
je 0x1400afe69
cmp rbp, r12
jae 0x1400b02b3
movzx r8d, byte [r13 + rbp]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400b02b3
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400afde6
mov r15d, edx
cmp edx, 0x8000000
jb 0x1400afcf7
mov eax, r15d
test eax, 0x8000000
jne 0x1400afd70
test eax, 0x40000000
jne 0x1400b00b1
test eax, 0x20000000
je 0x1400afcf7
jmp 0x1400aff45
mov r9d, 1
xor r10d, r10d
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x168], 1
je 0x1400afcf4
mov eax, r15d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x60]
shr rax, cl
cmp rax, qword [rdi + 0x58]
jae 0x1400b02b3
mov rdx, qword [rdi + 0x50]
shl eax, 4
mov rcx, qword [rdx + rax + 8]
test rcx, rcx
je 0x1400b02b3
mov rax, qword [rdx + rax]
test byte [rax + 0x10], 2
je 0x1400afcf4
cmp rcx, 0xc
jbe 0x1400b02b3
add rcx, 0xfffffffffffffff3
cmp rcx, 3
ja 0x1400afcf0
jmp 0x1400b02b3
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x34], r10d
mov r14, r9
shl r8d, 8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x38]
mov edx, r15d
call fcn.140091630
test eax, eax
jne 0x1400b0182
mov r9, r14
mov r10d, dword [rsp + 0x34]
mov r11, qword [rsp + 0x50]
mov r15d, edx
cmp edx, 0x8000000
jb 0x1400afcf7
jmp 0x1400afd4a
mov rax, qword [rbx + 0x2b0]
cmp qword [rax + 0x168], r15
jbe 0x1400aff22
lea rax, [r15 + r15*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x40]
jb 0x1400afb04
jmp 0x1400b02b3
mov r15d, edx
mov rbp, rsi
mov r13, qword [rsp + 0x48]
cmp rsi, r12
jb 0x1400afc14
movzx r8d, byte [rbx + 0x28f]
mov eax, r15d
and eax, 0x7ffffff
add eax, r8d
inc eax
cmp qword [rdi + 0x28], rax
jbe 0x1400b02b3
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1400b0129
test edx, 0x8000000
je 0x1400b0256
mov rax, qword [rbx + 0x2b0]
mov r9d, 1
xor r10d, r10d
cmp qword [rax + 0x168], 1
je 0x1400b0253
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400b02b3
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx + 8]
test rcx, rcx
je 0x1400b02b3
mov rax, qword [rax + rdx]
test byte [rax + 0x10], 2
je 0x1400b0253
cmp rcx, 0xc
jbe 0x1400b02b3
add rcx, 0xfffffffffffffff3
jmp 0x1400b0249
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x1400b02b3
mov r15d, 0x40000000
bts r15, rax
jmp 0x1400afb15
movzx ebx, byte [r13 + rbp]
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x1400b02b3
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rbp
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rax
call fcn.140102ef8
mov rax, qword [rsp + 0x48]
mov qword [rax + 8], rbp
mov qword [rax], 2
jmp 0x1400b026e
xor eax, eax
mov rcx, qword [rsp + 0x58]
cmp qword [rcx + 0x168], 1
mov rsi, qword [rsp + 0x48]
je 0x1400affdf
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400b02b3
mov rax, qword [rdi + 0x50]
shl edx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.14007de10
mov qword [rsi], 0
mov qword [rsi + 8], rbp
mov dword [rsi + 0x10], eax
jmp 0x1400b026e
mov eax, 1
jmp 0x1400b00bd
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x38]
call fcn.1400928f0
mov r15, rax
shr r15, 0x20
cmp eax, 5
je 0x1400afb15
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x1400b006c
cmp ecx, 1
jne 0x1400b0298
test rbp, rbp
je 0x1400b02b3
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x1400b02b3
dec rbp
mov byte [rax], 0
mov byte [rax + 1], r15b
jmp 0x1400b008b
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x1400b02b3
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rax
call fcn.140102ef8
mov qword [r13 + 8], rbp
mov qword [r13], 2
jmp 0x1400b026e
xor eax, eax
test r9, r9
sete al
cmovne rbp, r11
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], r10d
jmp 0x1400b026e
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x34], r10d
mov r12, r9
mov r8d, r14d
shl r8d, 8
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x38]
mov edx, r15d
call fcn.140091630
test eax, eax
je 0x1400b01cb
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x1400b02b3
mov byte [rax], 1
jmp 0x1400afc8a
mov qword [rsp + 0x50], r11
mov r14d, r10d
mov rsi, r9
inc r8d
shl r8d, 0x10
or r8d, 1
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x38]
mov edx, r15d
call fcn.140091630
test eax, eax
je 0x1400b027f
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x1400b02b3
mov byte [rax], 1
jmp 0x1400afc8d
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
mov rsi, qword [rsp + 0x48]
je 0x1400b02b3
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rax
call fcn.140102ef8
mov qword [rsi + 8], rbp
mov qword [rsi], 2
jmp 0x1400b026e
mov r9, r12
mov r10d, dword [rsp + 0x34]
mov r11, qword [rsp + 0x50]
mov eax, edx
test eax, 0x8000000
je 0x1400afc5c
mov rcx, qword [rbx + 0x2b0]
mov r9d, 1
xor r10d, r10d
cmp qword [rcx + 0x168], 1
je 0x1400b0237
and eax, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rax, cl
cmp rax, qword [rdi + 0x58]
jae 0x1400b02b3
mov rdx, qword [rdi + 0x50]
shl eax, 4
mov rcx, qword [rdx + rax + 8]
test rcx, rcx
je 0x1400b02b3
mov rax, qword [rdx + rax]
test byte [rax + 0x10], 2
jne 0x1400b023c
mov r11, rsi
jmp 0x1400b0256
cmp rcx, 0xc
jbe 0x1400b02b3
add rcx, 0xfffffffffffffff3
mov r12, rsi
cmp rcx, 3
jbe 0x1400b02b3
mov r10d, dword [rax + 0x1d]
mov r11, r12
xor eax, eax
test r9, r9
cmove r11, rbp
sete al
mov qword [r13], rax
mov qword [r13 + 8], r11
mov dword [r13 + 0x10], r10d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, rsi
mov r10d, r14d
mov r11, qword [rsp + 0x50]
test edx, 0x8000000
jne 0x1400afeb4
jmp 0x1400b0256
mov rsi, rax
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
jne 0x1400b02b5
ud2
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], r15d
ud2