Function at 0x6dd40570
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov dword [ebp + 8], eax
mov eax, dword [edi + 8]
xor ebx, ebx
test eax, eax
jbe 0x6dd40ad8
push esi
mov eax, dword [edi + 0x18]
test eax, eax
je 0x6dd405ea
cmp eax, 0x64
je 0x6dd405ea
cmp eax, 0x65
je 0x6dd405ea
cmp eax, 0x66
je 0x6dd405ea
mov edx, dword [ebp + 0xc]
mov ecx, ebx
imul ecx, ecx, 0x3c
mov esi, dword [ecx + edx + 4]
lea eax, [ecx + edx + 4]
mov ecx, dword [ebp + 8]
or esi, 0x2000
mov dword [eax], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [ecx + 0x44]
cmp eax, ecx
jne 0x6dd405d4
cmp dword [edi + 0xc], 1
jne 0x6dd405d4
push ecx
jmp 0x6dd405d5
push eax
mov eax, dword [ebp + 0x10]
mov edx, ebx
imul edx, edx, 0x4c
lea ecx, [edx + eax + 0x24]
push ecx
call fcn.6dd46dd0
add esp, 8
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0x10]
mov edx, ebx
imul edx, edx, 0x4c
mov esi, ebx
imul esi, esi, 0x1c
add eax, edx
mov edx, dword [esi + ecx]
mov dword [eax + 0x1c], edx
mov ecx, dword [edi + 4]
mov edx, dword [esi + ecx + 4]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x18], edx
mov dword [ebp - 4], eax
mov eax, dword [edi + 0x1c]
and eax, 0x1f
mov dword [esi + ecx + 0x10], eax
test dword [edi + 0x10], 0x1000000
je 0x6dd4062d
or dword [esi + ecx + 0xc], 0x20000000
mov eax, dword [edi + 0xc]
dec eax
cmp eax, 0xfe
ja case.0x6dd40643.2
movzx edx, byte [eax + 0x6dd40b04]
jmp dword [edx*4 + 0x6dd40ae0]
mov eax, dword [edi + 0x10]
test eax, eax
jns 0x6dd406be
cmp dword [edi + 8], 1
jne 0x6dd4066e
mov edx, dword [ebp + 0xc]
mov eax, ebx
imul eax, eax, 0x3c
lea eax, [eax + edx + 8]
or dword [eax], 0x200
jmp case.0x6dd40643.2
test ebx, ebx
jne 0x6dd4067e
mov eax, dword [ebp + 0xc]
or dword [eax + 8], 0x8220
jmp 0x6dd40690
mov edx, dword [ebp + 0xc]
mov eax, ebx
imul eax, eax, 0x3c
lea eax, [eax + edx + 8]
or dword [eax], 4
mov eax, dword [ebp + 0xc]
mov edx, ebx
imul edx, edx, 0x3c
lea eax, [edx + eax + 8]
or dword [eax], 0x2018
mov eax, dword [edi]
mov edx, dword [eax + 0x2c]
test edx, edx
jne case.0x6dd40643.2
push eax
call fcn.6dd40470
mov ecx, dword [ebp + 0x14]
mov dword [esi + ecx + 0x18], eax
jmp 0x6dd40935
test al, 2
je 0x6dd406ee
mov eax, dword [ebp + 0xc]
mov edx, ebx
imul edx, edx, 0x3c
mov ecx, dword [edx + eax + 8]
lea eax, [edx + eax + 8]
or ecx, 0x20000
mov dword [eax], ecx
mov ecx, dword [edi]
push ecx
call fcn.6dd40470
mov edx, dword [ebp + 0x14]
mov dword [esi + edx + 0x18], eax
jmp 0x6dd40935
mov edx, dword [ebp + 0xc]
mov eax, ebx
imul eax, eax, 0x3c
lea eax, [eax + edx + 8]
or dword [eax], 0x40
jmp case.0x6dd40643.2
mov edx, dword [ebp + 0xc]
mov eax, ebx
imul eax, eax, 0x3c
lea eax, [eax + edx + 8]
mov edx, dword [eax]
or edx, 0x1000
mov dword [eax], edx
cmp dword [edi + 8], 1
jbe 0x6dd40726
or edx, 0x400000
mov dword [eax], edx
test ebx, ebx
jbe 0x6dd40732
or dword [esi + ecx + 0xc], 0x10000
mov eax, dword [edi + 0x10]
test ah, 2
je 0x6dd4078b
lea eax, [esi + ecx + 0xc]
jmp 0x6dd40788
mov eax, dword [ebp + 0xc]
mov edx, ebx
imul edx, edx, 0x3c
lea eax, [edx + eax + 8]
or dword [eax], 0x401000
mov edx, dword [esi + ecx + 0xc]
lea eax, [esi + ecx + 0xc]
or edx, 0x200000
test ebx, ebx
mov dword [eax], edx
mov dword [ebp - 4], edx
mov edx, dword [edi + 4]
movzx edx, word [esi + edx + 8]
mov dword [esi + ecx + 0x14], edx
jbe 0x6dd40780
mov ecx, dword [ebp - 4]
or ecx, 0x10000
mov dword [eax], ecx
mov ecx, dword [edi + 0x10]
test ch, 2
je 0x6dd4078b
or dword [eax], 4
mov eax, dword [edi]
push eax
call fcn.6dd40470
mov ecx, dword [ebp + 0x14]
mov dword [esi + ecx + 0x18], eax
jmp 0x6dd40935
mov eax, dword [ebp + 0xc]
mov edx, ebx
imul edx, edx, 0x3c
lea eax, [edx + eax + 8]
or dword [eax], 0x1008
mov dword [ebp - 4], eax
or dword [esi + ecx + 0xc], 0x200
mov ecx, dword [edi]
push ecx
call fcn.6dd40470
mov edx, dword [ebp + 0x14]
mov dword [esi + edx + 0x18], eax
mov eax, dword [edi + 8]
add esp, 4
cmp eax, 6
jbe 0x6dd407df
mov eax, dword [ebp - 4]
or dword [eax], 0x400000
mov eax, 0xaaaaaaab
mul dword [edi + 8]
mov ecx, edx
shr ecx, 2
xor edx, edx
mov eax, ebx
div ecx
mov dword [ebp - 0x1c], 0x400
mov dword [ebp - 0x18], 0x800
mov dword [ebp - 0x14], 0x1000
mov dword [ebp - 0x10], 0x2000
mov dword [ebp - 0xc], 0x4000
mov dword [ebp - 8], 0x8000
mov ecx, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp + 0x14]
or dword [esi + eax + 0xc], ecx
test edx, edx
mov ecx, dword [esi + eax + 0xc]
je 0x6dd40839
or ecx, 0x10000
mov dword [esi + eax + 0xc], ecx
mov eax, dword [edi + 0x10]
test ah, 2
je 0x6dd40938
mov eax, dword [ebp + 0x14]
or dword [esi + eax + 0xc], 4
jmp 0x6dd40938
mov eax, dword [ebp + 0xc]
mov edx, ebx
imul edx, edx, 0x3c
lea eax, [edx + eax + 8]
or dword [eax], 0x1000
jmp case.0x6dd40643.2
mov edx, dword [ebp + 0xc]
mov ecx, ebx
imul ecx, ecx, 0x3c
lea eax, [ecx + edx + 8]
or dword [eax], 0x800000
mov eax, dword [edi]
push eax
call fcn.6dd40470
mov ecx, dword [ebp + 0x14]
mov dword [esi + ecx + 0x18], eax
lea eax, [esi + ecx + 0xc]
mov ecx, dword [eax]
add esp, 4
or ecx, 0x40
mov dword [eax], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c]
mov dword [eax + 0xc], ecx
jmp 0x6dd40938
mov eax, dword [ebp + 0xc]
mov edx, ebx
imul edx, edx, 0x3c
lea eax, [edx + eax + 8]
or dword [eax], 0x800000
test dword [edi + 0x10], 0x20000000
jne 0x6dd408c6
or dword [esi + ecx + 0xc], 0x20
mov edx, dword [ebp + 8]
cmp dword [edx + 0x4c], 8
jb 0x6dd4091d
mov eax, dword [edi + 0x10]
test ah, 2
lea eax, [esi + ecx + 0xc]
mov ecx, dword [eax]
je 0x6dd40918
or ecx, 4
jmp 0x6dd4091b
mov edx, dword [ebp + 0xc]
mov eax, ebx
imul eax, eax, 0x3c
lea eax, [eax + edx + 8]
or dword [eax], 0x800000
mov edx, dword [ebp + 8]
lea eax, [esi + ecx + 0xc]
mov ecx, dword [eax]
or ecx, 0x4000000
mov dword [eax], ecx
cmp dword [edx + 0x4c], 8
jb 0x6dd4091d
mov edx, dword [edi + 0x10]
test dh, 2
je 0x6dd40918
or ecx, 4
jmp 0x6dd4091b
or ecx, 8
mov dword [eax], ecx
mov eax, dword [edi]
push eax
call fcn.6dd40470
mov ecx, dword [ebp + 0x14]
mov dword [esi + ecx + 0x18], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1c]
mov dword [eax + 0xc], edx
add esp, 4
mov ecx, dword [ebp + 0x14]
test byte [edi + 0x10], 1
je 0x6dd4096d
mov edx, dword [ebp + 0xc]
mov eax, ebx
imul eax, eax, 0x3c
lea eax, [eax + edx + 8]
or dword [eax], 0x2000
mov eax, dword [esi + ecx + 0x18]
test eax, eax
jne 0x6dd4096d
mov eax, dword [edi]
push eax
call fcn.6dd40470
mov ecx, dword [ebp + 0x14]
add esp, 4
mov dword [esi + ecx + 0x18], eax
test byte [edi + 0x10], 2
mov edx, dword [ebp + 0xc]
je 0x6dd40984
mov eax, ebx
imul eax, eax, 0x3c
or byte [eax + edx + 0xa], 2
lea eax, [eax + edx + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4c], 8
jb 0x6dd40a05
test byte [edi + 0x10], 4
je 0x6dd4099b
or dword [esi + ecx + 0xc], 0x80
test byte [edi + 0x10], 8
je 0x6dd409af
mov eax, ebx
imul eax, eax, 0x3c
or byte [eax + edx + 0xa], 1
lea eax, [eax + edx + 8]
mov eax, dword [edi + 0x10]
test eax, 0x4000000
jne 0x6dd409c5
test al, 4
jne 0x6dd409c5
or dword [esi + ecx + 0xc], 0x400000
test dword [edi + 0x10], 0x2000000
je 0x6dd409d6
or dword [esi + ecx + 0xc], 0x10000000
test byte [edi + 0x10], 0x40
je 0x6dd409e4
or dword [esi + ecx + 0xc], 0x800000
mov al, byte [edi + 0x10]
test al, al
jns 0x6dd409f3
or dword [esi + ecx + 0xc], 0x1000000
mov eax, dword [edi + 0x10]
test ah, 1
je 0x6dd40a3f
or dword [esi + ecx + 0xc], 0x2000000
jmp 0x6dd40a3f
mov eax, dword [edi + 0xc]
cmp eax, 3
je 0x6dd40a17
cmp eax, 5
je 0x6dd40a17
cmp eax, 4
jne 0x6dd40a25
test byte [edi + 0x10], 4
je 0x6dd40a25
or dword [esi + ecx + 0xc], 0x80
cmp dword [edi + 0xc], 6
jne 0x6dd40a3f
test byte [edi + 0x10], 8
je 0x6dd40a3f
mov eax, ebx
imul eax, eax, 0x3c
or byte [eax + edx + 0xa], 1
lea eax, [eax + edx + 8]
mov eax, dword [edi + 0x14]
cmp eax, 5
ja case.0x6dd40a4b.3
jmp dword [eax*4 + 0x6dd40c04]
mov ecx, ebx
imul ecx, ecx, 0x3c
lea eax, [ecx + edx + 8]
mov ecx, dword [eax]
or ecx, 0x10004000
jmp 0x6dd40ac9
mov eax, ebx
imul eax, eax, 0x3c
mov ecx, dword [eax + edx + 8]
lea eax, [eax + edx + 8]
or ecx, 0x20004000
jmp 0x6dd40ac9
mov ecx, ebx
imul ecx, ecx, 0x3c
lea eax, [ecx + edx + 8]
mov ecx, dword [eax]
or ecx, 0x800
jmp 0x6dd40ac9
mov eax, ebx
imul eax, eax, 0x3c
add eax, edx
or dword [eax + 4], 0x40000000
or dword [eax + 8], 0x4000
mov eax, dword [esi + ecx + 0xc]
lea esi, [esi + ecx + 0xc]
or eax, 0x10
mov dword [esi], eax
jmp case.0x6dd40a4b.3
mov ecx, ebx
imul ecx, ecx, 0x3c
lea eax, [ecx + edx + 8]
mov dword [edi + 0x14], 4
mov ecx, dword [eax]
or ecx, 0x4000
mov dword [eax], ecx
mov eax, dword [edi + 8]
inc ebx
cmp ebx, eax
jb 0x6dd40590
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret