Symbol table:

uds_first_frame.part.0/71 (uds_first_frame.part.0) @06fec700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_first_frame/41 (313545292 (estimated locally),0.29 per call) 
  Calls: 
uds_SID_FF_dataread.part.0/70 (uds_SID_FF_dataread.part.0) @06fc1b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_SID_FF_dataread/39 (708669599 (estimated locally),0.66 per call) 
  Calls: table_did_maping/58 (1073741824 (estimated locally),1.00 per call) set_flow_control/14 (233860969 (estimated locally),0.22 per call) 
uds_single_frame.part.0/69 (uds_single_frame.part.0) @06fc10e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_single_frame/38 (273758104 (estimated locally),0.25 per call) 
  Calls: uds_SID_DiagnosticSessionControl/27 (217325345 (estimated locally),0.20 per call) uds_SID_StopDiagnosticSession/26 (173338695 (estimated locally),0.16 per call) uds_SID_ControlDTCSetting/21 (138254943 (estimated locally),0.13 per call) uds_SID_ReadDataByIdentifier/28 (72779614 (estimated locally),0.07 per call) uds_SID_WriteDataByIdentifier/29 (58049020 (estimated locally),0.05 per call) uds_SID_CommunicationControl/30 (46299899 (estimated locally),0.04 per call) uds_tx_buf_clear/17 (24373007 (estimated locally),0.02 per call) dtc_found_and_clear/60 (7862927 (estimated locally),0.01 per call) uds_SID_SecurityAccess/36 (19439911 (estimated locally),0.02 per call) uds_interrupt_sid_dtc/20 (15505273 (estimated locally),0.01 per call) send_uds_tx/9 (8162224 (estimated locally),0.01 per call) OutStr/47 (8162224 (estimated locally),0.01 per call) OutStr/47 (8162224 (estimated locally),0.01 per call) avoid_empty_block/4 (15722236 (estimated locally),0.01 per call) 
uds_SID_SecurityAccess.part.0/67 (uds_SID_SecurityAccess.part.0) @06fc1d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741823 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_SID_SecurityAccess/36 (633507680 (estimated locally),0.59 per call) 
  Calls: seedToKey/35 (206046761 (estimated locally),0.19 per call) seedToKey/35 (399973125 (estimated locally),0.37 per call) monprintf/52 (21935870 (estimated locally),0.02 per call) send_uds_tx/9 (43557073 (estimated locally),0.04 per call) OutStr/47 (8815952 (estimated locally),0.01 per call) OutStr/47 (8815952 (estimated locally),0.01 per call) OutStr/47 (8815952 (estimated locally),0.01 per call) 
seedToKey.part.0/66 (seedToKey.part.0) @06fc1540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:29850022 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: seedToKey/35 (29850022 (estimated locally),0.50 per call) 
  Calls: 
uds_SID_CommunicationControl.part.0/65 (uds_SID_CommunicationControl.part.0) @06e7cb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_SID_CommunicationControl/30 (440234144 (estimated locally),0.41 per call) 
  Calls: 
uds_SID_ReadDataByIdentifier.part.0/64 (uds_SID_ReadDataByIdentifier.part.0) @06aa6540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (write)uds/3 (read)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_SID_ReadDataByIdentifier/28 (79512730 (estimated locally),0.07 per call) 
  Calls: 
uds_fail_check_no_extended.part.0/63 (uds_fail_check_no_extended.part.0) @06aa62a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (read)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_fail_check_no_extended/23 (708669599 (estimated locally),0.66 per call) 
  Calls: 
uds_interrupt_sid_dtc.part.0/62 (uds_interrupt_sid_dtc.part.0) @06a9fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: uds_interrupt_sid_dtc/20 (94666920 (estimated locally),0.09 per call) 
  Calls: dtc_count_set/56 (1073741824 (estimated locally),1.00 per call) 
WATCHDOG_HAL_SystemRest/61 (WATCHDOG_HAL_SystemRest) @06deb2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: goto_reset/43 (107374 (estimated locally),1.00 per call) 
  Calls: 
dtc_found_and_clear/60 (dtc_found_and_clear) @06deb700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_single_frame.part.0/69 (7862927 (estimated locally),0.01 per call) 
  Calls: 
table_did_maping_write/59 (table_did_maping_write) @06dcda80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_SID_WriteDataByIdentifier/29 (233860969 (estimated locally),0.22 per call) 
  Calls: 
table_did_maping/58 (table_did_maping) @06dcd620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_SID_FF_dataread.part.0/70 (1073741824 (estimated locally),1.00 per call) uds_SID_ReadDataByIdentifier/28 (233860969 (estimated locally),0.22 per call) 
  Calls: 
is_dtc_exist/57 (is_dtc_exist) @06d938c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_single_frame_error_check/24 (2184441 (estimated locally),0.00 per call) 
  Calls: 
dtc_count_set/56 (dtc_count_set) @06d93000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_interrupt_sid_dtc.part.0/62 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
EEP_ADDR_TABLE/55 (EEP_ADDR_TABLE) @06dafb88
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_FF_dataread.part.0/70 (read)uds_logic_interrupt/42 (read)
  Availability: not_available
  Varpool flags: read-only
AppVersion/54 (AppVersion) @06dafaf8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: uds_logic_event/19 (addr)
  Availability: not_available
  Varpool flags: read-only
table_read/53 (table_read) @06d93d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_logic_event/19 (2676750 (estimated locally),0.00 per call) 
  Calls: 
monprintf/52 (monprintf) @06d93c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: goto_reset/43 (1073741824 (estimated locally),10000.02 per call) goto_reset/43 (107374 (estimated locally),1.00 per call) goto_reset/43 (107374 (estimated locally),1.00 per call) uds_logic_interrupt/42 (103631 (estimated locally),0.00 per call) uds_SID_SecurityAccess.part.0/67 (21935870 (estimated locally),0.02 per call) uds_SID_WriteDataByIdentifier/29 (6412861 (estimated locally),0.01 per call) uds_logic_event/19 (16581055 (estimated locally),0.02 per call) 
  Calls: 
dtc_clear/51 (dtc_clear) @06d93b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_logic_event/19 (354334802 (estimated locally),0.33 per call) 
  Calls: 
TABLE_DTC_SEND/50 (TABLE_DTC_SEND) @06cf5bd0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (addr)set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (addr)set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (read)uds_SID_FF_NULL/40 (addr)
  Availability: not_available
  Varpool flags:
dtc_send_table_set/49 (dtc_send_table_set) @06d93380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: set_dtc_1st_frame/16 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
c_1ms.6562/48 (c_1ms) @06cf53a8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (write)
  Availability: available
  Varpool flags: initialized
OutStr/47 (OutStr) @06ce9e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_wait/11 (217325345 (estimated locally),0.20 per call) uds_logic_interrupt/42 (293243 (estimated locally),0.00 per call) uds_single_frame.part.0/69 (8162224 (estimated locally),0.01 per call) uds_single_frame.part.0/69 (8162224 (estimated locally),0.01 per call) uds_SID_SecurityAccess.part.0/67 (8815952 (estimated locally),0.01 per call) uds_SID_SecurityAccess.part.0/67 (8815952 (estimated locally),0.01 per call) uds_SID_SecurityAccess.part.0/67 (8815952 (estimated locally),0.01 per call) 
  Calls: 
can_send_txring/46 (can_send_txring) @06ce9b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: send_uds_tx/9 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
table_write/45 (table_write) @06ce9700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_logic_event/19 (3356005 (estimated locally),0.00 per call) uds_10ms/5 (354334802 (estimated locally),0.33 per call) 
  Calls: 
dtc_control/44 (dtc_control) @06ce9620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: uds_10ms/5 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
goto_reset/43 (goto_reset) @06cbad20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:107374 (estimated locally) body executed_once optimize_size
  Called by: uds_wait/11 (237966 (estimated locally),0.00 per call) uds_wait/11 (238061 (estimated locally),0.00 per call) 
  Calls: monprintf/52 (1073741824 (estimated locally),10000.02 per call) WATCHDOG_HAL_SystemRest/61 (107374 (estimated locally),1.00 per call) monprintf/52 (107374 (estimated locally),1.00 per call) monprintf/52 (107374 (estimated locally),1.00 per call) 
uds_logic_interrupt/42 (uds_logic_interrupt) @06cba7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:119292716 (estimated locally) body optimize_size
  Called by: 
  Calls: monprintf/52 (103631 (estimated locally),0.00 per call) uds_table_receve_finish/13 (103631 (estimated locally),0.00 per call) OutStr/47 (293243 (estimated locally),0.00 per call) uds_first_frame/41 (8927454 (estimated locally),0.07 per call) uds_single_frame/38 (21724824 (estimated locally),0.18 per call) 
uds_first_frame/41 (uds_first_frame) @06cba2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_logic_interrupt/42 (8927454 (estimated locally),0.07 per call) 
  Calls: uds_SID_FF_dataread/39 (556456854 (estimated locally),0.52 per call) uds_first_frame.part.0/71 (313545292 (estimated locally),0.29 per call) 
uds_SID_FF_NULL/40 (uds_SID_FF_NULL) @06cbaee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)TABLE_DTC_SEND/50 (addr)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:178992762 (estimated locally) body optimize_size
  Called by: 
  Calls: set_flow_control/14 (178992762 (estimated locally),1.00 per call) 
uds_SID_FF_dataread/39 (uds_SID_FF_dataread) @06cbac40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (addr)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (addr)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_first_frame/41 (556456854 (estimated locally),0.52 per call) 
  Calls: uds_SID_FF_dataread.part.0/70 (708669599 (estimated locally),0.66 per call) set_flow_control/14 (365072220 (estimated locally),0.34 per call) 
uds_single_frame/38 (uds_single_frame) @06cba9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_logic_interrupt/42 (21724824 (estimated locally),0.18 per call) 
  Calls: uds_single_frame.part.0/69 (273758104 (estimated locally),0.25 per call) uds_single_frame_error_check/24 (346397703 (estimated locally),0.32 per call) 
uds_data_receve_finish/37 (uds_data_receve_finish) @06cba700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uds_SID_SecurityAccess/36 (uds_SID_SecurityAccess) @06cba460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (19439911 (estimated locally),0.02 per call) 
  Calls: uds_SID_SecurityAccess.part.0/67 (633507680 (estimated locally),0.59 per call) 
seedToKey/35 (seedToKey) @06cba1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:59700044 (estimated locally) body optimize_size
  Called by: uds_SID_SecurityAccess.part.0/67 (206046761 (estimated locally),0.19 per call) uds_SID_SecurityAccess.part.0/67 (399973125 (estimated locally),0.37 per call) 
  Calls: seedToKey.part.0/66 (29850022 (estimated locally),0.50 per call) 
uds_SID_TransferData/34 (uds_SID_TransferData) @06caae00
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged optimize_size
  Called by: 
  Calls: uds_SID_RoutineControl/31 (1073741824 (estimated locally),1.00 per call) 
uds_SID_RequestTransferExit/33 (uds_SID_RequestTransferExit) @06caa8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged optimize_size
  Called by: 
  Calls: uds_SID_RoutineControl/31 (1073741824 (estimated locally),1.00 per call) 
uds_SID_RequestDownload/32 (uds_SID_RequestDownload) @06caa0e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged optimize_size
  Called by: 
  Calls: uds_SID_RoutineControl/31 (1073741824 (estimated locally),1.00 per call) 
uds_SID_RoutineControl/31 (uds_SID_RoutineControl) @06caad20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body icf_merged optimize_size
  Called by: uds_SID_TransferData/34 (1073741824 (estimated locally),1.00 per call) uds_SID_RequestDownload/32 (1073741824 (estimated locally),1.00 per call) uds_SID_RequestTransferExit/33 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
uds_SID_CommunicationControl/30 (uds_SID_CommunicationControl) @06caaa80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (46299899 (estimated locally),0.04 per call) 
  Calls: uds_SID_CommunicationControl.part.0/65 (440234144 (estimated locally),0.41 per call) 
uds_SID_WriteDataByIdentifier/29 (uds_SID_WriteDataByIdentifier) @06caa7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)EEP_ADDR_TABLE/55 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)EEP_ADDR_TABLE/55 (read)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (58049020 (estimated locally),0.05 per call) 
  Calls: uds_table_receve_finish/13 (40649254 (estimated locally),0.04 per call) monprintf/52 (6412861 (estimated locally),0.01 per call) table_did_maping_write/59 (233860969 (estimated locally),0.22 per call) 
uds_SID_ReadDataByIdentifier/28 (uds_SID_ReadDataByIdentifier) @06caa540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (72779614 (estimated locally),0.07 per call) 
  Calls: uds_SID_ReadDataByIdentifier.part.0/64 (79512730 (estimated locally),0.07 per call) table_did_maping/58 (233860969 (estimated locally),0.22 per call) 
uds_SID_DiagnosticSessionControl/27 (uds_SID_DiagnosticSessionControl) @06caa2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (217325345 (estimated locally),0.20 per call) 
  Calls: 
uds_SID_StopDiagnosticSession/26 (uds_SID_StopDiagnosticSession) @06caa000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (173338695 (estimated locally),0.16 per call) 
  Calls: 
uds_fail_check_did_length/25 (uds_fail_check_did_length) @06c93b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uds_single_frame_error_check/24 (uds_single_frame_error_check) @06c93620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_single_frame/38 (346397703 (estimated locally),0.32 per call) 
  Calls: is_dtc_exist/57 (2184441 (estimated locally),0.00 per call) uds_fail_check_no_extended/23 (30174661 (estimated locally),0.03 per call) uds_fail_check_no_extended/23 (104956803 (estimated locally),0.10 per call) 
uds_fail_check_no_extended/23 (uds_fail_check_no_extended) @06c93d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_single_frame_error_check/24 (30174661 (estimated locally),0.03 per call) uds_single_frame_error_check/24 (104956803 (estimated locally),0.10 per call) 
  Calls: uds_fail_check_no_extended.part.0/63 (708669599 (estimated locally),0.66 per call) 
uds_fail_massage/22 (uds_fail_massage) @06c93a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uds_SID_ControlDTCSetting/21 (uds_SID_ControlDTCSetting) @06c937e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (138254943 (estimated locally),0.13 per call) 
  Calls: uds_tx_buf_clear/17 (1073741823 (estimated locally),1.00 per call) 
uds_interrupt_sid_dtc/20 (uds_interrupt_sid_dtc) @06c93540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (15505273 (estimated locally),0.01 per call) 
  Calls: uds_interrupt_sid_dtc.part.0/62 (94666920 (estimated locally),0.09 per call) uds_tx_buf_clear/17 (1073741824 (estimated locally),1.00 per call) 
uds_logic_event/19 (uds_logic_event) @06c93000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (addr)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)AppVersion/54 (addr)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (addr)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)EEP_ADDR_TABLE/55 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_wait/11 (166944210 (estimated locally),0.16 per call) uds_2ms/6 (1073741824 (estimated locally),1.00 per call) 
  Calls: set_wait_flow_control/15 (17842656 (estimated locally),0.02 per call) uds_send_data_set/18 (27853550 (estimated locally),0.03 per call) table_read/53 (2676750 (estimated locally),0.00 per call) table_write/45 (3356005 (estimated locally),0.00 per call) monprintf/52 (16581055 (estimated locally),0.02 per call) dtc_clear/51 (354334802 (estimated locally),0.33 per call) 
uds_send_data_set/18 (uds_send_data_set) @06c15b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_logic_event/19 (27853550 (estimated locally),0.03 per call) 
  Calls: set_wait_flow_control/15 (1073741824 (estimated locally),1.00 per call) 
uds_tx_buf_clear/17 (uds_tx_buf_clear) @06c15620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:119292716 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (24373007 (estimated locally),0.02 per call) uds_SID_ControlDTCSetting/21 (1073741823 (estimated locally),1.00 per call) uds_interrupt_sid_dtc/20 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
set_dtc_1st_frame/16 (set_dtc_1st_frame) @06c150e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)TABLE_DTC_SEND/50 (addr)TABLE_DTC_SEND/50 (read)uds/3 (write)TABLE_DTC_SEND/50 (read)uds/3 (write)TABLE_DTC_SEND/50 (read)uds/3 (write)TABLE_DTC_SEND/50 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)TABLE_DTC_SEND/50 (addr)TABLE_DTC_SEND/50 (read)uds/3 (write)TABLE_DTC_SEND/50 (read)uds/3 (write)TABLE_DTC_SEND/50 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_wait/11 (141308719 (estimated locally),0.13 per call) 
  Calls: dtc_send_table_set/49 (1073741824 (estimated locally),1.00 per call) 
set_wait_flow_control/15 (set_wait_flow_control) @06c15d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_logic_event/19 (17842656 (estimated locally),0.02 per call) uds_send_data_set/18 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
set_flow_control/14 (set_flow_control) @06c15a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_SID_FF_NULL/40 (178992762 (estimated locally),1.00 per call) uds_SID_FF_dataread/39 (365072220 (estimated locally),0.34 per call) uds_SID_FF_dataread.part.0/70 (233860969 (estimated locally),0.22 per call) 
  Calls: 
uds_table_receve_finish/13 (uds_table_receve_finish) @06c157e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_logic_interrupt/42 (103631 (estimated locally),0.00 per call) uds_SID_WriteDataByIdentifier/29 (40649254 (estimated locally),0.04 per call) 
  Calls: 
uds_init/12 (uds_init) @06c15540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_wait/11 (217325345 (estimated locally),0.20 per call) 
  Calls: 
uds_wait/11 (uds_wait) @06c152a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)c_1ms.6562/48 (read)c_1ms.6562/48 (write)c_1ms.6562/48 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: goto_reset/43 (237966 (estimated locally),0.00 per call) goto_reset/43 (238061 (estimated locally),0.00 per call) uds_10ms/5 (55091589 (estimated locally),0.05 per call) uds_logic_event/19 (166944210 (estimated locally),0.16 per call) send_uds_tx/9 (86669348 (estimated locally),0.08 per call) set_dtc_1st_frame/16 (141308719 (estimated locally),0.13 per call) OutStr/47 (217325345 (estimated locally),0.20 per call) uds_init/12 (217325345 (estimated locally),0.20 per call) 
clear_uds_tx_buf/10 (clear_uds_tx_buf) @06c15000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:119292716 (estimated locally) body optimize_size
  Called by: 
  Calls: 
send_uds_tx/9 (send_uds_tx) @06c0ab60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (write)uds/3 (read)uds/3 (addr)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_wait/11 (86669348 (estimated locally),0.08 per call) uds_single_frame.part.0/69 (8162224 (estimated locally),0.01 per call) uds_SID_SecurityAccess.part.0/67 (43557073 (estimated locally),0.04 per call) 
  Calls: can_send_txring/46 (1073741824 (estimated locally),1.00 per call) 
uds_can_TxData/8 (uds_can_TxData) @06c0a620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uds_timer_interrupt/7 (uds_timer_interrupt) @06c0a0e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uds_2ms/6 (uds_2ms) @06c0ad20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: uds_logic_event/19 (1073741824 (estimated locally),1.00 per call) 
uds_10ms/5 (uds_10ms) @06c0aa80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (read)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_wait/11 (55091589 (estimated locally),0.05 per call) 
  Calls: table_write/45 (354334802 (estimated locally),0.33 per call) dtc_control/44 (1073741824 (estimated locally),1.00 per call) 
avoid_empty_block/4 (avoid_empty_block) @06c0a7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uds/3 (read)uds/3 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: uds_single_frame.part.0/69 (15722236 (estimated locally),0.01 per call) 
  Calls: 
uds/3 (uds) @06bc2c18
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (write)uds_SID_FF_NULL/40 (read)uds_SID_FF_NULL/40 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)avoid_empty_block/4 (read)avoid_empty_block/4 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_10ms/5 (write)uds_10ms/5 (write)uds_timer_interrupt/7 (write)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (write)uds_first_frame.part.0/71 (write)uds_first_frame.part.0/71 (write)uds_first_frame.part.0/71 (write)uds_first_frame.part.0/71 (write)uds_first_frame.part.0/71 (write)uds_first_frame.part.0/71 (write)uds_first_frame/41 (write)uds_first_frame/41 (write)uds_first_frame/41 (read)uds_first_frame/41 (write)uds_first_frame/41 (write)uds_first_frame/41 (read)uds_first_frame/41 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_single_frame.part.0/69 (read)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (read)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_10ms/5 (write)uds_10ms/5 (write)uds_timer_interrupt/7 (read)send_uds_tx/9 (write)uds_10ms/5 (write)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (write)uds_10ms/5 (write)uds_10ms/5 (write)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (write)send_uds_tx/9 (write)send_uds_tx/9 (read)send_uds_tx/9 (addr)clear_uds_tx_buf/10 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_CommunicationControl/30 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (write)uds_SID_FF_dataread.part.0/70 (read)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (write)uds_10ms/5 (read)uds_10ms/5 (write)uds_10ms/5 (write)uds_10ms/5 (write)uds_10ms/5 (read)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)set_flow_control/14 (write)set_flow_control/14 (write)set_wait_flow_control/15 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (read)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (read)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (read)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (read)uds_table_receve_finish/13 (write)uds_table_receve_finish/13 (write)set_flow_control/14 (write)set_flow_control/14 (write)set_wait_flow_control/15 (write)set_dtc_1st_frame/16 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_data_receve_finish/37 (write)uds_data_receve_finish/37 (read)uds_data_receve_finish/37 (write)uds_data_receve_finish/37 (write)uds_data_receve_finish/37 (read)uds_data_receve_finish/37 (read)uds_data_receve_finish/37 (write)uds_data_receve_finish/37 (read)uds_data_receve_finish/37 (write)uds_data_receve_finish/37 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (read)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame.part.0/69 (write)uds_single_frame/38 (read)uds_single_frame/38 (write)uds_single_frame/38 (read)uds_single_frame/38 (write)uds_single_frame/38 (write)uds_single_frame/38 (read)uds_single_frame/38 (read)uds_single_frame/38 (read)uds_single_frame/38 (read)uds_single_frame/38 (write)uds_SID_FF_dataread/39 (addr)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (addr)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (write)uds_SID_FF_dataread/39 (read)uds_SID_FF_dataread/39 (write)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (read)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (write)uds_SID_CommunicationControl/30 (read)uds_SID_CommunicationControl/30 (write)uds_SID_SecurityAccess/36 (write)uds_SID_SecurityAccess/36 (read)uds_SID_SecurityAccess/36 (write)uds_SID_SecurityAccess/36 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (read)uds_SID_WriteDataByIdentifier/29 (read)uds_single_frame_error_check/24 (read)uds_SID_WriteDataByIdentifier/29 (write)uds_SID_WriteDataByIdentifier/29 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)uds_init/12 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (read)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)uds_tx_buf_clear/17 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (write)set_dtc_1st_frame/16 (read)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_send_data_set/18 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (write)uds_SID_ControlDTCSetting/21 (write)uds_SID_ControlDTCSetting/21 (write)uds_SID_ControlDTCSetting/21 (write)uds_SID_ControlDTCSetting/21 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_CommunicationControl/30 (read)uds_SID_CommunicationControl/30 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess/36 (read)uds_SID_SecurityAccess/36 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (read)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_SecurityAccess.part.0/67 (write)uds_SID_CommunicationControl.part.0/65 (write)uds_SID_CommunicationControl.part.0/65 (write)uds_SID_CommunicationControl.part.0/65 (write)uds_SID_CommunicationControl/30 (read)uds_SID_CommunicationControl/30 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (read)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (write)uds_SID_ControlDTCSetting/21 (read)uds_fail_massage/22 (write)uds_fail_massage/22 (write)uds_fail_massage/22 (write)uds_fail_massage/22 (write)uds_interrupt_sid_dtc/20 (write)uds_interrupt_sid_dtc/20 (read)uds_SID_ControlDTCSetting/21 (write)uds_SID_ControlDTCSetting/21 (write)uds_fail_massage/22 (write)uds_fail_check_no_extended.part.0/63 (write)uds_fail_check_no_extended.part.0/63 (read)uds_fail_check_no_extended.part.0/63 (write)uds_fail_check_no_extended/23 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_interrupt_sid_dtc.part.0/62 (write)uds_interrupt_sid_dtc.part.0/62 (write)uds_interrupt_sid_dtc.part.0/62 (read)uds_interrupt_sid_dtc.part.0/62 (write)uds_interrupt_sid_dtc.part.0/62 (write)uds_interrupt_sid_dtc.part.0/62 (write)uds_interrupt_sid_dtc.part.0/62 (write)uds_interrupt_sid_dtc/20 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_fail_check_did_length/25 (write)uds_fail_check_did_length/25 (write)uds_fail_check_did_length/25 (write)uds_fail_check_did_length/25 (read)uds_fail_check_did_length/25 (write)uds_fail_check_did_length/25 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_fail_check_did_length/25 (write)uds_fail_check_did_length/25 (write)uds_fail_check_did_length/25 (write)uds_SID_StopDiagnosticSession/26 (read)uds_SID_StopDiagnosticSession/26 (write)uds_SID_StopDiagnosticSession/26 (write)uds_SID_StopDiagnosticSession/26 (write)uds_SID_StopDiagnosticSession/26 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (addr)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_SID_DiagnosticSessionControl/27 (read)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (read)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_DiagnosticSessionControl/27 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_SID_DiagnosticSessionControl/27 (read)uds_SID_DiagnosticSessionControl/27 (write)uds_SID_ReadDataByIdentifier.part.0/64 (write)uds_SID_ReadDataByIdentifier.part.0/64 (write)uds_SID_ReadDataByIdentifier.part.0/64 (read)uds_SID_ReadDataByIdentifier/28 (read)uds_SID_ReadDataByIdentifier/28 (read)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (read)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (read)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_SID_ReadDataByIdentifier/28 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (read)uds_logic_event/19 (addr)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (read)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_logic_event/19 (write)uds_SID_CommunicationControl.part.0/65 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (read)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (write)uds_single_frame_error_check/24 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (read)uds_logic_interrupt/42 (write)uds_wait/11 (read)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (write)uds_wait/11 (write)uds_wait/11 (read)uds_wait/11 (read)
  Availability: available
  Varpool flags:
uds_first_frame.part.0 ()
{
  uint16_t k;
  uint8_t rp;

  <bb 4> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.nrc = 126;
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 46;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 126;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;

  <bb 3> [local count: 1073741824]:
  # rp_1 = PHI <1(2)>
  # DEBUG rp => rp_1
  # DEBUG BEGIN_STMT
  return rp_1;

}


uds_SID_FF_dataread.part.0 ()
{
  uint16_t n;
  uint16_t nt;
  uint8_t rp;
  uint8_t k;
  unsigned char _1;
  unsigned char _4;
  short unsigned int _5;
  unsigned char _8;
  int _9;
  long unsigned int _10;
  unsigned char _11;
  long unsigned int _12;
  uint8_t * _13;
  long unsigned int _14;
  short unsigned int _15;
  unsigned char _16;
  uint8_t * _17;
  short unsigned int _18;
  short unsigned int _19;
  sizetype _20;
  uint8_t * _21;
  unsigned char _22;
  uint8_t * _23;
  short unsigned int _24;
  short unsigned int _25;
  sizetype _26;
  uint8_t * _27;
  unsigned char _28;

  <bb 8> [local count: 1073741824]:
  # DEBUG D#10 s=> k
  # DEBUG k => D#10

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[3];
  n_2 = (uint16_t) _1;
  # DEBUG n => n_2
  # DEBUG BEGIN_STMT
  n_3 = n_2 << 8;
  # DEBUG n => n_3
  # DEBUG BEGIN_STMT
  _4 = uds.rx.buf[4];
  _5 = (short unsigned int) _4;
  n_6 = n_3 + _5;
  # DEBUG n => n_6
  # DEBUG BEGIN_STMT
  uds.ntable_did = n_6;
  # DEBUG BEGIN_STMT
  nt_7 = table_did_maping (n_6);
  # DEBUG nt => nt_7
  # DEBUG BEGIN_STMT
  if (nt_7 == 65535)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _8 = uds.sid;
  uds.tx.buf[2] = _8;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 49;
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _9 = (int) nt_7;
  _10 = EEP_ADDR_TABLE[_9][7];
  if (_10 == 0)
    goto <bb 5>; [67.00%]
  else
    goto <bb 6>; [33.00%]

  <bb 5> [local count: 474808635]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _11 = uds.sid;
  uds.tx.buf[2] = _11;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 49;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 233860969]:
  # DEBUG BEGIN_STMT
  uds.ntable = nt_7;
  # DEBUG BEGIN_STMT
  uds.table_control = 46;
  # DEBUG BEGIN_STMT
  uds.table_seq = 3;
  # DEBUG BEGIN_STMT
  _12 = EEP_ADDR_TABLE[_9][3];
  _13 = (uint8_t *) _12;
  uds.pdata_wr = _13;
  # DEBUG BEGIN_STMT
  _14 = EEP_ADDR_TABLE[_9][2];
  _15 = (short unsigned int) _14;
  uds.tx_len = _15;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.p_data = 1;
  _16 = uds.rx.buf[5];
  *_13 = _16;
  # DEBUG BEGIN_STMT
  _17 = uds.pdata_wr;
  _18 = uds.p_data;
  _19 = _18 + 1;
  uds.p_data = _19;
  _20 = (sizetype) _18;
  _21 = _17 + _20;
  _22 = uds.rx.buf[6];
  *_21 = _22;
  # DEBUG BEGIN_STMT
  _23 = uds.pdata_wr;
  _24 = uds.p_data;
  _25 = _24 + 1;
  uds.p_data = _25;
  _26 = (sizetype) _24;
  _27 = _23 + _26;
  _28 = uds.rx.buf[7];
  *_27 = _28;
  # DEBUG BEGIN_STMT
  set_flow_control ();

  <bb 7> [local count: 1073741824]:
  return;

}


uds_single_frame.part.0 ()
{
  uint8_t i;
  uint8_t k;
  uint8_t rp;
  uint8_t D.7498;
  unsigned char _1;
  unsigned char _3;
  unsigned char _7;
  unsigned char _8;
  unsigned int _13;
  unsigned int _14;
  unsigned char _15;
  long unsigned int _17;
  int _21;
  int _22;
  unsigned char _23;
  unsigned char _25;
  unsigned char _26;
  signed char _27;
  unsigned char _28;
  unsigned char _29;

  <bb 41> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.sid;
  k_2 = _1 | 64;
  # DEBUG k => k_2
  # DEBUG BEGIN_STMT
  _3 = uds.rx.buf[1];
  if (_3 == 16)
    goto <bb 3>; [20.24%]
  else
    goto <bb 4>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  rp_4 = uds_SID_DiagnosticSessionControl (k_2);
  # DEBUG rp => rp_4
  goto <bb 40>; [100.00%]

  <bb 4> [local count: 856416480]:
  # DEBUG BEGIN_STMT
  if (_3 == 32)
    goto <bb 5>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 5> [local count: 173338695]:
  # DEBUG BEGIN_STMT
  rp_5 = uds_SID_StopDiagnosticSession (k_2);
  # DEBUG rp => rp_5
  goto <bb 40>; [100.00%]

  <bb 6> [local count: 683077784]:
  # DEBUG BEGIN_STMT
  if (_3 == 133)
    goto <bb 7>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 7> [local count: 138254943]:
  # DEBUG BEGIN_STMT
  rp_6 = uds_SID_ControlDTCSetting (k_2);
  # DEBUG rp => rp_6
  goto <bb 40>; [100.00%]

  <bb 8> [local count: 544822841]:
  # DEBUG BEGIN_STMT
  if (_1 == 42)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 185239766]:
  # DEBUG BEGIN_STMT
  _7 = uds.rx.buf[3];
  uds.ReadDataByPeriodicIdentifier_10ms = _7;
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 106;
  # DEBUG BEGIN_STMT
  _8 = uds.rx.buf[2];
  uds.tx.buf[2] = _8;
  goto <bb 40>; [100.00%]

  <bb 10> [local count: 359583074]:
  # DEBUG BEGIN_STMT
  if (_1 == 34)
    goto <bb 11>; [20.24%]
  else
    goto <bb 12>; [79.76%]

  <bb 11> [local count: 72779614]:
  # DEBUG BEGIN_STMT
  rp_9 = uds_SID_ReadDataByIdentifier (k_2);
  # DEBUG rp => rp_9
  goto <bb 40>; [100.00%]

  <bb 12> [local count: 286803460]:
  # DEBUG BEGIN_STMT
  if (_1 == 46)
    goto <bb 13>; [20.24%]
  else
    goto <bb 14>; [79.76%]

  <bb 13> [local count: 58049020]:
  # DEBUG BEGIN_STMT
  rp_10 = uds_SID_WriteDataByIdentifier (k_2);
  # DEBUG rp => rp_10
  goto <bb 40>; [100.00%]

  <bb 14> [local count: 228754439]:
  # DEBUG BEGIN_STMT
  if (_1 == 40)
    goto <bb 15>; [20.24%]
  else
    goto <bb 16>; [79.76%]

  <bb 15> [local count: 46299899]:
  # DEBUG BEGIN_STMT
  rp_11 = uds_SID_CommunicationControl (k_2);
  # DEBUG rp => rp_11
  goto <bb 40>; [100.00%]

  <bb 16> [local count: 182454541]:
  # DEBUG BEGIN_STMT
  if (_1 == 47)
    goto <bb 17>; [34.00%]
  else
    goto <bb 20>; [66.00%]

  <bb 17> [local count: 62034544]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 6;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 111;
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 19>; [100.00%]

  <bb 18> [local count: 372077031]:
  # DEBUG BEGIN_STMT
  _13 = (unsigned int) i_12;
  _14 = _13 + 2;
  _15 = uds.rx.buf[_14];
  uds.tx.buf[_14] = _15;
  # DEBUG BEGIN_STMT
  i_16 = i_12 + 1;
  # DEBUG i => i_16

  <bb 19> [local count: 434111575]:
  # i_12 = PHI <0(17), i_16(18)>
  # DEBUG i => i_12
  # DEBUG BEGIN_STMT
  if (i_12 != 6)
    goto <bb 18>; [85.71%]
  else
    goto <bb 40>; [14.29%]

  <bb 20> [local count: 120419997]:
  # DEBUG BEGIN_STMT
  if (_1 == 20)
    goto <bb 21>; [20.24%]
  else
    goto <bb 26>; [79.76%]

  <bb 21> [local count: 24373007]:
  # DEBUG BEGIN_STMT
  uds_tx_buf_clear ();
  # DEBUG BEGIN_STMT
  _17 = uds.group_of_dtc;
  if (_17 == 16777215)
    goto <bb 23>; [34.00%]
  else
    goto <bb 22>; [66.00%]

  <bb 22> [local count: 16086185]:
  if (_17 == 4194559)
    goto <bb 23>; [51.12%]
  else
    goto <bb 24>; [48.88%]

  <bb 23> [local count: 16510080]:
  # DEBUG BEGIN_STMT
  uds.xreq_dtc_clear = 1;
  goto <bb 25>; [100.00%]

  <bb 24> [local count: 7862927]:
  # DEBUG BEGIN_STMT
  dtc_found_and_clear (_17);

  <bb 25> [local count: 24373007]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 1;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 84;
  goto <bb 40>; [100.00%]

  <bb 26> [local count: 96046990]:
  # DEBUG BEGIN_STMT
  if (_1 == 39)
    goto <bb 27>; [20.24%]
  else
    goto <bb 28>; [79.76%]

  <bb 27> [local count: 19439911]:
  # DEBUG BEGIN_STMT
  rp_18 = uds_SID_SecurityAccess (k_2);
  # DEBUG rp => rp_18
  goto <bb 40>; [100.00%]

  <bb 28> [local count: 76607079]:
  # DEBUG BEGIN_STMT
  if (_1 == 25)
    goto <bb 29>; [20.24%]
  else
    goto <bb 30>; [79.76%]

  <bb 29> [local count: 15505273]:
  # DEBUG BEGIN_STMT
  rp_19 = uds_interrupt_sid_dtc ();
  # DEBUG rp => rp_19
  goto <bb 40>; [100.00%]

  <bb 30> [local count: 61101806]:
  # DEBUG BEGIN_STMT
  if (_1 == 49)
    goto <bb 31>; [34.00%]
  else
    goto <bb 34>; [66.00%]

  <bb 31> [local count: 20774614]:
  goto <bb 33>; [100.00%]

  <bb 32> [local count: 145422298]:
  # DEBUG BEGIN_STMT
  _21 = (int) i_20;
  _22 = _21 + 1;
  _23 = uds.rx.buf[_22];
  uds.data[_21] = _23;
  # DEBUG BEGIN_STMT
  i_24 = i_20 + 1;
  # DEBUG i => i_24

  <bb 33> [local count: 166196912]:
  # i_20 = PHI <0(31), i_24(32)>
  # DEBUG i => i_20
  # DEBUG BEGIN_STMT
  if (i_20 != 7)
    goto <bb 32>; [87.50%]
  else
    goto <bb 40>; [12.50%]

  <bb 34> [local count: 40327192]:
  # DEBUG BEGIN_STMT
  if (_1 == 17)
    goto <bb 35>; [20.24%]
  else
    goto <bb 36>; [79.76%]

  <bb 35> [local count: 8162224]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = k_2;
  # DEBUG BEGIN_STMT
  _25 = uds.rx.buf[2];
  uds.tx.buf[2] = _25;
  # DEBUG BEGIN_STMT
  send_uds_tx ();
  # DEBUG BEGIN_STMT
  OutStr ("SID_ECUReset:reset\n\r");
  # DEBUG BEGIN_STMT
  OutStr ("APP JUMP FAIL\n\r");
  goto <bb 40>; [100.00%]

  <bb 36> [local count: 32164968]:
  # DEBUG BEGIN_STMT
  if (_1 == 62)
    goto <bb 37>; [51.12%]
  else
    goto <bb 39>; [48.88%]

  <bb 37> [local count: 16442732]:
  # DEBUG BEGIN_STMT
  _26 = uds.rx.buf[2];
  _27 = (signed char) _26;
  if (_27 < 0)
    goto <bb 40>; [41.00%]
  else
    goto <bb 38>; [59.00%]

  <bb 38> [local count: 9701212]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  _28 = _3 | 64;
  uds.tx.buf[1] = _28;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = _26;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  goto <bb 40>; [100.00%]

  <bb 39> [local count: 15722236]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  avoid_empty_block ();

  <bb 40> [local count: 1073741824]:
  # _29 = PHI <rp_4(3), rp_5(5), rp_6(7), 1(9), rp_9(11), rp_10(13), rp_11(15), 1(19), 1(25), rp_18(27), rp_19(29), k_2(33), 1(35), 0(37), 1(38), 0(39)>
  # DEBUG k => NULL
  # DEBUG rp => NULL
  return _29;

}


uds_SID_SecurityAccess.part.0 (uint8_t k)
{
  uint32_t add;
  uint8_t rp;
  uint8_t * p;
  unsigned char _1;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  long unsigned int _14;
  long unsigned int _17;
  long unsigned int _20;
  long unsigned int _25;
  unsigned char _26;
  long unsigned int _27;
  unsigned char _28;
  long unsigned int _29;
  unsigned char _30;
  unsigned char _31;
  unsigned char _32;
  unsigned char _33;
  unsigned char _34;
  unsigned char _35;
  unsigned char _36;
  unsigned char _37;
  signed short _38;
  unsigned int _39;
  short unsigned int _40;
  short unsigned int _41;
  unsigned char _42;
  unsigned char _43;
  unsigned char _44;
  unsigned char _45;
  unsigned char _46;
  unsigned char _47;
  unsigned char _48;
  unsigned char _49;

  <bb 29> [local count: 1073741823]:

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  if (_1 == 1)
    goto <bb 4>; [34.00%]
  else
    goto <bb 3>; [66.00%]

  <bb 3> [local count: 708669604]:
  if (_1 == 5)
    goto <bb 4>; [34.00%]
  else
    goto <bb 12>; [66.00%]

  <bb 4> [local count: 606019886]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 6;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = k_2(D);
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = _1;
  # DEBUG BEGIN_STMT
  _3 = uds.rom_access_level;
  if (_3 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 5> [local count: 206046761]:
  if (_1 == 1)
    goto <bb 6>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 6> [local count: 70055899]:
  # DEBUG BEGIN_STMT
  uds.seed[0] = 0;
  # DEBUG BEGIN_STMT
  uds.seed[1] = 0;
  # DEBUG BEGIN_STMT
  uds.seed[2] = 0;
  # DEBUG BEGIN_STMT
  uds.seed[3] = 0;
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 535963987]:
  # DEBUG BEGIN_STMT
  _4 = uds.r_seed;
  uds.seed[0] = _4;
  # DEBUG BEGIN_STMT
  _5 = _4 + 17;
  uds.seed[1] = _5;
  # DEBUG BEGIN_STMT
  _6 = _4 + 34;
  uds.seed[2] = _6;
  # DEBUG BEGIN_STMT
  _7 = _4 + 52;
  uds.seed[3] = _7;

  <bb 8> [local count: 606019886]:
  # DEBUG BEGIN_STMT
  _8 = uds.seed[0];
  uds.tx.buf[3] = _8;
  # DEBUG BEGIN_STMT
  _9 = uds.seed[1];
  uds.tx.buf[4] = _9;
  # DEBUG BEGIN_STMT
  _10 = uds.seed[2];
  uds.tx.buf[5] = _10;
  # DEBUG BEGIN_STMT
  _11 = uds.seed[3];
  uds.tx.buf[6] = _11;
  # DEBUG BEGIN_STMT
  add_12 = (uint32_t) _8;
  # DEBUG add => add_12
  # DEBUG BEGIN_STMT
  add_13 = add_12 << 8;
  # DEBUG add => add_13
  # DEBUG BEGIN_STMT
  _14 = (long unsigned int) _9;
  add_15 = add_13 + _14;
  # DEBUG add => add_15
  # DEBUG BEGIN_STMT
  add_16 = add_15 << 8;
  # DEBUG add => add_16
  # DEBUG BEGIN_STMT
  _17 = (long unsigned int) _10;
  add_18 = add_16 + _17;
  # DEBUG add => add_18
  # DEBUG BEGIN_STMT
  add_19 = add_18 << 8;
  # DEBUG add => add_19
  # DEBUG BEGIN_STMT
  _20 = (long unsigned int) _11;
  add_21 = add_19 + _20;
  # DEBUG add => add_21
  # DEBUG BEGIN_STMT
  if (_1 == 1)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 206046761]:
  # DEBUG BEGIN_STMT
  add_22 = seedToKey (add_21, 1);
  # DEBUG add => add_22
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 399973125]:
  # DEBUG BEGIN_STMT
  add_23 = seedToKey (add_21, 2);
  # DEBUG add => add_23

  <bb 11> [local count: 606019886]:
  # add_24 = PHI <add_22(9), add_23(10)>
  # DEBUG add => add_24
  # DEBUG BEGIN_STMT
  _25 = add_24 >> 24;
  _26 = (unsigned char) _25;
  uds.seed[0] = _26;
  # DEBUG BEGIN_STMT
  _27 = add_24 >> 16;
  _28 = (unsigned char) _27;
  uds.seed[1] = _28;
  # DEBUG BEGIN_STMT
  _29 = add_24 >> 8;
  _30 = (unsigned char) _29;
  uds.seed[2] = _30;
  # DEBUG BEGIN_STMT
  _31 = (unsigned char) add_24;
  uds.seed[3] = _31;
  # DEBUG BEGIN_STMT
  uds.wait_key = 1;
  goto <bb 28>; [100.00%]

  <bb 12> [local count: 467721938]:
  # DEBUG BEGIN_STMT
  if (_1 == 2)
    goto <bb 14>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 13> [local count: 308696479]:
  if (_1 == 6)
    goto <bb 14>; [34.00%]
  else
    goto <bb 28>; [66.00%]

  <bb 14> [local count: 263982262]:
  # DEBUG BEGIN_STMT
  _32 = uds.wait_key;
  if (_32 != 1)
    goto <bb 15>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 15> [local count: 131991131]:
  # DEBUG BEGIN_STMT
  uds.wait_key = 0;
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _33 = uds.sid;
  uds.tx.buf[2] = _33;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 36;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  # DEBUG BEGIN_STMT
  // predicted unlikely by early return (on trees) predictor.
  goto <bb 28>; [100.00%]

  <bb 16> [local count: 131991131]:
  # DEBUG BEGIN_STMT
  uds.wait_key = 0;
  # DEBUG BEGIN_STMT
  _34 = uds.rx.buf[3];
  _35 = uds.seed[0];
  if (_34 == _35)
    goto <bb 17>; [34.00%]
  else
    goto <bb 19>; [66.00%]

  <bb 17> [local count: 44876984]:
  _36 = uds.rx.buf[4];
  _37 = uds.seed[1];
  if (_36 == _37)
    goto <bb 18>; [34.00%]
  else
    goto <bb 19>; [66.00%]

  <bb 18> [local count: 15258175]:
  _38 = BIT_FIELD_REF <MEM[(void *)&uds], 16, 104>;
  _39 = (unsigned int) _38;
  _40 = (short unsigned int) _39;
  _41 = BIT_FIELD_REF <MEM[(void *)&uds], 16, 3392>;
  if (_40 == _41)
    goto <bb 20>; [34.00%]
  else
    goto <bb 19>; [66.00%]

  <bb 19> [local count: 126803351]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _42 = uds.sid;
  uds.tx.buf[2] = _42;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 53;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;

  <bb 20> [local count: 131991131]:
  # DEBUG BEGIN_STMT
  if (_1 == 6)
    goto <bb 21>; [34.00%]
  else
    goto <bb 23>; [66.00%]

  <bb 21> [local count: 44876984]:
  # DEBUG BEGIN_STMT
  # DEBUG p => 4198432B
  # DEBUG BEGIN_STMT
  _43 = MEM[(uint8_t *)4198432B];
  if (_43 != 66)
    goto <bb 22>; [48.88%]
  else
    goto <bb 23>; [51.12%]

  <bb 22> [local count: 21935870]:
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  # DEBUG BEGIN_STMT
  monprintf ("No boot\n\r");

  <bb 23> [local count: 131991131]:
  # DEBUG BEGIN_STMT
  _44 = uds.response_to_negetive;
  if (_44 == 0)
    goto <bb 24>; [33.00%]
  else
    goto <bb 28>; [67.00%]

  <bb 24> [local count: 43557073]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = k_2(D);
  # DEBUG BEGIN_STMT
  _45 = uds.rx.buf[2];
  uds.tx.buf[2] = _45;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  send_uds_tx ();
  # DEBUG BEGIN_STMT
  _46 = uds.rx.buf[2];
  if (_46 == 6)
    goto <bb 25>; [20.24%]
  else
    goto <bb 26>; [79.76%]

  <bb 25> [local count: 8815952]:
  # DEBUG BEGIN_STMT
  uds.rom_access_level = 2;
  # DEBUG BEGIN_STMT
  uds.XREQ_UDS_RESET = 1;
  # DEBUG BEGIN_STMT
  OutStr ("reset\n\r");
  # DEBUG BEGIN_STMT
  OutStr ("reset\n\r");
  # DEBUG BEGIN_STMT
  OutStr ("reset\n\r");
  goto <bb 28>; [100.00%]

  <bb 26> [local count: 34741122]:
  # DEBUG BEGIN_STMT
  _47 = uds.session;
  _48 = _47 + 254;
  if (_48 <= 1)
    goto <bb 27>; [41.00%]
  else
    goto <bb 28>; [59.00%]

  <bb 27> [local count: 14243860]:
  # DEBUG BEGIN_STMT
  uds.rom_access_level = 1;

  <bb 28> [local count: 1073741824]:
  # _49 = PHI <1(11), 1(13), 1(15), 1(23), 0(25), 0(26), 0(27)>
  # DEBUG rp => NULL
  return _49;

}


seedToKey.part.0 (uint32_t seed)
{
  uint32_t key;
  uint16_t i;
  uint32_t MASK;
  uint8_t level;
  signed int seed.25_2;

  <bb 8> [local count: 29850022]:
  # DEBUG D#8 s=> level
  # DEBUG level => D#8
  goto <bb 6>; [100.00%]

  <bb 2> [local count: 1043891804]:
  # DEBUG BEGIN_STMT
  seed.25_2 = (signed int) seed_1;
  if (seed.25_2 < 0)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 427995640]:
  # DEBUG BEGIN_STMT
  seed_3 = seed_1 << 1;
  # DEBUG seed => seed_3
  # DEBUG BEGIN_STMT
  seed_4 = seed_3 ^ 1819044201;
  # DEBUG seed => seed_4
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 615896165]:
  # DEBUG BEGIN_STMT
  seed_5 = seed_1 << 1;
  # DEBUG seed => seed_5

  <bb 5> [local count: 1043891805]:
  # seed_9 = PHI <seed_4(3), seed_5(4)>
  # DEBUG seed => seed_9
  # DEBUG BEGIN_STMT
  i_7 = i_6 + 1;
  # DEBUG i => i_7

  <bb 6> [local count: 1073741824]:
  # seed_1 = PHI <seed_9(5), seed_10(D)(8)>
  # i_6 = PHI <i_7(5), 0(8)>
  # DEBUG i => i_6
  # DEBUG seed => seed_1
  # DEBUG BEGIN_STMT
  if (i_6 != 35)
    goto <bb 2>; [97.22%]
  else
    goto <bb 7>; [2.78%]

  <bb 7> [local count: 29850023]:
  # key_8 = PHI <seed_1(6)>
  # DEBUG key => key_8
  # DEBUG BEGIN_STMT
  return key_8;

}


uds_SID_CommunicationControl.part.0 ()
{
  uint8_t rp;
  uint8_t k;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#6 s=> k
  # DEBUG k => D#6

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.rx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.rx.buf[2] = 34;
  # DEBUG BEGIN_STMT
  uds.disable_rx_tx = 0;

  <bb 3> [local count: 1073741824]:
  return;

}


uds_SID_ReadDataByIdentifier.part.0 ()
{
  uint16_t n;
  uint16_t nt;
  uint8_t rp;
  uint8_t k;
  unsigned char _1;
  unsigned char _2;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#4 s=> k
  # DEBUG k => D#4

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[1];
  _2 = _1 | 64;
  uds.tx.buf[1] = _2;

  <bb 3> [local count: 1073741824]:
  # rp_3 = PHI <1(2)>
  # DEBUG rp => rp_3
  # DEBUG BEGIN_STMT
  return rp_3;

}


uds_fail_check_no_extended.part.0 ()
{
  uint8_t error_code;
  unsigned char _1;

  <bb 5> [local count: 1073741824]:
  # DEBUG D#2 s=> error_code
  # DEBUG error_code => D#2

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.session;
  if (_1 != 3)
    goto <bb 3>; [66.00%]
  else
    goto <bb 4>; [34.00%]

  <bb 3> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  uds.nrc = 127;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;

  <bb 4> [local count: 1073741824]:
  return;

}


uds_interrupt_sid_dtc.part.0 ()
{
  uint8_t rp;
  uint16_t k;
  unsigned char _1;
  short unsigned int _3;
  unsigned char _4;
  unsigned char _5;

  <bb 4> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 6;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 89;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 1;
  # DEBUG BEGIN_STMT
  _1 = uds.dtc_mask;
  uds.tx.buf[3] = _1;
  # DEBUG BEGIN_STMT
  k_2 = dtc_count_set ();
  # DEBUG k => k_2
  # DEBUG BEGIN_STMT
  _3 = k_2 >> 8;
  _4 = (unsigned char) _3;
  uds.tx.buf[4] = _4;
  # DEBUG BEGIN_STMT
  _5 = (unsigned char) k_2;
  uds.tx.buf[5] = _5;

  <bb 3> [local count: 1073741824]:
  # rp_6 = PHI <1(2)>
  # DEBUG rp => rp_6
  # DEBUG BEGIN_STMT
  return rp_6;

}


goto_reset ()
{
  <bb 2> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  monprintf ("goto reset\n\r");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" cpsid i");
  # DEBUG BEGIN_STMT
  # DEBUG i => 1000
  # DEBUG BEGIN_STMT
  # DEBUG i => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG add => 536870912B
  # DEBUG BEGIN_STMT
  MEM[(uint32_t *)536870912B] = 1036670065;
  # DEBUG BEGIN_STMT
  MEM[(uint32_t *)536870916B] = 16;
  # DEBUG BEGIN_STMT
  monprintf ("WATCHDOG_HAL_SystemRest\n\r");
  # DEBUG BEGIN_STMT
  WATCHDOG_HAL_SystemRest ();

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  monprintf ("wait Rest...\n\r");
  # DEBUG BEGIN_STMT

  <bb 4> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

}


uds_logic_interrupt (uint8_t * buf)
{
  uint32_t n;
  uint8_t rp;
  uint8_t k;
  uint8_t i;
  int _1;
  long unsigned int _2;
  sizetype _3;
  uint8_t * _4;
  int _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  sizetype _9;
  uint8_t * _10;
  int _11;
  unsigned char _12;
  unsigned char _13;
  unsigned char _14;
  unsigned char _15;
  unsigned char _16;
  int _17;
  int _18;
  short unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  short unsigned int _22;
  long unsigned int _23;
  unsigned char _24;
  unsigned char _25;
  int _26;
  uint8_t * _27;
  short unsigned int _28;
  sizetype _29;
  uint8_t * _30;
  unsigned char _31;
  short unsigned int _32;
  short unsigned int _33;
  short unsigned int _34;
  unsigned char _35;
  unsigned char _36;
  unsigned char _37;
  short unsigned int _38;
  int _39;
  long unsigned int _40;
  unsigned char _41;
  int _42;
  unsigned char _43;
  int _44;
  unsigned char _45;
  unsigned char _46;
  short unsigned int _47;
  short unsigned int _48;
  unsigned char _49;
  unsigned char _50;
  unsigned char _51;
  unsigned char _52;
  unsigned char _53;
  unsigned char _71;
  unsigned char _76;

  <bb 2> [local count: 119292716]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.x2ms = 0;
  # DEBUG BEGIN_STMT
  uds.timeout = 501;
  # DEBUG BEGIN_STMT
  uds.c_timeout_session_10ms = 500;
  # DEBUG BEGIN_STMT
  # DEBUG k => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 954449108]:
  # DEBUG BEGIN_STMT
  _1 = (int) k_57;
  uds.tx.buf[_1] = 0;
  # DEBUG BEGIN_STMT
  k_129 = k_57 + 1;
  # DEBUG k => k_129

  <bb 4> [local count: 1073741824]:
  # k_57 = PHI <0(2), k_129(3)>
  # DEBUG k => k_57
  # DEBUG BEGIN_STMT
  if (k_57 != 8)
    goto <bb 3>; [88.89%]
  else
    goto <bb 5>; [11.11%]

  <bb 5> [local count: 119292717]:
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  _2 = uds.rx.id;
  if (_2 == 2000)
    goto <bb 66>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 66> [local count: 40559524]:
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 324512698]:
  # DEBUG BEGIN_STMT
  _3 = (sizetype) i_54;
  _4 = buf_78(D) + _3;
  _5 = (int) i_54;
  _6 = *_4;
  uds.rx.buf[_5] = _6;
  # DEBUG BEGIN_STMT
  i_84 = i_54 + 1;
  # DEBUG i => i_84

  <bb 7> [local count: 365072222]:
  # i_54 = PHI <i_84(6), 0(66)>
  # DEBUG i => i_54
  # DEBUG BEGIN_STMT
  if (i_54 != 8)
    goto <bb 6>; [88.89%]
  else
    goto <bb 8>; [11.11%]

  <bb 8> [local count: 40559524]:
  # DEBUG BEGIN_STMT
  uds.can_id = 2000;
  goto <bb 22>; [100.00%]

  <bb 9> [local count: 78733193]:
  # DEBUG BEGIN_STMT
  if (_2 == 2015)
    goto <bb 10>; [50.00%]
  else
    goto <bb 65>; [50.00%]

  <bb 10> [local count: 39366596]:
  # DEBUG BEGIN_STMT
  _7 = *buf_78(D);
  _71 = _7 & 240;
  if (_71 != 0)
    goto <bb 65>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 11> [local count: 25981954]:
  # DEBUG BEGIN_STMT
  _8 = MEM[(uint8_t *)buf_78(D) + 1B];
  if (_8 == 40)
    goto <bb 19>; [34.00%]
  else
    goto <bb 12>; [66.00%]

  <bb 12> [local count: 17148089]:
  if (_8 == 16)
    goto <bb 19>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 13> [local count: 11317739]:
  if (_8 == 20)
    goto <bb 19>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 14> [local count: 7469708]:
  if (_8 == 133)
    goto <bb 19>; [34.00%]
  else
    goto <bb 15>; [66.00%]

  <bb 15> [local count: 4930007]:
  if (_8 == 62)
    goto <bb 19>; [34.00%]
  else
    goto <bb 16>; [66.00%]

  <bb 16> [local count: 3253805]:
  if (_8 == 34)
    goto <bb 19>; [34.00%]
  else
    goto <bb 17>; [66.00%]

  <bb 17> [local count: 2147511]:
  if (_8 == 17)
    goto <bb 19>; [34.00%]
  else
    goto <bb 18>; [66.00%]

  <bb 18> [local count: 1417357]:
  if (_8 == 25)
    goto <bb 19>; [50.00%]
  else
    goto <bb 65>; [50.00%]

  <bb 19> [local count: 25273275]:
  # DEBUG BEGIN_STMT
  uds.can_id = 2015;
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 21>; [100.00%]

  <bb 20> [local count: 202208949]:
  # DEBUG BEGIN_STMT
  _9 = (sizetype) i_55;
  _10 = buf_78(D) + _9;
  _11 = (int) i_55;
  _12 = *_10;
  uds.rx.buf[_11] = _12;
  # DEBUG BEGIN_STMT
  i_81 = i_55 + 1;
  # DEBUG i => i_81

  <bb 21> [local count: 227482224]:
  # i_55 = PHI <0(19), i_81(20)>
  # DEBUG i => i_55
  # DEBUG BEGIN_STMT
  if (i_55 != 8)
    goto <bb 20>; [88.89%]
  else
    goto <bb 22>; [11.11%]

  <bb 22> [local count: 65832799]:
  # DEBUG BEGIN_STMT
  _13 = uds.rx.buf[0];
  _76 = _13 & 240;
  if (_76 == 0)
    goto <bb 23>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 23> [local count: 21724824]:
  # DEBUG BEGIN_STMT
  rp_123 = uds_single_frame ();
  # DEBUG rp => rp_123
  goto <bb 60>; [100.00%]

  <bb 24> [local count: 44107975]:
  # DEBUG BEGIN_STMT
  if (_76 == 16)
    goto <bb 25>; [20.24%]
  else
    goto <bb 26>; [79.76%]

  <bb 25> [local count: 8927454]:
  # DEBUG BEGIN_STMT
  rp_121 = uds_first_frame ();
  # DEBUG rp => rp_121
  goto <bb 60>; [100.00%]

  <bb 26> [local count: 35180521]:
  # DEBUG BEGIN_STMT
  if (_76 == 32)
    goto <bb 27>; [34.00%]
  else
    goto <bb 50>; [66.00%]

  <bb 27> [local count: 11961377]:
  # DEBUG BEGIN_STMT
  _14 = uds.sid;
  if (_14 == 46)
    goto <bb 30>; [34.00%]
  else
    goto <bb 28>; [66.00%]

  <bb 28> [local count: 7894509]:
  if (_14 == 49)
    goto <bb 30>; [34.00%]
  else
    goto <bb 29>; [66.00%]

  <bb 29> [local count: 5210376]:
  if (_14 == 52)
    goto <bb 30>; [34.00%]
  else
    goto <bb 61>; [66.00%]

  <bb 30> [local count: 8522529]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  _15 = uds.table_seq;
  if (_15 == 3)
    goto <bb 31>; [34.00%]
  else
    goto <bb 64>; [66.00%]

  <bb 31> [local count: 2897660]:
  # DEBUG BEGIN_STMT
  # DEBUG k => 1
  # DEBUG BEGIN_STMT
  _16 = uds.can_length;
  if (_16 <= 7)
    goto <bb 32>; [50.00%]
  else
    goto <bb 34>; [50.00%]

  <bb 32> [local count: 1448830]:
  # DEBUG BEGIN_STMT
  _17 = (int) _16;
  _18 = _17 + -1;
  n_117 = (uint32_t) _18;
  # DEBUG n => n_117
  # DEBUG BEGIN_STMT
  _19 = uds.p_data;
  _20 = (long unsigned int) _19;
  _21 = _20 + n_117;
  _22 = uds.tx_len;
  _23 = (long unsigned int) _22;
  if (_21 < _23)
    goto <bb 33>; [50.00%]
  else
    goto <bb 64>; [50.00%]

  <bb 33> [local count: 724415]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  goto <bb 64>; [100.00%]

  <bb 34> [local count: 1448830]:
  # DEBUG BEGIN_STMT
  _24 = uds.consecutive_rx_num;
  if (_13 == _24)
    goto <bb 35>; [20.24%]
  else
    goto <bb 36>; [79.76%]

  <bb 35> [local count: 293243]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG BEGIN_STMT
  OutStr ("#consecutive_num FAIL\n\r");
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  goto <bb 64>; [100.00%]

  <bb 36> [local count: 1155587]:
  # DEBUG BEGIN_STMT
  uds.consecutive_rx_num = _13;
  # DEBUG BEGIN_STMT
  uds.c_wait_cf_10ms = 13;
  # DEBUG BEGIN_STMT
  # DEBUG i => 1
  goto <bb 49>; [100.00%]

  <bb 37> [local count: 5840511]:
  # DEBUG BEGIN_STMT
  _25 = uds.consecutive_length_fail;
  if (_25 == 0)
    goto <bb 38>; [50.00%]
  else
    goto <bb 39>; [50.00%]

  <bb 38> [local count: 2920255]:
  # DEBUG BEGIN_STMT
  _26 = (int) i_56;
  _27 = uds.pdata_wr;
  _28 = uds.p_data;
  _29 = (sizetype) _28;
  _30 = _27 + _29;
  _31 = uds.rx.buf[_26];
  *_30 = _31;

  <bb 39> [local count: 5840511]:
  # DEBUG BEGIN_STMT
  _32 = uds.p_data;
  _33 = _32 + 1;
  uds.p_data = _33;
  # DEBUG BEGIN_STMT
  _34 = uds.tx_len;
  if (_33 >= _34)
    goto <bb 40>; [5.50%]
  else
    goto <bb 48>; [94.50%]

  <bb 40> [local count: 321228]:
  # DEBUG BEGIN_STMT
  _35 = uds.consecutive_length_fail;
  if (_35 == 1)
    goto <bb 41>; [34.00%]
  else
    goto <bb 42>; [66.00%]

  <bb 41> [local count: 109218]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _36 = uds.sid;
  uds.tx.buf[2] = _36;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 19;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  goto <bb 47>; [100.00%]

  <bb 42> [local count: 212011]:
  # DEBUG BEGIN_STMT
  if (_35 == 2)
    goto <bb 43>; [51.12%]
  else
    goto <bb 44>; [48.88%]

  <bb 43> [local count: 108380]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _37 = uds.sid;
  uds.tx.buf[2] = _37;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 51;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  goto <bb 47>; [100.00%]

  <bb 44> [local count: 103631]:
  # DEBUG BEGIN_STMT
  uds_table_receve_finish (0);
  # DEBUG BEGIN_STMT
  _38 = uds.ntable;
  _39 = (int) _38;
  _40 = EEP_ADDR_TABLE[_39][7];
  if (_40 == 1)
    goto <bb 45>; [34.00%]
  else
    goto <bb 46>; [66.00%]

  <bb 45> [local count: 35234]:
  # DEBUG BEGIN_STMT
  uds.xreq_eep_write_did = 1;

  <bb 46> [local count: 103631]:
  # DEBUG BEGIN_STMT
  _41 = uds.response_to_negetive;
  _42 = (int) _41;
  _43 = uds.xreq_eep_write_did;
  _44 = (int) _43;
  monprintf ("CS end %d,%d,%d\n\r", _42, _40, _44);
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1

  <bb 47> [local count: 321228]:
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 0;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 61>; [100.00%]

  <bb 48> [local count: 5519283]:
  # DEBUG BEGIN_STMT
  i_100 = i_56 + 1;
  # DEBUG i => i_100

  <bb 49> [local count: 6674869]:
  # i_56 = PHI <1(36), i_100(48)>
  # DEBUG i => i_56
  # DEBUG BEGIN_STMT
  if (i_56 != 8)
    goto <bb 37>; [87.50%]
  else
    goto <bb 60>; [12.50%]

  <bb 50> [local count: 23219144]:
  # DEBUG BEGIN_STMT
  if (_76 == 48)
    goto <bb 51>; [34.00%]
  else
    goto <bb 64>; [66.00%]

  <bb 51> [local count: 7894509]:
  # DEBUG BEGIN_STMT
  _45 = uds.can_length;
  if (_45 <= 2)
    goto <bb 52>; [50.00%]
  else
    goto <bb 53>; [50.00%]

  <bb 52> [local count: 3947254]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  goto <bb 64>; [100.00%]

  <bb 53> [local count: 3947254]:
  # DEBUG BEGIN_STMT
  if (_13 == 49)
    goto <bb 54>; [34.00%]
  else
    goto <bb 55>; [66.00%]

  <bb 54> [local count: 1342067]:
  # DEBUG BEGIN_STMT
  uds.c_wait_flowcontrol_10ms = 11;
  goto <bb 64>; [100.00%]

  <bb 55> [local count: 2605188]:
  # DEBUG BEGIN_STMT
  _46 = uds.wait_flowcontrol;
  if (_46 == 0)
    goto <bb 56>; [50.00%]
  else
    goto <bb 58>; [50.00%]

  <bb 56> [local count: 1302594]:
  if (_13 == 50)
    goto <bb 57>; [20.97%]
  else
    goto <bb 58>; [79.03%]

  <bb 57> [local count: 273154]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 98;
  # DEBUG BEGIN_STMT
  _47 = uds.ntable_did;
  _48 = _47 >> 8;
  _49 = (unsigned char) _48;
  uds.tx.buf[2] = _49;
  # DEBUG BEGIN_STMT
  _50 = (unsigned char) _47;
  uds.tx.buf[3] = _50;
  # DEBUG BEGIN_STMT
  goto <bb 65>; [100.00%]

  <bb 58> [local count: 2332034]:
  # DEBUG BEGIN_STMT
  uds.wait_flowcontrol = 0;
  # DEBUG BEGIN_STMT
  _51 = uds.rx.buf[2];
  # DEBUG BEGIN_STMT
  _52 = _51 + 3;
  uds.flow_control_ms = _52;
  # DEBUG BEGIN_STMT
  uds.c_flow_control_ms = _52;
  # DEBUG BEGIN_STMT
  uds.c_wait_flowcontrol_10ms = 0;
  # DEBUG BEGIN_STMT
  if (_13 > 49)
    goto <bb 59>; [50.00%]
  else
    goto <bb 64>; [50.00%]

  <bb 59> [local count: 1166017]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  goto <bb 64>; [100.00%]

  <bb 60> [local count: 31486636]:
  # rp_58 = PHI <rp_123(23), rp_121(25), 0(49)>
  # DEBUG rp => rp_58
  # DEBUG BEGIN_STMT
  if (rp_58 != 0)
    goto <bb 61>; [50.00%]
  else
    goto <bb 64>; [50.00%]

  <bb 61> [local count: 19503394]:
  # DEBUG rp => NULL
  # DEBUG BEGIN_STMT
  _53 = uds.response_to_negetive;
  if (_53 == 1)
    goto <bb 62>; [34.00%]
  else
    goto <bb 63>; [66.00%]

  <bb 62> [local count: 6631154]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;

  <bb 63> [local count: 19503394]:
  # DEBUG BEGIN_STMT
  uds.tx.xreq_send = 1;

  <bb 64> [local count: 65559645]:
  # DEBUG rp => NULL
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  uds.x2ms = 0;

  <bb 65> [local count: 119292717]:
  return;

}


uds_first_frame ()
{
  uint8_t rp;
  unsigned char _1;
  unsigned char _3;
  unsigned char _4;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG k => 0
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  uds.nrc = 0;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  uds.sid = _1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (_1 == 49)
    goto <bb 6>; [34.00%]
  else
    goto <bb 3>; [66.00%]

  <bb 3> [local count: 708669604]:
  if (_1 == 52)
    goto <bb 6>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 4> [local count: 467721938]:
  if (_1 == 46)
    goto <bb 6>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 5> [local count: 308696479]:
  if (_1 == 54)
    goto <bb 6>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 6> [local count: 870002147]:
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 0;
  # DEBUG BEGIN_STMT
  if (_1 == 46)
    goto <bb 7>; [51.12%]
  else
    goto <bb 10>; [48.88%]

  <bb 7> [local count: 444745097]:
  _3 = uds.session;
  if (_3 <= 1)
    goto <bb 9>; [41.00%]
  else
    goto <bb 8>; [59.00%]

  <bb 8> [local count: 262399608]:
  _4 = uds.rom_access_level;
  if (_4 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 313545292]:
  rp_10 = uds_first_frame.part.0 ();
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 556456854]:
  # DEBUG BEGIN_STMT
  rp_14 = uds_SID_FF_dataread (0);
  # DEBUG rp => rp_14

  <bb 11> [local count: 1073741824]:
  # rp_5 = PHI <1(5), rp_10(9), rp_14(10)>
  # DEBUG rp => rp_5
  # DEBUG BEGIN_STMT
  return rp_5;

}


uds_SID_FF_NULL (uint8_t k)
{
  uint8_t i;
  unsigned char _1;
  short unsigned int _2;
  short unsigned int _3;
  unsigned char _4;
  short unsigned int _5;
  short unsigned int _6;
  unsigned char _7;
  unsigned char _8;
  short unsigned int _9;
  short unsigned int _10;
  unsigned char _11;
  short unsigned int _12;
  short unsigned int _13;
  int _14;
  short unsigned int _15;
  short unsigned int _16;
  int _17;
  unsigned char _18;
  unsigned char _22;

  <bb 2> [local count: 178992762]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  uds.write_data_type = 0;
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[0];
  _22 = _1 & 15;
  _2 = (short unsigned int) _22;
  # DEBUG BEGIN_STMT
  _3 = _2 << 8;
  # DEBUG BEGIN_STMT
  _4 = uds.rx.buf[1];
  _5 = (short unsigned int) _4;
  _6 = _3 + _5;
  uds.tx_len = _6;
  # DEBUG BEGIN_STMT
  if (_6 > 200)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 89496381]:
  # DEBUG BEGIN_STMT
  uds.tx_len = 200;

  <bb 4> [local count: 178992762]:
  # DEBUG BEGIN_STMT
  uds.ntable = 0;
  # DEBUG BEGIN_STMT
  _7 = uds.rx.buf[2];
  uds.table_control = _7;
  # DEBUG BEGIN_STMT
  _8 = uds.rx.buf[3];
  _9 = (short unsigned int) _8;
  # DEBUG BEGIN_STMT
  _10 = _9 << 8;
  # DEBUG BEGIN_STMT
  _11 = uds.rx.buf[4];
  _12 = (short unsigned int) _11;
  _13 = _10 + _12;
  uds.ntable_did = _13;
  # DEBUG BEGIN_STMT
  uds.table_seq = 3;
  # DEBUG BEGIN_STMT
  uds.consecutive_rx_num = 32;
  # DEBUG BEGIN_STMT
  uds.pdata_wr = &TABLE_DTC_SEND;
  # DEBUG BEGIN_STMT
  uds.p_data = 0;
  # DEBUG BEGIN_STMT
  # DEBUG i => 3
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 894749063]:
  # DEBUG BEGIN_STMT
  _14 = (int) i_19;
  _15 = uds.p_data;
  _16 = _15 + 1;
  uds.p_data = _16;
  _17 = (int) _15;
  _18 = uds.rx.buf[_14];
  uds.data[_17] = _18;
  # DEBUG BEGIN_STMT
  i_37 = i_19 + 1;
  # DEBUG i => i_37

  <bb 6> [local count: 1073741824]:
  # i_19 = PHI <3(4), i_37(5)>
  # DEBUG i => i_19
  # DEBUG BEGIN_STMT
  if (i_19 != 8)
    goto <bb 5>; [83.33%]
  else
    goto <bb 7>; [16.67%]

  <bb 7> [local count: 178992762]:
  # DEBUG BEGIN_STMT
  set_flow_control ();
  # DEBUG BEGIN_STMT
  return 1;

}


uds_SID_FF_dataread (uint8_t k)
{
  uint16_t n;
  unsigned char _1;
  short unsigned int _3;
  short unsigned int _4;
  unsigned char _5;
  short unsigned int _6;
  short unsigned int _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  short unsigned int _11;
  unsigned char _12;
  short unsigned int _13;
  unsigned char _14;
  unsigned char _15;
  unsigned char _16;
  unsigned char _17;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  uds.write_data_type = 15;
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[0];
  _17 = _1 & 15;
  _3 = (short unsigned int) _17;
  # DEBUG BEGIN_STMT
  _4 = _3 << 8;
  # DEBUG BEGIN_STMT
  _5 = uds.rx.buf[1];
  _6 = (short unsigned int) _5;
  _7 = _4 + _6;
  uds.tx_len = _7;
  # DEBUG BEGIN_STMT
  uds.pdata_wr = &uds.data;
  # DEBUG BEGIN_STMT
  uds.table_seq = 3;
  # DEBUG BEGIN_STMT
  uds.consecutive_rx_num = 32;
  # DEBUG BEGIN_STMT
  _8 = uds.sid;
  if (_8 == 47)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  uds.table_control = 46;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.pdata_wr = &uds.io_control_parameter[0];
  # DEBUG BEGIN_STMT
  _9 = uds.rx.buf[3];
  n_27 = (uint16_t) _9;
  # DEBUG n => n_27
  # DEBUG BEGIN_STMT
  n_28 = n_27 << 8;
  # DEBUG n => n_28
  # DEBUG BEGIN_STMT
  _10 = uds.rx.buf[4];
  _11 = (short unsigned int) _10;
  n_29 = _11 + n_28;
  # DEBUG n => n_29
  # DEBUG BEGIN_STMT
  uds.io_control_did = n_29;
  # DEBUG BEGIN_STMT
  _12 = uds.rx.buf[5];
  uds.io_control_parm = _12;
  # DEBUG BEGIN_STMT
  uds.ntable_did = n_29;
  # DEBUG BEGIN_STMT
  _13 = _7 + 65533;
  uds.tx_len = _13;
  # DEBUG BEGIN_STMT
  _14 = (unsigned char) _13;
  uds.io_control_parameter_len = _14;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  MEM[(uint8_t *)&uds + 303B] = _10;
  # DEBUG BEGIN_STMT
  MEM[(uint8_t *)&uds + 304B] = _12;
  # DEBUG BEGIN_STMT
  _15 = uds.rx.buf[6];
  MEM[(uint8_t *)&uds + 305B] = _15;
  # DEBUG BEGIN_STMT
  uds.p_data = 4;
  _16 = uds.rx.buf[7];
  MEM[(uint8_t *)&uds + 306B] = _16;
  # DEBUG BEGIN_STMT
  set_flow_control ();
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 708669599]:
  # DEBUG D#9 => k_2(D)
  uds_SID_FF_dataread.part.0 ();

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return 1;

}


uds_single_frame ()
{
  uint8_t rp;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _5;
  unsigned char _6;
  long unsigned int _7;
  unsigned char _8;
  unsigned char _9;
  uint8_t _12;
  unsigned char _14;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[1];
  uds.sid = _1;
  # DEBUG BEGIN_STMT
  _2 = uds.rx.buf[0];
  uds.length = _2;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  _3 = uds.can_length;
  if (_2 >= _3)
    goto <bb 10>; [34.00%]
  else
    goto <bb 3>; [66.00%]

  <bb 3> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _5 = _2 + 255;
  if (_5 > 6)
    goto <bb 10>; [51.12%]
  else
    goto <bb 4>; [48.88%]

  <bb 4> [local count: 346397703]:
  # DEBUG BEGIN_STMT
  uds_single_frame_error_check ();
  # DEBUG BEGIN_STMT
  _6 = uds.response_to_negetive;
  if (_6 == 1)
    goto <bb 5>; [20.97%]
  else
    goto <bb 9>; [79.03%]

  <bb 5> [local count: 72639598]:
  # DEBUG BEGIN_STMT
  _7 = uds.can_id;
  if (_7 == 2015)
    goto <bb 6>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 6> [local count: 24697463]:
  _8 = uds.nrc;
  _9 = _8 + 239;
  if (_9 <= 1)
    goto <bb 7>; [41.00%]
  else
    goto <bb 8>; [59.00%]

  <bb 7> [local count: 10125960]:
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0

  <bb 8> [local count: 72639598]:
  # rp_10 = PHI <1(5), 1(6), 0(7)>
  # DEBUG rp => rp_10
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 273758104]:
  _14 = uds_single_frame.part.0 ();

  <bb 10> [local count: 1073741824]:
  # _12 = PHI <0(2), 0(3), rp_10(8), _14(9)>
  # DEBUG rp => NULL
  # DEBUG rp => NULL
  # DEBUG k => NULL
  # DEBUG rp => NULL
  return _12;

}


uds_data_receve_finish (uint8_t print)
{
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  uds.nrc = 0;
  # DEBUG BEGIN_STMT
  _1 = uds.response_to_negetive;
  if (_1 == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _2 = uds.sid;
  if (_2 == 49)
    goto <bb 5>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 5> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _3 = uds.length;
  if (_3 > 6)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 11>; [100.00%]

  <bb 7> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  _4 = uds.rx.buf[2];
  _5 = _4 + 255;
  if (_5 > 2)
    goto <bb 8>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 8> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;
  goto <bb 11>; [100.00%]

  <bb 9> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (_2 == 52)
    goto <bb 10>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 10> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  uds.nrc = 18;

  <bb 11> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return 1;

}


uds_SID_SecurityAccess (uint8_t k)
{
  unsigned char _1;
  unsigned char _2;
  uint8_t _4;
  unsigned char _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = uds.session;
  if (_1 <= 1)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _2 = uds.rx.buf[1];
  uds.tx.buf[2] = _2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 127;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 633507680]:
  _5 = uds_SID_SecurityAccess.part.0 (k_8(D));

  <bb 5> [local count: 1073741823]:
  # _4 = PHI <1(3), _5(4)>
  # DEBUG rp => NULL
  return _4;

}


seedToKey (uint32_t seed, uint8_t level)
{
  uint16_t i;
  uint32_t key;

  <bb 2> [local count: 59700044]:
  # DEBUG BEGIN_STMT
  # DEBUG key => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG MASK => 1819044201
  # DEBUG BEGIN_STMT
  if (seed_5(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 29850022]:
  # seed_2 = PHI <seed_5(D)(2)>
  # i_4 = PHI <0(2)>
  # DEBUG D#7 => level_1(D)
  key_6 = seedToKey.part.0 (seed_5(D));

  <bb 4> [local count: 59700045]:
  # key_3 = PHI <0(2), key_6(3)>
  # DEBUG key => key_3
  # DEBUG BEGIN_STMT
  return key_3;

}


uds_SID_TransferData (uint8_t k)
{
  uint8_t retval.76;

  <bb 2> [local count: 1073741824]:
  retval.76_2 = uds_SID_RoutineControl (k_1(D)); [tail call]
  return retval.76_2;

}


uds_SID_RequestTransferExit (uint8_t k)
{
  uint8_t retval.74;

  <bb 2> [local count: 1073741824]:
  retval.74_2 = uds_SID_RoutineControl (k_1(D)); [tail call]
  return retval.74_2;

}


uds_SID_RequestDownload (uint8_t k)
{
  uint8_t retval.75;

  <bb 2> [local count: 1073741824]:
  retval.75_2 = uds_SID_RoutineControl (k_1(D)); [tail call]
  return retval.75_2;

}


uds_SID_RoutineControl (uint8_t k)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return k_1(D);

}


uds_SID_CommunicationControl (uint8_t k)
{
  uint8_t rp;
  unsigned char _1;
  signed char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  unsigned char _7;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  _2 = (signed char) _1;
  if (_2 < 0)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234147]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  _3 = _1 & 127;
  uds.rx.buf[2] = _3;

  <bb 4> [local count: 1073741823]:
  # rp_8 = PHI <1(2), 0(3)>
  # DEBUG rp => rp_8
  # DEBUG BEGIN_STMT
  _4 = uds.rx.buf[3];
  if (_4 == 1)
    goto <bb 6>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 5> [local count: 708669604]:
  if (_4 == 3)
    goto <bb 6>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 6> [local count: 606019886]:
  # DEBUG BEGIN_STMT
  _5 = uds.rx.buf[2];
  if (_5 == 3)
    goto <bb 8>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 7> [local count: 399973125]:
  if (_5 == 1)
    goto <bb 8>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 8> [local count: 342037623]:
  # DEBUG BEGIN_STMT
  uds.disable_rx_tx = 1;
  goto <bb 16>; [100.00%]

  <bb 9> [local count: 263982262]:
  # DEBUG BEGIN_STMT
  if (_5 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 131991131]:
  # DEBUG BEGIN_STMT
  uds.disable_rx_tx = 0;
  goto <bb 16>; [100.00%]

  <bb 11> [local count: 131991131]:
  # DEBUG BEGIN_STMT
  if (_5 == 2)
    goto <bb 12>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 12> [local count: 44876985]:
  # DEBUG BEGIN_STMT
  uds.disable_rx_tx = 1;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  goto <bb 16>; [100.00%]

  <bb 13> [local count: 87114147]:
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  # DEBUG BEGIN_STMT
  goto <bb 16>; [100.00%]

  <bb 14> [local count: 467721938]:
  # DEBUG BEGIN_STMT
  if (_4 == 2)
    goto <bb 16>; [34.00%]
  else
    goto <bb 15>; [66.00%]

  <bb 15> [local count: 308696479]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.rx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.rx.buf[2] = 18;

  <bb 16> [local count: 1073741824]:
  # rp_9 = PHI <rp_8(10), rp_8(14), rp_8(15), rp_8(8), rp_8(13), 0(12)>
  # DEBUG rp => rp_9
  # DEBUG BEGIN_STMT
  _6 = uds.session;
  if (_6 <= 1)
    goto <bb 17>; [41.00%]
  else
    goto <bb 18>; [59.00%]

  <bb 17> [local count: 440234144]:
  # DEBUG D#5 => k_23(D)
  uds_SID_CommunicationControl.part.0 ();
  goto <bb 19>; [100.00%]

  <bb 18> [local count: 633507677]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = k_23(D);
  # DEBUG BEGIN_STMT
  _7 = uds.rx.buf[2];
  uds.tx.buf[2] = _7;

  <bb 19> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return rp_9;

}


uds_SID_WriteDataByIdentifier (uint8_t k)
{
  uint8_t rp;
  uint8_t len;
  uint8_t i;
  uint16_t nt;
  uint16_t n;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  short unsigned int _5;
  int _6;
  long unsigned int _7;
  unsigned char _8;
  unsigned char _9;
  long unsigned int _10;
  unsigned char _11;
  unsigned char _12;
  short unsigned int _13;
  int _14;
  long unsigned int _15;
  uint8_t * _16;
  long unsigned int _17;
  short unsigned int _18;
  int _19;
  uint8_t * _20;
  short unsigned int _21;
  sizetype _22;
  uint8_t * _23;
  unsigned char _24;
  short unsigned int _25;
  short unsigned int _26;
  short unsigned int _27;
  unsigned char _28;
  short unsigned int _29;
  int _30;
  long unsigned int _31;
  unsigned char _32;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  uds.table_control = 46;
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  n_42 = (uint16_t) _1;
  # DEBUG n => n_42
  # DEBUG BEGIN_STMT
  n_43 = n_42 >> 4;
  # DEBUG n => n_43
  # DEBUG BEGIN_STMT
  _2 = (unsigned char) n_43;
  uds.write_data_type = _2;
  # DEBUG BEGIN_STMT
  _3 = uds.rx.buf[4];
  uds.table_write_to = _3;
  # DEBUG BEGIN_STMT
  # DEBUG n => n_42
  # DEBUG BEGIN_STMT
  n_46 = n_42 << 8;
  # DEBUG n => n_46
  # DEBUG BEGIN_STMT
  _4 = uds.rx.buf[3];
  _5 = (short unsigned int) _4;
  n_47 = _5 + n_46;
  # DEBUG n => n_47
  # DEBUG BEGIN_STMT
  uds.ntable_did = n_47;
  # DEBUG BEGIN_STMT
  if (_2 == 14)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  uds.table_seq = 1;
  goto <bb 20>; [100.00%]

  <bb 4> [local count: 708669604]:
  # DEBUG BEGIN_STMT
  if (n_47 > 61439)
    goto <bb 5>; [33.00%]
  else
    goto <bb 20>; [67.00%]

  <bb 5> [local count: 233860969]:
  # DEBUG BEGIN_STMT
  nt_50 = table_did_maping_write (n_47);
  # DEBUG nt => nt_50
  # DEBUG BEGIN_STMT
  uds.ntable = nt_50;
  # DEBUG BEGIN_STMT
  uds.write_data_type = 15;
  # DEBUG BEGIN_STMT
  if (nt_50 == 65535)
    goto <bb 7>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 6> [local count: 154348240]:
  _6 = (int) nt_50;
  _7 = EEP_ADDR_TABLE[_6][7];
  if (_7 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 156686849]:
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 3;
  goto <bb 20>; [100.00%]

  <bb 8> [local count: 77174120]:
  # DEBUG BEGIN_STMT
  _8 = uds.rom_access_level;
  if (_8 != 1)
    goto <bb 9>; [66.00%]
  else
    goto <bb 10>; [34.00%]

  <bb 9> [local count: 50934919]:
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 2;
  goto <bb 20>; [100.00%]

  <bb 10> [local count: 26239201]:
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  _9 = uds.consecutive_length_fail;
  if (_9 == 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 11> [local count: 13119600]:
  # DEBUG BEGIN_STMT
  _10 = EEP_ADDR_TABLE[_6][2];
  _11 = (unsigned char) _10;
  len_54 = _11 + 3;
  # DEBUG len => len_54
  # DEBUG BEGIN_STMT
  _12 = uds.length;
  if (_12 != len_54)
    goto <bb 12>; [48.88%]
  else
    goto <bb 13>; [51.12%]

  <bb 12> [local count: 6412861]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 1;
  # DEBUG BEGIN_STMT
  monprintf ("length FAIL=%d,%d\n\r", 1, _6);

  <bb 13> [local count: 13119600]:
  # DEBUG BEGIN_STMT
  _13 = uds.ntable;
  _14 = (int) _13;
  _15 = EEP_ADDR_TABLE[_14][3];
  _16 = (uint8_t *) _15;
  uds.pdata_wr = _16;
  # DEBUG BEGIN_STMT
  _17 = EEP_ADDR_TABLE[_14][2];
  _18 = (short unsigned int) _17;
  uds.tx_len = _18;
  # DEBUG BEGIN_STMT
  uds.p_data = 0;
  # DEBUG BEGIN_STMT
  # DEBUG i => 4
  goto <bb 19>; [100.00%]

  <bb 14> [local count: 43015083]:
  # DEBUG BEGIN_STMT
  _19 = (int) i_33;
  _20 = uds.pdata_wr;
  _21 = uds.p_data;
  _22 = (sizetype) _21;
  _23 = _20 + _22;
  _24 = uds.rx.buf[_19];
  *_23 = _24;
  # DEBUG BEGIN_STMT
  _25 = uds.p_data;
  _26 = _25 + 1;
  uds.p_data = _26;
  # DEBUG BEGIN_STMT
  _27 = uds.tx_len;
  if (_26 >= _27)
    goto <bb 20>; [5.50%]
  else
    goto <bb 15>; [94.50%]

  <bb 15> [local count: 40649254]:
  # DEBUG BEGIN_STMT
  uds_table_receve_finish (0);
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 0;
  # DEBUG BEGIN_STMT
  _28 = uds.response_to_negetive;
  if (_28 == 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 16> [local count: 20324627]:
  # DEBUG BEGIN_STMT
  _29 = uds.ntable;
  _30 = (int) _29;
  _31 = EEP_ADDR_TABLE[_30][7];
  if (_31 == 1)
    goto <bb 17>; [34.00%]
  else
    goto <bb 18>; [66.00%]

  <bb 17> [local count: 6910373]:
  # DEBUG BEGIN_STMT
  uds.xreq_eep_write_did = 1;

  <bb 18> [local count: 40649254]:
  # DEBUG BEGIN_STMT
  i_66 = i_33 + 1;
  # DEBUG i => i_66

  <bb 19> [local count: 53768854]:
  # i_33 = PHI <4(13), i_66(18)>
  # DEBUG i => i_33
  # DEBUG BEGIN_STMT
  if (i_33 != 8)
    goto <bb 14>; [80.00%]
  else
    goto <bb 20>; [20.00%]

  <bb 20> [local count: 1073741824]:
  # rp_34 = PHI <0(3), 1(4), 1(7), 1(9), 1(10), 1(14), 1(19)>
FINISH:
  # DEBUG rp => rp_34
  # DEBUG BEGIN_STMT
  _32 = uds.consecutive_length_fail;
  if (_32 == 1)
    goto <bb 21>; [34.00%]
  else
    goto <bb 22>; [66.00%]

  <bb 21> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 46;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 19;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  goto <bb 26>; [100.00%]

  <bb 22> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (_32 == 2)
    goto <bb 23>; [34.00%]
  else
    goto <bb 24>; [66.00%]

  <bb 23> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 46;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 51;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  goto <bb 26>; [100.00%]

  <bb 24> [local count: 467721938]:
  # DEBUG BEGIN_STMT
  if (_32 == 3)
    goto <bb 25>; [34.00%]
  else
    goto <bb 26>; [66.00%]

  <bb 25> [local count: 159025459]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 46;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 49;

  <bb 26> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return rp_34;

}


uds_SID_ReadDataByIdentifier (uint8_t k)
{
  uint8_t rp;
  uint16_t nt;
  uint16_t n;
  unsigned char _1;
  unsigned char _2;
  short unsigned int _3;
  long unsigned int _4;
  unsigned char _5;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  n_10 = (uint16_t) _1;
  # DEBUG n => n_10
  # DEBUG BEGIN_STMT
  n_11 = n_10 << 8;
  # DEBUG n => n_11
  # DEBUG BEGIN_STMT
  _2 = uds.rx.buf[3];
  _3 = (short unsigned int) _2;
  n_12 = _3 + n_11;
  # DEBUG n => n_12
  # DEBUG BEGIN_STMT
  uds.ntable_did = n_12;
  # DEBUG BEGIN_STMT
  if (n_12 == 62720)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  # DEBUG n => 1280
  # DEBUG BEGIN_STMT
  uds.ntable = 1280;
  # DEBUG BEGIN_STMT
  uds.table_seq = 1;
  # DEBUG BEGIN_STMT
  uds.table_control = 34;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  goto <bb 11>; [100.00%]

  <bb 4> [local count: 708669604]:
  # DEBUG BEGIN_STMT
  if (n_12 > 61439)
    goto <bb 5>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 5> [local count: 233860969]:
  # DEBUG BEGIN_STMT
  nt_21 = table_did_maping (n_12);
  # DEBUG nt => nt_21
  # DEBUG BEGIN_STMT
  if (nt_21 == 65535)
    goto <bb 6>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 6> [local count: 79512730]:
  # DEBUG D#3 => k_25(D)
  rp_29 = uds_SID_ReadDataByIdentifier.part.0 ();
  goto <bb 11>; [100.00%]

  <bb 7> [local count: 154348240]:
  # DEBUG BEGIN_STMT
  uds.ntable = nt_21;
  # DEBUG BEGIN_STMT
  uds.table_seq = 1;
  # DEBUG BEGIN_STMT
  uds.table_control = 34;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 474808634]:
  # DEBUG BEGIN_STMT
  _4 = uds.can_id;
  if (_4 == 2015)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 161434936]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0

  <bb 10> [local count: 474808634]:
  # rp_6 = PHI <1(8), 0(9)>
  # DEBUG rp => rp_6
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _5 = uds.sid;
  uds.tx.buf[2] = _5;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 49;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;

  <bb 11> [local count: 1073741824]:
  # rp_7 = PHI <0(3), 0(7), rp_6(10), rp_29(6)>
  # DEBUG rp => rp_7
  # DEBUG BEGIN_STMT
  return rp_7;

}


uds_SID_DiagnosticSessionControl (uint8_t k)
{
  uint8_t rp;
  unsigned char _1;
  signed char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  _2 = (signed char) _1;
  if (_2 < 0)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  _3 = _1 & 127;
  uds.rx.buf[2] = _3;

  <bb 4> [local count: 1073741824]:
  # rp_9 = PHI <1(2), 0(3)>
  # DEBUG rp => rp_9
  # DEBUG BEGIN_STMT
  _4 = uds.rx.buf[2];
  _5 = _4 + 255;
  if (_5 <= 2)
    goto <bb 5>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 6;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = k_21(D);
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = _4;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 0;
  # DEBUG BEGIN_STMT
  uds.tx.buf[4] = 50;
  # DEBUG BEGIN_STMT
  uds.tx.buf[5] = 1;
  # DEBUG BEGIN_STMT
  uds.tx.buf[6] = 244;
  # DEBUG BEGIN_STMT
  uds.c_timeout_session_10ms = 500;
  # DEBUG BEGIN_STMT
  uds.session = _4;
  # DEBUG BEGIN_STMT
  if (_4 == 2)
    goto <bb 6>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 6> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  # DEBUG p => 4198432B
  # DEBUG BEGIN_STMT
  _6 = MEM[(uint8_t *)4198432B];
  if (_6 != 66)
    goto <bb 8>; [66.00%]
  else
    goto <bb 7>; [34.00%]

  <bb 7> [local count: 62062277]:
  _7 = MEM[(uint8_t *)4198433B];
  if (_7 != 79)
    goto <bb 8>; [66.00%]
  else
    goto <bb 9>; [34.00%]

  <bb 8> [local count: 161434936]:
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  goto <bb 11>; [100.00%]

  <bb 9> [local count: 21101174]:
  # DEBUG BEGIN_STMT
  uds.XREQ_UDS_RESET = 1;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _8 = uds.sid;
  uds.tx.buf[2] = _8;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 18;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;

  <bb 11> [local count: 1073741824]:
  # rp_10 = PHI <rp_9(5), rp_9(10), 0(9), rp_9(8)>
  # DEBUG rp => rp_10
  # DEBUG BEGIN_STMT
  uds.rom_access_level = 0;
  # DEBUG BEGIN_STMT
  return rp_10;

}


uds_SID_StopDiagnosticSession (uint8_t k)
{
  uint8_t rp;
  unsigned char _1;
  signed char _2;
  unsigned char _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  _2 = (signed char) _1;
  if (_2 < 0)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  # DEBUG BEGIN_STMT
  _3 = _1 & 127;
  uds.rx.buf[2] = _3;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 633507677]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 1;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = k_8(D);

  <bb 5> [local count: 1073741824]:
  # rp_4 = PHI <0(3), 1(4)>
  # DEBUG rp => rp_4
  # DEBUG BEGIN_STMT
  uds.session = 1;
  # DEBUG BEGIN_STMT
  return rp_4;

}


uds_fail_check_did_length (uint16_t did, uint8_t len)
{
  unsigned char _1;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  uds.nrc = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (did_6(D) == 61831)
    goto <bb 3>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  if (len_7(D) != 10)
    goto <bb 4>; [66.00%]
  else
    goto <bb 17>; [34.00%]

  <bb 4> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 17>; [100.00%]

  <bb 5> [local count: 708669604]:
  # DEBUG BEGIN_STMT
  if (did_6(D) == 61835)
    goto <bb 6>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 6> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  if (len_7(D) != 4)
    goto <bb 7>; [66.00%]
  else
    goto <bb 17>; [34.00%]

  <bb 7> [local count: 159025459]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 17>; [100.00%]

  <bb 8> [local count: 467721938]:
  # DEBUG BEGIN_STMT
  if (did_6(D) == 61845)
    goto <bb 9>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 9> [local count: 159025459]:
  # DEBUG BEGIN_STMT
  if (len_7(D) != 3)
    goto <bb 10>; [66.00%]
  else
    goto <bb 17>; [34.00%]

  <bb 10> [local count: 104956803]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 17>; [100.00%]

  <bb 11> [local count: 308696479]:
  # DEBUG BEGIN_STMT
  if (did_6(D) == 61843)
    goto <bb 12>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 12> [local count: 104956803]:
  # DEBUG BEGIN_STMT
  if (len_7(D) != 3)
    goto <bb 13>; [66.00%]
  else
    goto <bb 17>; [34.00%]

  <bb 13> [local count: 69271490]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 17>; [100.00%]

  <bb 14> [local count: 203739676]:
  # DEBUG BEGIN_STMT
  if (did_6(D) == 61836)
    goto <bb 15>; [34.00%]
  else
    goto <bb 17>; [66.00%]

  <bb 15> [local count: 69271490]:
  # DEBUG BEGIN_STMT
  if (len_7(D) != 7)
    goto <bb 16>; [66.00%]
  else
    goto <bb 17>; [34.00%]

  <bb 16> [local count: 45719183]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;

  <bb 17> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.nrc;
  if (_1 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 18> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 1;
  goto <bb 20>; [100.00%]

  <bb 19> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 0;

  <bb 20> [local count: 1073741824]:
  return;

}


uds_single_frame_error_check ()
{
  uint8_t c;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  unsigned char _12;
  unsigned char _13;
  unsigned char _14;
  unsigned char _15;
  unsigned char _16;
  unsigned char _17;
  unsigned char _18;
  unsigned char _19;
  unsigned char _20;
  long unsigned int _21;
  long unsigned int _22;
  unsigned char _23;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;
  unsigned char _27;
  long unsigned int _28;
  long unsigned int _29;
  unsigned char _30;
  unsigned char _31;
  unsigned char _32;
  unsigned char _33;
  unsigned char _34;
  unsigned char _35;
  unsigned char _36;
  unsigned char _37;
  unsigned char _38;
  unsigned char _68;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.nrc = 0;
  # DEBUG BEGIN_STMT
  _1 = uds.sid;
  if (_1 == 34)
    goto <bb 3>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _2 = uds.length;
  if (_2 != 3)
    goto <bb 4>; [66.00%]
  else
    goto <bb 5>; [34.00%]

  <bb 4> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;

  <bb 5> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 82>; [100.00%]

  <bb 6> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (_1 == 32)
    goto <bb 7>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 7> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  _3 = uds.length;
  if (_3 > 2)
    goto <bb 8>; [50.00%]
  else
    goto <bb 82>; [50.00%]

  <bb 8> [local count: 120473833]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 9> [local count: 467721939]:
  # DEBUG BEGIN_STMT
  if (_1 == 16)
    goto <bb 10>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 10> [local count: 159025459]:
  # DEBUG BEGIN_STMT
  c_79 = uds.rx.buf[2];
  # DEBUG c => c_79
  # DEBUG BEGIN_STMT
  c_80 = c_79 & 127;
  # DEBUG c => c_80
  # DEBUG BEGIN_STMT
  _4 = uds.length;
  if (_4 != 2)
    goto <bb 11>; [66.00%]
  else
    goto <bb 12>; [34.00%]

  <bb 11> [local count: 104956803]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 12> [local count: 54068656]:
  # DEBUG BEGIN_STMT
  _5 = c_80 + 255;
  if (_5 > 2)
    goto <bb 13>; [50.00%]
  else
    goto <bb 82>; [50.00%]

  <bb 13> [local count: 27034328]:
  # DEBUG BEGIN_STMT
  uds.nrc = 18;
  goto <bb 82>; [100.00%]

  <bb 14> [local count: 308696480]:
  # DEBUG BEGIN_STMT
  if (_1 == 133)
    goto <bb 15>; [34.00%]
  else
    goto <bb 20>; [66.00%]

  <bb 15> [local count: 104956803]:
  # DEBUG BEGIN_STMT
  c_75 = uds.rx.buf[2];
  # DEBUG c => c_75
  # DEBUG BEGIN_STMT
  _6 = c_75 + 255;
  if (_6 > 1)
    goto <bb 16>; [59.00%]
  else
    goto <bb 17>; [41.00%]

  <bb 16> [local count: 61924514]:
  # DEBUG BEGIN_STMT
  uds.nrc = 18;

  <bb 17> [local count: 104956803]:
  # DEBUG BEGIN_STMT
  _7 = uds.length;
  if (_7 != 2)
    goto <bb 18>; [66.00%]
  else
    goto <bb 19>; [34.00%]

  <bb 18> [local count: 69271490]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;

  <bb 19> [local count: 104956803]:
  # DEBUG BEGIN_STMT
  _8 = uds.nrc;
  uds_fail_check_no_extended (_8);
  goto <bb 82>; [100.00%]

  <bb 20> [local count: 203739677]:
  # DEBUG BEGIN_STMT
  if (_1 == 39)
    goto <bb 21>; [34.00%]
  else
    goto <bb 24>; [66.00%]

  <bb 21> [local count: 69271490]:
  # DEBUG BEGIN_STMT
  _9 = uds.length;
  if (_9 == 2)
    goto <bb 82>; [34.00%]
  else
    goto <bb 22>; [66.00%]

  <bb 22> [local count: 45719183]:
  if (_9 == 6)
    goto <bb 82>; [34.00%]
  else
    goto <bb 23>; [66.00%]

  <bb 23> [local count: 30174661]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 24> [local count: 134468187]:
  # DEBUG BEGIN_STMT
  if (_1 == 25)
    goto <bb 25>; [34.00%]
  else
    goto <bb 44>; [66.00%]

  <bb 25> [local count: 45719183]:
  # DEBUG BEGIN_STMT
  _10 = uds.length;
  if (_10 == 1)
    goto <bb 26>; [34.00%]
  else
    goto <bb 27>; [66.00%]

  <bb 26> [local count: 15544522]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 27> [local count: 30174661]:
  # DEBUG BEGIN_STMT
  _11 = uds.rx.buf[2];
  if (_11 == 10)
    goto <bb 29>; [34.00%]
  else
    goto <bb 28>; [66.00%]

  <bb 28> [local count: 19915276]:
  if (_11 == 3)
    goto <bb 29>; [34.00%]
  else
    goto <bb 31>; [66.00%]

  <bb 29> [local count: 17030579]:
  # DEBUG BEGIN_STMT
  if (_10 != 2)
    goto <bb 30>; [66.00%]
  else
    goto <bb 82>; [34.00%]

  <bb 30> [local count: 11240182]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 31> [local count: 13144082]:
  # DEBUG BEGIN_STMT
  if (_11 == 2)
    goto <bb 32>; [34.00%]
  else
    goto <bb 34>; [66.00%]

  <bb 32> [local count: 4468988]:
  # DEBUG BEGIN_STMT
  if (_10 != 3)
    goto <bb 33>; [66.00%]
  else
    goto <bb 82>; [34.00%]

  <bb 33> [local count: 2949532]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 34> [local count: 8675094]:
  # DEBUG BEGIN_STMT
  if (_11 == 4)
    goto <bb 35>; [34.00%]
  else
    goto <bb 40>; [66.00%]

  <bb 35> [local count: 2949532]:
  # DEBUG BEGIN_STMT
  if (_10 != 6)
    goto <bb 36>; [66.00%]
  else
    goto <bb 37>; [34.00%]

  <bb 36> [local count: 1946691]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 37> [local count: 1002841]:
  # DEBUG BEGIN_STMT
  _12 = uds.rx.buf[6];
  if (_12 == 1)
    goto <bb 82>; [34.00%]
  else
    goto <bb 38>; [66.00%]

  <bb 38> [local count: 661875]:
  if (_12 == 255)
    goto <bb 82>; [34.00%]
  else
    goto <bb 39>; [66.00%]

  <bb 39> [local count: 436837]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;
  goto <bb 82>; [100.00%]

  <bb 40> [local count: 5725562]:
  # DEBUG BEGIN_STMT
  if (_11 == 1)
    goto <bb 41>; [34.00%]
  else
    goto <bb 43>; [66.00%]

  <bb 41> [local count: 1946691]:
  # DEBUG BEGIN_STMT
  if (_10 != 3)
    goto <bb 42>; [66.00%]
  else
    goto <bb 82>; [34.00%]

  <bb 42> [local count: 1284816]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 43> [local count: 3778871]:
  # DEBUG BEGIN_STMT
  uds.nrc = 18;
  goto <bb 82>; [100.00%]

  <bb 44> [local count: 88749003]:
  # DEBUG BEGIN_STMT
  if (_1 == 40)
    goto <bb 45>; [34.00%]
  else
    goto <bb 59>; [66.00%]

  <bb 45> [local count: 30174661]:
  # DEBUG BEGIN_STMT
  _13 = uds.rx.buf[2];
  c_60 = _13 & 127;
  # DEBUG c => c_60
  # DEBUG BEGIN_STMT
  _14 = uds.length;
  if (_14 != 3)
    goto <bb 46>; [66.00%]
  else
    goto <bb 49>; [34.00%]

  <bb 46> [local count: 19915276]:
  if (c_60 == 0)
    goto <bb 48>; [50.00%]
  else
    goto <bb 47>; [50.00%]

  <bb 47> [local count: 9957638]:
  if (c_60 == 3)
    goto <bb 48>; [34.00%]
  else
    goto <bb 49>; [66.00%]

  <bb 48> [local count: 13343235]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 58>; [100.00%]

  <bb 49> [local count: 16831426]:
  # DEBUG BEGIN_STMT
  if (_14 != 2)
    goto <bb 50>; [66.00%]
  else
    goto <bb 52>; [34.00%]

  <bb 50> [local count: 11108741]:
  _15 = c_60 + 255;
  if (_15 <= 1)
    goto <bb 51>; [41.00%]
  else
    goto <bb 52>; [59.00%]

  <bb 51> [local count: 4554584]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 58>; [100.00%]

  <bb 52> [local count: 12276842]:
  # DEBUG BEGIN_STMT
  _68 = _13 & 124;
  if (_68 != 0)
    goto <bb 53>; [50.00%]
  else
    goto <bb 54>; [50.00%]

  <bb 53> [local count: 6138421]:
  # DEBUG BEGIN_STMT
  uds.nrc = 18;
  goto <bb 58>; [100.00%]

  <bb 54> [local count: 6138421]:
  # DEBUG BEGIN_STMT
  _16 = uds.rx.buf[3];
  _17 = _16 + 255;
  if (_17 > 2)
    goto <bb 55>; [50.00%]
  else
    goto <bb 58>; [50.00%]

  <bb 55> [local count: 3069211]:
  if (c_60 == 0)
    goto <bb 57>; [50.00%]
  else
    goto <bb 56>; [50.00%]

  <bb 56> [local count: 1534605]:
  if (c_60 == 3)
    goto <bb 57>; [34.00%]
  else
    goto <bb 58>; [66.00%]

  <bb 57> [local count: 2056371]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;

  <bb 58> [local count: 30174661]:
  # DEBUG BEGIN_STMT
  _18 = uds.nrc;
  uds_fail_check_no_extended (_18);
  goto <bb 82>; [100.00%]

  <bb 59> [local count: 58574342]:
  # DEBUG BEGIN_STMT
  if (_1 == 20)
    goto <bb 60>; [34.00%]
  else
    goto <bb 66>; [66.00%]

  <bb 60> [local count: 19915276]:
  # DEBUG BEGIN_STMT
  _19 = uds.length;
  if (_19 != 4)
    goto <bb 61>; [66.00%]
  else
    goto <bb 62>; [34.00%]

  <bb 61> [local count: 13144082]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 62> [local count: 6771194]:
  # DEBUG BEGIN_STMT
  _20 = uds.rx.buf[2];
  _21 = (long unsigned int) _20;
  # DEBUG BEGIN_STMT
  _22 = _21 << 8;
  # DEBUG BEGIN_STMT
  _23 = uds.rx.buf[3];
  _24 = (long unsigned int) _23;
  _25 = _22 + _24;
  # DEBUG BEGIN_STMT
  _26 = _25 << 8;
  # DEBUG BEGIN_STMT
  _27 = uds.rx.buf[4];
  _28 = (long unsigned int) _27;
  _29 = _26 + _28;
  uds.group_of_dtc = _29;
  # DEBUG BEGIN_STMT
  if (_29 != 16777215)
    goto <bb 63>; [66.00%]
  else
    goto <bb 82>; [34.00%]

  <bb 63> [local count: 4468988]:
  if (_29 != 4194559)
    goto <bb 64>; [48.88%]
  else
    goto <bb 82>; [51.12%]

  <bb 64> [local count: 2184441]:
  # DEBUG BEGIN_STMT
  _30 = is_dtc_exist (_29);
  if (_30 == 255)
    goto <bb 65>; [34.00%]
  else
    goto <bb 82>; [66.00%]

  <bb 65> [local count: 742710]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;
  goto <bb 82>; [100.00%]

  <bb 66> [local count: 38659066]:
  # DEBUG BEGIN_STMT
  if (_1 == 62)
    goto <bb 67>; [34.00%]
  else
    goto <bb 72>; [66.00%]

  <bb 67> [local count: 13144082]:
  # DEBUG BEGIN_STMT
  _31 = uds.rx.buf[2];
  c_51 = _31 & 127;
  # DEBUG c => c_51
  # DEBUG BEGIN_STMT
  _32 = uds.length;
  if (_32 != 2)
    goto <bb 68>; [66.00%]
  else
    goto <bb 69>; [34.00%]

  <bb 68> [local count: 8675094]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 69> [local count: 4468988]:
  # DEBUG BEGIN_STMT
  if (c_51 != 0)
    goto <bb 70>; [50.00%]
  else
    goto <bb 71>; [50.00%]

  <bb 70> [local count: 2234494]:
  # DEBUG BEGIN_STMT
  uds.nrc = 18;
  # DEBUG BEGIN_STMT
  uds.c_timeout_session_10ms = 500;
  goto <bb 82>; [100.00%]

  <bb 71> [local count: 2234494]:
  # DEBUG BEGIN_STMT
  uds.c_timeout_session_10ms = 500;
  goto <bb 82>; [100.00%]

  <bb 72> [local count: 25514983]:
  # DEBUG BEGIN_STMT
  if (_1 == 49)
    goto <bb 73>; [34.00%]
  else
    goto <bb 77>; [66.00%]

  <bb 73> [local count: 8675094]:
  # DEBUG BEGIN_STMT
  _33 = uds.length;
  if (_33 > 6)
    goto <bb 74>; [50.00%]
  else
    goto <bb 75>; [50.00%]

  <bb 74> [local count: 4337547]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 75> [local count: 4337547]:
  # DEBUG BEGIN_STMT
  _34 = uds.rx.buf[2];
  _35 = _34 + 255;
  if (_35 > 2)
    goto <bb 76>; [50.00%]
  else
    goto <bb 82>; [50.00%]

  <bb 76> [local count: 2168774]:
  # DEBUG BEGIN_STMT
  uds.nrc = 49;
  goto <bb 82>; [100.00%]

  <bb 77> [local count: 16839889]:
  # DEBUG BEGIN_STMT
  if (_1 == 46)
    goto <bb 78>; [34.00%]
  else
    goto <bb 80>; [66.00%]

  <bb 78> [local count: 5725562]:
  # DEBUG BEGIN_STMT
  _36 = uds.length;
  if (_36 <= 2)
    goto <bb 79>; [50.00%]
  else
    goto <bb 82>; [50.00%]

  <bb 79> [local count: 2862781]:
  # DEBUG BEGIN_STMT
  uds.nrc = 19;
  goto <bb 82>; [100.00%]

  <bb 80> [local count: 11114327]:
  # DEBUG BEGIN_STMT
  if (_1 <= 15)
    goto <bb 81>; [50.00%]
  else
    goto <bb 82>; [50.00%]

  <bb 81> [local count: 5557163]:
  # DEBUG BEGIN_STMT
  uds.nrc = 17;

  <bb 82> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _37 = uds.nrc;
  if (_37 != 0)
    goto <bb 83>; [50.00%]
  else
    goto <bb 84>; [50.00%]

  <bb 83> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  _38 = uds.sid;
  uds.tx.buf[2] = _38;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = _37;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;

  <bb 84> [local count: 1073741823]:
  return;

}


uds_fail_check_no_extended (uint8_t error_code)
{
  unsigned char _1;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _1 = uds.nrc;
  if (_1 != 19)
    goto <bb 3>; [66.00%]
  else
    goto <bb 4>; [34.00%]

  <bb 3> [local count: 708669599]:
  # DEBUG D#1 => error_code_3(D)
  uds_fail_check_no_extended.part.0 ();

  <bb 4> [local count: 1073741824]:
  return;

}


uds_fail_massage (uint8_t sid, uint8_t fail_code)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = sid_4(D);
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = fail_code_6(D);
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 1;
  return;

}


uds_SID_ControlDTCSetting (uint8_t k)
{
  unsigned char _1;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  uds_tx_buf_clear ();
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 197;
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  uds.tx.buf[2] = _1;
  # DEBUG BEGIN_STMT
  if (_1 == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  uds.dtc_check_inhibit = 0;
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 708669604]:
  # DEBUG BEGIN_STMT
  if (_1 == 2)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  uds.dtc_check_inhibit = 1;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 467721938]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return 1;

}


uds_interrupt_sid_dtc ()
{
  uint8_t rp;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = uds.rx.buf[2];
  uds.dtc_type = _1;
  # DEBUG BEGIN_STMT
  _2 = uds.rx.buf[3];
  uds.dtc_mask = _2;
  # DEBUG BEGIN_STMT
  uds_tx_buf_clear ();
  # DEBUG BEGIN_STMT
  _3 = uds.dtc_type;
  if (_3 == 2)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  uds.req_dtc_1st_frame = 1;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  goto <bb 11>; [100.00%]

  <bb 4> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (_3 == 10)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  uds.req_dtc_1st_frame = 1;
  # DEBUG BEGIN_STMT
  # DEBUG rp => 0
  goto <bb 11>; [100.00%]

  <bb 6> [local count: 467721939]:
  # DEBUG BEGIN_STMT
  if (_3 == 1)
    goto <bb 7>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 7> [local count: 94666920]:
  rp_4 = uds_interrupt_sid_dtc.part.0 ();
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 373055018]:
  # DEBUG BEGIN_STMT
  if (_3 == 3)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 126838706]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 89;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 3;
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 246216312]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 18;

  <bb 11> [local count: 1073741824]:
  # rp_7 = PHI <0(3), 0(5), rp_4(7), 1(9), 1(10)>
  # DEBUG rp => rp_7
  # DEBUG BEGIN_STMT
  return rp_7;

}


uds_logic_event ()
{
  uint32_t add;
  uint8_t i;
  uint16_t n;
  unsigned char _1;
  unsigned char _2;
  signed char _4;
  short unsigned int _5;
  short unsigned int _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  unsigned char _12;
  short unsigned int _13;
  int _14;
  unsigned char _15;
  int _16;
  short unsigned int _17;
  int _18;
  unsigned char _19;
  int _20;
  unsigned char _21;
  short unsigned int _22;
  sizetype _23;
  uint8_t * _24;
  unsigned char _25;
  int _26;
  int _27;
  int _28;
  int _29;
  int _30;
  int _31;
  int _32;
  int _33;
  unsigned char _34;
  int _35;
  int _36;
  int _37;
  sizetype _38;
  uint8_t * _39;
  unsigned char _40;
  int _41;
  int _42;
  int _43;
  long unsigned int _44;
  short unsigned int _45;
  unsigned char _46;
  unsigned char _47;
  unsigned char _48;
  unsigned char _49;
  short unsigned int _50;
  short unsigned int _51;
  unsigned char _52;
  unsigned char _53;
  long unsigned int _54;
  uint8_t * _55;
  unsigned char _56;
  uint8_t * _57;
  unsigned char _58;
  uint8_t * _59;
  unsigned char _60;
  unsigned char _61;
  short unsigned int _62;
  short unsigned int _63;
  unsigned char _64;
  unsigned char _65;
  long unsigned int _66;
  uint8_t * _67;
  unsigned char _68;
  uint8_t * _69;
  unsigned char _70;
  uint8_t * _71;
  unsigned char _72;
  uint8_t * _73;
  unsigned char _74;
  int _75;
  unsigned char _76;
  unsigned char _77;
  unsigned char _78;
  unsigned char _79;
  unsigned char _80;
  unsigned char _81;
  unsigned char _82;
  short unsigned int _83;
  short unsigned int _84;
  int _85;
  uint8_t * _86;
  sizetype _87;
  uint8_t * _88;
  int _89;
  unsigned char _90;
  short unsigned int _91;
  short unsigned int _92;
  short unsigned int _93;
  unsigned char _94;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = uds.r_seed;
  _2 = _1 + 1;
  uds.r_seed = _2;
  # DEBUG BEGIN_STMT
  _4 = (signed char) _2;
  if (_4 < 0)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  uds.r_seed = 0;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _5 = uds.c_inhibut_10ms;
  if (_5 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _6 = _5 + 65535;
  uds.c_inhibut_10ms = _6;

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _7 = uds.xreq_dtc_clear;
  if (_7 != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  uds.xreq_dtc_clear = 0;
  # DEBUG BEGIN_STMT
  dtc_clear ();

  <bb 8> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _8 = uds.table_seq;
  if (_8 == 1)
    goto <bb 9>; [34.00%]
  else
    goto <bb 38>; [66.00%]

  <bb 9> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _9 = uds.table_control;
  if (_9 == 46)
    goto <bb 10>; [34.00%]
  else
    goto <bb 20>; [66.00%]

  <bb 10> [local count: 124124555]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 110;
  # DEBUG BEGIN_STMT
  _10 = uds.rx.buf[2];
  uds.tx.buf[2] = _10;
  # DEBUG BEGIN_STMT
  _11 = uds.rx.buf[3];
  uds.tx.buf[3] = _11;
  # DEBUG BEGIN_STMT
  _12 = uds.write_data_type;
  if (_12 == 13)
    goto <bb 11>; [34.00%]
  else
    goto <bb 12>; [66.00%]

  <bb 11> [local count: 42202349]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 55>; [100.00%]

  <bb 12> [local count: 81922206]:
  # DEBUG BEGIN_STMT
  if (_12 == 14)
    goto <bb 13>; [20.24%]
  else
    goto <bb 55>; [79.76%]

  <bb 13> [local count: 16581055]:
  # DEBUG BEGIN_STMT
  _13 = uds.ntable;
  _14 = (int) _13;
  _15 = uds.wait_flowcontrol;
  _16 = (int) _15;
  _17 = uds.p_data;
  _18 = (int) _17;
  _19 = uds.table_write_to;
  _20 = (int) _19;
  monprintf ("useq=%d,tbl=%d,tcon=%02x,fc=%d,wrtype=%d,pdata=%d,uds.pdata_rd=%08x,writeto=%d\n\r", 1, _14, 46, _16, 14, _18, &uds.pdata_rd, _20);
  # DEBUG BEGIN_STMT
  _21 = uds.table_write_to;
  if (_21 == 1)
    goto <bb 14>; [20.24%]
  else
    goto <bb 15>; [79.76%]

  <bb 14> [local count: 3356005]:
  # DEBUG BEGIN_STMT
  table_write (0);
  goto <bb 19>; [100.00%]

  <bb 15> [local count: 13225049]:
  # DEBUG BEGIN_STMT
  if (_21 == 2)
    goto <bb 16>; [20.24%]
  else
    goto <bb 17>; [79.76%]

  <bb 16> [local count: 2676750]:
  # DEBUG BEGIN_STMT
  table_read (0);
  goto <bb 19>; [100.00%]

  <bb 17> [local count: 10548299]:
  # DEBUG BEGIN_STMT
  if (_21 == 255)
    goto <bb 18>; [34.00%]
  else
    goto <bb 19>; [66.00%]

  <bb 18> [local count: 3586422]:
  # DEBUG BEGIN_STMT
  uds.XREQ_RESET = 1;

  <bb 19> [local count: 16581055]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 55>; [100.00%]

  <bb 20> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  if (_9 == 34)
    goto <bb 21>; [34.00%]
  else
    goto <bb 37>; [66.00%]

  <bb 21> [local count: 81922206]:
  # DEBUG BEGIN_STMT
  _22 = uds.ntable;
  if (_22 == 1280)
    goto <bb 58>; [34.00%]
  else
    goto <bb 31>; [66.00%]

  <bb 58> [local count: 27853550]:
  goto <bb 24>; [100.00%]

  <bb 22> [local count: 371421080]:
  # DEBUG BEGIN_STMT
  _23 = (sizetype) i_98;
  _24 = &AppVersion + _23;
  _25 = *_24;
  if (_25 <= 31)
    goto <bb 25>; [5.50%]
  else
    goto <bb 23>; [94.50%]

  <bb 23> [local count: 350992920]:
  # DEBUG BEGIN_STMT
  n_172 = n_95 + 1;
  # DEBUG n => n_172
  _26 = (int) n_95;
  uds.data[_26] = _25;
  # DEBUG BEGIN_STMT
  i_174 = i_98 + 1;
  # DEBUG i => i_174

  <bb 24> [local count: 378846471]:
  # n_95 = PHI <n_172(23), 0(58)>
  # i_98 = PHI <i_174(23), 0(58)>
  # DEBUG p => NULL
  # DEBUG i => i_98
  # DEBUG n => n_95
  # DEBUG BEGIN_STMT
  if (i_98 != 50)
    goto <bb 22>; [98.04%]
  else
    goto <bb 25>; [1.96%]

  <bb 25> [local count: 27853550]:
  # n_3 = PHI <n_95(22), n_95(24)>
  # DEBUG BEGIN_STMT
  n_175 = n_3 + 1;
  # DEBUG n => n_175
  _27 = (int) n_3;
  uds.data[_27] = 44;
  # DEBUG BEGIN_STMT
  n_177 = n_3 + 2;
  # DEBUG n => n_177
  _28 = (int) n_175;
  uds.data[_28] = 66;
  # DEBUG BEGIN_STMT
  n_179 = n_3 + 3;
  # DEBUG n => n_179
  _29 = (int) n_177;
  uds.data[_29] = 79;
  # DEBUG BEGIN_STMT
  n_181 = n_3 + 4;
  # DEBUG n => n_181
  _30 = (int) n_179;
  uds.data[_30] = 79;
  # DEBUG BEGIN_STMT
  n_183 = n_3 + 5;
  # DEBUG n => n_183
  _31 = (int) n_181;
  uds.data[_31] = 84;
  # DEBUG BEGIN_STMT
  n_185 = n_3 + 6;
  # DEBUG n => n_185
  _32 = (int) n_183;
  uds.data[_32] = 86;
  # DEBUG BEGIN_STMT
  n_187 = n_3 + 7;
  # DEBUG n => n_187
  _33 = (int) n_185;
  uds.data[_33] = 58;
  # DEBUG BEGIN_STMT
  # DEBUG p => 4198432B
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  # DEBUG BEGIN_STMT
  _34 = MEM[(uint8_t *)4198432B];
  if (_34 != 66)
    goto <bb 26>; [66.00%]
  else
    goto <bb 57>; [34.00%]

  <bb 57> [local count: 9470207]:
  goto <bb 29>; [100.00%]

  <bb 26> [local count: 18383343]:
  # DEBUG BEGIN_STMT
  n_192 = n_3 + 8;
  # DEBUG n => n_192
  _35 = (int) n_187;
  uds.data[_35] = 78;
  # DEBUG BEGIN_STMT
  n_194 = n_3 + 9;
  # DEBUG n => n_194
  _36 = (int) n_192;
  uds.data[_36] = 48;
  # DEBUG BEGIN_STMT
  n_196 = n_3 + 10;
  # DEBUG n => n_196
  _37 = (int) n_194;
  uds.data[_37] = 32;
  goto <bb 30>; [100.00%]

  <bb 27> [local count: 99642756]:
  # DEBUG BEGIN_STMT
  _38 = (sizetype) i_99;
  _39 = 4198432B + _38;
  _40 = *_39;
  if (_40 <= 31)
    goto <bb 30>; [5.50%]
  else
    goto <bb 28>; [94.50%]

  <bb 28> [local count: 94162404]:
  # DEBUG BEGIN_STMT
  n_189 = n_96 + 1;
  # DEBUG n => n_189
  _41 = (int) n_96;
  uds.data[_41] = _40;
  # DEBUG BEGIN_STMT
  i_191 = i_99 + 1;
  # DEBUG i => i_191

  <bb 29> [local count: 103632611]:
  # n_96 = PHI <n_189(28), n_187(57)>
  # i_99 = PHI <i_191(28), 0(57)>
  # DEBUG i => i_99
  # DEBUG n => n_96
  # DEBUG BEGIN_STMT
  if (i_99 != 25)
    goto <bb 27>; [96.15%]
  else
    goto <bb 30>; [3.85%]

  <bb 30> [local count: 27853550]:
  # n_97 = PHI <n_196(26), n_96(27), n_96(29)>
  # DEBUG n => n_97
  # DEBUG BEGIN_STMT
  n_198 = n_97 + 1;
  # DEBUG n => n_198
  _42 = (int) n_97;
  uds.data[_42] = 0;
  # DEBUG BEGIN_STMT
  add_200 = (uint32_t) &uds.data[0];
  # DEBUG add => add_200
  # DEBUG BEGIN_STMT
  uds_send_data_set (1280, n_198, add_200);
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 55>; [100.00%]

  <bb 31> [local count: 54068656]:
  # DEBUG BEGIN_STMT
  _43 = (int) _22;
  _44 = EEP_ADDR_TABLE[_43][2];
  n_133 = (uint16_t) _44;
  # DEBUG n => n_133
  # DEBUG BEGIN_STMT
  n_134 = n_133 + 3;
  # DEBUG n => n_134
  # DEBUG BEGIN_STMT
  if (n_134 > 7)
    goto <bb 32>; [33.00%]
  else
    goto <bb 33>; [67.00%]

  <bb 32> [local count: 17842656]:
  # DEBUG BEGIN_STMT
  _45 = n_134 >> 8;
  _46 = (unsigned char) _45;
  _47 = _46 & 15;
  # DEBUG BEGIN_STMT
  _48 = _47 | 16;
  uds.tx.buf[0] = _48;
  # DEBUG BEGIN_STMT
  _49 = (unsigned char) n_134;
  uds.tx.buf[1] = _49;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 98;
  # DEBUG BEGIN_STMT
  _50 = uds.ntable_did;
  _51 = _50 >> 8;
  _52 = (unsigned char) _51;
  uds.tx.buf[3] = _52;
  # DEBUG BEGIN_STMT
  _53 = (unsigned char) _50;
  uds.tx.buf[4] = _53;
  # DEBUG BEGIN_STMT
  _54 = EEP_ADDR_TABLE[_43][3];
  _55 = (uint8_t *) _54;
  uds.pdata_rd = _55;
  # DEBUG BEGIN_STMT
  uds.tx_len = n_133;
  # DEBUG BEGIN_STMT
  uds.p_data = 0;
  # DEBUG BEGIN_STMT
  _56 = *_55;
  uds.tx.buf[5] = _56;
  # DEBUG BEGIN_STMT
  uds.p_data = 1;
  # DEBUG BEGIN_STMT
  _57 = _55 + 1;
  _58 = *_57;
  uds.tx.buf[6] = _58;
  # DEBUG BEGIN_STMT
  uds.p_data = 2;
  # DEBUG BEGIN_STMT
  _59 = _55 + 2;
  _60 = *_59;
  uds.tx.buf[7] = _60;
  # DEBUG BEGIN_STMT
  uds.p_data = 3;
  # DEBUG BEGIN_STMT
  set_wait_flow_control ();
  # DEBUG BEGIN_STMT
  uds.c_wait_flowcontrol_10ms = 50;
  # DEBUG BEGIN_STMT
  uds.table_seq = 2;
  # DEBUG BEGIN_STMT
  uds.data_send_seq = 33;
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 55>; [100.00%]

  <bb 33> [local count: 36226000]:
  # DEBUG BEGIN_STMT
  _61 = (unsigned char) n_134;
  uds.tx.buf[0] = _61;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 98;
  # DEBUG BEGIN_STMT
  _62 = uds.ntable_did;
  _63 = _62 >> 8;
  _64 = (unsigned char) _63;
  uds.tx.buf[2] = _64;
  # DEBUG BEGIN_STMT
  _65 = (unsigned char) _62;
  uds.tx.buf[3] = _65;
  # DEBUG BEGIN_STMT
  _66 = EEP_ADDR_TABLE[_43][3];
  _67 = (uint8_t *) _66;
  uds.pdata_rd = _67;
  # DEBUG BEGIN_STMT
  uds.tx_len = n_133;
  # DEBUG BEGIN_STMT
  uds.p_data = 0;
  # DEBUG BEGIN_STMT
  _68 = *_67;
  uds.tx.buf[4] = _68;
  # DEBUG BEGIN_STMT
  uds.p_data = 1;
  # DEBUG BEGIN_STMT
  _69 = _67 + 1;
  _70 = *_69;
  uds.tx.buf[5] = _70;
  # DEBUG BEGIN_STMT
  uds.p_data = 2;
  # DEBUG BEGIN_STMT
  _71 = _67 + 2;
  _72 = *_71;
  uds.tx.buf[6] = _72;
  # DEBUG BEGIN_STMT
  uds.p_data = 3;
  # DEBUG BEGIN_STMT
  _73 = _67 + 3;
  _74 = *_73;
  uds.tx.buf[7] = _74;
  # DEBUG BEGIN_STMT
  uds.p_data = 4;
  # DEBUG BEGIN_STMT
  i_150 = _61 + 1;
  # DEBUG i => i_150
  goto <bb 35>; [100.00%]

  <bb 34> [local count: 293101270]:
  # DEBUG BEGIN_STMT
  _75 = (int) i_100;
  uds.tx.buf[_75] = 0;
  # DEBUG BEGIN_STMT
  i_153 = i_100 + 1;
  # DEBUG i => i_153

  <bb 35> [local count: 329327270]:
  # i_100 = PHI <i_150(33), i_153(34)>
  # DEBUG i => i_100
  # DEBUG BEGIN_STMT
  if (i_100 <= 7)
    goto <bb 34>; [89.00%]
  else
    goto <bb 36>; [11.00%]

  <bb 36> [local count: 36226000]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 55>; [100.00%]

  <bb 37> [local count: 159025459]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT
  goto <bb 55>; [100.00%]

  <bb 38> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (_8 == 2)
    goto <bb 39>; [34.00%]
  else
    goto <bb 56>; [66.00%]

  <bb 39> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  _76 = uds.wait_flowcontrol;
  if (_76 != 0)
    goto <bb 56>; [34.00%]
  else
    goto <bb 40>; [66.00%]

  <bb 40> [local count: 159025459]:
  # DEBUG BEGIN_STMT
  _77 = uds.table_control;
  if (_77 == 34)
    goto <bb 41>; [34.00%]
  else
    goto <bb 55>; [66.00%]

  <bb 41> [local count: 54068656]:
  # DEBUG BEGIN_STMT
  _78 = uds.c_flow_control_ms;
  if (_78 <= 1)
    goto <bb 42>; [41.00%]
  else
    goto <bb 43>; [59.00%]

  <bb 42> [local count: 22168149]:
  # DEBUG BEGIN_STMT
  uds.c_flow_control_ms = 0;
  goto <bb 44>; [100.00%]

  <bb 43> [local count: 31900507]:
  # DEBUG BEGIN_STMT
  _79 = _78 + 254;
  uds.c_flow_control_ms = _79;

  <bb 44> [local count: 54068656]:
  # DEBUG BEGIN_STMT
  _80 = uds.c_flow_control_ms;
  if (_80 != 0)
    goto <bb 56>; [34.00%]
  else
    goto <bb 45>; [66.00%]

  <bb 45> [local count: 35685313]:
  # DEBUG BEGIN_STMT
  _81 = uds.flow_control_ms;
  uds.c_flow_control_ms = _81;
  # DEBUG BEGIN_STMT
  _82 = uds.data_send_seq;
  uds.tx.buf[0] = _82;
  # DEBUG BEGIN_STMT
  # DEBUG i => 1
  goto <bb 50>; [100.00%]

  <bb 46> [local count: 249797191]:
  # DEBUG BEGIN_STMT
  _83 = uds.p_data;
  _84 = uds.tx_len;
  if (_83 >= _84)
    goto <bb 47>; [50.00%]
  else
    goto <bb 48>; [50.00%]

  <bb 47> [local count: 124898595]:
  # DEBUG BEGIN_STMT
  _85 = (int) i_101;
  uds.tx.buf[_85] = 46;
  goto <bb 49>; [100.00%]

  <bb 48> [local count: 124898595]:
  # DEBUG BEGIN_STMT
  _86 = uds.pdata_rd;
  _87 = (sizetype) _83;
  _88 = _86 + _87;
  _89 = (int) i_101;
  _90 = *_88;
  uds.tx.buf[_89] = _90;

  <bb 49> [local count: 249797191]:
  # DEBUG BEGIN_STMT
  _91 = _83 + 1;
  uds.p_data = _91;
  # DEBUG BEGIN_STMT
  i_131 = i_101 + 1;
  # DEBUG i => i_131

  <bb 50> [local count: 285482504]:
  # i_101 = PHI <1(45), i_131(49)>
  # DEBUG i => i_101
  # DEBUG BEGIN_STMT
  if (i_101 != 8)
    goto <bb 46>; [87.50%]
  else
    goto <bb 51>; [12.50%]

  <bb 51> [local count: 35685313]:
  # DEBUG BEGIN_STMT
  _92 = uds.p_data;
  _93 = uds.tx_len;
  if (_92 >= _93)
    goto <bb 52>; [50.00%]
  else
    goto <bb 53>; [50.00%]

  <bb 52> [local count: 17842657]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;

  <bb 53> [local count: 35685313]:
  # DEBUG BEGIN_STMT
  _94 = _82 + 1;
  uds.data_send_seq = _94;
  # DEBUG BEGIN_STMT
  if (_94 > 47)
    goto <bb 54>; [50.00%]
  else
    goto <bb 55>; [50.00%]

  <bb 54> [local count: 17842657]:
  # DEBUG BEGIN_STMT
  uds.data_send_seq = 33;
  # DEBUG rp => 1
  # DEBUG BEGIN_STMT

  <bb 55> [local count: 505714336]:
  # DEBUG rp => NULL
  # DEBUG BEGIN_STMT
  uds.tx.xreq_send = 1;
  # DEBUG BEGIN_STMT
  uds.timeout = 501;

  <bb 56> [local count: 1073741824]:
  # DEBUG rp => NULL
  return;

}


uds_send_data_set (uint16_t did, uint16_t size, uint32_t address)
{
  uint16_t n;
  short unsigned int _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  short unsigned int _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  uint8_t * address.4_9;
  unsigned char _10;
  uint8_t * _11;
  unsigned char _12;
  uint8_t * _13;
  unsigned char _14;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG n => size_15(D)
  # DEBUG BEGIN_STMT
  n_16 = size_15(D) + 3;
  # DEBUG n => n_16
  # DEBUG BEGIN_STMT
  n_18 = MIN_EXPR <4095, n_16>;
  # DEBUG n => n_18
  # DEBUG BEGIN_STMT
  _1 = n_18 >> 8;
  _2 = (unsigned char) _1;
  # DEBUG BEGIN_STMT
  _3 = _2 | 16;
  uds.tx.buf[0] = _3;
  # DEBUG BEGIN_STMT
  _4 = (unsigned char) n_18;
  uds.tx.buf[1] = _4;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 98;
  # DEBUG BEGIN_STMT
  _5 = did_22(D) >> 8;
  _6 = (unsigned char) _5;
  _7 = _6 | 240;
  uds.tx.buf[3] = _7;
  # DEBUG BEGIN_STMT
  _8 = (unsigned char) did_22(D);
  uds.tx.buf[4] = _8;
  # DEBUG BEGIN_STMT
  address.4_9 = (uint8_t *) address_25(D);
  uds.pdata_rd = address.4_9;
  # DEBUG BEGIN_STMT
  uds.tx_len = size_15(D);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.p_data = 1;
  _10 = *address.4_9;
  uds.tx.buf[5] = _10;
  # DEBUG BEGIN_STMT
  uds.p_data = 2;
  _11 = address.4_9 + 1;
  _12 = *_11;
  uds.tx.buf[6] = _12;
  # DEBUG BEGIN_STMT
  uds.p_data = 3;
  _13 = address.4_9 + 2;
  _14 = *_13;
  uds.tx.buf[7] = _14;
  # DEBUG BEGIN_STMT
  set_wait_flow_control ();
  # DEBUG BEGIN_STMT
  uds.table_seq = 2;
  # DEBUG BEGIN_STMT
  uds.data_send_seq = 33;
  return;

}


uds_tx_buf_clear ()
{
  uint8_t i;

  <bb 2> [local count: 119292716]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 954449108]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 0;
  # DEBUG BEGIN_STMT
  i_5 = i_1 + 1;
  # DEBUG i => i_5

  <bb 4> [local count: 1073741824]:
  # i_1 = PHI <0(2), i_5(3)>
  # DEBUG i => i_1
  # DEBUG BEGIN_STMT
  if (i_1 != 8)
    goto <bb 3>; [88.89%]
  else
    goto <bb 5>; [11.11%]

  <bb 5> [local count: 119292717]:
  return;

}


set_dtc_1st_frame (uint8_t type)
{
  uint16_t len;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  short unsigned int _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  unsigned char _12;
  unsigned char _13;
  unsigned char _14;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  len_19 = dtc_send_table_set (type_17(D));
  # DEBUG len => len_19
  # DEBUG BEGIN_STMT
  len_20 = len_19 + 3;
  # DEBUG len => len_20
  # DEBUG BEGIN_STMT
  if (len_20 <= 7)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _1 = (unsigned char) len_20;
  uds.tx.buf[0] = _1;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 89;
  # DEBUG BEGIN_STMT
  _2 = uds.dtc_type;
  uds.tx.buf[2] = _2;
  # DEBUG BEGIN_STMT
  uds.tx.buf[3] = 255;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.pdata_rd = &TABLE_DTC_SEND;
  # DEBUG BEGIN_STMT
  _3 = MEM[(uint8_t *)&TABLE_DTC_SEND];
  uds.tx.buf[4] = _3;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 = MEM[(uint8_t *)&TABLE_DTC_SEND + 1B];
  uds.tx.buf[5] = _4;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = MEM[(uint8_t *)&TABLE_DTC_SEND + 2B];
  uds.tx.buf[6] = _5;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = MEM[(uint8_t *)&TABLE_DTC_SEND + 3B];
  uds.tx.buf[7] = _6;
  # DEBUG BEGIN_STMT
  uds.p_data = 4;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.tx_len = len_20;
  # DEBUG BEGIN_STMT
  _7 = len_20 >> 8;
  _8 = (unsigned char) _7;
  # DEBUG BEGIN_STMT
  _9 = _8 | 16;
  uds.tx.buf[0] = _9;
  # DEBUG BEGIN_STMT
  _10 = (unsigned char) len_20;
  uds.tx.buf[1] = _10;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 89;
  # DEBUG BEGIN_STMT
  _11 = uds.dtc_type;
  uds.tx.buf[3] = _11;
  # DEBUG BEGIN_STMT
  uds.tx.buf[4] = 255;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.pdata_rd = &TABLE_DTC_SEND;
  # DEBUG BEGIN_STMT
  _12 = MEM[(uint8_t *)&TABLE_DTC_SEND];
  uds.tx.buf[5] = _12;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _13 = MEM[(uint8_t *)&TABLE_DTC_SEND + 1B];
  uds.tx.buf[6] = _13;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _14 = MEM[(uint8_t *)&TABLE_DTC_SEND + 2B];
  uds.tx.buf[7] = _14;
  # DEBUG BEGIN_STMT
  uds.p_data = 3;
  # DEBUG BEGIN_STMT
  uds.wait_flowcontrol = 1;
  # DEBUG BEGIN_STMT
  uds.table_seq = 2;
  # DEBUG BEGIN_STMT
  uds.data_send_seq = 33;
  # DEBUG BEGIN_STMT
  uds.table_control = 34;

  <bb 5> [local count: 1073741824]:
  return;

}


set_wait_flow_control ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.wait_flowcontrol = 1;
  # DEBUG BEGIN_STMT
  uds.c_wait_flowcontrol_10ms = 11;
  return;

}


set_flow_control ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 48;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 0;
  # DEBUG BEGIN_STMT
  uds.tx.buf[2] = 10;
  # DEBUG BEGIN_STMT
  uds.c_wait_cf_10ms = 13;
  return;

}


uds_table_receve_finish (uint8_t print)
{
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  short unsigned int _5;
  short unsigned int _6;
  unsigned char _7;
  unsigned char _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG BEGIN_STMT
  _1 = uds.write_data_type;
  if (_1 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  _2 = uds.table_control;
  _3 = _2 | 64;
  uds.tx.buf[1] = _3;
  # DEBUG BEGIN_STMT
  uds.ntable_did = 0;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[0] = 3;
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 110;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _4 = uds.response_to_negetive;
  if (_4 == 1)
    goto <bb 6>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 6> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  uds.tx.buf[1] = 127;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _5 = uds.ntable_did;
  _6 = _5 >> 8;
  _7 = (unsigned char) _6;
  uds.tx.buf[2] = _7;
  # DEBUG BEGIN_STMT
  _8 = (unsigned char) _5;
  uds.tx.buf[3] = _8;
  # DEBUG BEGIN_STMT
  uds.tx.buf[4] = 0;
  # DEBUG BEGIN_STMT
  uds.tx.buf[5] = 0;
  # DEBUG BEGIN_STMT
  uds.tx.buf[6] = 0;
  # DEBUG BEGIN_STMT
  uds.tx.buf[7] = 0;
  return;

}


uds_init ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.x2ms = 0;
  # DEBUG BEGIN_STMT
  uds.c_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.ndata = 0;
  # DEBUG BEGIN_STMT
  uds.address = 0;
  # DEBUG BEGIN_STMT
  uds.start_address = 0;
  # DEBUG BEGIN_STMT
  uds.ndata_pre_packet = 0;
  # DEBUG BEGIN_STMT
  uds.timeout = 0;
  # DEBUG BEGIN_STMT
  uds.flow_control_ms = 0;
  # DEBUG BEGIN_STMT
  uds.c_flow_control_ms = 0;
  # DEBUG BEGIN_STMT
  uds.wait_flowcontrol = 0;
  # DEBUG BEGIN_STMT
  uds.c_wait_flowcontrol_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.c_wait_cf_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.seq = 0;
  # DEBUG BEGIN_STMT
  uds.frame_len = 0;
  # DEBUG BEGIN_STMT
  uds.ntable = 0;
  # DEBUG BEGIN_STMT
  uds.ntable_did = 0;
  # DEBUG BEGIN_STMT
  uds.p_data = 0;
  # DEBUG BEGIN_STMT
  uds.tx_len = 0;
  # DEBUG BEGIN_STMT
  uds.table_control = 0;
  # DEBUG BEGIN_STMT
  uds.table_write_to = 0;
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG BEGIN_STMT
  uds.consecutive_rx_num = 0;
  # DEBUG BEGIN_STMT
  uds.data_send_seq = 0;
  # DEBUG BEGIN_STMT
  uds.response_to_negetive = 0;
  # DEBUG BEGIN_STMT
  uds.xreq_dtc_clear = 0;
  # DEBUG BEGIN_STMT
  uds.xreq_eep_write_did = 0;
  # DEBUG BEGIN_STMT
  uds.xreq_table_snap_short_write = 0;
  # DEBUG BEGIN_STMT
  uds.bootloader_update = 0;
  # DEBUG BEGIN_STMT
  uds.wait_key = 0;
  # DEBUG BEGIN_STMT
  uds.ReadDataByPeriodicIdentifier_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.c_ReadDataByPeriodicIdentifier_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.c_inhibut_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.XUPDTE_FLASH = 0;
  # DEBUG BEGIN_STMT
  uds.XREQ_UDS_RESET = 0;
  # DEBUG BEGIN_STMT
  uds.XREQ_RESET = 0;
  # DEBUG BEGIN_STMT
  uds.XINIT_TABLE = 0;
  # DEBUG BEGIN_STMT
  uds.c_log_send = 0;
  # DEBUG BEGIN_STMT
  uds.eep_status = 0;
  # DEBUG BEGIN_STMT
  uds.rom_access_level = 0;
  # DEBUG BEGIN_STMT
  uds.group_of_dtc = 0;
  # DEBUG BEGIN_STMT
  uds.dtc_check_inhibit = 0;
  # DEBUG BEGIN_STMT
  uds.nrc = 0;
  # DEBUG BEGIN_STMT
  uds.consecutive_length_fail = 0;
  # DEBUG BEGIN_STMT
  uds.disable_rx_tx = 0;
  # DEBUG BEGIN_STMT
  uds.c_timeout_session_10ms = 0;
  # DEBUG BEGIN_STMT
  uds.c_dtc_event = 0;
  # DEBUG BEGIN_STMT
  uds.monitor_mode = 0;
  # DEBUG BEGIN_STMT
  uds.session = 1;
  # DEBUG BEGIN_STMT
  uds.program_type = 0;
  # DEBUG BEGIN_STMT
  uds.tx.id = 2008;
  # DEBUG BEGIN_STMT
  uds.rx.id = 2000;
  # DEBUG BEGIN_STMT
  uds.tx.length = 8;
  # DEBUG BEGIN_STMT
  uds.init = 1;
  # DEBUG BEGIN_STMT
  uds.r_seed = 35;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uds.tx_id = 2008;
  # DEBUG BEGIN_STMT
  uds.rx_id = 2000;
  # DEBUG BEGIN_STMT
  return;

}


uds_wait ()
{
  static uint8_t c_1ms = 0;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char c_1ms.1_6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  short unsigned int _12;
  short unsigned int _13;
  unsigned char _14;
  unsigned char _15;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = uds.init;
  if (_1 == 0)
    goto <bb 3>; [20.24%]
  else
    goto <bb 4>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  uds_init ();
  # DEBUG BEGIN_STMT
  OutStr ("uds_init\n\r");
  # DEBUG BEGIN_STMT
  goto <bb 17>; [100.00%]

  <bb 4> [local count: 856416480]:
  # DEBUG BEGIN_STMT
  _2 = uds.x2ms;
  if (_2 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 5> [local count: 428208240]:
  # DEBUG BEGIN_STMT
  uds.x2ms = 0;
  # DEBUG BEGIN_STMT
  _3 = uds.req_dtc_1st_frame;
  if (_3 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 141308719]:
  # DEBUG BEGIN_STMT
  uds.req_dtc_1st_frame = 0;
  # DEBUG BEGIN_STMT
  _4 = uds.dtc_type;
  set_dtc_1st_frame (_4);
  # DEBUG BEGIN_STMT
  uds.tx.xreq_send = 1;

  <bb 7> [local count: 428208239]:
  # DEBUG BEGIN_STMT
  _5 = uds.tx.xreq_send;
  if (_5 != 0)
    goto <bb 8>; [20.24%]
  else
    goto <bb 9>; [79.76%]

  <bb 8> [local count: 86669348]:
  # DEBUG BEGIN_STMT
  uds.timeout = 501;
  # DEBUG BEGIN_STMT
  send_uds_tx ();
  # DEBUG BEGIN_STMT
  goto <bb 17>; [100.00%]

  <bb 9> [local count: 341538892]:
  # DEBUG BEGIN_STMT
  c_1ms.1_6 = c_1ms;
  _7 = c_1ms.1_6 + 1;
  c_1ms = _7;
  if (_7 > 2)
    goto <bb 10>; [48.88%]
  else
    goto <bb 17>; [51.12%]

  <bb 10> [local count: 166944210]:
  # DEBUG BEGIN_STMT
  c_1ms = 0;
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY uds_2ms
  # DEBUG BEGIN_STMT
  uds_logic_event ();
  # DEBUG BEGIN_STMT
  _8 = uds.c_10ms;
  _9 = _8 + 1;
  uds.c_10ms = _9;
  # DEBUG BEGIN_STMT
  _10 = uds.r_seed;
  _11 = _10 + 1;
  uds.r_seed = _11;
  # DEBUG BEGIN_STMT
  if (_9 > 4)
    goto <bb 11>; [33.00%]
  else
    goto <bb 13>; [67.00%]

  <bb 11> [local count: 55091589]:
  # DEBUG BEGIN_STMT
  uds.c_10ms = 0;
  # DEBUG BEGIN_STMT
  uds_10ms ();
  # DEBUG BEGIN_STMT
  _12 = uds.c_test;
  _13 = _12 + 1;
  uds.c_test = _13;
  if (_12 > 199)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 27545795]:
  # DEBUG BEGIN_STMT
  uds.c_test = 0;

  <bb 13> [local count: 595152452]:
  # DEBUG BEGIN_STMT
  _14 = uds.XREQ_UDS_RESET;
  if (_14 != 0)
    goto <bb 14>; [0.04%]
  else
    goto <bb 15>; [99.96%]

  <bb 14> [local count: 238061]:
  # DEBUG BEGIN_STMT
  goto_reset ();

  <bb 15> [local count: 594914391]:
  # DEBUG BEGIN_STMT
  _15 = uds.XREQ_RESET;
  if (_15 != 0)
    goto <bb 16>; [0.04%]
  else
    goto <bb 17>; [99.96%]

  <bb 16> [local count: 237966]:
  # DEBUG BEGIN_STMT
  goto_reset ();

  <bb 17> [local count: 1073265799]:
  return;

}


clear_uds_tx_buf ()
{
  uint8_t i;
  int _1;

  <bb 2> [local count: 119292716]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 954449108]:
  # DEBUG BEGIN_STMT
  _1 = (int) i_2;
  uds.tx.buf[_1] = 0;
  # DEBUG BEGIN_STMT
  i_6 = i_2 + 1;
  # DEBUG i => i_6

  <bb 4> [local count: 1073741824]:
  # i_2 = PHI <0(2), i_6(3)>
  # DEBUG i => i_2
  # DEBUG BEGIN_STMT
  if (i_2 != 8)
    goto <bb 3>; [88.89%]
  else
    goto <bb 5>; [11.11%]

  <bb 5> [local count: 119292717]:
  return;

}


send_uds_tx ()
{
  long unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds.c_monitor_inhibit_10ms = 3;
  # DEBUG BEGIN_STMT
  _1 = uds.tx.id;
  can_send_txring (0, _1, &uds.tx.buf, 8);
  # DEBUG BEGIN_STMT
  uds.tx.xreq_send = 0;
  return;

}


uds_can_TxData (uint32_t index, uint32_t id, uint8_t ide, uint8_t dlc, uint8_t * data)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


uds_timer_interrupt ()
{
  unsigned char _1;
  unsigned char _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.x2ms;
  _2 = _1 + 1;
  uds.x2ms = _2;
  return;

}


uds_2ms ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  uds_logic_event ();
  return;

}


uds_10ms ()
{
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  unsigned char _7;
  short unsigned int _8;
  short unsigned int _9;
  unsigned char _10;
  unsigned char _11;
  unsigned char _12;
  short unsigned int _13;
  short unsigned int _14;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.c_1000ms;
  _2 = _1 + 1;
  uds.c_1000ms = _2;
  if (_1 > 100)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  uds.c_1000ms = 0;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = uds.c_wait_flowcontrol_10ms;
  if (_3 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _4 = _3 + 255;
  uds.c_wait_flowcontrol_10ms = _4;
  # DEBUG BEGIN_STMT
  if (_4 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  uds.wait_flowcontrol = 0;
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _5 = uds.c_wait_cf_10ms;
  if (_5 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 8> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _6 = _5 + 255;
  uds.c_wait_cf_10ms = _6;
  # DEBUG BEGIN_STMT
  if (_6 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 9> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _7 = uds.table_seq;
  if (_7 == 3)
    goto <bb 10>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 10> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;

  <bb 11> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _8 = uds.c_timeout_session_10ms;
  if (_8 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 12> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _9 = _8 + 65535;
  uds.c_timeout_session_10ms = _9;
  # DEBUG BEGIN_STMT
  if (_9 == 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  uds.session = 1;
  # DEBUG BEGIN_STMT
  uds.rom_access_level = 0;
  # DEBUG BEGIN_STMT
  uds.wait_key = 0;

  <bb 14> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _10 = uds.r_seed;
  _11 = _10 + 1;
  uds.r_seed = _11;
  # DEBUG BEGIN_STMT
  dtc_control ();
  # DEBUG BEGIN_STMT
  _12 = uds.xreq_eep_write_did;
  if (_12 != 0)
    goto <bb 15>; [33.00%]
  else
    goto <bb 16>; [67.00%]

  <bb 15> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  uds.xreq_eep_write_did = 0;
  # DEBUG BEGIN_STMT
  table_write (0);

  <bb 16> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _13 = uds.timeout;
  if (_13 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 17> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _14 = _13 + 65535;
  uds.timeout = _14;
  # DEBUG BEGIN_STMT
  if (_14 == 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 18> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  uds.table_seq = 0;
  # DEBUG BEGIN_STMT
  uds.wait_flowcontrol = 0;
  # DEBUG BEGIN_STMT
  uds.bootloader_update = 0;
  # DEBUG BEGIN_STMT
  uds.wait_key = 0;
  # DEBUG BEGIN_STMT
  uds.disable_rx_tx = 0;

  <bb 19> [local count: 1073741824]:
  return;

}


avoid_empty_block ()
{
  unsigned char _1;
  unsigned char _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = uds.avoid_empty;
  _2 = _1 + 1;
  uds.avoid_empty = _2;
  return;

}


