Function at 0x46b790
Capabilities:
Inspect section memory permissions

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov esi, dword [rcx]
mov eax, dword [rcx + 4]
mov edi, esi
and edi, 0x80
mov rbx, rdx
lea edx, [rax + 2]
mov r12, rcx
cmp edx, 1
jbe 0x46b900
test rbx, rbx
je 0x46c0e0
mov ebp, dword [rbx + 0x2c0]
test ebp, ebp
je 0x46b8f0
xor r8d, r8d
mov edx, 0x139a
call sym._gfortran_generate_error
test edi, edi
jne 0x46b91e
nop dword [rax]
test esi, 0x100
je 0x46b807
xor edx, edx
mov rax, qword [r12 + 0x38]
test rbx, rbx
setne dl
mov dword [rax], edx
test esi, 0x200
je 0x46b822
mov eax, 0xffffffff
test rbx, rbx
je 0x46b81b
mov eax, dword [rbx]
mov rdx, qword [r12 + 0x40]
mov dword [rdx], eax
test esi, 0x400
je 0x46b841
xor eax, eax
test rbx, rbx
je 0x46b83a
xor eax, eax
cmp dword [rbx + 0x58], 3
setne al
mov rdx, qword [r12 + 0x48]
mov dword [rdx], eax
mov edi, esi
and edi, 0x8000
test esi, 0x400000
je 0x46b940
test rbx, rbx
je 0x46c380
cmp dword [rbx + 0x58], 3
je 0x46b8a6
mov rax, qword [0x0049a100]
mov edx, dword [rbx]
mov r10, qword [r12 + 0xf0]
mov rcx, qword [r12 + 0xe8]
cmp edx, dword [rax]
je 0x46c4f8
cmp edx, dword [rax + 4]
je 0x46c640
cmp edx, dword [rax + 8]
je 0x46c610
mov r8, qword [rbx + 0x108]
mov rdx, r10
call sym._gfortrani_cf_strcpy
test edi, edi
je 0x46c1b0
mov eax, dword [rbx + 0x3c]
cmp eax, 1
je 0x46c3a0
cmp eax, 3
jne 0x46c060
mov ebp, esi
lea r8, str.STREAM
and ebp, 0x800000
mov rdx, qword [r12 + 0x78]
mov rcx, qword [r12 + 0x80]
call sym._gfortrani_cf_strcpy
jmp 0x46b950
test edi, edi
je 0x46b7f0
mov eax, 1
jmp 0x46b930
xor r8d, r8d
mov edx, 0x139a
call sym._gfortran_generate_error
test edi, edi
je 0x46b7f0
test rbx, rbx
je 0x46c550
mov eax, dword [r12 + 4]
lea edx, [rax + 2]
cmp edx, 1
ja 0x46b8f8
not eax
shr eax, 0x1f
mov rdx, qword [r12 + 0x30]
mov dword [rdx], eax
jmp 0x46b7f0
test edi, edi
jne 0x46c0c0
mov ebp, esi
and ebp, 0x800000
test ebp, ebp
je 0x46b992
test rbx, rbx
je 0x46c410
mov eax, dword [rbx + 0x3c]
mov edx, eax
and edx, 0xfffffffd
cmp edx, 1
je 0x46c3f8
lea r8, [0x0049aee0]
test eax, eax
jne 0x46bde9
mov rdx, qword [r12 + 0xf8]
mov rcx, qword [r12 + 0x100]
call sym._gfortrani_cf_strcpy
test esi, 0x1000000
je 0x46b9cb
test rbx, rbx
je 0x46c468
mov eax, dword [rbx + 0x3c]
cmp eax, 1
jne 0x46bde0
lea r8, [0x0049aee0]
mov rdx, qword [r12 + 0x110]
mov rcx, qword [r12 + 0x108]
call sym._gfortrani_cf_strcpy
test esi, 0x10000
je 0x46ba03
test rbx, rbx
je 0x46c458
mov eax, dword [rbx + 0x4c]
test eax, eax
jne 0x46be00
lea r8, str.FORMATTED
mov rdx, qword [r12 + 0x90]
mov rcx, qword [r12 + 0x88]
call sym._gfortrani_cf_strcpy
test esi, 0x2000000
je 0x46ba3b
test rbx, rbx
je 0x46c440
mov eax, dword [rbx + 0x4c]
test eax, eax
jne 0x46be18
lea r8, [0x0049aee0]
mov rdx, qword [r12 + 0x118]
mov rcx, qword [r12 + 0x120]
call sym._gfortrani_cf_strcpy
test esi, 0x4000000
je 0x46ba73
test rbx, rbx
je 0x46c428
mov eax, dword [rbx + 0x4c]
test eax, eax
jne 0x46be30
lea r8, [0x0049a920]
mov rdx, qword [r12 + 0x130]
mov rcx, qword [r12 + 0x128]
call sym._gfortrani_cf_strcpy
test esi, 0x1000
je 0x46ba96
mov rax, 0xffffffffffffffff
test rbx, rbx
je 0x46ba8e
mov rax, qword [rbx + 0x98]
mov rdx, qword [r12 + 0x58]
mov qword [rdx], rax
test esi, 0x2000
je 0x46bab4
xor eax, eax
test rbx, rbx
je 0x46baac
mov rax, qword [rbx + 0xb8]
mov rdx, qword [r12 + 0x60]
mov qword [rdx], rax
mov eax, esi
and eax, 0x20000
test esi, 0x800
je 0x46bade
mov rdx, qword [r12 + 0x50]
test rbx, rbx
je 0x46bad7
cmp dword [rbx + 0x3c], 1
je 0x46c3c8
mov qword [rdx], 0
test eax, eax
je 0x46bb28
test rbx, rbx
je 0x46c090
mov r11d, dword [rbx + 0x4c]
test r11d, r11d
jne 0x46c090
mov eax, dword [rbx + 0x44]
test eax, eax
je 0x46c1d8
cmp eax, 1
jne 0x46c687
lea r8, str.ZERO
mov rdx, qword [r12 + 0x98]
mov rcx, qword [r12 + 0xa0]
call sym._gfortrani_cf_strcpy
mov ebp, esi
and ebp, 0x200000
je 0x46bb78
test rbx, rbx
je 0x46c080
mov r10d, dword [rbx + 0x4c]
test r10d, r10d
jne 0x46c080
mov eax, dword [rbx + 0x5c]
test eax, eax
je 0x46c1c8
cmp eax, 1
jne 0x46c669
lea r8, [0x0049a920]
mov rdx, qword [r12 + 0xd8]
mov rcx, qword [r12 + 0xe0]
call sym._gfortrani_cf_strcpy
test esi, esi
js 0x46be88
test esi, 0x40000
je 0x46bbe4
lea r8, str.UNDEFINED
test rbx, rbx
je 0x46bbcf
cmp dword [rbx + 0x3c], 1
je 0x46bbcf
mov eax, dword [rbx + 0x54]
cmp eax, 3
je 0x46c248
lea r8, str.REWIND
cmp eax, 1
je 0x46bbcf
cmp eax, 2
je 0x46c4c8
test eax, eax
lea r8, str.UNSPECIFIED
lea rax, str.ASIS
cmove r8, rax
mov rdx, qword [r12 + 0xb0]
mov rcx, qword [r12 + 0xa8]
call sym._gfortrani_cf_strcpy
test esi, 0x80000
je 0x46bc26
test rbx, rbx
je 0x46c490
mov eax, dword [rbx + 0x40]
cmp eax, 1
je 0x46c3b8
cmp eax, 2
jne 0x46be58
lea r8, str.READWRITE
mov rdx, qword [r12 + 0xb8]
mov rcx, qword [r12 + 0xc0]
call sym._gfortrani_cf_strcpy
test esi, 0x8000000
je 0x46bc5e
lea r8, [0x0049a920]
test rbx, rbx
je 0x46bc49
cmp dword [rbx + 0x40], 1
lea rax, [0x0049aee0]
cmovne r8, rax
mov rdx, qword [r12 + 0x138]
mov rcx, qword [r12 + 0x140]
call sym._gfortrani_cf_strcpy
test esi, 0x10000000
je 0x46bc97
lea r8, [0x0049a920]
test rbx, rbx
je 0x46bc82
mov ecx, dword [rbx + 0x40]
lea rax, [0x0049aee0]
test ecx, ecx
cmovne r8, rax
mov rdx, qword [r12 + 0x150]
mov rcx, qword [r12 + 0x148]
call sym._gfortrani_cf_strcpy
test esi, 0x20000000
je 0x46bccf
lea r8, [0x0049a920]
test rbx, rbx
je 0x46bcba
cmp dword [rbx + 0x40], 2
lea rax, [0x0049aee0]
cmove r8, rax
mov rdx, qword [r12 + 0x158]
mov rcx, qword [r12 + 0x160]
call sym._gfortrani_cf_strcpy
test esi, 0x100000
je 0x46bd26
test rbx, rbx
je 0x46c0a0
mov edx, dword [rbx + 0x4c]
test edx, edx
jne 0x46c0a0
mov eax, dword [rbx + 0x48]
cmp eax, 2
je 0x46c280
ja 0x46bdb8
test eax, eax
lea r8, str.APOSTROPHE
lea rax, str.NONE
cmove r8, rax
mov rdx, qword [r12 + 0xd0]
mov rcx, qword [r12 + 0xc8]
call sym._gfortrani_cf_strcpy
test ebp, ebp
je 0x46bd6e
test rbx, rbx
je 0x46c0b0
mov eax, dword [rbx + 0x4c]
test eax, eax
jne 0x46c0b0
mov eax, dword [rbx + 0x5c]
test eax, eax
je 0x46c1e8
cmp eax, 1
jne 0x46c669
lea r8, [0x0049a920]
mov rdx, qword [r12 + 0xd8]
mov rcx, qword [r12 + 0xe0]
call sym._gfortrani_cf_strcpy
and esi, 0x40000000
je 0x46bdd0
test rbx, rbx
je 0x46c480
mov eax, dword [rbx + 0x60]
test eax, eax
jne 0x46be70
lea r8, str.LITTLE_ENDIAN
mov rdx, qword [r12 + 0x170]
mov rcx, qword [r12 + 0x168]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym._gfortrani_cf_strcpy
cmp eax, 3
jne 0x46c696
lea r8, str.NONE
jmp 0x46bd11
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp eax, 3
je 0x46be48
test eax, eax
je 0x46be48
lea rdx, str.inquire_via_unit__:_Bad_access
mov rcx, r12
call sym._gfortrani_internal_error
nop dword [rax + rax]
cmp eax, 1
jne 0x46c65a
lea r8, str.UNFORMATTED
jmp 0x46b9ee
cmp eax, 1
jne 0x46c65a
lea r8, [0x0049a920]
jmp 0x46ba26
cmp eax, 1
jne 0x46c65a
lea r8, [0x0049aee0]
jmp 0x46ba5e
lea r8, [0x0049a920]
jmp 0x46b9b6
test eax, eax
je 0x46c0f0
lea rdx, str.inquire_via_unit__:_Bad_action
mov rcx, r12
call sym._gfortrani_internal_error
nop
cmp eax, 1
jne 0x46c678
lea r8, str.BIG_ENDIAN
jmp 0x46bd91
mov edi, dword [r12 + 0x178]
test dil, 4
je 0x46bedc
test rbx, rbx
je 0x46c2d0
mov r9d, dword [rbx + 0x4c]
test r9d, r9d
jne 0x46c2d0
mov eax, dword [rbx + 0x6c]
test eax, eax
je 0x46c518
cmp eax, 1
jne 0x46c6b4
lea r8, [0x004904bf]
mov rdx, qword [r12 + 0x1a8]
mov rcx, qword [r12 + 0x1a0]
call sym._gfortrani_cf_strcpy
test dil, 2
je 0x46bf28
test rbx, rbx
je 0x46c2e0
mov r8d, dword [rbx + 0x4c]
test r8d, r8d
jne 0x46c2e0
mov eax, dword [rbx + 0x68]
test eax, eax
je 0x46c528
cmp eax, 1
jne 0x46c6c3
lea r8, str.COMMA
mov rdx, qword [r12 + 0x190]
mov rcx, qword [r12 + 0x198]
call sym._gfortrani_cf_strcpy
test dil, 1
je 0x46bf5e
test rbx, rbx
je 0x46c580
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x46c350
lea r8, [0x0049aee0]
mov rdx, qword [r12 + 0x188]
mov rcx, qword [r12 + 0x180]
call sym._gfortrani_cf_strcpy
test dil, 0x20
je 0x46bf72
mov rax, qword [r12 + 0x1d0]
mov dword [rax], 0
test dil, 0x10
je 0x46bfb2
test rbx, rbx
je 0x46c570
mov eax, dword [rbx + 0x74]
cmp eax, 1
je 0x46c4e8
cmp eax, 2
jne 0x46c330
lea r8, str.PLUS
mov rdx, qword [r12 + 0x1c8]
mov rcx, qword [r12 + 0x1c0]
call sym._gfortrani_cf_strcpy
test dil, 8
je 0x46c005
test rbx, rbx
je 0x46bfe0
cmp dword [rbx + 0x70], 0xb
ja case.0x46bfd8.0
mov eax, dword [rbx + 0x70]
lea rdx, [0x00490760]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
lea r8, str.UNDEFINED
nop word [rax + rax]
mov rdx, qword [r12 + 0x1b0]
mov rcx, qword [r12 + 0x1b8]
call sym._gfortrani_cf_strcpy
mov r13d, edi
and r13d, 0x100
test dil, 0x40
je 0x46c100
test rbx, rbx
je 0x46c290
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [rbx + 8]
mov r14, qword [r12 + 0x1d8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov qword [r14], rax
test r13d, r13d
jne 0x46c20e
test edi, 0x200
jne 0x46c121
jmp 0x46c152
test eax, eax
jne 0x46bde9
mov ebp, esi
lea r8, str.SEQUENTIAL
and ebp, 0x800000
jmp 0x46b8d2
lea r8, str.UNDEFINED
jmp 0x46bb63
lea r8, str.UNDEFINED
jmp 0x46bb13
lea r8, str.UNDEFINED
jmp 0x46bd11
lea r8, str.UNDEFINED
jmp 0x46bd59
test rbx, rbx
jne 0x46b8ae
mov ebp, esi
lea r8, str.UNDEFINED
and ebp, 0x800000
jmp 0x46b8d2
test edi, edi
jne 0x46b92b
jmp 0x46b7f0
lea r8, str.READ
jmp 0x46bc11
test r13d, r13d
jne 0x46c1f8
mov r14d, edi
and r14d, 0x200
test r14d, r14d
je 0x46c152
test rbx, rbx
je 0x46c2bb
mov eax, dword [rbx + 0x7c]
cmp eax, 1
je 0x46c4d8
cmp eax, 2
jne 0x46c368
lea r8, str.NODENY
mov rdx, qword [r12 + 0x1f8]
mov rcx, qword [r12 + 0x200]
call sym._gfortrani_cf_strcpy
and edi, 0x400
je 0x46bb80
test rbx, rbx
je 0x46c2f9
mov eax, dword [rbx + 0x80]
cmp eax, 2
je 0x46c630
ja 0x46c2f0
test eax, eax
lea r8, str.FORTRAN
lea rax, str.LIST
cmove r8, rax
mov rdx, qword [r12 + 0x210]
mov rcx, qword [r12 + 0x208]
call sym._gfortrani_cf_strcpy
jmp 0x46bb80
test esi, 0x800000
jne 0x46b95d
jmp 0x46b992
lea r8, [0x0049aee0]
jmp 0x46bb63
lea r8, str.NULL
jmp 0x46bb13
lea r8, [0x0049aee0]
jmp 0x46bd59
mov r14d, edi
lea r8, [0x004904bf]
and r14d, 0x200
test rbx, rbx
je 0x46c22b
mov eax, dword [rbx + 0x3c]
cmp eax, 1
ja 0x46c308
mov r14d, edi
lea r8, [0x0049a920]
and r14d, 0x200
mov rdx, qword [r12 + 0x1f0]
mov rcx, qword [r12 + 0x1e8]
call sym._gfortrani_cf_strcpy
jmp 0x46c113
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, rax
test rax, rax
je 0x46c538
cmp rax, 0xffffffffffffffff
je 0x46c277
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp rdi, rax
je 0x46c4bc
mov eax, dword [rbx + 0x54]
jmp 0x46bba6
lea r8, str.QUOTE
jmp 0x46bd11
mov rax, qword [r12 + 0x1d8]
mov r14d, edi
and r14d, 0x200
mov qword [rax], 0xffffffffffffffff
test r13d, r13d
jne 0x46c590
test r14d, r14d
je 0x46c152
lea r8, [0x004904bf]
jmp 0x46c13d
lea r8, str.UNDEFINED
jmp 0x46bec7
lea r8, str.UNDEFINED
jmp 0x46bf13
cmp eax, 3
jne 0x46c5fc
lea r8, [0x004904bf]
jmp 0x46c190
cmp eax, 3
jne 0x46c669
mov r14d, edi
lea r8, [0x0049aee0]
and r14d, 0x200
jmp 0x46c22b
test eax, eax
je 0x46c4b0
lea rdx, str.inquire_via_unit__:_Bad_sign
mov rcx, r12
call sym._gfortrani_internal_error
nop word [rax + rax]
cmp eax, 1
jne 0x46c6a5
lea r8, [0x0049a920]
jmp 0x46bf49
test eax, eax
je 0x46c4a0
lea rdx, str.inquire_via_unit__:_Bad_share
mov rcx, r12
call sym._gfortrani_internal_error
nop
mov ebp, esi
and ebp, 0x800000
test edi, edi
je 0x46c408
lea r8, str.UNDEFINED
jmp 0x46b8d2
mov ebp, esi
lea r8, str.DIRECT
and ebp, 0x800000
jmp 0x46b8d2
lea r8, str.WRITE
jmp 0x46bc11
mov rdi, qword [rbx + 0xa0]
lea rcx, [rdi + 1]
mov qword [rdx], rcx
test eax, eax
jne 0x46baeb
mov ebp, esi
and ebp, 0x200000
jne 0x46bb3b
jmp 0x46bb78
lea r8, [0x0049a920]
jmp 0x46b97d
test ebp, ebp
je 0x46b992
xor edx, edx
xor ecx, ecx
call sym._gfortrani_inquire_sequential
mov r8, rax
jmp 0x46b97d
xor edx, edx
xor ecx, ecx
call sym._gfortrani_inquire_unformatted
mov r8, rax
jmp 0x46ba5e
xor edx, edx
xor ecx, ecx
call sym._gfortrani_inquire_formatted
mov r8, rax
jmp 0x46ba26
lea r8, str.UNDEFINED
jmp 0x46b9ee
xor edx, edx
xor ecx, ecx
call sym._gfortrani_inquire_direct
mov r8, rax
jmp 0x46b9b6
lea r8, str.UNDEFINED
jmp 0x46bd91
lea r8, str.UNDEFINED
jmp 0x46bc11
lea r8, str.DENYRW
jmp 0x46c13d
lea r8, str.PROCESSOR_DEFINED
jmp 0x46bf9d
mov dword [rbx + 0x54], 2
nop dword [rax + rax]
lea r8, str.APPEND
jmp 0x46bbcf
lea r8, str.DENYNONE
jmp 0x46c13d
lea r8, str.SUPPRESS
jmp 0x46bf9d
mov r9d, 7
lea r8, [0x00490595]
mov rdx, r10
call sym._gfortrani_fstrcpy
jmp 0x46b8a6
lea r8, str.UTF_8
jmp 0x46bec7
lea r8, str.POINT
jmp 0x46bf13
mov dword [rbx + 0x54], 1
lea r8, str.REWIND
jmp 0x46bbcf
mov eax, dword [r12 + 4]
jmp 0x46b92b
lea rdx, str.inquire_via_unit__:_Bad_round
mov rcx, r12
call sym._gfortrani_internal_error
nop dword [rax]
lea r8, str.UNDEFINED
jmp 0x46bf9d
lea r8, str.UNDEFINED
jmp 0x46bf49
lea r8, [0x004904bf]
jmp 0x46c22b
lea r8, str.NEAREST
jmp 0x46bff0
lea r8, str.PROCESSOR_DEFINED
jmp 0x46bff0
lea r8, str.COMPATIBLE
jmp 0x46bff0
lea r8, str.ZERO
jmp 0x46bff0
lea r8, [0x004904f3]
jmp 0x46bff0
lea r8, str.DOWN
jmp 0x46bff0
lea rdx, str.inquire_via_unit__:_Bad_cc
mov rcx, r12
call sym._gfortrani_internal_error
nop dword [rax + rax]
mov r9d, 8
lea r8, [0x004905a4]
mov rdx, r10
call sym._gfortrani_fstrcpy
jmp 0x46b8a6
lea r8, str.NONE
jmp 0x46c190
mov r9d, 8
lea r8, [0x0049059c]
mov rdx, r10
call sym._gfortrani_fstrcpy
jmp 0x46b8a6
lea rdx, str.inquire_via_unit__:_Bad_form
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_pad
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_convert
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_blank
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_delim
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_async
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_encoding
mov rcx, r12
call sym._gfortrani_internal_error
lea rdx, str.inquire_via_unit__:_Bad_comma
mov rcx, r12
call sym._gfortrani_internal_error
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop