Function at 0x30c2a30
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [eax + 0x28]
push edi
mov edi, dword [ebp + 8]
mov dword [esi + 0x154], 0xe
or dword [esi + 0x284], 0x20000000
push dword [edi + 2]
lea ebx, [eax + 4]
xor eax, eax
push ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], eax
call fcn.030c2d60
mov dword [esi + 0x70], 1
xor ecx, ecx
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], ecx
or dword [esi + 0x284], 0x400
mov ecx, dword [edi + 6]
mov eax, ecx
shr eax, 0xd
add esp, 8
and eax, 0x3f
je 0x30c2aab
mov dword [esi + 0x14], 0
jmp 0x30c2ac1
xor eax, eax
and ecx, 0x1f
cmp cl, 0xc
sete al
lea eax, [eax*4 + 4]
cdq
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], eax
or dword [esi + 0x284], 8
mov eax, dword [edi + 6]
shr eax, 6
xor eax, dword [esi + 0x170]
xor ecx, ecx
and eax, 0x10
xor dword [esi + 0x170], eax
or dword [esi + 0x288], 0x40000
mov eax, dword [edi + 6]
shr eax, 6
xor eax, dword [esi + 0x170]
and eax, 8
xor dword [esi + 0x170], eax
or dword [esi + 0x288], 0x20000
mov eax, dword [edi + 6]
shr eax, 6
xor eax, dword [esi + 0x170]
and eax, 0x20
xor dword [esi + 0x170], eax
or dword [esi + 0x288], 0x80000
mov eax, dword [edi + 6]
shr eax, 6
xor eax, dword [esi + 0x170]
and eax, 0x40
xor dword [esi + 0x170], eax
or dword [esi + 0x288], 0x100000
mov eax, dword [edi + 6]
add eax, eax
xor eax, dword [esi + 0x178]
and eax, 0x100000
xor dword [esi + 0x178], eax
or dword [esi + 0x298], 0x4000
mov eax, dword [edi + 6]
and al, 0xe0
cmp al, 0x20
sete cl
shl ecx, 0xd
xor ecx, dword [esi + 0x170]
and ecx, 0x2000
xor dword [esi + 0x170], ecx
or dword [esi + 0x288], 0x8000000
mov eax, dword [edi + 6]
xor ecx, ecx
and al, 0xe0
cmp al, 0x80
sete cl
shl ecx, 0xe
xor ecx, dword [esi + 0x170]
and ecx, 0x4000
xor dword [esi + 0x170], ecx
or dword [esi + 0x288], 0x10000000
mov eax, dword [edi + 6]
xor ecx, ecx
and al, 0xe0
cmp al, 0x40
sete cl
shl ecx, 0xf
xor ecx, dword [esi + 0x170]
and ecx, 0x8000
xor dword [esi + 0x170], ecx
or dword [esi + 0x288], 0x20000000
mov eax, dword [edi + 6]
and eax, 0xe0
xor ecx, ecx
cmp al, 0x60
sete cl
shl ecx, 0x10
xor ecx, dword [esi + 0x170]
and ecx, 0x10000
xor dword [esi + 0x170], ecx
or dword [esi + 0x288], 0x40000000
mov eax, dword [edi + 6]
shr eax, 5
and eax, 7
cmp eax, 2
je 0x30c2c2d
cmp eax, 3
jne case.0x30c2c6d.4
push dword [edi + 0xa]
xor eax, eax
push ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], eax
call fcn.030c2d60
mov dword [esi + 0x58], 1
xor ecx, ecx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], eax
mov dword [esi + 0x68], ecx
mov dword [esi + 0x6c], ecx
or dword [esi + 0x284], 0x200
movzx eax, word [edi + 0xe]
dec eax
add esp, 8
cmp eax, 6
ja case.0x30c2c6d.4
jmp dword [eax*4 + 0x30c2d34]
or dword [esi + 0x170], 0x20000
or dword [esi + 0x288], 0x80000000
jmp case.0x30c2c6d.4
or dword [esi + 0x170], 0x40000
or dword [esi + 0x28c], 1
jmp case.0x30c2c6d.4
or dword [esi + 0x170], 0x80000
or dword [esi + 0x28c], 2
mov eax, dword [edi + 6]
test al, 0xe0
jne 0x30c2d2b
and al, 0x1f
cmp al, 4
jne 0x30c2d2b
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.030a6e40
or dword [esi + 0x170], 0x100000
or dword [esi + 0x28c], 4
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov dword [esi + 0x264], 0xb
mov dword [esi + 0x268], ecx
mov dword [esi + 0x26c], ecx
mov dword [esi + 0x270], eax
mov dword [esi + 0x274], ecx
mov dword [esi + 0x278], ecx
or dword [esi + 0x298], 0x400
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret