Function at 0x10096fc5
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov al, byte [esi + 0xc]
test al, 3
je 0x10096ffa
movzx ecx, al
and ecx, 3
mov eax, dword [ecx*8 + 0x100ada88]
or dword [edx + 0x430], eax
mov eax, dword [ecx*8 + 0x100ada8c]
or dword [edx + 0x434], eax
mov al, byte [esi + 0xc]
test al, 0xc
je 0x10097024
movzx ecx, al
shr ecx, 2
and ecx, 3
mov eax, dword [ecx*8 + 0x100adc98]
or dword [edx + 0x430], eax
mov eax, dword [ecx*8 + 0x100adc9c]
or dword [edx + 0x434], eax
mov al, byte [esi + 0xc]
test al, 0x30
je 0x1009704b
movzx ecx, al
shr ecx, 4
and ecx, 3
mov eax, dword [ecx*8 + 0x100adcd0]
or dword [edx + 0x430], eax
mov eax, dword [ecx*8 + 0x100adcd4]
or dword [edx + 0x434], eax
cmp dword [edx + 0xc], 0
je 0x10097091
mov al, byte [edi + 0xf]
test al, al
je 0x100973c4
push 1
pop ebx
jmp 0x10097345
or dword [edx + 0x430], 0x40000000
jmp 0x10097394
or dword [edx + 0x430], 0x20000000
jmp 0x10097394
or dword [edx + 0x430], 0x10000000
jmp 0x10097394
mov al, byte [esi + 0xc]
test al, 0x40
je 0x100970b1
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x100
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xc]
xor ebx, ebx
inc ebx
test al, al
jns 0x100970f7
mov eax, dword [edx + 0x430]
mov ecx, dword [edx + 0x434]
or eax, 0x200
mov dword [edx + 0x430], eax
mov dword [edx + 0x434], ecx
cmp byte [edi + 0xc], 0
je 0x100970f7
or eax, 0x80000
mov dword [edx + 0x434], ecx
mov dword [edx + 0x430], eax
movzx eax, byte [edi + 0x11]
mov dword [edx + eax*8 + 0x4cc], ebx
mov al, byte [esi + 0xd]
test al, 1
je 0x10097117
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x400
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 2
je 0x10097134
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x800
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 4
je 0x10097151
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x1000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 8
je 0x1009716e
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x2000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 0x10
je 0x1009718b
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x4000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 0x20
je 0x100971a8
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x8000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 0x40
je 0x100971c2
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x10000
mov dword [edx + 0x434], eax
movzx eax, byte [edi + 0xd]
sub eax, 0xf2
je 0x10097234
sub eax, 1
jne 0x100972a0
mov ecx, dword [edx + 0x430]
mov eax, ecx
and eax, 0x400
or eax, 0
je 0x100971f3
or ecx, 0x100000
jmp 0x1009728e
mov eax, ecx
and eax, 0x800
or eax, 0
je 0x1009720a
or ecx, 0x200000
jmp 0x1009728e
mov eax, ecx
and eax, 0x8000
or eax, 0
je 0x100972a0
mov eax, ecx
and eax, 0x80000
or eax, 0
jne 0x1009722c
test byte [esi + 0xd], 0x40
je 0x100972a0
or ecx, 0x2000000
jmp 0x1009728e
mov ecx, dword [edx + 0x430]
mov eax, ecx
and eax, 0x1000
or eax, 0
je 0x1009724e
or ecx, 0x400000
jmp 0x1009728e
mov eax, ecx
and eax, 0x4000
or eax, 0
je 0x10097274
mov eax, ecx
and eax, 0x80000
or eax, 0
jne 0x1009726c
test byte [esi + 0xd], 0x40
je 0x10097274
or ecx, 0x1000000
jmp 0x1009728e
mov eax, dword [edi]
cmp byte [eax + 0xb], 0
je 0x100972a0
mov eax, ecx
and eax, 0x2000
or eax, 0
je 0x100972a0
or ecx, 0x800000
mov eax, dword [edx + 0x434]
mov dword [edx + 0x434], eax
mov dword [edx + 0x430], ecx
movzx ecx, byte [edi + 0x12]
cmp dword [edx + ecx*8 + 0x4cc], 0
jne 0x100972c5
mov eax, dword [edx + 0x430]
and eax, 0x3f00000
or eax, 0
je 0x100972c5
mov dword [edx + ecx*8 + 0x4cc], ebx
cmp byte [esi + 0xd], 0
jge 0x1009731c
mov ecx, dword [edx + 0x430]
mov eax, ecx
mov esi, dword [edx + 0x434]
or eax, 0x20000
mov dword [edx + 0x430], eax
mov dword [edx + 0x434], esi
mov al, byte [edi + 0xe]
cmp al, 0x2e
je 0x10097314
cmp al, 0x3e
jne 0x100973c4
or ecx, 0x8020000
mov dword [edx + 0x430], ecx
mov dword [edx + 0x434], esi
movzx eax, byte [edi + 0x13]
jmp 0x100973bd
or ecx, 0x4020000
jmp 0x100972ff
test byte [esi + 0xe], 1
je 0x10097338
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x40000
mov dword [edx + 0x434], eax
mov al, byte [edi + 0xf]
test al, al
je 0x100973a0
test byte [esi + 0xe], 1
je 0x100973a0
movzx eax, al
sub eax, 0x26
je 0x1009738a
sub eax, 8
je 0x10097082
sub eax, 8
je 0x10097073
sub eax, 8
je 0x10097064
sub eax, 0x26
mov eax, dword [edx + 0x430]
mov dword [edx + 0x430], eax
je 0x10097382
or dword [edx + 0x434], 2
jmp 0x100973a0
or dword [edx + 0x434], ebx
jmp 0x100973a0
or dword [edx + 0x430], 0x80000000
mov eax, dword [edx + 0x434]
mov dword [edx + 0x434], eax
mov eax, dword [edx + 0x434]
mov ecx, dword [edx + 0x430]
and eax, 3
and ecx, 0xf0000000
or ecx, eax
je 0x100973c4
movzx eax, byte [edi + 0x16]
mov dword [edx + eax*8 + 0x4cc], ebx
pop edi
pop esi
pop ebx
pop ebp
ret