diff --git a/umskt/src/confid/black_box.rs b/umskt/src/confid/black_box.rs index c4116f0..17351c0 100644 --- a/umskt/src/confid/black_box.rs +++ b/umskt/src/confid/black_box.rs @@ -7,18 +7,13 @@ struct TDivisor { } #[derive(Copy, Clone)] -struct C2RustUnnamed { - encoded: [u32; 4], -} - -#[derive(Copy, Clone)] -struct C2RustUnnamed1 { +struct Encoded { encoded_lo: u64, encoded_hi: u64, } #[derive(Copy, Clone)] -struct C2RustUnnamed4 { +struct ParsedInstallationId { hardware_id: u64, product_id_low: u64, product_id_high: u8, @@ -908,7 +903,7 @@ pub fn generate(installation_id_str: &[u8], confirmation_id: &mut [u8]) -> i32 { if installation_id[18_i32 as usize] as i32 >= 0x10_i32 { return 5_i32; } - let mut parsed: C2RustUnnamed4 = C2RustUnnamed4 { + let mut parsed = ParsedInstallationId { hardware_id: 0, product_id_low: 0, product_id_high: 0, @@ -985,7 +980,7 @@ pub fn generate(installation_id_str: &[u8], confirmation_id: &mut [u8]) -> i32 { 0x40da7c36d44c_i64 as u64, &mut d_0, ); - let mut e: C2RustUnnamed1 = C2RustUnnamed1 { + let mut e = Encoded { encoded_lo: 0, encoded_hi: 0, }; @@ -1047,31 +1042,29 @@ pub fn generate(installation_id_str: &[u8], confirmation_id: &mut [u8]) -> i32 { .wrapping_add((e.encoded_lo < x2a) as i32 as u64); } } - let mut e_2 = C2RustUnnamed { - encoded: [ - u32::from_le_bytes(e.encoded_lo.to_le_bytes()[0..4].try_into().unwrap()), - u32::from_le_bytes(e.encoded_lo.to_le_bytes()[4..].try_into().unwrap()), - u32::from_le_bytes(e.encoded_hi.to_le_bytes()[0..4].try_into().unwrap()), - u32::from_le_bytes(e.encoded_hi.to_le_bytes()[4..].try_into().unwrap()), - ], - }; + let mut e_2 = [ + u32::from_le_bytes(e.encoded_lo.to_le_bytes()[0..4].try_into().unwrap()), + u32::from_le_bytes(e.encoded_lo.to_le_bytes()[4..].try_into().unwrap()), + u32::from_le_bytes(e.encoded_hi.to_le_bytes()[0..4].try_into().unwrap()), + u32::from_le_bytes(e.encoded_hi.to_le_bytes()[4..].try_into().unwrap()), + ]; let mut decimal: [u8; 35] = [0; 35]; let mut i = 0_i32 as usize; while i < 35 { - let c: u32 = (e_2.encoded[3_i32 as usize]).wrapping_rem(10_i32 as u32); - e_2.encoded[3_i32 as usize] = e_2.encoded[3_i32 as usize].wrapping_div(10_i32 as u32); - let c2: u32 = ((c as u64) << 32_i32 | e_2.encoded[2_i32 as usize] as u64) - .wrapping_rem(10_i32 as u64) as u32; - e_2.encoded[2_i32 as usize] = ((c as u64) << 32_i32 | e_2.encoded[2_i32 as usize] as u64) - .wrapping_div(10_i32 as u64) as u32; - let c3: u32 = ((c2 as u64) << 32_i32 | e_2.encoded[1_i32 as usize] as u64) - .wrapping_rem(10_i32 as u64) as u32; - e_2.encoded[1_i32 as usize] = ((c2 as u64) << 32_i32 | e_2.encoded[1_i32 as usize] as u64) - .wrapping_div(10_i32 as u64) as u32; - let c4: u32 = ((c3 as u64) << 32_i32 | e_2.encoded[0_i32 as usize] as u64) - .wrapping_rem(10_i32 as u64) as u32; - e_2.encoded[0_i32 as usize] = ((c3 as u64) << 32_i32 | e_2.encoded[0_i32 as usize] as u64) - .wrapping_div(10_i32 as u64) as u32; + let c: u32 = (e_2[3_i32 as usize]).wrapping_rem(10_i32 as u32); + e_2[3_i32 as usize] = e_2[3_i32 as usize].wrapping_div(10_i32 as u32); + let c2: u32 = + ((c as u64) << 32_i32 | e_2[2_i32 as usize] as u64).wrapping_rem(10_i32 as u64) as u32; + e_2[2_i32 as usize] = + ((c as u64) << 32_i32 | e_2[2_i32 as usize] as u64).wrapping_div(10_i32 as u64) as u32; + let c3: u32 = + ((c2 as u64) << 32_i32 | e_2[1_i32 as usize] as u64).wrapping_rem(10_i32 as u64) as u32; + e_2[1_i32 as usize] = + ((c2 as u64) << 32_i32 | e_2[1_i32 as usize] as u64).wrapping_div(10_i32 as u64) as u32; + let c4: u32 = + ((c3 as u64) << 32_i32 | e_2[0_i32 as usize] as u64).wrapping_rem(10_i32 as u64) as u32; + e_2[0_i32 as usize] = + ((c3 as u64) << 32_i32 | e_2[0_i32 as usize] as u64).wrapping_div(10_i32 as u64) as u32; decimal[34_usize.wrapping_sub(i)] = c4 as u8; i = i.wrapping_add(1); }