Function at 0x1001bd21
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov esi, str.afnrtv
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str._a_f_n_r_t_v
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ebx, ecx
movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0x64]
cmp esi, 0xffffffff
jne 0x1001bd60
push str.unexpected_end
call fcn.10017582
mov eax, 0x1005c
jmp 0x1001bf78
call fcn.10016d1e
mov dword [ebx + 0x64], eax
test esi, 0xffffff00
jne 0x1001bd94
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.1004b1c0
pop ecx
pop ecx
test eax, eax
je 0x1001bd94
lea ecx, [ebp - 0x10]
sub eax, ecx
movsx eax, byte [ebp + eax - 0x18]
or eax, 0x10000
jmp 0x1001bf78
cmp esi, 0x62
push 7
pop edi
jg 0x1001c21b
je 0x1001c214
cmp esi, 0x49
jg 0x1001c101
je 0x1001bfd3
mov eax, esi
sub eax, 0x30
je 0x1001bf81
sub eax, 0x12
je 0x1001bf7d
dec eax
je 0x1001bde5
dec eax
jne 0x1001c24f
push 0x7fffffef
mov ecx, dword [ebx + 0x68]
call fcn.10017e2c
jmp 0x1001bf75
cmp byte [ebx + 0x35], 0
je 0x1001bf75
mov ecx, dword [ebx + 0x68]
cmp byte [ecx + 8], 0
sete al
movzx eax, al
push eax
call fcn.10017e0d
cmp byte [ebx + 0x35], 0
je 0x1001bf75
mov ecx, dword [ebx + 0x68]
push 0xf807e
call fcn.10017e2c
mov ecx, dword [ebx + 0x68]
push 0x2d
push 0x2d
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x2e
push 0x2e
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x3a
push 0x3a
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x5f
push 0x5f
call fcn.100195df
mov ecx, dword [ebx + 0x68]
mov eax, 0xb7
push eax
push eax
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x39
push 0x30
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x5a
push 0x41
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x7a
push 0x61
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xd6
push 0xc0
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xf6
push 0xd8
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x2ff
push 0xf8
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x37d
push 0x370
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x1fff
push 0x37f
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x200d
push 0x200c
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x218f
push 0x2070
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x2fef
push 0x2c00
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xd7ff
push 0x3001
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xfdcf
push 0xf900
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xfffd
push 0xfdf0
call fcn.100195df
push 0xffff
mov ecx, dword [ebx + 0x68]
push 0
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x36f
push 0x300
call fcn.100195df
push 0x2040
push 0x203f
mov ecx, dword [ebx + 0x68]
call fcn.100195df
push 7
pop eax
pop edi
pop esi
pop ebx
leave
ret
push 0xc
jmp 0x1001bf77
xor esi, esi
xor edi, edi
mov eax, dword [ebx + 0x64]
cmp eax, 0x30
jl 0x1001bfb5
cmp eax, 0x37
jg 0x1001bfb5
mov cx, word [ebx + 0x64]
mov eax, esi
shl eax, 3
sub cx, 0x30
or ax, cx
mov ecx, ebx
movzx esi, ax
call fcn.10016d1e
inc edi
cmp edi, 3
mov dword [ebx + 0x64], eax
jl 0x1001bf85
movzx esi, si
test esi, 0xffffff00
je 0x1001bfcc
push str.invalid_octal_value
mov ecx, ebx
call fcn.10017582
mov eax, esi
jmp 0x1001bd8a
cmp byte [ebx + 0x35], 0
je 0x1001bf75
mov ecx, dword [ebx + 0x68]
cmp byte [ecx + 8], 0
sete al
movzx eax, al
push eax
call fcn.10017e0d
cmp byte [ebx + 0x35], 0
je 0x1001bf75
mov ecx, dword [ebx + 0x68]
push 0xf807e
call fcn.10017e2c
mov ecx, dword [ebx + 0x68]
push 0x3a
push 0x3a
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x5f
push 0x5f
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x5a
push 0x41
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x7a
push 0x61
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xd6
push 0xc0
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xf6
push 0xd8
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x2ff
push 0xf8
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x37d
push 0x370
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x1fff
push 0x37f
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x200d
push 0x200c
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x218f
push 0x2070
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x2fef
push 0x2c00
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xd7ff
push 0x3001
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xfdcf
push 0xf900
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xfffd
push 0xfdf0
call fcn.100195df
push 0xffff
push 0
jmp 0x1001bf6d
cmp esi, 0x50
je 0x1001c1d2
cmp esi, 0x53
je 0x1001c1a1
cmp esi, 0x57
jne 0x1001c24f
mov ecx, dword [ebx + 0x68]
push 0x7fe07f81
call fcn.10017e2c
mov ecx, dword [ebx + 0x68]
mov esi, 0x2040
push esi
push 0x203f
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push esi
push esi
call fcn.100195df
mov ecx, dword [ebx + 0x68]
lea eax, [esi + 0x14]
push eax
push eax
call fcn.100195df
mov ecx, dword [ebx + 0x68]
mov eax, 0x30fb
push eax
push eax
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xfe34
push 0xfe33
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0xfe4f
push 0xfe4d
call fcn.100195df
mov ecx, dword [ebx + 0x68]
mov eax, 0xff3f
push eax
push eax
call fcn.100195df
mov eax, 0xff65
push eax
push eax
jmp 0x1001bf6d
mov ecx, dword [ebx + 0x68]
push 0x7ffff87f
call fcn.10017e2c
mov ecx, dword [ebx + 0x68]
push 8
push 0
call fcn.100195df
mov ecx, dword [ebx + 0x68]
push 0x1f
push 0xe
call fcn.100195df
push 0x9f
push 0x7f
jmp 0x1001bf6d
cmp byte [ebx + 0x35], 0
je 0x1001c31d
mov ecx, dword [ebx + 0x68]
cmp byte [ecx + 8], 0
sete al
movzx eax, al
push eax
call fcn.10017e0d
cmp byte [ebx + 0x35], 0
je 0x1001c31d
cmp dword [ebx + 0x64], 0x7b
je 0x1001c324
push str.bad_char_class_syntax
mov ecx, ebx
call fcn.10017582
jmp 0x1001c31d
push 0xb
jmp 0x1001bf77
mov eax, esi
sub eax, 0x63
je 0x1001be02
dec eax
je 0x1001c81d
sub eax, 5
je 0x1001bfec
sub eax, edi
je 0x1001c1ef
sub eax, 3
je 0x1001c304
sub eax, 4
je 0x1001c2f1
dec eax
je 0x1001c297
lea eax, [esi - 0x31]
cmp eax, 8
ja 0x1001bfcc
add esi, 0xffffffd0
cmp dword [ebx + 0x64], 0x30
movzx esi, si
jl 0x1001c28a
cmp dword [ebx + 0x64], 0x39
jg 0x1001c28a
imul esi, esi, 0xa
add si, word [ebx + 0x64]
mov ecx, ebx
sub si, 0x30
movzx esi, si
call fcn.10016d1e
cmp eax, 0x30
mov dword [ebx + 0x64], eax
jge 0x1001c267
movzx eax, si
or eax, 0x20000
jmp 0x1001bf78
xor esi, esi
xor edi, edi
mov ax, word [ebx + 0x64]
mov word [ebp - 2], ax
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 2]
call fcn.100023ef
movzx eax, word [eax]
lea ecx, [eax - 0x30]
cmp cx, 9
ja 0x1001c2c5
shl esi, 4
or esi, ecx
movzx esi, si
jmp 0x1001c2d9
lea ecx, [eax - 0x61]
cmp cx, 5
ja 0x1001c2e9
shl esi, 4
add eax, 0xffffffa9
or eax, esi
movzx esi, ax
mov ecx, ebx
call fcn.10016d1e
inc edi
cmp edi, 4
mov dword [ebx + 0x64], eax
jl 0x1001c29b
movzx eax, si
jmp 0x1001bd8a
mov ecx, dword [ebx + 0x68]
push 0xf807e
call fcn.10017e2c
push 0x5f
push 0x5f
jmp 0x1001c315
mov ecx, dword [ebx + 0x68]
push 0x380
call fcn.10017e2c
push 0xd
push 9
mov ecx, dword [ebx + 0x68]
call fcn.100195df
mov eax, edi
jmp 0x1001bf78
mov eax, 0x100d226c
xor ecx, ecx
mov dword [ebp - 8], eax
inc ecx
lock xadd dword [eax], ecx
jmp 0x1001c348
cmp dword [ebx + 0x64], 0xffffffff
je 0x1001c37a
movzx eax, byte [ebx + 0x64]
push eax
lea ecx, [ebp - 8]
call fcn.1000dae3
mov ecx, ebx
call fcn.10016d1e
mov dword [ebx + 0x64], eax
cmp eax, 0x7d
jne 0x1001c335
call fcn.10016d1e
mov dword [ebx + 0x64], eax
lea eax, [ebp - 8]
push 0x100ad710
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c39d
push 0xe
jmp 0x1001c7af
push str.unexpected_end
mov ecx, ebx
call fcn.10017582
mov eax, dword [ebp - 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1001c31d
push dword [ebp - 8]
call fcn.10001746
pop ecx
jmp 0x1001c31d
lea eax, [ebp - 8]
push 0x100ad70c
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c3b8
push 2
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad708
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c3d3
push 4
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad704
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c3ee
push 8
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad700
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c409
push 0x70
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6fc
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c424
push 0x10
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6f8
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c43f
push 0x20
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6f4
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c45a
push 0x40
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6f0
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c478
push 0x380
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6ec
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c496
push 0x80
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6e8
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c4b4
push 0x100
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6e4
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c4d2
push 0x200
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ac880
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c4f0
push 0x6c00
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6e0
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c50e
push 0x400
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6dc
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c52c
push 0x800
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6d8
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c54a
push 0x1000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6d4
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c568
push 0x2000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6d0
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c586
push 0x4000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6cc
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c5a4
push 0xf8000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6c8
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c5c2
push 0x8000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6c4
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c5e0
push 0x10000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6c0
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c5fe
push 0x20000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6bc
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c61c
push 0x40000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6b8
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c63a
push 0x80000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6b4
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c658
push 0x4f580780
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6b0
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c676
push 0x100000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6ac
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c694
push 0x200000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6a8
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c6b2
push 0x400000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6a4
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c6d0
push 0x800000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad6a0
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c6ee
push 0x1000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad69c
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c70c
push 0x2000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad698
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c72a
push 0x4000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad694
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c745
push 0x78000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad690
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c760
push 0x8000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad68c
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c77b
push 0x10000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad688
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c796
push 0x20000000
jmp 0x1001c7af
lea eax, [ebp - 8]
push 0x100ad684
push eax
call fcn.1000ee54
pop ecx
pop ecx
test al, al
je 0x1001c7bc
push 0x40000000
mov ecx, dword [ebx + 0x68]
call fcn.10017e2c
jmp 0x1001c386
push 0x100ad680
lea ecx, [ebp - 8]
call fcn.1000d568
test al, al
je 0x1001c813
lea esi, [ebx + 0x80]
mov eax, dword [esi]
cmp dword [eax + 0xc], 0
jne 0x1001c7e2
mov ecx, ebx
call fcn.100196dc
lea eax, [ebp - 8]
push eax
mov ecx, esi
call fcn.10017b0f
test al, al
je 0x1001c813
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.10017b2c
push dword [ebp - 0x1c]
mov ecx, dword [ebx + 0x68]
push dword [ebp - 0x20]
call fcn.100195df
jmp 0x1001c386
push str.invalid_category
jmp 0x1001c37f
push 0x10
jmp 0x1001bdd8