Unpack the binary first or use a debugger to trace dynamically.
This indicates bitfield extraction. The original code used struct bitfields. Create a struct with int field:2 to resolve.
The key to unlocking readable C code in IDA is defining structures. If you can identify that a1 is a pointer to a specific structure, the readability improves instantly.
: IDA helps reconstruct complex data structures and classes, which is essential for reversing C++ programs.
: The most common way to generate C pseudocode for the current function you are viewing.