Function at 0x453f90
Capabilities:
Inspect section memory permissions

Disassembly:
push ebx
mov ebx, dword [esp + 8]
xor ecx, ecx
test ebx, ebx
mov byte [0x4a2698], cl
jne 0x453fbe
mov eax, dword [0x47c9c8]
mov cl, byte [0x47c9cc]
mov dword [0x4a2698], eax
mov byte [0x4a269c], cl
mov eax, 0x4a2698
pop ebx
ret
mov edx, ebx
and edx, 0xb
cmp dl, 0xb
mov dx, word [0x47f5a4]
push edi
jne 0x454002
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x453fd6
mov eax, dword [str.RW_CREATE]
mov ecx, dword [0x47f59c]
mov dword [edi], eax
mov ax, word [0x47f5a0]
mov dword [edi + 4], ecx
mov word [edi + 8], ax
mov ecx, 1
jmp 0x4540f9
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x454046
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454011
mov ecx, dword [str.READ_WRITE]
mov eax, dword [0x47f590]
mov dword [edi], ecx
mov cx, word [0x47f594]
mov dword [edi + 4], eax
mov al, byte [0x47f596]
mov word [edi + 8], cx
mov byte [edi + 0xa], al
mov ecx, 1
jmp 0x4540f9
test bl, 1
je 0x45406e
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454051
mov ecx, dword [str.READ]
mov al, byte [0x47f588]
mov dword [edi], ecx
mov byte [edi + 4], al
mov ecx, 1
test bl, 2
je 0x4540aa
test ecx, ecx
je 0x45408b
mov edi, 0x4a2698
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454080
mov word [edi], dx
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454091
mov eax, dword [str.WRITE]
mov dword [edi], eax
mov ax, word [0x47f580]
mov word [edi + 4], ax
test bl, 8
je 0x4540f9
test ecx, ecx
je 0x4540cd
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4540c0
mov word [edi], dx
jmp 0x4540d2
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4540d8
mov eax, dword [str.CREATE]
mov dword [edi], eax
mov ax, word [0x47f578]
mov word [edi + 4], ax
mov al, byte [0x47f57a]
mov byte [edi + 6], al
mov eax, ebx
and eax, 6
cmp al, 6
jne 0x454149
test ecx, ecx
je 0x45411d
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454110
mov word [edi], dx
jmp 0x454122
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454128
mov eax, dword [str.APPEND]
mov dword [edi], eax
mov ax, word [0x47f570]
mov word [edi + 4], ax
mov al, byte [0x47f572]
mov byte [edi + 6], al
mov eax, ebx
and eax, 0x18
cmp al, 0x18
jne 0x45418f
test ecx, ecx
je 0x45416d
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454160
mov word [edi], dx
jmp 0x454172
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454178
mov eax, dword [str.EXCL]
mov dword [edi], eax
mov al, byte [0x47f568]
mov byte [edi + 4], al
mov eax, ebx
and eax, 0xc0
cmp al, 0xc0
jne 0x4541cf
test ecx, ecx
je 0x4541b1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4541a4
mov word [edi], dx
jmp 0x4541b6
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4541c0
mov eax, dword [0x47f560]
mov dword [edi], eax
test bl, 0x20
je 0x454219
test ecx, ecx
je 0x4541ed
mov edi, 0x4a2698
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4541e0
mov word [edi], dx
jmp 0x4541f2
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4541f8
mov eax, dword [str.BINARY]
mov dword [edi], eax
mov ax, word [0x47f55c]
mov word [edi + 4], ax
mov al, byte [0x47f55e]
mov byte [edi + 6], al
test bl, 0x40
je 0x454261
test ecx, ecx
je 0x454235
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454228
mov word [edi], dx
jmp 0x45423a
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454240
mov eax, dword [str.LEVEL1]
mov dword [edi], eax
mov ax, word [0x47f554]
mov word [edi + 4], ax
mov al, byte [0x47f556]
mov byte [edi + 6], al
test bl, bl
jns 0x4542a1
test ecx, ecx
je 0x45427d
mov edi, 0x4a2698
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454270
mov word [edi], dx
jmp 0x454282
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454288
mov eax, dword [str.DUFSB]
mov dword [edi], eax
mov ax, word [0x47f54c]
mov word [edi + 4], ax
test bh, 0x10
je 0x4542e9
test ecx, ecx
je 0x4542bd
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4542b0
mov word [edi], dx
jmp 0x4542c2
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4542c8
mov eax, dword [str.UNLOCK]
mov dword [edi], eax
mov ax, word [0x47f544]
mov word [edi + 4], ax
mov al, byte [0x47f546]
mov byte [edi + 6], al
test bh, 0x20
je 0x454327
test ecx, ecx
je 0x454305
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4542f8
mov word [edi], dx
jmp 0x45430a
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454310
mov eax, dword [str.LOCK]
mov dword [edi], eax
mov al, byte [0x47f53c]
mov byte [edi + 4], al
test bh, 0x40
je 0x454371
test ecx, ecx
je 0x454343
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454336
mov word [edi], dx
jmp 0x454348
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454350
mov eax, dword [str.KEEP_FPTR]
mov dword [edi], eax
mov eax, dword [0x47f530]
mov dword [edi + 4], eax
mov ax, word [0x47f534]
mov word [edi + 8], ax
test bh, bh
jns 0x4543af
test ecx, ecx
je 0x45438d
mov edi, 0x4a2698
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454380
mov word [edi], dx
jmp 0x454392
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454398
mov eax, dword [str.NO_FPTR]
mov dword [edi], eax
mov eax, dword [0x47f528]
mov dword [edi + 4], eax
test bh, 2
je 0x4543f9
test ecx, ecx
je 0x4543cd
mov edi, 0x4a2698
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4543c0
mov word [edi], dx
jmp 0x4543d2
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4543d8
mov eax, dword [str.READ_PROT]
mov dword [edi], eax
mov eax, dword [0x47f51c]
mov dword [edi + 4], eax
mov ax, word [0x47f520]
mov word [edi + 8], ax
test bh, 1
je 0x454449
test ecx, ecx
je 0x454415
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454408
mov word [edi], dx
jmp 0x45441a
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454420
mov eax, dword [str.WRITE_PROT]
mov dword [edi], eax
mov eax, dword [0x47f510]
mov dword [edi + 4], eax
mov ax, word [0x47f514]
mov word [edi + 8], ax
mov al, byte [0x47f516]
mov byte [edi + 0xa], al
test bh, 4
je 0x454487
test ecx, ecx
je 0x454465
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454458
mov word [edi], dx
jmp 0x45446a
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454470
mov eax, dword [str.UNUSED2]
mov dword [edi], eax
mov eax, dword [0x47f508]
mov dword [edi + 4], eax
test bh, 8
je 0x4544d9
test ecx, ecx
je 0x4544a3
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454496
mov word [edi], dx
jmp 0x4544a8
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4544b0
mov eax, dword [str.CREATE_ERR]
mov dword [edi], eax
mov eax, dword [0x47f4fc]
mov dword [edi + 4], eax
mov ax, word [0x47f500]
mov word [edi + 8], ax
mov al, byte [0x47f502]
mov byte [edi + 0xa], al
test ebx, 0x100000
je 0x454527
test ecx, ecx
je 0x4544fd
mov edi, 0x4a2698
dec edi
jmp 0x4544f0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4544f0
mov word [edi], dx
jmp 0x454502
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454508
mov eax, dword [str.smVPONLY]
mov dword [edi], eax
mov eax, dword [0x47f4f0]
mov dword [edi + 4], eax
mov al, byte [0x47f4f4]
mov byte [edi + 8], al
test ebx, 0x200000
je 0x454577
test ecx, ecx
je 0x45454d
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454540
mov word [edi], dx
jmp 0x454552
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454558
mov eax, dword [str.smSMONLY]
mov dword [edi], eax
mov eax, dword [0x47f4e4]
mov dword [edi + 4], eax
mov al, byte [0x47f4e8]
mov byte [edi + 8], al
test ebx, 0x400000
je 0x4545c7
test ecx, ecx
je 0x45459d
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454590
mov word [edi], dx
jmp 0x4545a2
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4545a8
mov eax, dword [str.smSMPREF]
mov dword [edi], eax
mov eax, dword [0x47f4d8]
mov dword [edi + 4], eax
mov al, byte [0x47f4dc]
mov byte [edi + 8], al
test ebx, 0x800000
je 0x454617
test ecx, ecx
je 0x4545ed
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4545e0
mov word [edi], dx
jmp 0x4545f2
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4545f8
mov eax, dword [str.smNEWEST]
mov dword [edi], eax
mov eax, dword [0x47f4cc]
mov dword [edi + 4], eax
mov al, byte [0x47f4d0]
mov byte [edi + 8], al
test ebx, 0x1000000
je 0x45465f
test ecx, ecx
je 0x45463d
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454630
mov word [edi], dx
jmp 0x454642
mov ecx, 1
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454648
mov eax, dword [str.smQUERY]
mov dword [edi], eax
mov eax, dword [0x47f4c4]
mov dword [edi + 4], eax
test ebx, 0x2000000
je 0x4546af
test ecx, ecx
je 0x45467e
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454671
mov word [edi], dx
jmp 0x454683
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454690
mov eax, dword [str.smNOOVER]
mov dword [edi], eax
mov eax, dword [0x47f4b8]
mov dword [edi + 4], eax
mov al, byte [0x47f4bc]
mov byte [edi + 8], al
test ebx, 0x4000000
je 0x4546ff
test ecx, ecx
je 0x4546ce
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4546c1
mov word [edi], dx
jmp 0x4546d3
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4546e0
mov eax, dword [str.smNOCOPY]
mov dword [edi], eax
mov eax, dword [0x47f4ac]
mov dword [edi + 4], eax
mov al, byte [0x47f4b0]
mov byte [edi + 8], al
test ebx, 0x8000000
je 0x45474f
test ecx, ecx
je 0x45471e
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454711
mov word [edi], dx
jmp 0x454723
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454730
mov eax, dword [str.smDELETE]
mov dword [edi], eax
mov eax, dword [0x47f4a0]
mov dword [edi + 4], eax
mov al, byte [0x47f4a4]
mov byte [edi + 8], al
test ebx, 0x10000000
je 0x45479f
test ecx, ecx
je 0x45476e
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454761
mov word [edi], dx
jmp 0x454773
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454780
mov eax, dword [str.smAUTOMATIC]
mov dword [edi], eax
mov eax, dword [0x47f494]
mov dword [edi + 4], eax
mov eax, dword [0x47f498]
mov dword [edi + 8], eax
test ebx, 0x20000000
je 0x4547ef
test ecx, ecx
je 0x4547be
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4547b1
mov word [edi], dx
jmp 0x4547c3
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4547d0
mov eax, dword [str.smMANUAL]
mov dword [edi], eax
mov eax, dword [0x47f488]
mov dword [edi + 4], eax
mov al, byte [0x47f48c]
mov byte [edi + 8], al
test ebx, 0x40000000
je 0x454841
test ecx, ecx
je 0x45480e
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454801
mov word [edi], dx
jmp 0x454813
mov ecx, 1
mov edi, 0x4a2698
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454820
mov eax, dword [str.smCUR_VER]
mov dword [edi], eax
mov eax, dword [0x47f47c]
mov dword [edi + 4], eax
mov ax, word [0x47f480]
mov word [edi + 8], ax
test ebx, ebx
jns 0x454882
test ecx, ecx
je 0x45485b
mov edi, 0x4a2698
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454850
mov word [edi], dx
mov edi, 0x4a2698
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454861
mov ecx, dword [str.smIGNORE]
mov edx, dword [0x47f470]
mov al, byte [0x47f474]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov byte [edi + 8], al
pop edi
mov eax, 0x4a2698
pop ebx
ret