user: Please show me the C implementation that matches the assembly code listed below:

```asm
<ipmi_lan_usage>:
  endbr64
  push   %r13
  mov    $0x5,%edi
  lea    D80(%rip),%r13
  push   %r12
  lea    D50(%rip),%r12
  push   %rbp
  lea    D63(%rip),%rbp
  mov    %rbp,%rsi
  call   <lprintf@plt>
  lea    D141(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D150(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %r13,%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D24(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D78(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D104(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D118(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %r12,%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D139(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D75(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %rbp,%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D165(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %r13,%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D131(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D157(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D72(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D27(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %r12,%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D187(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D36(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %rbp,%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D124(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  lea    D133(%rip),%rsi
  mov    $0x5,%edi
  call   <lprintf@plt>
  mov    %rbp,%rsi
  mov    $0x5,%edi
  pop    %rbp
  pop    %r12
  pop    %r13
  jmp    1050 <lprintf@plt>
```

tool_calls: name: parse_data
arguments: tag: D80
data_type: string
name: parse_data
arguments: tag: D50
data_type: string
name: parse_data
arguments: tag: D63
data_type: string
name: parse_data
arguments: tag: D141
data_type: string
name: parse_data
arguments: tag: D150
data_type: string
name: parse_data
arguments: tag: D24
data_type: string
name: parse_data
arguments: tag: D78
data_type: string
name: parse_data
arguments: tag: D104
data_type: string
name: parse_data
arguments: tag: D118
data_type: string
name: parse_data
arguments: tag: D139
data_type: string
name: parse_data
arguments: tag: D75
data_type: string
name: parse_data
arguments: tag: D165
data_type: string
name: parse_data
arguments: tag: D131
data_type: string
name: parse_data
arguments: tag: D157
data_type: string
name: parse_data
arguments: tag: D72
data_type: string
name: parse_data
arguments: tag: D27
data_type: string
name: parse_data
arguments: tag: D187
data_type: string
name: parse_data
arguments: tag: D36
data_type: string
name: parse_data
arguments: tag: D124
data_type: string
name: parse_data
arguments: tag: D133
data_type: string

tool: D80:           on iDRAC12g :

tool: D50:           on other systems :

tool: 

tool: D141:    lan set <Mode> 

tool: D150:       sets the NIC Selection Mode :

tool: D24:               dedicated, shared with lom1, shared with lom2,shared with lom3,shared 

tool: D78:               with lom4,shared with failover lom1,shared with failover lom2,shared 

tool: D104:               with failover lom3,shared with failoverlom4,shared with Failover all 

tool: D118:               loms, shared with Failover None).

tool: D139:               dedicated, shared, shared with failoverlom2,

tool: D75:               shared with Failover all loms.

tool: D165:    lan get 

tool: D131:               returns the current NIC Selection Mode (dedicated, shared with lom1, shared 

tool: D157:               with lom2, shared with lom3, shared with lom4,shared with failover lom1,

tool: D72:               shared with failover lom2,shared with failover lom3,shared with failover 

tool: D27:               lom4,shared with Failover all loms,shared with Failover None).

tool: D187:               dedicated, shared, shared with failover,

tool: D36:               lom2, shared with Failover all loms.

tool: D124:    lan get active

tool: D133:       Get the current active LOMs (LOM1, LOM2, LOM3, LOM4, NONE).

assistant: ```c
void ipmi_lan_usage(void) {
  lprintf(5, "");
  lprintf(5, "   lan set <Mode> ");
  lprintf(5, "      sets the NIC Selection Mode :");
  lprintf(5, "          on iDRAC12g :");
  lprintf(5, "              dedicated, shared with lom1, shared with lom2,shared with lom3,shared ");
  lprintf(5, "              with lom4,shared with failover lom1,shared with failover lom2,shared ");
  lprintf(5, "              with failover lom3,shared with failoverlom4,shared with Failover all ");
  lprintf(5, "              loms, shared with Failover None).");
  lprintf(5, "          on other systems :");
  lprintf(5, "              dedicated, shared, shared with failoverlom2,");
  lprintf(5, "              shared with Failover all loms.");
  lprintf(5, "");
  lprintf(5, "   lan get ");
  lprintf(5, "          on iDRAC12g :");
  lprintf(5, "              returns the current NIC Selection Mode (dedicated, shared with lom1, shared ");
  lprintf(5, "              with lom2, shared with lom3, shared with lom4,shared with failover lom1,");
  lprintf(5, "              shared with failover lom2,shared with failover lom3,shared with failover ");
  lprintf(5, "              lom4,shared with Failover all loms,shared with Failover None).");
  lprintf(5, "          on other systems :");
  lprintf(5, "              dedicated, shared, shared with failover,");
  lprintf(5, "              lom2, shared with Failover all loms.");
  lprintf(5, "");
  lprintf(5, "   lan get active");
  lprintf(5, "      Get the current active LOMs (LOM1, LOM2, LOM3, LOM4, NONE).");
  lprintf(5, "");
}
```