Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __thiscall fb::StreamingPartitionReader::mapLayout(fb::StreamingPartitionReader *this, fb::StreamingPartitionTypeDescriptor *td, fb::LayoutDescriptor *ld)
- {
- fb::StreamingPartitionFieldDescriptor *startField; // eax@1
- int fieldCount; // ebx@1
- fb::LayoutDescriptorField *fieldArray; // esi@1
- int startIndex; // ecx@1
- fb::StreamingPartitionFieldDescriptor *currField; // edi@2
- int fieldIndex; // eax@3
- int count; // [sp+10h] [bp+8h]@2
- startField = &this->m_fieldDescriptors[td->layoutDescriptor];
- fieldCount = ld->fieldCount;
- fieldArray = ld->fields;
- startIndex = 0;
- if ( td->fieldCount )
- {
- currField = startField;
- count = td->fieldCount;
- do
- {
- fieldIndex = startIndex;
- while ( fieldArray[fieldIndex].nameHash != currField->fieldNameHash )
- {
- ++fieldIndex;
- if ( fieldIndex == fieldCount )
- fieldIndex = 0;
- if ( fieldIndex == startIndex )
- {
- currField->secondaryOffset = 0xFFFFFFFF;
- goto LABEL_9;
- }
- }
- currField->secondaryOffset = fieldArray[fieldIndex].offset;
- startIndex = fieldIndex + 1;
- if ( fieldIndex + 1 == fieldCount )
- startIndex = 0;
- LABEL_9:
- ++currField;
- --count;
- }
- while ( count );
- }
- }
- private static byte[] mapTypeCodeToAlignment = { 0x00, 0x04, 0x00, 0x04,
- 0x04, 0x00, 0x04, 0x04,
- 0x04, 0x04, 0x01, 0x01,
- 0x01, 0x02, 0x02, 0x04,
- 0x04, 0x08, 0x08, 0x04,
- 0x08, 0x04, 0x01 };
- private static byte[] mapTypeCodeToSize = { 0x00, 0x04, 0x00, 0x04,
- 0x04, 0x00, 0x00, 0x04,
- 0x04, 0x00, 0x01, 0x01,
- 0x01, 0x02, 0x02, 0x04,
- 0x04, 0x08, 0x08, 0x04,
- 0x08, 0x10, 0x14 };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement