Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
binary
binary_decompiled.c
0 lines
|
2.05 MB
#include "types-and-globals.h" #include "helpers.h" _ABI(SystemV_x86_64) void _init(void) { if (segment_3.got.offset_16) { ((cabifunction_298 *) segment_3.got.offset_16)(); } } _ABI(SystemV_x86_64) void __cxa_finalize_2(void *d) { __cxa_finalize(d); } _ABI(SystemV_x86_64) void function_0x4011d0_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x4011e0_Code_x86_64(void) { } _ABI(SystemV_x86_64) int32_t __snprintf_chk_2(int8_t *s, size_t maxlen, int32_t flag, size_t slen, const int8_t *format) { int32_t var_0; var_0 = __snprintf_chk(s, maxlen, flag, slen, format); return var_0; } _ABI(SystemV_x86_64) void free_2(void *mem) { free(mem); } _ABI(SystemV_x86_64) int32_t __vfprintf_chk_2(FILE_4 *fp, int32_t flag, const int8_t *format, __va_list_tag *ap) { int32_t var_0; var_0 = __vfprintf_chk(fp, flag, format, ap); return var_0; } _ABI(SystemV_x86_64) float64_t round_2(float64_t x) { float64_t var_0; var_0 = round(x); return var_0; } _ABI(SystemV_x86_64) ssize_t write_2(int32_t fd, const void *buf, size_t nbytes) { ssize_t var_0; var_0 = write(fd, buf, nbytes); return var_0; } _ABI(SystemV_x86_64) _Noreturn void __stack_chk_fail_2(void) { __stack_chk_fail(); } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_29 gettimeofday_2(pointer_or_number64_t register_rcx _REG(rcx_x86_64), pointer_or_number64_t register_rdx _REG(rdx_x86_64), pointer_or_number64_t register_rsi _REG(rsi_x86_64), pointer_or_number64_t register_rdi _REG(rdi_x86_64), pointer_or_number64_t register_r8 _REG(r8_x86_64), pointer_or_number64_t register_r9 _REG(r9_x86_64)) { pointer_or_number64_t var_0; pointer_or_number64_t var_1; artificial_struct_returned_by_rawfunction_29 var_2; var_2 = gettimeofday(register_rcx, register_rdx, register_rsi, register_rdi, register_r8, register_r9); var_1 = var_2.register_rax; var_0 = var_2.register_rdx; return (artificial_struct_returned_by_rawfunction_29) { var_1, var_0 }; } _ABI(SystemV_x86_64) void function_0x401260_Code_x86_64(void) { } _ABI(SystemV_x86_64) void *calloc_2(size_t n, size_t elem_size) { void *var_0; var_0 = calloc(n, elem_size); return var_0; } _ABI(SystemV_x86_64) void function_0x401280_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x401290_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x4012a0_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x4012b0_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x4012c0_Code_x86_64(void) { } _ABI(SystemV_x86_64) void *malloc_2(size_t bytes) { void *var_0; var_0 = malloc(bytes); return var_0; } _ABI(SystemV_x86_64) int32_t fflush_2(FILE_4 *fp) { int32_t var_0; var_0 = fflush(fp); return var_0; } _ABI(SystemV_x86_64) void function_0x4012f0_Code_x86_64(void) { } _ABI(SystemV_x86_64) int32_t __printf_chk_2(int32_t flag, const int8_t *format) { int32_t var_0; var_0 = __printf_chk(flag, format); return var_0; } _ABI(SystemV_x86_64) void function_0x401310_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x401320_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x401330_Code_x86_64(void) { } _ABI(SystemV_x86_64) void function_0x401340_Code_x86_64(void) { } _ABI(SystemV_x86_64) float64_t exp_2(float64_t x) { float64_t var_0; var_0 = exp(x); return var_0; } _ABI(SystemV_x86_64) void deregister_tm_clones(void) { } _ABI(SystemV_x86_64) void register_tm_clones(void) { } _ABI(SystemV_x86_64) void __do_global_dtors_aux(void) { if (!segment_3.bss.offset_0) { if (segment_3.got.offset_32) { __cxa_finalize_2((void *) segment_3.data.offset_0); } deregister_tm_clones(); segment_3.bss.offset_0 = '\001'; } } _ABI(SystemV_x86_64) void frame_dummy(void) { } _ABI(SystemV_x86_64) generic64_t laptooop_filter_song(generic64_t argument_0, struct_253 *argument_1) { return argument_1->offset_140 > 192000; } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_142 process_sample_pa(generic64_t register_rsi _REG(rsi_x86_64), generic64_t register_rdi _REG(rdi_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64)) { struct_173 stack; uint64_t loop_state_var; generic64_t var_0; generic8_t var_1; generic64_t var_2; generic64_t var_3; generic8_t var_4; generic64_t var_5; generic64_t var_6; generic64_t var_7; generic64_t var_8; generic64_t var_9; generic64_t var_10; generic64_t var_11; generic64_t var_12; generic64_t var_13; generic64_t var_14; generic8_t var_15; generic64_t var_16; generic8_t var_17; generic64_t var_18; generic8_t var_19; generic64_t var_20; generic8_t var_21; generic64_t var_22; generic8_t var_23; generic64_t var_24; generic8_t var_25; generic64_t var_26; generic8_t var_27; generic64_t var_28; generic8_t var_29; generic64_t var_30; generic8_t var_31; generic64_t var_32; generic8_t var_33; generic64_t var_34; generic8_t var_35; generic64_t var_36; generic8_t var_37; generic64_t var_38; generic8_t var_39; generic64_t var_40; generic64_t var_41; generic64_t var_42; generic64_t var_43; generic64_t var_44; generic64_t var_45; generic64_t var_46; generic64_t var_47; generic64_t var_48; generic8_t var_49; generic64_t var_50; generic8_t var_51; generic64_t var_52; generic8_t var_53; generic64_t var_54; generic64_t var_55; generic64_t var_56; generic64_t var_57; generic8_t var_58; generic64_t var_59; var_57 = register_rdi + 64; var_0 = register_rsi * 136 + var_57; stack.offset_8 = register_xmm1; var_58 = '\000'; var_59 = register_xmm1; while (true) { generic64_t var_60; generic64_t var_61; generic64_t var_62; generic64_t var_63; generic64_t var_64; generic8_t var_65; var_64 = var_57; var_65 = var_58; var_62 = var_64 + 136; var_61 = var_64 - 40; var_60 = var_64 - 8; var_63 = 0; generic64_t var_66; generic64_t var_67; while (true) { helper_movq_mm_T0_xmm_wrapper(776, register_xmm0, &var_55, &var_56); function_0x4012b0_Code_x86_64(); helper_mulsd_wrapper(NULL, 1096, 2824, '\000', '\000', var_65, '\000', '\000', '\000', *(generic64_t *) "", stack.offset_8, &var_53, &var_54); helper_mulsd_wrapper_1(NULL, 776, 2824, '\000', '\000', var_53, '\000', '\000', '\000', var_55, *(generic64_t *) (var_61 + var_63 * 136), &var_51, &var_52); helper_mulsd_wrapper_1(NULL, 776, 2824, '\000', '\000', var_51, '\000', '\000', '\000', var_52, *(generic64_t *) "", &var_49, &var_50); helper_punpcklqdq_xmm_wrapper(NULL, 1160, 1160, var_54, &var_41, &var_42, &var_43, &var_44, &var_45, &var_46, &var_47, &var_48); if (*(generic8_t *) (var_60 + var_63 * 136)) { loop_state_var = 0; break; } generic32_t var_68; var_68 = 0; do { var_68 = var_68 + 1; } while (var_68 != 8); generic8_t var_69; var_64 = var_64 + 136; var_69 = var_62 + var_63 * 136 == var_0; var_63 = var_63 + 1; var_65 = var_49; if (!(var_69)) { continue; } var_66 = var_50; var_67 = var_59; break; } if (!(loop_state_var)) { generic32_t var_70; generic8_t var_71; generic64_t var_72; generic64_t var_73; var_72 = *(generic64_t *) (var_64 - 32); var_73 = *(generic64_t *) (var_64 - 24); helper_divsd_wrapper(NULL, 776, 2824, '\000', '\000', var_49, '\000', '\000', '\000', var_50, *(generic64_t *) (var_64 - 48), &var_39, &var_40); helper_addsd_wrapper(NULL, 840, 840, '\000', '\000', var_39, '\000', '\000', '\000', *(generic64_t *) (var_64 - 56), &var_37, &var_38); helper_mulsd_wrapper_2(NULL, 1288, 2824, '\000', '\000', var_37, '\000', '\000', '\000', segment_2.rodata.offset_536, *(generic64_t *) (var_64 - 64), &var_35, &var_36); helper_divsd_wrapper_3(NULL, 1224, 840, '\000', '\000', var_35, '\000', '\000', '\000', var_38, *(generic64_t *) "", &var_33, &var_34); helper_addsd_wrapper_4(NULL, 1224, 1224, '\000', '\000', var_33, '\000', '\000', '\000', var_34, &var_31, &var_32); helper_mulsd_wrapper_5(NULL, 1224, 1288, '\000', '\000', var_31, '\000', '\000', '\000', var_32, var_36, &var_29, &var_30); helper_mulsd_wrapper_6(NULL, 1288, 1288, '\000', '\000', var_29, '\000', '\000', '\000', var_36, &var_27, &var_28); var_71 = var_27; var_70 = 0; do { helper_mulsd_wrapper_7(NULL, 840, 1032, '\000', '\000', var_71, '\000', '\000', '\000', var_30, *(generic64_t *) (var_64 - 24), &var_25, &var_26); helper_subsd_wrapper(NULL, 904, 840, '\000', '\000', var_25, '\000', '\000', '\000', var_26, var_40, &var_23, &var_24); helper_mulsd_wrapper_8(NULL, 840, 1288, '\000', '\000', var_23, '\000', '\000', '\000', var_72, var_28, &var_21, &var_22); helper_subsd_wrapper(NULL, 904, 840, '\000', '\000', var_21, '\000', '\000', '\000', var_22, var_24, &var_19, &var_20); helper_mulsd_wrapper_9(NULL, 840, 904, '\000', '\000', var_19, '\000', '\000', '\000', var_54, var_20, &var_17, &var_18); *(generic64_t *) (var_64 - 16) = var_20; helper_addsd_wrapper_10(NULL, 840, 1032, '\000', '\000', var_17, '\000', '\000', '\000', var_18, *(generic64_t *) (var_64 - 24), &var_15, &var_16); helper_punpcklqdq_xmm_wrapper_11(NULL, 840, 904, var_16, var_20, &var_7, &var_8, &var_9, &var_10, &var_11, &var_12, &var_13, &var_14); helper_mulpd_wrapper(NULL, 840, 1160, '\000', '\000', var_15, '\000', '\000', '\000', var_7, var_8, var_41, var_42, &var_4, &var_5, &var_6); helper_addpd_wrapper(NULL, 968, 840, '\000', '\000', var_4, '\000', '\000', '\000', var_5, var_6, var_72, var_73, &var_1, &var_2, &var_3); var_71 = var_1; var_72 = var_2; var_73 = var_3; *(generic64_t *) (var_64 - 32) = var_72; *(generic64_t *) (var_64 - 24) = var_73; var_70 = var_70 + 1; } while (var_70 != 8); var_57 = var_64 + 136; var_58 = var_1; var_59 = var_5; if (var_57 != var_0) { continue; } var_66 = var_40; var_67 = var_5; } return (artificial_struct_returned_by_rawfunction_142) { var_66, var_67 }; } } _ABI(raw_x86_64) generic64_t actuator_init(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_rsi _REG(rsi_x86_64), struct_202 *register_rdi _REG(rdi_x86_64), generic8_t *register_r8 _REG(r8_x86_64), generic8_t *register_r9 _REG(r9_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_174 stack; stack.offset_552 = *(generic64_t *) 40; register_rdi->offset_0 = 0; register_rdi->offset_568 = 0; if (((((pointer_or_number64_t) register_rdi - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 8) + 576) >> 3) & 0x1FFFFFFF)) { generic64_t var_0; generic64_t var_1; var_0 = (((pointer_or_number64_t) register_rdi - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 8) + 576) >> 3) & 0x1FFFFFFF; var_1 = ((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 8; do { *(generic64_t *) var_1 = 0; var_1 = var_1 + 8; var_0 = var_0 - 1; } while (var_0 != 0); } generic64_t var_2; generic64_t var_3; var_2 = 0; var_3 = &stack; do { ((struct_174 *) var_3)->offset_0[0] = 0; var_2 = var_2 + 1; var_3 = &((struct_174 *) var_3)->offset_0[1]; } while (var_2 != 68); float64_t var_4; float64_t var_5; float64_t var_6; float64_t var_7; function_0x4012c0_Code_x86_64(); var_7 = round_2((float64_t) *(generic64_t *) ""); stack.offset_0[0] = var_7; stack.offset_0[1] = segment_2.rodata.offset_568; stack.offset_0[2] = *(generic64_t *) ""; stack.offset_0[3] = segment_2.rodata.offset_576; function_0x4012c0_Code_x86_64(); var_6 = round_2((float64_t) *(generic64_t *) ""); stack.offset_0[17] = var_6; stack.offset_0[18] = segment_2.rodata.offset_600; stack.offset_0[19] = *(generic64_t *) ""; stack.offset_0[20] = segment_2.rodata.offset_608; function_0x4012c0_Code_x86_64(); var_5 = round_2((float64_t) *(generic64_t *) ""); stack.offset_0[34] = var_5; stack.offset_0[35] = segment_2.rodata.offset_632; stack.offset_0[36] = segment_2.rodata.offset_640; stack.offset_0[37] = segment_2.rodata.offset_648; function_0x4012c0_Code_x86_64(); var_4 = round_2((float64_t) *(generic64_t *) ""); stack.offset_0[51] = var_4; stack.offset_0[52] = *(generic64_t *) ""; stack.offset_0[53] = segment_2.rodata.offset_680; stack.offset_0[54] = segment_2.rodata.offset_688; register_rdi->offset_32 = stack.offset_0[0]; register_rdi->offset_568 = stack.offset_0[67]; if (((((pointer_or_number64_t) ®ister_rdi->offset_32 - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 40) + 544) >> 3) & 0x1FFFFFFF)) { generic64_t var_8; generic64_t var_9; generic64_t var_10; var_8 = (pointer_or_number64_t) &stack - ((pointer_or_number64_t) ®ister_rdi->offset_32 - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 40)); var_9 = ((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 40; var_10 = (((pointer_or_number64_t) ®ister_rdi->offset_32 - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 40) + 544) >> 3) & 0x1FFFFFFF; do { *(generic64_t *) var_9 = *(generic64_t *) var_8; var_8 = var_8 + 8; var_9 = var_9 + 8; var_10 = var_10 - 1; } while (var_10 != 0); } if (stack.offset_552 != *(generic64_t *) 40) { __stack_chk_fail_2(); } return 0; } _ABI(raw_x86_64) void shock_sensor_init(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_rsi _REG(rsi_x86_64), struct_203 *register_rdi _REG(rdi_x86_64), generic8_t *register_r8 _REG(r8_x86_64), generic8_t *register_r9 _REG(r9_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_175 stack; stack.offset_280 = *(generic64_t *) 40; register_rdi->offset_0 = 0; register_rdi->offset_288 = 0; if (((((pointer_or_number64_t) register_rdi - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 8) + 296) >> 3) & 0x1FFFFFFF)) { generic64_t var_0; generic64_t var_1; var_0 = (((pointer_or_number64_t) register_rdi - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 8) + 296) >> 3) & 0x1FFFFFFF; var_1 = ((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 8; do { *(generic64_t *) var_1 = 0; var_1 = var_1 + 8; var_0 = var_0 - 1; } while (var_0 != 0); } generic64_t var_2; generic64_t var_3; register_rdi->offset_16 = *(generic64_t *) ""; var_2 = 0; var_3 = &stack; do { ((struct_175 *) var_3)->offset_0[0] = 0; var_2 = var_2 + 1; var_3 = &((struct_175 *) var_3)->offset_0[1]; } while (var_2 != 34); float64_t var_4; float64_t var_5; function_0x4012c0_Code_x86_64(); var_5 = round_2((float64_t) *(generic64_t *) ""); stack.offset_0[0] = var_5; stack.offset_0[1] = *(generic64_t *) ""; stack.offset_0[2] = segment_2.rodata.offset_720; stack.offset_0[3] = segment_2.rodata.offset_912; function_0x4012c0_Code_x86_64(); var_4 = round_2((float64_t) *(generic64_t *) ""); stack.offset_0[17] = var_4; stack.offset_0[18] = segment_2.rodata.offset_744; stack.offset_0[19] = segment_2.rodata.offset_752; stack.offset_0[20] = segment_2.rodata.offset_760; register_rdi->offset_24 = stack.offset_0[0]; register_rdi->offset_288 = stack.offset_0[33]; if (((((pointer_or_number64_t) ®ister_rdi->offset_24 - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 32) + 272) >> 3) & 0x1FFFFFFF)) { generic64_t var_6; generic64_t var_7; generic64_t var_8; var_6 = (pointer_or_number64_t) &stack - ((pointer_or_number64_t) ®ister_rdi->offset_24 - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 32)); var_7 = ((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 32; var_8 = (((pointer_or_number64_t) ®ister_rdi->offset_24 - (((number64_t) register_rdi & 0xFFFFFFFFFFFFFFF8) + 32) + 272) >> 3) & 0x1FFFFFFF; do { *(generic64_t *) var_7 = *(generic64_t *) var_6; var_6 = var_6 + 8; var_7 = var_7 + 8; var_8 = var_8 - 1; } while (var_8 != 0); } if (stack.offset_280 != *(generic64_t *) 40) { __stack_chk_fail_2(); } } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_145 dev_printf(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_rsi _REG(rsi_x86_64), generic64_t register_rdi _REG(rdi_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_176 stack; int32_t var_0; int32_t var_1; stack.offset_0.offset_40 = register_rsi; stack.offset_0.offset_48 = register_rdx; stack.offset_0.offset_56 = register_rcx; stack.offset_0.offset_64 = register_r8; stack.offset_0.offset_72 = register_r9; stack.offset_0.offset_24 = *(generic64_t *) 40; stack.offset_0.offset_0.member_1.offset_8 = &(&stack)[1].offset_0.offset_0.member_1.offset_8; stack.offset_0.offset_0.member_2.offset_16 = (pointer_or_number64_t) &stack.offset_0.offset_24 + 8; stack.offset_0.offset_0.member_4 = 8; stack.offset_0.offset_0.member_3.offset_4 = 48; var_1 = __printf_chk_2((int32_t) 2, (const int8_t *) "[LAPTOOOP] "); var_0 = __vfprintf_chk_2((FILE_4 *) *(generic64_t *) segment_3.got.offset_8, (int32_t) 2, (const int8_t *) register_rdi, (__va_list_tag *) &stack.offset_0.offset_0); if (stack.offset_0.offset_24 != *(generic64_t *) 40) { __stack_chk_fail_2(); } return (artificial_struct_returned_by_rawfunction_145) { 0, register_rdi, register_xmm0, register_xmm1 }; } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_146 function_0x401980_Code_x86_64(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_rsi _REG(rsi_x86_64), struct_264 *register_rdi _REG(rdi_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_177 stack; generic8_t var_0; generic8_t var_1; generic8_t var_2; generic64_t var_3; generic64_t var_4; generic8_t var_5; generic8_t var_6; generic64_t var_7; generic8_t var_8; generic64_t var_9; generic8_t var_10; generic64_t var_11; generic64_t var_12; generic64_t var_13; generic8_t var_14; generic64_t var_15; generic64_t var_16; generic64_t var_17; generic8_t var_18; generic8_t var_19; generic8_t var_20; generic64_t var_21; generic64_t var_22; generic8_t var_23; generic8_t var_24; generic64_t var_25; generic8_t var_26; generic64_t var_27; generic8_t var_28; generic64_t var_29; generic64_t var_30; generic8_t var_31; generic8_t var_32; generic64_t var_33; generic64_t var_34; generic64_t var_35; generic8_t var_36; generic64_t var_37; generic64_t var_38; generic8_t var_39; generic64_t var_40; generic64_t var_41; generic8_t var_42; generic64_t var_43; generic8_t var_44; generic64_t var_45; generic8_t var_46; generic64_t var_47; generic8_t var_48; generic64_t var_49; generic64_t var_50; generic64_t var_51; generic8_t var_52; generic64_t var_53; generic8_t var_54; generic64_t var_55; generic8_t var_56; generic64_t var_57; generic64_t var_58; generic64_t var_59; generic64_t *var_60; generic8_t var_61; generic64_t var_62; generic64_t var_63; generic64_t var_64; helper_pxor_xmm_wrapper(NULL, 840, 840, register_xmm1, 0, &var_58, &var_59); helper_cvtsq2sd_wrapper(NULL, 840, register_rsi & 0xFFFFFFFF, '\000', '\000', '\000', '\000', &var_56, &var_57); helper_mulsd_wrapper_14(NULL, 840, 2824, '\000', '\000', var_56, '\000', '\000', '\000', var_57, *(generic64_t *) "", &var_54, &var_55); stack.offset_56 = *(generic64_t *) 40; helper_minsd_wrapper(NULL, 776, 840, var_54, '\000', *(generic64_t *) "", var_55, &var_52, &var_53); helper_pxor_xmm_wrapper_15(NULL, 776, 776, var_53, 0, &var_50, &var_51); helper_addsd_wrapper_16(NULL, 776, 2824, '\000', '\000', var_52, '\000', '\000', '\000', var_50, register_rdi->offset_32.offset_0[0].offset_0.offset_32, &var_48, &var_49); helper_addsd_wrapper_16(NULL, 776, 2824, '\000', '\000', var_48, '\000', '\000', '\000', var_49, register_rdi->offset_32.offset_0[1].offset_0.offset_32, &var_46, &var_47); helper_addsd_wrapper_16(NULL, 776, 2824, '\000', '\000', var_46, '\000', '\000', '\000', var_47, register_rdi->offset_32.offset_0[2].offset_0.offset_32, &var_44, &var_45); helper_addsd_wrapper_16(NULL, 776, 2824, '\000', '\000', var_44, '\000', '\000', '\000', var_45, register_rdi->offset_32.offset_408.offset_32, &var_42, &var_43); helper_pand_xmm_wrapper(NULL, 776, 1032, var_43, var_51, segment_2.rodata.offset_864, 0, &var_40, &var_41); helper_comisd_wrapper(NULL, 776, 904, var_42, '\000', var_40, segment_2.rodata.offset_784, &var_38, &var_39); if (!(var_38 & 0x1)) { var_60 = &stack.offset_8; var_61 = var_39; var_62 = var_53; var_63 = *(generic64_t *) ""; var_64 = segment_2.rodata.offset_864; } else { float64_t var_65; helper_divsd_wrapper_21(NULL, 776, 904, '\000', '\000', var_39, '\000', '\000', '\000', var_40, segment_2.rodata.offset_784, &var_28, &var_29); stack.offset_8 = var_53; helper_mulsd_wrapper_3(NULL, 776, 2824, '\000', '\000', var_28, '\000', '\000', '\000', var_29, segment_2.rodata.offset_792, &var_26, &var_27); var_61 = var_26; var_65 = exp_2((float64_t) var_27); var_63 = var_65; var_64 = segment_2.rodata.offset_864; var_62 = stack.offset_8; var_60 = &stack.offset_8; } generic64_t var_66; generic64_t var_67; var_67 = var_62; helper_subsd_wrapper_17(NULL, 904, 2824, '\000', '\000', var_61, '\000', '\000', '\000', var_67, register_rdi->offset_0, &var_36, &var_37); *var_60 = var_63; helper_pand_xmm_wrapper_18(NULL, 904, 1032, var_37, 0, var_64, 0, &var_34, &var_35); stack.offset_16 = var_34; helper_mulsd_wrapper_19(NULL, 776, 968, '\000', '\000', var_36, '\000', '\000', '\000', var_34, var_63, &var_32, &var_33); var_66 = var_33; helper_comisd_wrapper_20(NULL, 1032, 776, var_32, '\000', var_66, segment_2.rodata.offset_800, &var_30, &var_31); if ((var_30 & 0x41)) { pointer_or_number64_t var_68; pointer_or_number64_t var_69; generic64_t var_70; generic64_t var_71; generic64_t var_72; generic8_t var_73; generic64_t var_74; generic8_t var_75; artificial_struct_returned_by_rawfunction_29 var_76; register_rdi->offset_24 = '\001'; register_rdi->offset_8 = var_62; stack.offset_24 = var_62; var_76 = gettimeofday_2(register_rcx, register_rdx, 0, (pointer_or_number64_t) &stack.offset_32, register_r8, register_r9); var_69 = var_76.register_rax; var_68 = var_76.register_rdx; helper_mulsd_wrapper_22(NULL, 904, 2824, '\000', '\000', var_31, '\000', '\000', '\000', stack.offset_16, *(generic64_t *) "", &var_24, &var_25); helper_comisd_wrapper_23(NULL, 904, 1032, var_24, '\000', var_25, *(generic64_t *) "", &var_22, &var_23); register_rdi->offset_16 = stack.offset_32 * 1000 + (number64_t) ((uint128_t) ((stack.offset_40 >> 3) * 2361183241434822607) >> 68); if (!(var_22 & 0x1)) { generic64_t var_77; helper_subsd_wrapper_24(NULL, 904, 1032, '\000', '\000', var_23, '\000', '\000', '\000', var_25, *(generic64_t *) "", &var_20, &var_21); var_77 = helper_cvttsd2sq_wrapper(NULL, 904, var_20, '\000', var_21, &var_19); var_75 = var_19; var_73 = var_75; var_74 = var_77 ^ 0x8000000000000000; var_72 = var_74; if ((int64_t) var_77 < (int64_t) 0) { helper_pxor_xmm_wrapper_15(NULL, 776, 776, var_33, var_35, &var_16, &var_17); helper_cvtsq2sd_wrapper_25(NULL, 776, var_72, '\000', '\000', var_73, '\000', &var_14, &var_15); var_70 = &var_14; var_71 = &var_15; } else { helper_pxor_xmm_wrapper_15(NULL, 776, 776, var_33, var_35, &var_12, &var_13); helper_cvtsq2sd_wrapper_25(NULL, 776, (var_74 >> 1) | (var_74 & 0x1), '\000', '\000', var_75, '\000', &var_10, &var_11); helper_addsd_wrapper_26(NULL, 776, 776, '\000', '\000', var_10, '\000', '\000', '\000', var_11, &var_8, &var_9); var_70 = &var_8; var_71 = &var_9; } } else { generic64_t var_78; var_78 = helper_cvttsd2sq_wrapper(NULL, 904, var_23, '\000', var_25, &var_18); var_74 = var_78; var_72 = var_74; var_75 = var_18; var_73 = var_75; if ((int64_t) var_72 < (int64_t) 0) { helper_pxor_xmm_wrapper_15(NULL, 776, 776, var_33, var_35, &var_12, &var_13); helper_cvtsq2sd_wrapper_25(NULL, 776, (var_74 >> 1) | (var_74 & 0x1), '\000', '\000', var_75, '\000', &var_10, &var_11); helper_addsd_wrapper_26(NULL, 776, 776, '\000', '\000', var_10, '\000', '\000', '\000', var_11, &var_8, &var_9); var_70 = &var_8; var_71 = &var_9; } else { helper_pxor_xmm_wrapper_15(NULL, 776, 776, var_33, var_35, &var_16, &var_17); helper_cvtsq2sd_wrapper_25(NULL, 776, var_72, '\000', '\000', var_73, '\000', &var_14, &var_15); var_70 = &var_14; var_71 = &var_15; } } generic64_t var_79; helper_mulsd_wrapper_19(NULL, 776, 968, '\000', '\000', *(generic8_t *) var_70, '\000', '\000', '\000', *(generic64_t *) var_71, *var_60, &var_6, &var_7); helper_comisd_wrapper_20(NULL, 776, 1032, var_6, '\000', var_7, *(generic64_t *) "", &var_4, &var_5); if (!(var_4 & 0x1)) { generic64_t var_80; helper_subsd_wrapper_27(NULL, 776, 1032, '\000', '\000', var_5, '\000', '\000', '\000', var_7, *(generic64_t *) "", &var_2, &var_3); var_79 = var_3; var_80 = helper_cvttsd2sq_wrapper_28(NULL, 776, var_2, '\000', var_79, &var_1); } else { generic64_t var_81; var_81 = helper_cvttsd2sq_wrapper_28(NULL, 776, var_5, '\000', var_7, &var_0); var_79 = var_7; } var_66 = var_79; register_rdi->offset_24 = '\000'; register_rdi->offset_0 = stack.offset_24; var_67 = stack.offset_24; } if (stack.offset_56 != *(generic64_t *) 40) { __stack_chk_fail_2(); } return (artificial_struct_returned_by_rawfunction_146) { 0, var_66, var_67 }; } _ABI(SystemV_x86_64) struct_295 hdd_clear_data(struct_261 *argument_0) { struct_178 stack; generic8_t var_0; generic8_t var_1; generic8_t var_2; generic64_t var_3; generic64_t var_4; generic8_t var_5; generic8_t var_6; generic64_t var_7; generic8_t var_8; generic64_t var_9; generic8_t var_10; generic64_t var_11; generic64_t var_12; generic64_t var_13; generic8_t var_14; generic64_t var_15; generic64_t var_16; generic64_t var_17; generic8_t var_18; generic8_t var_19; generic8_t var_20; generic64_t var_21; generic64_t var_22; generic8_t var_23; generic8_t var_24; generic64_t var_25; generic8_t var_26; generic64_t var_27; generic8_t var_28; generic64_t var_29; generic64_t var_30; generic8_t var_31; generic8_t var_32; generic64_t var_33; generic64_t var_34; generic64_t var_35; generic8_t var_36; generic64_t var_37; generic64_t var_38; generic8_t var_39; generic64_t var_40; generic64_t var_41; generic8_t var_42; generic64_t var_43; generic8_t var_44; generic64_t var_45; generic8_t var_46; generic64_t var_47; generic8_t var_48; generic64_t var_49; generic64_t var_50; generic64_t var_51; generic8_t var_52; generic64_t var_53; generic8_t var_54; generic64_t var_55; generic8_t var_56; generic64_t var_57; generic64_t var_58; generic64_t var_59; generic64_t *var_60; generic8_t var_61; generic64_t var_62; generic64_t var_63; generic64_t var_64; argument_0->offset_1144 = 0; helper_pxor_xmm_wrapper(NULL, 840, 840, undef_generic64_t(), 0, &var_58, &var_59); helper_cvtsq2sd_wrapper(NULL, 840, 0, '\000', '\000', '\000', '\000', &var_56, &var_57); helper_mulsd_wrapper_12(NULL, 840, 2824, '\000', '\000', var_56, '\000', '\000', '\000', var_57, *(generic64_t *) "", &var_54, &var_55); stack.offset_56 = *(generic64_t *) 40; helper_minsd_wrapper(NULL, 776, 840, var_54, '\000', *(generic64_t *) "", var_55, &var_52, &var_53); helper_pxor_xmm_wrapper_13(NULL, 776, 776, var_53, 0, &var_50, &var_51); helper_addsd_wrapper_14(NULL, 776, 2824, '\000', '\000', var_52, '\000', '\000', '\000', var_50, argument_0->offset_336, &var_48, &var_49); helper_addsd_wrapper_14(NULL, 776, 2824, '\000', '\000', var_48, '\000', '\000', '\000', var_49, argument_0->offset_472, &var_46, &var_47); helper_addsd_wrapper_14(NULL, 776, 2824, '\000', '\000', var_46, '\000', '\000', '\000', var_47, argument_0->offset_608, &var_44, &var_45); helper_addsd_wrapper_14(NULL, 776, 2824, '\000', '\000', var_44, '\000', '\000', '\000', var_45, argument_0->offset_744, &var_42, &var_43); helper_pand_xmm_wrapper(NULL, 776, 1032, var_43, var_51, segment_2.rodata.offset_864, 0, &var_40, &var_41); helper_comisd_wrapper(NULL, 776, 904, var_42, '\000', var_40, segment_2.rodata.offset_784, &var_38, &var_39); if (!(var_38 & 0x1)) { var_60 = &stack.offset_8; var_61 = var_39; var_62 = var_53; var_63 = *(generic64_t *) ""; var_64 = segment_2.rodata.offset_864; } else { float64_t var_65; helper_divsd_wrapper_19(NULL, 776, 904, '\000', '\000', var_39, '\000', '\000', '\000', var_40, segment_2.rodata.offset_784, &var_28, &var_29); stack.offset_8 = var_53; helper_mulsd_wrapper_1(NULL, 776, 2824, '\000', '\000', var_28, '\000', '\000', '\000', var_29, segment_2.rodata.offset_792, &var_26, &var_27); var_61 = var_26; var_65 = exp_2((float64_t) var_27); var_63 = var_65; var_64 = segment_2.rodata.offset_864; var_62 = stack.offset_8; var_60 = &stack.offset_8; } generic64_t var_66; helper_subsd_wrapper_15(NULL, 904, 2824, '\000', '\000', var_61, '\000', '\000', '\000', var_62, argument_0->offset_272, &var_36, &var_37); *var_60 = var_63; helper_pand_xmm_wrapper_16(NULL, 904, 1032, var_37, 0, var_64, 0, &var_34, &var_35); stack.offset_16 = var_34; helper_mulsd_wrapper_17(NULL, 776, 968, '\000', '\000', var_36, '\000', '\000', '\000', var_34, var_63, &var_32, &var_33); helper_comisd_wrapper_18(NULL, 1032, 776, var_32, '\000', var_33, segment_2.rodata.offset_800, &var_30, &var_31); var_66 = 0; if ((var_30 & 0x41)) { pointer_or_number64_t var_67; pointer_or_number64_t var_68; generic64_t var_69; generic64_t var_70; generic64_t var_71; generic8_t var_72; generic64_t var_73; generic8_t var_74; artificial_struct_returned_by_rawfunction_29 var_75; argument_0->offset_296 = '\001'; argument_0->offset_280 = var_62; stack.offset_24 = var_62; var_75 = gettimeofday_2(undef_generic64_t(), undef_generic64_t(), 0, (pointer_or_number64_t) &stack.offset_32, undef_generic64_t(), undef_generic64_t()); var_68 = var_75.register_rax; var_67 = var_75.register_rdx; helper_mulsd_wrapper_20(NULL, 904, 2824, '\000', '\000', var_31, '\000', '\000', '\000', stack.offset_16, *(generic64_t *) "", &var_24, &var_25); helper_comisd_wrapper_21(NULL, 904, 1032, var_24, '\000', var_25, *(generic64_t *) "", &var_22, &var_23); argument_0->offset_288 = stack.offset_32 * 1000 + (number64_t) ((uint128_t) ((stack.offset_40 >> 3) * 2361183241434822607) >> 68); if (!(var_22 & 0x1)) { generic64_t var_76; helper_subsd_wrapper_22(NULL, 904, 1032, '\000', '\000', var_23, '\000', '\000', '\000', var_25, *(generic64_t *) "", &var_20, &var_21); var_76 = helper_cvttsd2sq_wrapper(NULL, 904, var_20, '\000', var_21, &var_19); var_74 = var_19; var_72 = var_74; var_73 = var_76 ^ 0x8000000000000000; var_71 = var_73; if ((int64_t) var_76 < (int64_t) 0) { helper_pxor_xmm_wrapper_13(NULL, 776, 776, var_33, var_35, &var_16, &var_17); helper_cvtsq2sd_wrapper_23(NULL, 776, var_71, '\000', '\000', var_72, '\000', &var_14, &var_15); var_69 = &var_14; var_70 = &var_15; } else { helper_pxor_xmm_wrapper_13(NULL, 776, 776, var_33, var_35, &var_12, &var_13); helper_cvtsq2sd_wrapper_23(NULL, 776, (var_73 >> 1) | (var_73 & 0x1), '\000', '\000', var_74, '\000', &var_10, &var_11); helper_addsd_wrapper_24(NULL, 776, 776, '\000', '\000', var_10, '\000', '\000', '\000', var_11, &var_8, &var_9); var_69 = &var_8; var_70 = &var_9; } } else { generic64_t var_77; var_77 = helper_cvttsd2sq_wrapper(NULL, 904, var_23, '\000', var_25, &var_18); var_73 = var_77; var_71 = var_73; var_74 = var_18; var_72 = var_74; if ((int64_t) var_71 < (int64_t) 0) { helper_pxor_xmm_wrapper_13(NULL, 776, 776, var_33, var_35, &var_12, &var_13); helper_cvtsq2sd_wrapper_23(NULL, 776, (var_73 >> 1) | (var_73 & 0x1), '\000', '\000', var_74, '\000', &var_10, &var_11); helper_addsd_wrapper_24(NULL, 776, 776, '\000', '\000', var_10, '\000', '\000', '\000', var_11, &var_8, &var_9); var_69 = &var_8; var_70 = &var_9; } else { helper_pxor_xmm_wrapper_13(NULL, 776, 776, var_33, var_35, &var_16, &var_17); helper_cvtsq2sd_wrapper_23(NULL, 776, var_71, '\000', '\000', var_72, '\000', &var_14, &var_15); var_69 = &var_14; var_70 = &var_15; } } generic64_t var_78; helper_mulsd_wrapper_17(NULL, 776, 968, '\000', '\000', *(generic8_t *) var_69, '\000', '\000', '\000', *(generic64_t *) var_70, *var_60, &var_6, &var_7); helper_comisd_wrapper_18(NULL, 776, 1032, var_6, '\000', var_7, *(generic64_t *) "", &var_4, &var_5); if (!(var_4 & 0x1)) { generic64_t var_79; helper_subsd_wrapper_25(NULL, 776, 1032, '\000', '\000', var_5, '\000', '\000', '\000', var_7, *(generic64_t *) "", &var_2, &var_3); var_79 = helper_cvttsd2sq_wrapper_26(NULL, 776, var_2, '\000', var_3, &var_1); var_78 = var_79 ^ 0x8000000000000000; } else { generic64_t var_80; var_80 = helper_cvttsd2sq_wrapper_26(NULL, 776, var_5, '\000', var_7, &var_0); var_78 = var_80; } var_66 = var_78; argument_0->offset_296 = '\000'; argument_0->offset_272 = stack.offset_24; } if (stack.offset_56 != *(generic64_t *) 40) { __stack_chk_fail_2(); } struct_295 var_81; var_81.offset_0 = var_66; var_81.offset_8 = 0; return var_81; } _ABI(raw_x86_64) generic64_t device_interact(struct_262 *register_rdi _REG(rdi_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_179 stack; uint64_t loop_state_var; generic64_t var_0; generic64_t var_1; stack.offset_96 = "\n=== laptooop ===\n"; stack.offset_88 = "1. Download recording\n"; stack.offset_40 = *(generic64_t *) 40; var_0 = register_xmm0; var_1 = register_xmm1; while (true) { generic64_t var_2; generic64_t var_3; generic64_t var_4; generic64_t var_5; generic64_t var_6; generic64_t var_7; var_2 = var_6; var_3 = var_0; var_4 = var_1; void *var_8; while (true) { while (true) { int32_t var_9; int32_t var_10; int32_t var_11; int32_t var_12; int32_t var_13; generic64_t var_14; generic64_t var_15; generic64_t var_16; bool var_17 = false; var_13 = __printf_chk_2((int32_t) 2, (const int8_t *) "\n=== laptooop ===\n"); var_12 = __printf_chk_2((int32_t) 2, (const int8_t *) "1. Download recording\n"); var_11 = __printf_chk_2((int32_t) 2, (const int8_t *) "2. Clear recording\n"); var_10 = __printf_chk_2((int32_t) 2, (const int8_t *) "3. Quit\n"); var_9 = fflush_2((FILE_4 *) *(generic64_t *) segment_3.got.offset_8); function_0x401320_Code_x86_64(); switch ((number32_t) var_9) { case 2: { if (!register_rdi->offset_128->offset_0->offset_1164) { generic64_t var_18; generic64_t var_19; generic64_t var_20; artificial_struct_returned_by_rawfunction_146 var_21; register_rdi->offset_128->offset_0->offset_1144 = 0; register_rdi->offset_128->offset_0->offset_1152 = 0; var_21 = function_0x401980_Code_x86_64(var_5, var_2, 0, ®ister_rdi->offset_128->offset_0->offset_272, var_7, (generic64_t) &stack.offset_24, var_3, var_4, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_20 = var_21.register_rdx; var_14 = var_20; var_19 = var_21.register_xmm0; var_15 = var_19; var_18 = var_21.register_xmm1; var_16 = var_18; } else { generic64_t var_22; generic64_t var_23; generic64_t var_24; generic64_t var_25; artificial_struct_returned_by_rawfunction_145 var_26; var_26 = dev_printf(var_5, var_2, (generic64_t) "3. Quit\n", (generic64_t) "HDD error, cannot clear recording\n", var_7, (generic64_t) &stack.offset_24, var_3, var_4, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_25 = var_26.register_rax; var_24 = var_26.register_rdx; var_14 = var_24; var_23 = var_26.register_xmm0; var_15 = var_23; var_22 = var_26.register_xmm1; var_16 = var_22; } loop_state_var = 0; var_17 = true; break; } break; case 1: { if (register_rdi->offset_128->offset_0->offset_1164) { generic64_t var_27; generic64_t var_28; generic64_t var_29; generic64_t var_30; artificial_struct_returned_by_rawfunction_145 var_31; var_31 = dev_printf(var_5, var_2, register_rdi->offset_128->offset_0->offset_1164, (generic64_t) "HDD error, cannot read recording\n", var_7, (generic64_t) &stack.offset_24, var_3, var_4, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_30 = var_31.register_rax; var_29 = var_31.register_rdx; var_14 = var_29; var_28 = var_31.register_xmm0; var_15 = var_28; var_27 = var_31.register_xmm1; var_16 = var_27; loop_state_var = 1; var_17 = true; break; } if (register_rdi->offset_128->offset_0->offset_1152) { var_8 = malloc_2(register_rdi->offset_128->offset_0->offset_1152); if (!var_8) { continue; } loop_state_var = 3; var_17 = true; break; } generic64_t var_32; generic64_t var_33; generic64_t var_34; generic64_t var_35; artificial_struct_returned_by_rawfunction_145 var_36; var_36 = dev_printf(var_5, var_2, 0, (generic64_t) "Nothing recorded, cannot download!\n", var_7, (generic64_t) &stack.offset_24, var_3, var_4, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_35 = var_36.register_rax; var_34 = var_36.register_rdx; var_14 = var_34; var_33 = var_36.register_xmm0; var_15 = var_33; var_32 = var_36.register_xmm1; var_16 = var_32; loop_state_var = 2; var_17 = true; break; } break; default: { if (stack.offset_40 != *(generic64_t *) 40) { __stack_chk_fail_2(); } return 0; } break; } if (var_17){ break;} } if (loop_state_var != 3) { continue; } break; } generic64_t var_37; generic64_t var_38; generic64_t var_39; var_37 = 0; var_38 = 0; var_39 = 0; generic8_t var_40; generic64_t var_41; generic64_t var_42; do { var_41 = (pointer_or_number64_t) var_8 + var_37; var_37 = var_37 + 1; *(generic8_t *) var_41 = *(generic8_t *) (var_38 + *(generic64_t *) ((var_39 << 3) + (pointer_or_number64_t) register_rdi->offset_128->offset_0)); var_40 = var_38 == 32767; var_42 = var_40 ? 0 : var_38 + 1; var_38 = var_42; var_39 = var_39 + var_40; } while (var_37 < register_rdi->offset_128->offset_0->offset_1152); generic64_t var_43; generic64_t var_44; generic64_t var_45; generic64_t var_46; generic64_t var_47; generic64_t var_48; artificial_struct_returned_by_rawfunction_145 var_49; stack.offset_24 = 0; stack.offset_32 = 0; stack.offset_0 = &stack.offset_32; function_0x401310_Code_x86_64(); free_2(var_8); var_48 = stack.offset_24; var_49 = dev_printf(stack.offset_8, (generic64_t) stack.offset_0, var_48, (generic64_t) "Recording size: %lu\n", register_rdi->offset_128->offset_192, (generic64_t) &stack.offset_24, var_3, var_4, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_46 = var_49.register_rax; var_45 = var_49.register_rdx; var_47 = var_45; var_44 = var_49.register_xmm0; var_43 = var_49.register_xmm1; if (stack.offset_24) { ssize_t var_50; var_48 = stack.offset_32; var_50 = write_2((int32_t) 1, (const void *) var_48, stack.offset_24); var_47 = stack.offset_24; if (((number64_t) var_50 << 32)) { generic64_t var_51; generic64_t var_52; generic64_t var_53; generic64_t var_54; var_51 = (number64_t) var_50 << 32; var_52 = stack.offset_32; var_53 = 0; var_54 = stack.offset_24; generic64_t var_55; generic64_t var_56; while (true) { generic64_t var_57; var_56 = var_52; var_55 = var_54; var_57 = var_53 + ((int64_t) var_51 >> 32); if (var_57 < stack.offset_24) { ssize_t var_58; var_54 = var_54 - ((int64_t) var_51 >> 32); var_55 = var_54; var_52 = stack.offset_32 + var_57; var_56 = var_52; var_58 = write_2((int32_t) 1, (const void *) var_56, var_55); var_51 = (number64_t) var_58 << 32; var_53 = var_57; if (var_51) { continue; } } break; } var_47 = var_55; var_48 = var_56; } } generic64_t var_59; generic64_t var_60; generic64_t var_61; generic64_t var_62; artificial_struct_returned_by_rawfunction_145 var_63; free_2((void *) stack.offset_32); var_63 = dev_printf(stack.offset_8, var_47, var_48, (generic64_t) "Done sending recording\n", register_rdi->offset_128->offset_192, (generic64_t) &stack.offset_24, var_44, var_43, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_62 = var_63.register_rax; var_61 = var_63.register_rdx; var_6 = var_61; var_60 = var_63.register_xmm0; var_0 = var_60; var_59 = var_63.register_xmm1; var_1 = var_59; var_5 = stack.offset_8; var_7 = register_rdi->offset_128->offset_192; } } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_149 laptooop_process_audio(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), struct_265 *register_rsi _REG(rsi_x86_64), struct_266 *register_rdi _REG(rdi_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_180 stack; generic64_t var_0; generic8_t var_1; generic8_t var_2; generic64_t var_3; generic64_t var_4; generic64_t var_5; generic8_t var_6; generic64_t var_7; generic64_t var_8; generic8_t var_9; generic8_t var_10; generic64_t var_11; generic64_t var_12; generic64_t var_13; generic8_t var_14; generic64_t var_15; generic8_t var_16; generic64_t var_17; generic64_t var_18; generic64_t var_19; generic8_t var_20; generic64_t var_21; generic64_t var_22; generic64_t var_23; generic8_t var_24; generic64_t var_25; generic8_t var_26; generic64_t var_27; generic8_t var_28; generic64_t var_29; generic64_t var_30; generic64_t var_31; generic64_t var_32; generic8_t var_33; generic64_t var_34; generic64_t var_35; generic64_t var_36; generic8_t var_37; generic64_t var_38; generic64_t var_39; generic64_t var_40; generic8_t var_41; generic8_t var_42; generic64_t var_43; generic64_t var_44; generic64_t var_45; generic8_t var_46; generic64_t var_47; generic64_t var_48; generic64_t var_49; generic64_t var_50; generic64_t var_51; generic64_t var_52; generic64_t var_53; stack.offset_16 = (number32_t) register_rdx; stack.offset_20 = (number32_t) register_rcx; stack.offset_4200 = *(generic64_t *) 40; var_52 = register_xmm0; var_53 = register_xmm1; if (!(!register_rdi || !register_rsi)) { var_52 = register_xmm0; var_53 = register_xmm1; if (register_rdi->offset_128) { var_52 = register_xmm0; var_53 = register_xmm1; if (!((number32_t) register_rdi->offset_68)) { var_52 = register_xmm0; var_53 = register_xmm1; if (register_rdi->offset_128->offset_128) { register_rdi->offset_128->offset_128 = '\000'; if (register_rdi->offset_128->offset_0->offset_1160) { register_rdi->offset_128->offset_0->offset_1160 = '\000'; register_rdi->offset_128->offset_0->offset_1164 = 5; register_rdi->offset_128->offset_0->offset_272.member_0.offset_0 = 0; } if (stack.offset_4200 != *(generic64_t *) 40) { __stack_chk_fail_2(); } int32_t var_54; int32_t var_55; stack.offset_4256 = stack.offset_4216; *(struct_265 **) &stack.offset_64.member_2[503] = register_rsi; *(generic64_t *) &stack.offset_64.member_2[504] = register_rdx; *(generic64_t *) &stack.offset_64.member_2[505] = register_rcx; *(generic64_t *) &stack.offset_64.member_2[506] = register_r8; *(generic64_t *) &stack.offset_64.member_2[507] = register_r9; *(generic64_t *) &stack.offset_64.member_2[501] = *(generic64_t *) 40; stack.offset_64.member_0.offset_3984.member_1.offset_8 = &(&stack)[1].offset_8; stack.offset_64.member_0.offset_3984.member_2.offset_16 = &stack.offset_64.member_2[502]; stack.offset_64.member_0.offset_3984.member_4 = 8; stack.offset_64.member_0.offset_3984.member_3.offset_4 = 48; var_55 = __printf_chk_2((int32_t) 2, (const int8_t *) "[LAPTOOOP] "); var_54 = __vfprintf_chk_2((FILE_4 *) *(generic64_t *) segment_3.got.offset_8, (int32_t) 2, (const int8_t *) "Shutting down...\n", (__va_list_tag *) &stack.offset_64.member_0.offset_3984); var_50 = register_xmm0; var_51 = register_xmm1; if (*(generic64_t *) &stack.offset_64.member_2[501] != *(generic64_t *) 40) { __stack_chk_fail_2(); } return (artificial_struct_returned_by_rawfunction_149) { var_50, var_51 }; } } else { if ((number32_t) register_rdi->offset_68 == 1) { generic64_t var_56; generic64_t var_57; generic64_t var_58; var_56 = register_rdx; var_57 = register_xmm0; var_58 = register_xmm1; if (!register_rdi->offset_128->offset_128) { pointer_or_number64_t var_59; pointer_or_number64_t var_60; artificial_struct_returned_by_rawfunction_29 var_61; register_rdi->offset_128->offset_128 = '\001'; var_61 = gettimeofday_2(register_rcx, register_rdx, 0, (pointer_or_number64_t) &stack.offset_48, register_r8, register_r9); var_60 = var_61.register_rax; var_59 = var_61.register_rdx; register_rdi->offset_128->offset_144 = stack.offset_48 * 1000 + (number64_t) ((uint128_t) ((stack.offset_56 >> 3) * 2361183241434822607) >> 68); if (!register_rdi->offset_128->offset_0->offset_1160) { register_rdi->offset_128->offset_0->offset_1160 = '\001'; register_rdi->offset_128->offset_0->offset_1164 = 0; } generic64_t var_62; generic64_t var_63; generic64_t var_64; generic64_t var_65; artificial_struct_returned_by_rawfunction_145 var_66; var_66 = dev_printf(stack.offset_48 * 1000 + (number64_t) ((uint128_t) ((stack.offset_56 >> 3) * 2361183241434822607) >> 68), (number64_t) ((uint128_t) ((stack.offset_56 >> 3) * 2361183241434822607) >> 68), 0, (generic64_t) "Booting up...\n", register_r8, register_r9, register_xmm0, register_xmm1, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_65 = var_66.register_rax; var_64 = var_66.register_rdx; var_56 = var_64; var_63 = var_66.register_xmm0; var_57 = var_63; var_62 = var_66.register_xmm1; var_58 = var_62; } generic64_t var_67; generic64_t var_68; generic64_t var_69; var_69 = &stack.offset_64; var_67 = 0; var_68 = register_rsi; do { *(generic64_t *) var_69 = ((struct_265 *) var_68)->offset_0[0].member_2; var_69 = var_69 + 8; var_67 = var_67 + 1; var_68 = &((struct_265 *) var_68)->offset_0[1]; } while (var_67 != 516); generic64_t var_70; generic64_t var_71; generic32_t *var_72; generic64_t var_73; generic64_t var_74; generic8_t var_75; generic64_t var_76; generic64_t var_77; generic64_t var_78; generic64_t var_79; generic64_t var_80; generic64_t var_81; generic64_t var_82; generic64_t var_83; var_71 = lshift((uint64_t) (stack.offset_16 - 1), 4294967272); var_70 = lshift((uint64_t) ((stack.offset_16 ^ 0x1) & (stack.offset_16 ^ (stack.offset_16 - 1))), 4294967276); if (stack.offset_16 == 1) { generic64_t var_84; generic64_t var_85; generic64_t var_86; generic64_t var_87; generic64_t var_88; generic64_t var_89; generic64_t var_90; generic64_t var_91; generic64_t var_92; generic64_t var_93; generic64_t var_94; generic64_t var_95; generic64_t var_96; generic64_t var_97; generic8_t var_98; generic64_t var_99; generic64_t var_100; artificial_struct_returned_by_rawfunction_145 var_101; artificial_struct_returned_by_rawfunction_170 var_102; var_101 = dev_printf(0, var_56, stack.offset_20, (generic64_t) "Starting audio recording, %u total chunks expected\n", register_r8, register_r9, var_57, var_58, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_95 = var_101.register_rax; var_94 = var_101.register_rdx; var_93 = var_101.register_xmm0; var_92 = var_101.register_xmm1; var_102 = ((rawfunction_170 *) register_rdi->offset_128->offset_0->offset_264)(0, var_94, stack.offset_20, (generic64_t) register_rdi->offset_128->offset_0, register_r8, register_r9, var_93, var_92, register_xmm2, register_xmm4, register_xmm5, register_xmm6); var_91 = var_102.register_rsi; var_90 = var_102.register_r8; var_89 = var_102.register_r9; var_88 = var_102.register_xmm3; var_87 = var_102.register_xmm4; var_86 = var_102.register_xmm5; var_99 = var_86; var_85 = var_102.register_xmm6; var_84 = var_102.register_xmm7; helper_pxor_xmm_wrapper(NULL, 1224, 1224, var_84, 0, &var_48, &var_49); helper_cvtsq2sd_wrapper(NULL, 1224, (uint64_t) register_rsi->offset_0[514].member_3, '\000', '\000', '\000', '\000', &var_46, &var_47); var_98 = var_46; stack.offset_0 = var_47; var_97 = (pointer_or_number64_t) ®ister_rdi->offset_128->offset_0->offset_272.member_1.offset_72 + 24; var_96 = 0; var_100 = 0; generic8_t var_103; do { function_0x401260_Code_x86_64(); helper_pxor_xmm_wrapper_1(NULL, 1096, 1096, var_99, var_100, &var_44, &var_45); var_99 = var_44; var_100 = var_45; helper_mulsd_wrapper(NULL, 968, 2824, '\000', '\000', var_98, '\000', '\000', '\000', *(generic64_t *) "", stack.offset_0, &var_42, &var_43); register_rdi->offset_128->offset_0->offset_272.member_1.offset_72.offset_0[var_96].offset_0.offset_8 = 0; register_rdi->offset_128->offset_0->offset_272.member_0.offset_32.offset_0[var_96].offset_0.offset_32 = var_99; register_rdi->offset_128->offset_0->offset_272.member_1.offset_72.offset_0[var_96].offset_0.offset_0 = var_100; helper_comisd_wrapper(NULL, 776, 968, var_42, '\000', register_rdi->offset_128->offset_0->offset_272.member_0.offset_32.offset_0[var_96].offset_0.offset_0, var_43, &var_40, &var_41); var_98 = var_41; register_rdi->offset_128->offset_0->offset_272.member_1.offset_72.offset_0[var_96].offset_0.offset_16 = (number8_t) var_40 & 0x1; var_103 = (pointer_or_number64_t) ®ister_rdi->offset_128->offset_0->offset_272 + 504 == var_97; var_97 = var_97 + 136; var_96 = var_96 + 1; } while (!(var_103)); *(generic64_t *) &stack.offset_8 = var_43; function_0x401260_Code_x86_64(); register_rdi->offset_128->offset_0->offset_920 = 0; helper_pxor_xmm_wrapper(NULL, 1224, 1224, var_47, var_49, &var_38, &var_39); var_77 = stack.offset_0; var_78 = register_rdi->offset_128->offset_0->offset_1016; register_rdi->offset_128->offset_0->offset_904 = var_38; register_rdi->offset_128->offset_0->offset_912 = var_39; helper_comisd_wrapper(NULL, 776, 968, var_41, '\000', register_rdi->offset_128->offset_0->offset_872, *(generic64_t *) &stack.offset_8, &var_36, &var_37); register_rdi->offset_128->offset_0->offset_928 = (number8_t) var_36 & 0x1; function_0x401260_Code_x86_64(); var_79 = *(generic64_t *) &stack.offset_8; helper_pxor_xmm_wrapper(NULL, 1224, 1224, var_38, var_39, &var_34, &var_35); var_83 = var_34; var_76 = register_rdi->offset_128->offset_0->offset_1008; register_rdi->offset_128->offset_0->offset_1056 = 0; register_rdi->offset_128->offset_0->offset_848 = '\000'; register_rdi->offset_128->offset_0->offset_1040 = var_83; register_rdi->offset_128->offset_0->offset_1048 = var_35; helper_comisd_wrapper(NULL, 776, 968, var_37, '\000', var_76, var_79, &var_32, &var_33); var_75 = var_33; register_rdi->offset_128->offset_0->offset_1064 = (number8_t) var_32 & 0x1; register_rdi->offset_128->offset_184 = register_rsi->offset_0[514].member_0.offset_4; register_rdi->offset_128->offset_188 = register_rsi->offset_0[514].member_3; register_rdi->offset_128->offset_192 = register_rsi->offset_0[514].member_1.offset_6; var_72 = &stack.offset_8; var_73 = var_90; var_74 = var_89; var_80 = var_87; var_81 = var_44; var_82 = var_85; } else { var_72 = &stack.offset_8; var_73 = register_r8; var_74 = register_r9; var_75 = '\000'; var_76 = var_57; var_77 = var_58; var_78 = register_xmm2; var_79 = register_xmm3; var_80 = register_xmm4; var_81 = register_xmm5; var_82 = register_xmm6; var_83 = register_xmm7; } stack.offset_32 = 18446744073709551615U; *var_72 = stack.offset_64.member_2[514].member_3; if (stack.offset_64.member_2[514].member_3) { stack.offset_32 = 1000000000 / stack.offset_64.member_2[514].member_3; } generic16_t var_104; void *var_105; void *var_106; generic64_t var_107; generic64_t var_108; generic32_t var_109; generic8_t var_110; generic64_t var_111; generic64_t var_112; generic8_t var_113; generic64_t var_114; generic64_t var_115; generic64_t var_116; struct_180 *var_117; var_104 = stack.offset_64.member_2[514].member_1.offset_6; stack.offset_44 = stack.offset_64.member_2[0].member_3; if (var_104 == register_rdi->offset_128->offset_104) { if (*var_72 == register_rdi->offset_128->offset_108) { var_108 = *var_72; var_107 = var_73; var_109 = stack.offset_64.member_2[0].member_3; var_110 = var_75; var_111 = var_76; var_112 = var_78; if (!register_rdi->offset_128->offset_106) { if (register_rdi->offset_128->offset_88) { free_2(register_rdi->offset_128->offset_88); } if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); } register_rdi->offset_128->offset_106 = '\000'; register_rdi->offset_128->offset_104 = 0; var_106 = calloc_2(var_104, 72); register_rdi->offset_128->offset_88 = var_106; stack.offset_0 = var_106; var_105 = calloc_2(var_104, 72); register_rdi->offset_128->offset_96 = var_105; if (!stack.offset_0) { if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); register_rdi->offset_128->offset_96 = 0; } register_rdi->offset_128->offset_104 = 0; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_106 = '\000'; var_107 = 0; var_108 = var_105; var_110 = var_75; var_111 = var_76; var_112 = var_78; } else { if (!var_105) { free_2(stack.offset_0); register_rdi->offset_128->offset_88 = 0; if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); register_rdi->offset_128->offset_96 = 0; } register_rdi->offset_128->offset_104 = 0; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_106 = '\000'; var_107 = 0; var_108 = var_105; var_110 = var_75; var_111 = var_76; var_112 = var_78; } else { var_113 = var_75; var_114 = var_76; var_115 = var_78; if (var_104) { helper_pxor_xmm_wrapper_5(NULL, 840, 840, var_77, 0, &var_22, &var_23); helper_cvtsq2sd_wrapper_6(NULL, 840, (uint64_t) *var_72, '\000', '\000', var_75, '\000', &var_20, &var_21); var_116 = 0; var_117 = &var_21; do { var_116 = var_116 + 72; stack.offset_0 = *(generic64_t *) var_117; function_0x4011e0_Code_x86_64(); function_0x4012f0_Code_x86_64(); var_117 = &stack; } while (var_116 != var_104 * 72); var_113 = var_20; var_114 = register_rdi->offset_128->offset_72; var_115 = register_rdi->offset_128->offset_80; } var_110 = var_113; var_111 = var_114; var_112 = var_115; var_108 = *var_72; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_104 = var_104; register_rdi->offset_128->offset_106 = '\001'; register_rdi->offset_128->offset_108 = *var_72; var_107 = 0; } } } } else { if (register_rdi->offset_128->offset_88) { free_2(register_rdi->offset_128->offset_88); } if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); } register_rdi->offset_128->offset_106 = '\000'; register_rdi->offset_128->offset_104 = 0; var_106 = calloc_2(var_104, 72); register_rdi->offset_128->offset_88 = var_106; stack.offset_0 = var_106; var_105 = calloc_2(var_104, 72); register_rdi->offset_128->offset_96 = var_105; if (!stack.offset_0) { if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); register_rdi->offset_128->offset_96 = 0; } register_rdi->offset_128->offset_104 = 0; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_106 = '\000'; var_107 = 0; var_108 = var_105; var_110 = var_75; var_111 = var_76; var_112 = var_78; } else { if (!var_105) { free_2(stack.offset_0); register_rdi->offset_128->offset_88 = 0; if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); register_rdi->offset_128->offset_96 = 0; } register_rdi->offset_128->offset_104 = 0; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_106 = '\000'; var_107 = 0; var_108 = var_105; var_110 = var_75; var_111 = var_76; var_112 = var_78; } else { var_113 = var_75; var_114 = var_76; var_115 = var_78; if (var_104) { helper_pxor_xmm_wrapper_5(NULL, 840, 840, var_77, 0, &var_22, &var_23); helper_cvtsq2sd_wrapper_6(NULL, 840, (uint64_t) *var_72, '\000', '\000', var_75, '\000', &var_20, &var_21); var_116 = 0; var_117 = &var_21; do { var_116 = var_116 + 72; stack.offset_0 = *(generic64_t *) var_117; function_0x4011e0_Code_x86_64(); function_0x4012f0_Code_x86_64(); var_117 = &stack; } while (var_116 != var_104 * 72); var_113 = var_20; var_114 = register_rdi->offset_128->offset_72; var_115 = register_rdi->offset_128->offset_80; } var_110 = var_113; var_111 = var_114; var_112 = var_115; var_108 = *var_72; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_104 = var_104; register_rdi->offset_128->offset_106 = '\001'; register_rdi->offset_128->offset_108 = *var_72; var_107 = 0; } } } } else { if (register_rdi->offset_128->offset_88) { free_2(register_rdi->offset_128->offset_88); } if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); } register_rdi->offset_128->offset_106 = '\000'; register_rdi->offset_128->offset_104 = 0; var_106 = calloc_2(var_104, 72); register_rdi->offset_128->offset_88 = var_106; stack.offset_0 = var_106; var_105 = calloc_2(var_104, 72); register_rdi->offset_128->offset_96 = var_105; if (!stack.offset_0) { if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); register_rdi->offset_128->offset_96 = 0; } register_rdi->offset_128->offset_104 = 0; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_106 = '\000'; var_107 = 0; var_108 = var_105; var_110 = var_75; var_111 = var_76; var_112 = var_78; } else { if (!var_105) { free_2(stack.offset_0); register_rdi->offset_128->offset_88 = 0; if (register_rdi->offset_128->offset_96) { free_2(register_rdi->offset_128->offset_96); register_rdi->offset_128->offset_96 = 0; } register_rdi->offset_128->offset_104 = 0; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_106 = '\000'; var_107 = 0; var_108 = var_105; var_110 = var_75; var_111 = var_76; var_112 = var_78; } else { var_113 = var_75; var_114 = var_76; var_115 = var_78; if (var_104) { helper_pxor_xmm_wrapper_5(NULL, 840, 840, var_77, 0, &var_22, &var_23); helper_cvtsq2sd_wrapper_6(NULL, 840, (uint64_t) *var_72, '\000', '\000', var_75, '\000', &var_20, &var_21); var_116 = 0; var_117 = &var_21; do { var_116 = var_116 + 72; stack.offset_0 = *(generic64_t *) var_117; function_0x4011e0_Code_x86_64(); function_0x4012f0_Code_x86_64(); var_117 = &stack; } while (var_116 != var_104 * 72); var_113 = var_20; var_114 = register_rdi->offset_128->offset_72; var_115 = register_rdi->offset_128->offset_80; } var_110 = var_113; var_111 = var_114; var_112 = var_115; var_108 = *var_72; var_109 = stack.offset_64.member_2[0].member_3; register_rdi->offset_128->offset_104 = var_104; register_rdi->offset_128->offset_106 = '\001'; register_rdi->offset_128->offset_108 = *var_72; var_107 = 0; } } } generic64_t var_118; generic64_t var_119; generic64_t var_120; generic64_t var_121; var_118 = var_108; var_119 = var_112; var_120 = var_79; var_121 = var_80; if (var_109) { generic64_t var_122; generic64_t var_123; var_122 = 0; var_123 = 0; function_0x401290_Code_x86_64(); function_0x4012a0_Code_x86_64(); function_0x401340_Code_x86_64(); function_0x401330_Code_x86_64(); function_0x4012b0_Code_x86_64(); function_0x4012b0_Code_x86_64(); function_0x401280_Code_x86_64(); *(generic32_t *) ((pointer_or_number64_t) &stack.offset_64.member_1.offset_4 + var_123 * 4) = (number32_t) var_122 * 9; while ((number32_t) (var_123 + 1) - stack.offset_64.member_2[0].member_3 > ~stack.offset_64.member_2[0].member_3) { var_122 = ((var_122 + 1) & 0xFFFF) % stack.offset_64.member_2[514].member_1.offset_6; var_123 = var_123 + 1; function_0x401290_Code_x86_64(); function_0x4012a0_Code_x86_64(); function_0x401340_Code_x86_64(); function_0x401330_Code_x86_64(); function_0x4012b0_Code_x86_64(); function_0x4012b0_Code_x86_64(); function_0x401280_Code_x86_64(); *(generic32_t *) ((pointer_or_number64_t) &stack.offset_64.member_1.offset_4 + var_123 * 4) = (number32_t) var_122 * 9; } var_118 = ((var_122 + 1) & 0xFFFF) / stack.offset_64.member_2[514].member_1.offset_6; var_119 = register_rdi->offset_128->offset_32; var_120 = register_rdi->offset_128->offset_40; var_121 = register_rdi->offset_128->offset_48; } generic64_t var_124; struct_243 *var_125; generic64_t var_126; generic64_t var_127; generic64_t var_128; function_0x4011d0_Code_x86_64(); helper_pxor_xmm_wrapper_2(NULL, 776, 776, var_111, 0, &var_30, &var_31); var_124 = register_rsi->offset_0[0].member_3; var_125 = register_rdi->offset_128->offset_0; stack.offset_24 = var_118; stack.offset_40 = stack.offset_64.member_2[0].member_3 * ((uint16_t) stack.offset_64.member_2[514].member_2.offset_4 >> 3); helper_cvtsq2sd_wrapper_3(NULL, 776, (uint64_t) register_rsi->offset_0[514].member_3, '\000', '\000', var_110, '\000', &var_28, &var_29); var_126 = var_29; helper_divsd_wrapper(NULL, 840, 776, '\000', '\000', var_28, '\000', '\000', '\000', var_126, *(generic64_t *) "", &var_26, &var_27); var_127 = var_27; stack.offset_0 = var_127; var_128 = var_82; if (register_rsi->offset_0[0].member_3) { generic64_t var_129; generic8_t var_130; generic64_t var_131; generic64_t var_132; var_129 = 0; var_130 = var_26; var_131 = var_29; var_132 = var_82; generic64_t var_133; generic64_t var_134; generic64_t var_135; generic64_t var_136; while (true) { generic64_t var_137; generic64_t var_138; generic64_t var_139; generic64_t var_140; generic64_t var_141; generic8_t var_142; generic64_t var_143; generic64_t var_144; generic8_t var_145; generic64_t var_146; generic64_t var_147; generic64_t var_148; generic8_t var_149; generic64_t var_150; generic64_t var_151; generic64_t var_152; artificial_struct_returned_by_rawfunction_142 var_153; artificial_struct_returned_by_rawfunction_142 var_154; var_152 = var_132; function_0x401290_Code_x86_64(); helper_mulsd_wrapper_4(NULL, 776, 2824, '\000', '\000', var_130, '\000', '\000', '\000', var_131, register_rsi->offset_0[513].member_2, &var_24, &var_25); var_149 = var_24; *(generic64_t *) var_72 = var_25; var_153 = process_sample_pa(4, (generic64_t) ®ister_rdi->offset_128->offset_0->offset_272.member_0.offset_32, var_25, (generic64_t) stack.offset_0, var_119, var_120, var_121, var_81, var_152); var_140 = var_153.register_xmm0; var_139 = var_153.register_xmm1; var_154 = process_sample_pa(2, (generic64_t) ®ister_rdi->offset_128->offset_0->offset_872, *(generic64_t *) var_72, (generic64_t) stack.offset_0, var_119, var_120, var_121, var_81, var_152); var_138 = var_154.register_xmm0; var_150 = var_138; var_137 = var_154.register_xmm1; var_151 = var_137; if (register_rdi->offset_128->offset_0->offset_848) { helper_mulsd_wrapper_9(NULL, 1160, 2824, '\000', '\000', var_24, '\000', '\000', '\000', *(generic64_t *) "", stack.offset_0, &var_6, &var_7); var_148 = var_7; helper_pxor_xmm_wrapper_5(NULL, 840, 840, var_137, 0, &var_4, &var_5); var_147 = var_4; helper_subsd_wrapper(NULL, 776, 1160, '\000', '\000', var_6, '\000', '\000', '\000', register_rdi->offset_128->offset_0->offset_856, var_148, &var_2, &var_3); var_146 = var_3; helper_comisd_wrapper_10(NULL, 776, 840, var_2, '\000', var_146, var_147, &var_0, &var_1); var_145 = var_1; if (!(var_0 & 0x41)) { var_142 = var_145; var_134 = var_146; var_143 = var_134; var_135 = var_147; var_136 = var_148; var_144 = var_136; register_rdi->offset_128->offset_0->offset_856 = var_143; var_133 = register_rsi->offset_0[0].member_3; var_141 = var_129 + 1; if (!(var_141 < var_133)) { break; } continue; } register_rdi->offset_128->offset_0->offset_856 = 0; var_149 = var_1; var_150 = var_3; var_151 = var_4; var_152 = var_7; } helper_pxor_xmm_wrapper_2(NULL, 776, 776, var_150, 0, &var_18, &var_19); helper_addsd_wrapper(NULL, 776, 2824, '\000', '\000', var_149, '\000', '\000', '\000', var_18, register_rdi->offset_128->offset_0->offset_920, &var_16, &var_17); helper_addsd_wrapper(NULL, 776, 2824, '\000', '\000', var_16, '\000', '\000', '\000', var_17, register_rdi->offset_128->offset_0->offset_1056, &var_14, &var_15); helper_pand_xmm_wrapper(NULL, 776, 2824, var_15, var_19, segment_2.rodata.offset_864, *(generic64_t *) "", &var_12, &var_13); helper_divsd_wrapper_7(NULL, 776, 2824, '\000', '\000', var_14, '\000', '\000', '\000', var_12, segment_2.rodata.offset_840, &var_10, &var_11); helper_comisd_wrapper_8(NULL, 776, 2824, var_10, '\000', var_11, *(generic64_t *) "", &var_8, &var_9); if ((var_8 & 0x41)) { var_133 = register_rsi->offset_0[0].member_3; var_141 = var_129 + 1; register_rdi->offset_128->offset_0->offset_848 = '\000'; var_142 = var_9; var_143 = var_11; var_144 = var_152; var_134 = var_11; var_135 = var_151; var_136 = var_152; if (!(var_141 < var_133)) { break; } continue; } register_rdi->offset_128->offset_0->offset_848 = '\001'; var_146 = register_rdi->offset_128->offset_0->offset_864; var_145 = var_9; var_147 = var_151; var_148 = var_152; var_142 = var_145; var_134 = var_146; var_143 = var_134; var_135 = var_147; var_136 = var_148; var_144 = var_136; register_rdi->offset_128->offset_0->offset_856 = var_143; var_133 = register_rsi->offset_0[0].member_3; var_141 = var_129 + 1; if (!(var_141 < var_133)) { break; } } var_124 = var_133; var_126 = var_134; var_127 = var_135; var_128 = var_136; var_125 = register_rdi->offset_128->offset_0; } generic64_t var_155; generic64_t var_156; generic64_t var_157; generic64_t var_158; var_156 = var_125; var_157 = var_126; var_158 = var_127; var_155 = stack.offset_40; if (!(!stack.offset_24 || !stack.offset_40 || !var_156)) { if (!*(generic8_t *) ((pointer_or_number64_t) var_125 + 1160)) { *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) + 1; var_155 = stack.offset_40; var_156 = var_125; var_157 = var_126; var_158 = var_127; } else { var_155 = stack.offset_40; var_156 = var_125; var_157 = var_126; var_158 = var_127; if (!*(generic32_t *) ((pointer_or_number64_t) var_125 + 1164)) { if (!*(generic8_t *) ((pointer_or_number64_t) var_125 + 848)) { generic64_t var_159; generic64_t var_160; generic64_t var_161; generic64_t var_162; generic64_t var_163; generic64_t var_164; generic32_t var_165; generic64_t var_166; generic64_t var_167; var_162 = stack.offset_32; *(generic32_t *) ((pointer_or_number64_t) var_125 + 1164) = 3; var_165 = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1148); var_159 = var_162 * stack.offset_44; var_160 = 0; var_161 = 0; var_163 = (var_124 & 0xFFFFFFFFFFFFFF00) | !stack.offset_40; var_164 = stack.offset_40; var_166 = var_126; var_167 = var_127; while (true) { generic64_t var_168; generic64_t var_169; var_168 = var_162; var_169 = var_165; if (!(var_165 < 32768)) { *(generic32_t *) ((pointer_or_number64_t) var_125 + 1148) = 0; var_168 = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1144) + 1; *(generic32_t *) ((pointer_or_number64_t) var_125 + 1144) = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1144) + 1; var_169 = 0; if (*(generic32_t *) ((pointer_or_number64_t) var_125 + 1144) > 30 && *(generic32_t *) ((pointer_or_number64_t) var_125 + 1144) < (uint32_t) -1) { *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) + 1; *(generic32_t *) ((pointer_or_number64_t) var_125 + 1164) = 4; var_156 = register_rdi->offset_128->offset_0; var_155 = var_164; var_157 = var_166; var_158 = var_167; break; } } generic64_t var_170; generic64_t var_171; generic64_t var_172; artificial_struct_returned_by_rawfunction_146 var_173; var_173 = function_0x401980_Code_x86_64(var_163, var_164, var_169, (struct_264 *) ((pointer_or_number64_t) var_125 + 272), var_107, var_74, var_166, var_167, var_119, var_120, var_121, var_81, var_128, var_83); var_172 = var_173.register_rdx; var_171 = var_173.register_xmm0; var_170 = var_173.register_xmm1; if (var_159 < var_161 + var_168) { *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) + 1; *(generic32_t *) ((pointer_or_number64_t) var_125 + 1164) = 0; var_156 = register_rdi->offset_128->offset_0; var_155 = var_172; var_157 = var_171; var_158 = var_170; } else { generic8_t var_174; var_174 = stack.offset_24[var_160].offset_0; var_163 = *(generic64_t *) ((*(generic32_t *) ((pointer_or_number64_t) var_125 + 1144) << 3) + (pointer_or_number64_t) var_125); var_160 = var_160 + 1; *(generic8_t *) (var_163 + *(generic32_t *) ((pointer_or_number64_t) var_125 + 1148)) = var_174; *(generic64_t *) ((pointer_or_number64_t) var_125 + 1152) = *(generic64_t *) ((pointer_or_number64_t) var_125 + 1152) + 1; var_165 = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1148) + 1; *(generic32_t *) ((pointer_or_number64_t) var_125 + 1148) = var_165; var_162 = stack.offset_40; var_161 = var_161 + var_168; var_164 = var_172; var_166 = var_171; var_167 = var_170; if ((number32_t) var_160 - stack.offset_40 > ~stack.offset_40) { continue; } *(generic32_t *) ((pointer_or_number64_t) var_125 + 1164) = 0; var_156 = register_rdi->offset_128->offset_0; var_155 = var_172; var_157 = var_171; var_158 = var_170; } break; } } else { *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) = *(generic32_t *) ((pointer_or_number64_t) var_125 + 1168) + 1; var_155 = stack.offset_40; var_156 = var_125; var_157 = var_126; var_158 = var_127; } } } } *(generic8_t *) (var_156 + 848) = '\000'; free_2(stack.offset_24); if (register_rdi->offset_128->offset_0->offset_1168 > 15) { free_2(register_rdi->offset_128->offset_0); var_52 = var_157; var_53 = var_158; } else { var_52 = var_157; var_53 = var_158; if (stack.offset_16 == stack.offset_20) { generic64_t var_175; generic64_t var_176; generic64_t var_177; generic64_t var_178; artificial_struct_returned_by_rawfunction_145 var_179; var_179 = dev_printf(stack.offset_20, var_155, stack.offset_20, (generic64_t) "Completed audio recording, %u chunks processed\n", var_107, var_74, var_157, var_158, var_119, var_120, var_121, var_81, var_128, var_83); var_178 = var_179.register_rax; var_177 = var_179.register_rdx; var_176 = var_179.register_xmm0; var_52 = var_176; var_175 = var_179.register_xmm1; var_53 = var_175; register_rdi->offset_128->offset_0->offset_1164 = 0; } } } } } } var_50 = var_52; var_51 = var_53; if (stack.offset_4200 != *(generic64_t *) 40) { __stack_chk_fail_2(); } return (artificial_struct_returned_by_rawfunction_149) { var_50, var_51 }; } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_150 laptooop_create(generic64_t register_rcx _REG(rcx_x86_64), generic64_t register_rdx _REG(rdx_x86_64), generic64_t register_rsi _REG(rsi_x86_64), generic64_t register_rdi _REG(rdi_x86_64), generic64_t register_r8 _REG(r8_x86_64), generic64_t register_r9 _REG(r9_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64), generic64_t register_xmm2 _REG(xmm2_x86_64), generic64_t register_xmm3 _REG(xmm3_x86_64), generic64_t register_xmm4 _REG(xmm4_x86_64), generic64_t register_xmm5 _REG(xmm5_x86_64), generic64_t register_xmm6 _REG(xmm6_x86_64), generic64_t register_xmm7 _REG(xmm7_x86_64)) { struct_181 stack; generic32_t *var_0; generic64_t var_1; generic64_t var_2; generic64_t var_3; generic64_t var_4; stack.offset_0 = register_xmm0; stack.offset_8 = register_xmm1; var_0 = calloc_2(1, 136); var_1 = register_rdx; var_2 = register_xmm0; var_3 = register_xmm1; var_4 = 0; if (var_0) { void *var_5; var_5 = malloc_2(200); if (!var_5) { free_2(var_0); var_1 = register_rdx; var_2 = register_xmm0; var_3 = register_xmm1; var_4 = 0; } else { void *var_6; var_6 = malloc_2(1176); *(void **) var_5 = var_6; if (!var_6) { free_2(var_5); free_2(var_0); var_1 = register_rdx; var_2 = register_xmm0; var_3 = register_xmm1; var_4 = 0; } else { int32_t var_7; generic64_t var_8; *var_0 = (number32_t) register_rdi; var_7 = __snprintf_chk_2((int8_t *) ((pointer_or_number64_t) var_0 + 4), 64, (int32_t) 2, 64, (const int8_t *) "Laptooop %s"); *(generic64_t *) ((pointer_or_number64_t) var_0 + 72) = register_xmm0; *(generic64_t *) ((pointer_or_number64_t) var_0 + 80) = register_xmm1; *(generic64_t *) ((pointer_or_number64_t) var_0 + 88) = *(generic64_t *) ""; *(rawfunction_149 **) ((pointer_or_number64_t) var_0 + 104) = laptooop_process_audio; *(rawfunction_148 **) ((pointer_or_number64_t) var_0 + 120) = device_interact; *(generic64_t *) ((pointer_or_number64_t) var_5 + 152) = 7233150898877851732; *(generic64_t *) ((pointer_or_number64_t) var_5 + 158) = 13565999213208673; var_8 = *(generic64_t *) var_5; *(void **) ((pointer_or_number64_t) var_0 + 128) = var_5; *(generic64_t *) ((pointer_or_number64_t) var_5 + 136) = *(generic64_t *) ""; *(cabifunction_294 **) ((pointer_or_number64_t) var_0 + 112) = laptooop_filter_song; *(generic32_t *) ((pointer_or_number64_t) var_0 + 68) = 0; *(generic8_t *) ((pointer_or_number64_t) var_5 + 128) = '\000'; *(generic64_t *) ((pointer_or_number64_t) var_5 + 144) = 0; *(generic64_t *) ((pointer_or_number64_t) var_0 + 96) = 0; *(generic8_t *) (var_8 + 1160) = '\000'; *(generic64_t *) (var_8 + 1144) = 0; *(generic64_t *) (var_8 + 1152) = 0; *(generic64_t *) (var_8 + 1164) = 0; *(cabifunction_296 **) (var_8 + 264) = hdd_clear_data; generic8_t var_9; void *var_10; do { var_10 = malloc_2(32768); *(void **) var_8 = var_10; var_9 = *(generic64_t *) var_5 + 248 == var_8; var_8 = var_8 + 8; } while (!(var_9)); generic64_t var_11; generic64_t var_12; generic64_t var_13; *(generic64_t *) (*(generic64_t *) var_5 + 256) = *(generic64_t *) var_5; var_11 = actuator_init(64, 2, 64, (struct_202 *) (*(generic64_t *) var_5 + 272), (generic8_t *) "Laptooop %s", (generic8_t *) "ThinkPad T420", register_xmm0, register_xmm1, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); shock_sensor_init(64, 2, 64, (struct_203 *) (*(generic64_t *) var_5 + 848), (generic8_t *) "Laptooop %s", (generic8_t *) "ThinkPad T420", register_xmm0, register_xmm1, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_13 = (pointer_or_number64_t) var_5 + 8; var_12 = 0; do { *(generic64_t *) var_13 = 0; var_13 = var_13 + 8; var_12 = var_12 + 1; } while (var_12 != 15); generic64_t var_14; generic64_t var_15; generic64_t var_16; generic64_t var_17; artificial_struct_returned_by_rawfunction_145 var_18; *(generic8_t *) ((pointer_or_number64_t) var_5 + 120) = '\001'; *(generic64_t *) ((pointer_or_number64_t) var_5 + 8) = segment_2.rodata.offset_880; *(generic64_t *) ((pointer_or_number64_t) var_5 + 16) = segment_2.rodata.offset_888; *(generic64_t *) ((pointer_or_number64_t) var_5 + 112) = segment_2.rodata.offset_640; *(generic64_t *) ((pointer_or_number64_t) var_5 + 24) = segment_2.rodata.offset_896; *(generic64_t *) ((pointer_or_number64_t) var_5 + 32) = segment_2.rodata.offset_904; *(generic64_t *) ((pointer_or_number64_t) var_5 + 40) = segment_2.rodata.offset_912; *(generic64_t *) ((pointer_or_number64_t) var_5 + 48) = segment_2.rodata.offset_920; *(generic64_t *) ((pointer_or_number64_t) var_5 + 56) = *(generic64_t *) ""; *(generic64_t *) ((pointer_or_number64_t) var_5 + 64) = segment_2.rodata.offset_936; *(generic64_t *) ((pointer_or_number64_t) var_5 + 72) = *(generic64_t *) ""; *(generic64_t *) ((pointer_or_number64_t) var_5 + 80) = segment_2.rodata.offset_952; var_18 = dev_printf(0, (pointer_or_number64_t) var_5 + 8, (pointer_or_number64_t) var_5 + 152, (generic64_t) "Created laptooop '%s' at position (%.1f, %.1f)\n", (generic64_t) "Laptooop %s", (generic64_t) "ThinkPad T420", stack.offset_0, stack.offset_8, register_xmm2, register_xmm3, register_xmm4, register_xmm5, register_xmm6, register_xmm7); var_17 = var_18.register_rax; var_16 = var_18.register_rdx; var_1 = var_16; var_15 = var_18.register_xmm0; var_2 = var_15; var_14 = var_18.register_xmm1; var_3 = var_14; var_4 = var_0; } } } return (artificial_struct_returned_by_rawfunction_150) { var_4, var_1, var_2, var_3 }; } _ABI(raw_x86_64) artificial_struct_returned_by_rawfunction_151 laptooop_destroy(generic64_t register_rsi _REG(rsi_x86_64), struct_204 *register_rdi _REG(rdi_x86_64), generic64_t register_xmm0 _REG(xmm0_x86_64), generic64_t register_xmm1 _REG(xmm1_x86_64)) { if (register_rdi) { if (register_rdi->offset_128) { if (register_rdi->offset_128->offset_88) { free_2((void *) register_rdi->offset_128->offset_88); } if (register_rdi->offset_128->offset_96) { free_2((void *) register_rdi->offset_128->offset_96); } if (register_rdi->offset_128->offset_0) { free_2((void *) register_rdi->offset_128->offset_0); } free_2(register_rdi->offset_128); } free(register_rdi); } return (artificial_struct_returned_by_rawfunction_151) { register_xmm0, register_xmm1 }; } _ABI(SystemV_x86_64) void _fini(void) { }
Loading...