Function at 0x100ab80f
Capabilities:
Inspect section memory permissions

Disassembly:
push ecx
mov edx, dword [esp + 0xc]
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
lea esi, [edx + 0x430]
lea ebx, [ebp + 0xc]
mov al, byte [ebx]
test al, 3
je 0x100ab849
movzx eax, al
lea edi, [ebp + 0xc]
and eax, 3
mov ecx, dword [eax*8 + 0x100da068]
or dword [esi], ecx
mov eax, dword [eax*8 + 0x100da06c]
or dword [esi + 4], eax
jmp 0x100ab84b
mov edi, ebx
mov al, byte [ebx]
test al, 0xc
je 0x100ab880
movzx ecx, al
shr ecx, 2
and ecx, 3
mov eax, dword [ecx*8 + 0x100da088]
or dword [esi], eax
mov eax, dword [ecx*8 + 0x100da08c]
lea ecx, [edx + 0x430]
or dword [esi + 4], eax
lea eax, [ebp + 0xc]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
jmp 0x100ab888
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edi
mov al, byte [ebx]
test al, 0x30
je 0x100ab8b4
movzx ecx, al
shr ecx, 4
and ecx, 3
mov eax, dword [ecx*8 + 0x100da0a8]
or dword [esi], eax
mov eax, dword [ecx*8 + 0x100da0ac]
or dword [esi + 4], eax
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
jmp 0x100ab8b6
mov ecx, edi
mov eax, dword [edx + 0xc]
sub eax, 0
je 0x100ab963
sub eax, 1
je 0x100ab8cf
sub eax, 1
je 0x100ab8cf
sub eax, 1
test byte [edi], 0x40
je 0x100abd3b
mov eax, dword [esi]
xor ebp, ebp
mov edi, dword [esp + 0x18]
or eax, 0x40000
mov ecx, dword [esi + 4]
inc ebp
mov dword [esi], eax
mov dword [esi + 4], ecx
mov bl, byte [edi + 0xf]
test bl, bl
je 0x100ab943
movzx edi, bl
sub edi, 0x26
je 0x100ab935
sub edi, 8
je 0x100ab92e
sub edi, 8
je 0x100ab927
sub edi, 8
je 0x100ab920
sub edi, 0x26
mov dword [esi], eax
mov edi, dword [esp + 0x18]
je 0x100ab91c
or ecx, 2
jmp 0x100ab940
or ecx, ebp
jmp 0x100ab940
or eax, 0x40000000
jmp 0x100ab93a
or eax, 0x20000000
jmp 0x100ab93a
or eax, 0x10000000
jmp 0x100ab93a
or eax, 0x80000000
mov edi, dword [esp + 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
and eax, 0xf0000000
and ecx, 3
or eax, ecx
je 0x100abd3b
movzx eax, byte [edi + 0x16]
mov dword [edx + eax*8 + 0x4ec], ebp
jmp 0x100abd3b
cmp byte [ecx], 0
jge 0x100ab97c
mov eax, dword [esi + 4]
lea edi, [edx + 0x430]
or dword [esi], 0x100
mov dword [esi + 4], eax
jmp 0x100ab97e
mov edi, esi
lea ecx, [ebp + 0xd]
mov ebx, edi
test byte [ecx], 1
mov dword [esp + 0x20], ecx
je 0x100ab9e2
mov eax, dword [esi]
mov ebx, dword [esi + 4]
or eax, 0x200
mov dword [esi], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], ebx
mov dword [esp + 0x10], ebx
mov ebx, edi
mov dword [esp + 0x20], ecx
cmp byte [eax + 0xc], 0
je 0x100ab9e2
mov ebx, dword [esp + 0x1c]
or ebx, 0x80000
mov dword [esi], ebx
mov ebx, dword [esp + 0x10]
mov dword [esi + 4], ebx
lea ebx, [edx + 0x430]
movzx eax, byte [eax + 0x11]
mov dword [edx + eax*8 + 0x4ec], 1
lea eax, [ebp + 0xd]
mov dword [esp + 0x20], eax
test byte [ecx], 2
je 0x100ab9f9
mov eax, dword [edi + 4]
or dword [edi], 0x400
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
jmp 0x100aba01
mov eax, ecx
mov ebx, edi
mov dword [esp + 0x20], eax
test byte [ecx], 4
je 0x100aba29
mov ecx, dword [edi]
lea esi, [edx + 0x430]
mov eax, dword [edi + 4]
or ecx, 0x800
mov dword [ebx], ecx
lea ecx, [ebp + 0xd]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
jmp 0x100aba31
mov esi, ebx
mov dword [esp + 0x1c], eax
mov ecx, eax
test byte [eax], 8
je 0x100aba48
mov eax, dword [ebx + 4]
or dword [ebx], 0x1000
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x20]
jmp 0x100aba50
mov ecx, eax
mov esi, ebx
mov dword [esp + 0x1c], ecx
test byte [eax], 0x10
je 0x100aba71
mov ecx, dword [ebx]
lea edi, [edx + 0x430]
mov eax, dword [ebx + 4]
or ecx, 0x2000
mov dword [esi], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 4], eax
jmp 0x100aba73
mov edi, esi
test byte [ecx], 0x20
je 0x100aba86
mov eax, dword [esi + 4]
or dword [esi], 0x4000
mov dword [esi + 4], eax
jmp 0x100aba88
mov edi, esi
test byte [ecx], 0x40
je 0x100abaa5
mov ecx, dword [esi]
mov eax, dword [esi + 4]
or ecx, 0x8000
mov dword [edi], ecx
lea esi, [edx + 0x430]
mov dword [edi + 4], eax
jmp 0x100abaa7
mov esi, edi
test byte [ebp + 0xe], 1
je 0x100ababb
mov eax, dword [edi + 4]
or dword [edi], 0x10000
mov dword [edi + 4], eax
jmp 0x100ababd
mov esi, edi
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0xd]
sub eax, 0xf2
je 0x100abb39
sub eax, 1
jne 0x100abba0
mov ecx, dword [edi]
xor ebx, ebx
mov esi, dword [edi + 4]
mov eax, ecx
and eax, 0x400
or eax, ebx
je 0x100abafe
or ecx, 0x100000
mov dword [edx + 0x430], ecx
mov dword [edx + 0x434], esi
jmp 0x100abba2
mov eax, ecx
and eax, 0x800
or eax, ebx
je 0x100abb11
or ecx, 0x200000
jmp 0x100abaed
mov eax, ecx
and eax, 0x8000
or eax, ebx
je 0x100abba2
mov eax, ecx
and eax, 0x80000
or eax, ebx
jne 0x100abb31
test byte [ebp + 0xe], 1
je 0x100abba2
or ecx, 0x2000000
jmp 0x100abaed
mov ecx, dword [esi]
xor ebx, ebx
mov edi, dword [esi + 4]
mov eax, ecx
and eax, 0x1000
or eax, ebx
je 0x100abb58
or ecx, 0x400000
mov dword [esi], ecx
mov dword [esi + 4], edi
jmp 0x100abba2
mov eax, ecx
and eax, 0x4000
or eax, ebx
je 0x100abb7a
mov eax, ecx
and eax, 0x80000
or eax, ebx
jne 0x100abb98
test byte [ebp + 0xe], 1
jne 0x100abb98
lea esi, [edx + 0x430]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp byte [eax + 0xb], bl
je 0x100abba2
mov eax, ecx
and eax, 0x2000
or eax, ebx
je 0x100abba2
or ecx, 0x800000
jmp 0x100abb51
or ecx, 0x1000000
jmp 0x100abb51
xor ebx, ebx
mov esi, dword [esp + 0x18]
movzx ecx, byte [esi + 0x12]
cmp dword [edx + ecx*8 + 0x4ec], ebx
jne 0x100abbce
mov eax, dword [edx + 0x430]
and eax, 0x3f00000
or eax, ebx
je 0x100abbce
xor ebx, ebx
inc ebx
mov dword [edx + ecx*8 + 0x4ec], ebx
jmp 0x100abbd1
xor ebx, ebx
inc ebx
test byte [ebp + 0xe], 2
je 0x100abc26
mov ecx, dword [edx + 0x430]
mov eax, ecx
mov edi, dword [edx + 0x434]
or eax, 0x20000
mov dword [edx + 0x430], eax
mov dword [edx + 0x434], edi
mov al, byte [esi + 0xe]
cmp al, 0x2e
je 0x100abc09
cmp al, 0x3e
jne 0x100abc26
or ecx, 0x8020000
jmp 0x100abc0f
or ecx, 0x4020000
mov dword [edx + 0x430], ecx
mov dword [edx + 0x434], edi
movzx eax, byte [esi + 0x13]
mov dword [edx + eax*8 + 0x4ec], ebx
cmp byte [ebp + 0xd], 0
jge 0x100abc75
mov ecx, dword [edx + 0x434]
mov edi, dword [edx + 0x430]
or ecx, 0x800
mov dword [edx + 0x430], edi
mov dword [edx + 0x434], ecx
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
je 0x100abc75
cmp byte [esi + 0x18], 0
jl 0x100abc75
or ecx, 0x1000
mov dword [edx + 0x430], edi
mov dword [edx + 0x434], ecx
movsx eax, byte [esi + 0x18]
mov dword [edx + eax*8 + 0x4ec], ebx
test byte [ebp + 0xc], 0x40
je 0x100abd3b
test byte [ebp + 0xe], 2
jne 0x100abd3b
mov edi, dword [edx + 0x430]
mov ebx, dword [edx + 0x434]
or edi, 0x40000
mov dword [edx + 0x430], edi
mov ecx, edi
mov dword [edx + 0x434], ebx
mov al, byte [esi + 0xf]
mov esi, ebx
mov byte [esp + 0x20], al
test al, al
je 0x100abd1b
mov eax, ebx
xor ebp, ebp
and eax, 0x1000
or ebp, eax
jne 0x100abd1b
movzx eax, byte [esp + 0x20]
sub eax, 0x26
je 0x100abd09
sub eax, 8
je 0x100abd01
sub eax, 8
je 0x100abcf9
sub eax, 8
je 0x100abcf1
mov dword [edx + 0x430], ecx
sub eax, 0x26
je 0x100abcec
or esi, 2
jmp 0x100abd15
or esi, 1
jmp 0x100abd15
or ecx, 0x40000000
jmp 0x100abd0f
or ecx, 0x20000000
jmp 0x100abd0f
or ecx, 0x10000000
jmp 0x100abd0f
or ecx, 0x80000000
mov dword [edx + 0x430], ecx
mov dword [edx + 0x434], esi
and ecx, 0xf0000000
and esi, 3
or ecx, esi
je 0x100abd3b
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x16]
mov dword [edx + eax*8 + 0x4ec], 1
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret