Function at 0x10148520
Capabilities:
Inspect section memory permissions

Disassembly:
mov edx, dword [esp + 8]
push esi
mov esi, dword [esp + 0x10]
mov al, byte [esi + 0xc]
test al, 3
je 0x10148553
movzx ecx, al
and ecx, 3
mov eax, dword [ecx*8 + 0x102e96b0]
or dword [edx + 0x430], eax
mov eax, dword [ecx*8 + 0x102e96b4]
or dword [edx + 0x434], eax
mov al, byte [esi + 0xc]
test al, 0xc
je 0x1014857d
movzx ecx, al
shr ecx, 2
and ecx, 3
mov eax, dword [ecx*8 + 0x102e96d0]
or dword [edx + 0x430], eax
mov eax, dword [ecx*8 + 0x102e96d4]
or dword [edx + 0x434], eax
mov al, byte [esi + 0xc]
test al, 0x30
je 0x101485a4
movzx ecx, al
shr ecx, 4
and ecx, 3
mov eax, dword [ecx*8 + 0x102e96f0]
or dword [edx + 0x430], eax
mov eax, dword [ecx*8 + 0x102e96f4]
or dword [edx + 0x434], eax
cmp dword [edx + 0xc], 0
je 0x10148678
mov esi, dword [esp + 8]
mov al, byte [esi + 0xf]
test al, al
je 0x10148a07
movzx eax, al
movzx eax, byte [eax + 0x10148a02]
jmp dword [eax*4 + 0x10148a0c]
mov al, byte [esi + 0xc]
test al, 0x40
je 0x10148698
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x100
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xc]
push edi
mov edi, dword [esp + 0xc]
test al, al
jns 0x101486e4
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 0x101486e4
or eax, 0x80000
mov dword [edx + 0x434], ecx
mov dword [edx + 0x430], eax
movzx eax, byte [edi + 0x11]
mov dword [edx + eax*8 + 0x4cc], 1
mov al, byte [esi + 0xd]
test al, 1
je 0x10148704
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x400
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 2
je 0x10148721
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x800
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 4
je 0x1014873e
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x1000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 8
je 0x1014875b
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x2000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 0x10
je 0x10148778
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x4000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 0x20
je 0x10148795
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x8000
mov dword [edx + 0x434], eax
mov al, byte [esi + 0xd]
test al, 0x40
je 0x101487af
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x10000
mov dword [edx + 0x434], eax
movzx eax, byte [edi + 0xd]
push ebx
sub eax, 0xf2
je 0x10148828
sub eax, 1
jne 0x10148894
mov ecx, dword [edx + 0x430]
mov eax, ecx
mov ebx, dword [edx + 0x434]
and eax, 0x400
or eax, 0
je 0x101487e7
or ecx, 0x100000
jmp 0x10148888
mov eax, ecx
and eax, 0x800
or eax, 0
je 0x101487fe
or ecx, 0x200000
jmp 0x10148888
mov eax, ecx
and eax, 0x8000
or eax, 0
je 0x10148894
mov eax, ecx
and eax, 0x80000
or eax, 0
jne 0x10148820
test byte [esi + 0xd], 0x40
je 0x10148894
or ecx, 0x2000000
jmp 0x10148888
mov ecx, dword [edx + 0x430]
mov eax, ecx
mov ebx, dword [edx + 0x434]
and eax, 0x1000
or eax, 0
je 0x10148848
or ecx, 0x400000
jmp 0x10148888
mov eax, ecx
and eax, 0x4000
or eax, 0
je 0x1014886e
mov eax, ecx
and eax, 0x80000
or eax, 0
jne 0x10148866
test byte [esi + 0xd], 0x40
je 0x1014886e
or ecx, 0x1000000
jmp 0x10148888
mov eax, dword [edi]
cmp byte [eax + 0xb], 0
je 0x10148894
mov eax, ecx
and eax, 0x2000
or eax, 0
je 0x10148894
or ecx, 0x800000
mov dword [edx + 0x434], ebx
mov dword [edx + 0x430], ecx
movzx eax, byte [edi + 0x12]
cmp dword [edx + eax*8 + 0x4cc], 0
lea ecx, [edx + eax*8]
pop ebx
jne 0x101488c0
mov eax, dword [edx + 0x430]
and eax, 0x3f00000
or eax, 0
je 0x101488c0
mov dword [ecx + 0x4cc], 1
cmp byte [esi + 0xd], 0
jge 0x10148920
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 0x10148918
cmp al, 0x3e
jne 0x10148a06
or ecx, 0x8020000
mov dword [edx + 0x434], esi
mov dword [edx + 0x430], ecx
movzx eax, byte [edi + 0x13]
pop edi
pop esi
mov dword [edx + eax*8 + 0x4cc], 1
ret
or ecx, 0x4020000
jmp 0x101488fa
test byte [esi + 0xe], 1
je 0x1014893c
mov eax, dword [edx + 0x434]
or dword [edx + 0x430], 0x40000
mov dword [edx + 0x434], eax
mov al, byte [edi + 0xf]
test al, al
je 0x101489de
test byte [esi + 0xe], 1
je 0x101489de
movzx eax, al
movzx eax, byte [eax + 0x10148a5e]
jmp dword [eax*4 + 0x10148a68]
mov ecx, dword [edx + 0x430]
mov eax, dword [edx + 0x434]
and ecx, 0xf0000000
and eax, 3
or ecx, eax
je 0x10148a06
movzx eax, byte [edi + 0x16]
mov dword [edx + eax*8 + 0x4cc], 1
pop edi
pop esi
ret