Function at 0x100dc0e0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x100ef44c]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
test ebx, ebx
jne 0x100dc10b
push 0x6202
push str.ZydisZydis.c
push str.state
call eax
mov eax, dword [0x100ef44c]
add esp, 0xc
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x100dc126
push 0x6203
push str.ZydisZydis.c
push str.instruction
call eax
add esp, 0xc
mov edi, dword [ebp + 0x10]
test edi, edi
jne 0x100dc145
push 0x6204
push str.ZydisZydis.c
push str.definition
call dword [0x100ef44c]
add esp, 0xc
mov al, byte [edi + 0xc]
shr al, 5
and al, 3
je 0x100dc189
cmp al, 4
jb 0x100dc16b
push 0x620f
push str.ZydisZydis.c
push str.definition__cpu_state____sizeof_mapping____sizeof__mapping__0___
call dword [0x100ef44c]
add esp, 0xc
movzx ecx, byte [edi + 0xc]
shr ecx, 5
and ecx, 3
mov eax, dword [ecx*8 + 0x101113f8]
or dword [esi + 0x20], eax
mov eax, dword [ecx*8 + 0x101113fc]
or dword [esi + 0x24], eax
mov al, byte [edi + 0xd]
and al, 3
je 0x100dc1c7
cmp al, 4
jb 0x100dc1ac
push 0x621c
push str.ZydisZydis.c
push str.definition__fpu_state____sizeof_mapping____sizeof__mapping__0___
call dword [0x100ef44c]
add esp, 0xc
movzx ecx, byte [edi + 0xd]
and ecx, 3
mov eax, dword [ecx*8 + 0x10111430]
or dword [esi + 0x20], eax
mov eax, dword [ecx*8 + 0x10111434]
or dword [esi + 0x24], eax
mov al, byte [edi + 0xd]
shr al, 2
and al, 3
je 0x100dc20b
cmp al, 4
jb 0x100dc1ed
push 0x6229
push str.ZydisZydis.c
push str.definition__xmm_state____sizeof_mapping____sizeof__mapping__0___
call dword [0x100ef44c]
add esp, 0xc
movzx ecx, byte [edi + 0xd]
shr ecx, 2
and ecx, 3
mov eax, dword [ecx*8 + 0x10111450]
or dword [esi + 0x20], eax
mov eax, dword [ecx*8 + 0x10111454]
or dword [esi + 0x24], eax
cmp dword [esi + 0xc], 0
je 0x100dc2ae
test byte [edi + 0xd], 0x10
je 0x100dc568
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x4000000
mov dword [esi + 0x24], eax
mov al, byte [ebx + 0x13]
test al, al
je 0x100dc54d
movzx eax, al
movzx eax, byte [eax + 0x100dc566]
jmp dword [eax*4 + 0x100dc570]
test byte [edi + 0xd], 0x20
je 0x100dc2c1
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x100
mov dword [esi + 0x24], eax
test byte [edi + 0xd], 0x40
je 0x100dc2f0
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x10000
mov dword [esi + 0x24], eax
cmp byte [ebx + 0x10], 0
je 0x100dc2f0
or dword [esi + 0x20], 0x8000000
mov dword [esi + 0x24], eax
movzx eax, byte [ebx + 0x15]
mov dword [esi + eax*8 + 0x6c], 1
test byte [edi + 0xd], 0x80
je 0x100dc303
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x20000
mov dword [esi + 0x24], eax
test byte [edi + 0xe], 1
je 0x100dc316
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x40000
mov dword [esi + 0x24], eax
test byte [edi + 0xe], 2
je 0x100dc329
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x80000
mov dword [esi + 0x24], eax
test byte [edi + 0xe], 4
je 0x100dc33c
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x100000
mov dword [esi + 0x24], eax
test byte [edi + 0xe], 8
je 0x100dc34f
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x200000
mov dword [esi + 0x24], eax
test byte [edi + 0xe], 0x10
je 0x100dc362
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x400000
mov dword [esi + 0x24], eax
test byte [edi + 0xe], 0x40
je 0x100dc375
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x800000
mov dword [esi + 0x24], eax
movzx eax, byte [ebx + 0x11]
sub eax, 0xf2
je 0x100dc3db
dec eax
jne 0x100dc438
mov ecx, dword [esi + 0x20]
mov eax, ecx
mov edx, dword [esi + 0x24]
and eax, 0x20000
or eax, 0
je 0x100dc3a4
or ecx, 0x10000000
jmp 0x100dc432
mov eax, ecx
and eax, 0x40000
or eax, 0
je 0x100dc3b8
or ecx, 0x20000000
jmp 0x100dc432
mov eax, ecx
and eax, 0x400000
or eax, 0
je 0x100dc438
mov eax, ecx
and eax, 0x8000000
or eax, 0
jne 0x100dc3d6
test byte [edi + 0xe], 0x40
je 0x100dc438
or edx, 2
jmp 0x100dc432
mov ecx, dword [esi + 0x20]
mov eax, ecx
mov edx, dword [esi + 0x24]
and eax, 0x80000
or eax, 0
je 0x100dc3f5
or ecx, 0x40000000
jmp 0x100dc432
mov eax, ecx
and eax, 0x200000
or eax, 0
je 0x100dc418
mov eax, ecx
and eax, 0x8000000
or eax, 0
jne 0x100dc413
test byte [edi + 0xe], 0x40
je 0x100dc418
or edx, 1
jmp 0x100dc432
mov eax, dword [ebx]
cmp byte [eax + 0xb], 0
je 0x100dc438
mov eax, ecx
and eax, 0x100000
or eax, 0
je 0x100dc438
or ecx, 0x80000000
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
movzx eax, byte [ebx + 0x16]
cmp dword [esi + eax*8 + 0x6c], 0
lea edx, [esi + eax*8]
jne 0x100dc460
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, 0xf0000000
and eax, 3
or ecx, eax
je 0x100dc460
mov dword [edx + 0x6c], 1
test byte [edi + 0xe], 0x80
je 0x100dc49a
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x1000000
mov dword [esi + 0x24], eax
mov al, byte [ebx + 0x12]
cmp al, 0x2e
je 0x100dc484
cmp al, 0x3e
jne 0x100dc49a
or dword [esi + 0x24], 8
jmp 0x100dc488
or dword [esi + 0x24], 4
mov eax, dword [esi + 0x20]
mov dword [esi + 0x20], eax
movzx eax, byte [ebx + 0x17]
mov dword [esi + eax*8 + 0x6c], 1
test byte [edi + 0xe], 0x20
je 0x100dc4d1
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x2000000
mov dword [esi + 0x24], eax
mov eax, dword [ebx]
cmp byte [eax + 0xc], 0
je 0x100dc4d1
cmp byte [ebx + 0x1c], 0
jl 0x100dc4d1
mov eax, dword [esi + 0x20]
or dword [esi + 0x24], 0x10
mov dword [esi + 0x20], eax
movsx eax, byte [ebx + 0x1c]
mov dword [esi + eax*8 + 0x6c], 1
test byte [edi + 0xd], 0x10
je 0x100dc568
test byte [edi + 0xe], 0x80
jne 0x100dc568
mov eax, dword [esi + 0x24]
or dword [esi + 0x20], 0x4000000
mov dword [esi + 0x24], eax
mov al, byte [ebx + 0x13]
mov byte [ebp + 0xb], al
test al, al
je 0x100dc54d
mov edx, dword [esi + 0x24]
xor eax, eax
mov edi, dword [esi + 0x20]
mov ecx, edx
and ecx, 0x10
or eax, ecx
jne 0x100dc54d
movzx eax, byte [ebp + 0xb]
movzx eax, byte [eax + 0x100dc5c2]
jmp dword [eax*4 + 0x100dc5cc]
mov ecx, dword [esi + 0x24]
xor eax, eax
and ecx, 0x7e0
or eax, ecx
je 0x100dc568
movzx eax, byte [ebx + 0x1a]
mov dword [esi + eax*8 + 0x6c], 1
pop edi
pop esi
pop ebx
pop ebp
ret