Function at 0x1e70a830
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
push esi
xor esi, esi
mov dword [ebp + 8], eax
cmp dword [ebx + 8], esi
jbe 0x1e70acf6
push edi
mov edi, edi
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1e70a7c8
cmp eax, 0x64
je 0x1e70a7c8
cmp eax, 0x65
je 0x1e70a7c8
cmp eax, 0x66
je 0x1e70a7c8
mov edx, dword [ebp + 0xc]
mov ecx, esi
shl ecx, 4
sub ecx, esi
or dword [edx + ecx*4 + 4], 0x2000
lea eax, [edx + ecx*4 + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x18]
mov ecx, dword [ecx + 0x48]
cmp eax, ecx
jne 0x1e70a7b2
cmp dword [ebx + 0xc], 1
jne 0x1e70a7b2
push ecx
jmp 0x1e70a7b3
push eax
mov eax, dword [ebp + 0x10]
mov edx, esi
imul edx, edx, 0x4c
lea ecx, [edx + eax + 0x24]
push ecx
call fcn.1e713620
add esp, 8
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 0x10]
mov edx, esi
imul edx, edx, 0x4c
lea edi, [esi*8]
sub edi, esi
add eax, edx
add edi, edi
add edi, edi
mov edx, dword [edi + ecx]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebx + 4]
mov edx, dword [edi + ecx + 4]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x18], edx
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x1c]
and eax, 0x1f
mov dword [edi + ecx + 0x10], eax
test dword [ebx + 0x10], 0x1000000
je 0x1e70a813
or dword [edi + ecx + 0xc], 0x20000000
mov eax, dword [ebx + 0xc]
dec eax
cmp eax, 0xfe
ja case.0x1e70a829.2
movzx edx, byte [eax + 0x1e70ad20]
jmp dword [edx*4 + 0x1e70acfc]
mov eax, dword [ebx + 0x10]
test eax, eax
jns 0x1e70a8ae
cmp dword [ebx + 8], 1
jne 0x1e70a858
mov edx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x200
lea eax, [edx + eax*4 + 8]
jmp case.0x1e70a829.2
test esi, esi
jne 0x1e70a868
mov eax, dword [ebp + 0xc]
or dword [eax + 8], 0x8220
jmp 0x1e70a87d
mov edx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 4
lea eax, [edx + eax*4 + 8]
mov eax, edx
mov edx, esi
shl edx, 4
sub edx, esi
or dword [eax + edx*4 + 8], 0x2018
lea eax, [eax + edx*4 + 8]
mov eax, dword [ebx]
cmp dword [eax + 0x30], 0
jne case.0x1e70a829.2
push eax
call fcn.1e70a630
mov ecx, dword [ebp + 0x14]
mov dword [edi + ecx + 0x18], eax
jmp 0x1e70ab3f
test al, 2
je 0x1e70a8de
mov eax, dword [ebp + 0xc]
mov edx, esi
shl edx, 4
sub edx, esi
or dword [eax + edx*4 + 8], 0x20000
mov ecx, dword [ebx]
lea eax, [eax + edx*4 + 8]
push ecx
call fcn.1e70a630
mov edx, dword [ebp + 0x14]
mov dword [edi + edx + 0x18], eax
mov ecx, edx
jmp 0x1e70ab3f
mov edx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x40
lea eax, [edx + eax*4 + 8]
jmp case.0x1e70a829.2
mov edx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x1000
cmp dword [ebx + 8], 1
lea eax, [edx + eax*4 + 8]
mov edx, dword [eax]
jbe 0x1e70a91c
or edx, 0x400000
mov dword [eax], edx
test esi, esi
jbe 0x1e70a928
or dword [edi + ecx + 0xc], 0x10000
test dword [ebx + 0x10], 0x200
je 0x1e70a938
lea eax, [edi + ecx + 0xc]
or dword [eax], 4
mov eax, dword [ebx]
push eax
call fcn.1e70a630
mov ecx, dword [ebp + 0x14]
mov dword [edi + ecx + 0x18], eax
jmp 0x1e70ab3f
mov eax, dword [ebp + 0xc]
mov edx, esi
shl edx, 4
sub edx, esi
or dword [eax + edx*4 + 8], 0x401000
or dword [edi + ecx + 0xc], 0x200000
lea eax, [eax + edx*4 + 8]
mov edx, dword [ebx + 4]
movzx edx, word [edi + edx + 8]
lea eax, [edi + ecx + 0xc]
mov dword [edi + ecx + 0x14], edx
test esi, esi
jbe 0x1e70a988
mov ecx, dword [eax]
or ecx, 0x10000
mov dword [eax], ecx
test dword [ebx + 0x10], 0x200
je 0x1e70a938
jmp 0x1e70a935
mov eax, dword [ebp + 0xc]
mov edx, esi
shl edx, 4
sub edx, esi
or dword [eax + edx*4 + 8], 0x1008
or dword [edi + ecx + 0xc], 0x200
mov ecx, dword [ebx]
lea eax, [eax + edx*4 + 8]
push ecx
mov dword [ebp - 4], eax
call fcn.1e70a630
mov edx, dword [ebp + 0x14]
add esp, 4
mov dword [edi + edx + 0x18], eax
cmp dword [ebx + 8], 6
jbe 0x1e70a9d5
mov eax, dword [ebp - 4]
or dword [eax], 0x400000
mov eax, 0xaaaaaaab
mul dword [ebx + 8]
mov ecx, edx
shr ecx, 2
xor edx, edx
mov eax, esi
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 [edi + eax + 0xc], ecx
mov ecx, dword [edi + eax + 0xc]
test edx, edx
je 0x1e70aa2f
or ecx, 0x10000
mov dword [edi + eax + 0xc], ecx
test dword [ebx + 0x10], 0x200
mov ecx, eax
je case.0x1e70a829.2
or dword [edi + eax + 0xc], 4
jmp case.0x1e70a829.2
mov eax, dword [ebp + 0xc]
mov edx, esi
shl edx, 4
sub edx, esi
or dword [eax + edx*4 + 8], 0x1000
lea eax, [eax + edx*4 + 8]
jmp case.0x1e70a829.2
mov edx, dword [ebp + 0xc]
mov ecx, esi
shl ecx, 4
sub ecx, esi
or dword [edx + ecx*4 + 8], 0x800000
lea eax, [edx + ecx*4 + 8]
mov eax, dword [ebx]
push eax
call fcn.1e70a630
mov ecx, dword [ebp + 0x14]
mov dword [edi + ecx + 0x18], eax
lea eax, [edi + ecx + 0xc]
add esp, 4
or dword [eax], 0x40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 0x14]
jmp case.0x1e70a829.2
mov eax, dword [ebp + 0xc]
mov edx, esi
shl edx, 4
sub edx, esi
or dword [eax + edx*4 + 8], 0x800000
test dword [ebx + 0x10], 0x20000000
lea eax, [eax + edx*4 + 8]
jne 0x1e70aac7
or dword [edi + ecx + 0xc], 0x20
mov edx, dword [ebp + 8]
cmp dword [edx + 0x50], 8
jb 0x1e70ab27
test dword [ebx + 0x10], 0x200
lea eax, [edi + ecx + 0xc]
je 0x1e70aae2
or dword [eax], 4
jmp 0x1e70ab27
or dword [eax], 8
jmp 0x1e70ab27
mov edx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x800000
or dword [edi + ecx + 0xc], 0x4000000
lea eax, [edx + eax*4 + 8]
mov edx, dword [ebp + 8]
cmp dword [edx + 0x50], 8
lea eax, [edi + ecx + 0xc]
mov ecx, dword [eax]
jb 0x1e70ab27
test dword [ebx + 0x10], 0x200
je 0x1e70ab22
or ecx, 4
jmp 0x1e70ab25
or ecx, 8
mov dword [eax], ecx
mov eax, dword [ebx]
push eax
call fcn.1e70a630
mov ecx, dword [ebp + 0x14]
mov dword [edi + ecx + 0x18], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1c]
mov dword [eax + 0xc], edx
add esp, 4
test byte [ebx + 0x10], 1
je 0x1e70ab77
mov edx, dword [ebp + 0xc]
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x2000
cmp dword [edi + ecx + 0x18], 0
lea eax, [edx + eax*4 + 8]
jne 0x1e70ab77
mov eax, dword [ebx]
push eax
call fcn.1e70a630
mov ecx, dword [ebp + 0x14]
add esp, 4
mov dword [edi + ecx + 0x18], eax
test byte [ebx + 0x10], 2
mov edx, dword [ebp + 0xc]
je 0x1e70ab93
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x20000
lea eax, [edx + eax*4 + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x50], 8
jb 0x1e70ac1d
test byte [ebx + 0x10], 4
je 0x1e70abae
or dword [edi + ecx + 0xc], 0x80
test byte [ebx + 0x10], 8
je 0x1e70abc7
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x10000
lea eax, [edx + eax*4 + 8]
mov eax, dword [ebx + 0x10]
test eax, 0x4000000
jne 0x1e70abdd
test al, 4
jne 0x1e70abdd
or dword [edi + ecx + 0xc], 0x400000
test dword [ebx + 0x10], 0x2000000
je 0x1e70abee
or dword [edi + ecx + 0xc], 0x10000000
test byte [ebx + 0x10], 0x40
je 0x1e70abfc
or dword [edi + ecx + 0xc], 0x800000
test byte [ebx + 0x10], 0x80
je 0x1e70ac0a
or dword [edi + ecx + 0xc], 0x1000000
test dword [ebx + 0x10], 0x100
je 0x1e70ac5c
or dword [edi + ecx + 0xc], 0x2000000
jmp 0x1e70ac5c
mov eax, dword [ebx + 0xc]
cmp eax, 3
je 0x1e70ac2f
cmp eax, 5
je 0x1e70ac2f
cmp eax, 4
jne 0x1e70ac3d
test byte [ebx + 0x10], 4
je 0x1e70ac3d
or dword [edi + ecx + 0xc], 0x80
cmp dword [ebx + 0xc], 6
jne 0x1e70ac5c
test byte [ebx + 0x10], 8
je 0x1e70ac5c
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x10000
lea eax, [edx + eax*4 + 8]
mov eax, dword [ebx + 0x14]
cmp eax, 5
ja case.0x1e70ac68.3
jmp dword [eax*4 + 0x1e70ae20]
mov ecx, esi
shl ecx, 4
sub ecx, esi
or dword [edx + ecx*4 + 8], 0x10004000
lea eax, [edx + ecx*4 + 8]
jmp case.0x1e70ac68.3
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 8], 0x20004000
lea eax, [edx + eax*4 + 8]
jmp case.0x1e70ac68.3
mov ecx, esi
shl ecx, 4
sub ecx, esi
or dword [edx + ecx*4 + 8], 0x800
lea eax, [edx + ecx*4 + 8]
jmp case.0x1e70ac68.3
mov eax, esi
shl eax, 4
sub eax, esi
or dword [edx + eax*4 + 4], 0x40000000
or dword [edx + eax*4 + 8], 0x4000
or dword [edi + ecx + 0xc], 0x10
lea eax, [edx + eax*4]
lea edi, [edi + ecx + 0xc]
jmp case.0x1e70ac68.3
mov ecx, esi
shl ecx, 4
sub ecx, esi
lea eax, [edx + ecx*4 + 8]
mov dword [ebx + 0x14], 4
or dword [eax], 0x4000
inc esi
cmp esi, dword [ebx + 8]
jb 0x1e70a770
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret