#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int /*<<< orphan*/ infname;

/* Variables and functions */
int /*<<< orphan*/ bin2h(char *, char *, char *);
int /*<<< orphan*/ exit(int /*<<< orphan*/);
scalar_t__ getenv(char *);
int /*<<< orphan*/ memcpy(char *, char *, int);
int /*<<< orphan*/ memset(char *, int /*<<< orphan*/, int);
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ strcat(char *, char *);
int strlen(char *);
scalar_t__ strncmp(char *, char *, int);
char *strtok(char *, char *);
int main(int argc, char *argv[]) {
  char infname[512], ine2pname[512], in_rom_patch[512];
  char infname1[512];
  char outfname[512], oute2pname[512], out_rom_patch[512];
  char outfname1[512];
  char chipsets[1024];
  char fw_name[128], e2p_name[128], rom_patch_name[128];
  char fw_name1[128];
  char *rt28xxdir;
  char *chipset, *token;
  char *wow, *rt28xx_mode;
  int is_bin2h_fw = 0, is_bin2h_rom_patch = 0, is_bin2h_e2p = 0;
  rt28xxdir = (char *)getenv("RT28xx_DIR");
  chipset = (char *)getenv("CHIPSET");
  wow = (char *)getenv("HAS_WOW_SUPPORT");
  rt28xx_mode = (char *)getenv("RT28xx_MODE");
  if (!rt28xxdir) {
    printf("Environment value \"RT28xx_DIR\" not export \n");
    return -1;
  }
  if (!chipset) {
    printf("Environment value \"CHIPSET\" not export \n");
    return -1;
  }
  memset(chipsets, 0, 1024);
  memcpy(chipsets, chipset, strlen(chipset));
  if (strlen(rt28xxdir) > (sizeof(infname) - 100)) {
    printf("Environment value \"RT28xx_DIR\" is too long!\n");
    return -1;
  }
  chipset = strtok(chipsets, " ");
  while (chipset != NULL) {
    printf("chipset = %s\n", chipset);
    memset(infname, 0, 512);
    memset(infname1, 0, 512);
    memset(ine2pname, 0, 512);
    memset(outfname, 0, 512);
    memset(outfname1, 0, 512);
    memset(oute2pname, 0, 512);
    memset(fw_name, 0, 128);
    memset(fw_name1, 0, 128);
    memset(e2p_name, 0, 128);
    memset(in_rom_patch, 0, 512);
    memset(out_rom_patch, 0, 512);
    memset(rom_patch_name, 0, 128);
    strcat(infname, rt28xxdir);
    strcat(infname1, rt28xxdir);
    strcat(ine2pname, rt28xxdir);
    strcat(in_rom_patch, rt28xxdir);
    strcat(outfname, rt28xxdir);
    strcat(outfname1, rt28xxdir);
    strcat(oute2pname, rt28xxdir);
    strcat(out_rom_patch, rt28xxdir);
    is_bin2h_fw = 0;
    is_bin2h_rom_patch = 0;
    is_bin2h_e2p = 0;
    if (strncmp(chipset, "2860", 4) == 0) {
      strcat(infname, "/mcu/bin/rt2860.bin");
      strcat(outfname, "/include/mcu/rt2860_firmware.h");
      strcat(fw_name, "RT2860_FirmwareImage");
      is_bin2h_fw = 1;
    } else if (strncmp(chipset, "2870", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "3090", 4) == 0) {
      strcat(infname, "/mcu/bin/rt2860.bin");
      strcat(outfname, "/include/mcu/rt2860_firmware.h");
      strcat(fw_name, "RT2860_FirmwareImage");
      is_bin2h_fw = 1;
    } else if (strncmp(chipset, "2070", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "3070", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "3572", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "3573", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "3370", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "5370", 4) == 0) {
      if ((wow != NULL) && (strncmp(wow, "y", 1) == 0) &&
          (strncmp(rt28xx_mode, "STA", 3) == 0)) {
        strcat(infname, "/mcu/bin/rt2870_wow.bin");
        strcat(outfname, "/include/mcu/rt2870_wow_firmware.h");
        strcat(fw_name, "RT2870_WOW_FirmwareImage");
        is_bin2h_fw = 1;
      } else {
        strcat(infname, "/mcu/bin/rt2870.bin");
        strcat(outfname, "/include/mcu/rt2870_firmware.h");
        strcat(fw_name, "RT2870_FirmwareImage");
        is_bin2h_fw = 1;
      }
    } else if (strncmp(chipset, "5572", 4) == 0) {
      strcat(infname, "/mcu/bin/rt2870.bin");
      strcat(outfname, "/include/mcu/rt2870_firmware.h");
      strcat(fw_name, "RT2870_FirmwareImage");
      is_bin2h_fw = 1;
    } else if (strncmp(chipset, "5592", 4) == 0) {
      strcat(infname, "/mcu/bin/rt2860.bin");
      strcat(outfname, "/include/mcu/rt2860_firmware.h");
      strcat(fw_name, "RT2860_FirmwareImage");
      is_bin2h_fw = 1;
    } else if ((strncmp(chipset, "mt7601e", 7) == 0) ||
               (strncmp(chipset, "mt7601u", 7) == 0)) {
      strcat(infname, "/mcu/bin/MT7601_formal_1.7.bin");
      strcat(outfname, "/include/mcu/mt7601_firmware.h");
      strcat(fw_name, "MT7601_FirmwareImage");
      is_bin2h_fw = 1;
      strcat(ine2pname, "/eeprom/MT7601_USB_V0_D-20130416.bin");
      strcat(oute2pname, "/include/eeprom/mt7601_e2p.h");
      strcat(e2p_name, "MT7601_E2PImage");
      is_bin2h_e2p = 1;
    } else if ((strncmp(chipset, "mt7650e", 7) == 0) ||
               (strncmp(chipset, "mt7650u", 7) == 0) ||
               (strncmp(chipset, "mt7630e", 7) == 0) ||
               (strncmp(chipset, "mt7630u", 7) == 0)) {
      strcat(infname, "/mcu/bin/MT7650.bin");
      strcat(outfname, "/include/mcu/mt7650_firmware.h");
      strcat(fw_name, "MT7650_FirmwareImage");
      is_bin2h_fw = 1;
    } else if ((strncmp(chipset, "mt7610e", 7) == 0) ||
               (strncmp(chipset, "mt7610u", 7) == 0)) {
      strcat(infname, "/mcu/bin/MT7650.bin");
      strcat(outfname, "/include/mcu/mt7610_firmware.h");
      strcat(fw_name, "MT7610_FirmwareImage");
      is_bin2h_fw = 1;
      if ((strncmp(chipset, "mt7610e", 7) == 0)) {
        strcat(ine2pname, "/eeprom/MT7610U_FEM_V1_1.bin");
        strcat(oute2pname, "/include/eeprom/mt7610e_e2p.h");
        strcat(e2p_name, "MT7610E_E2PImage");
      } else if ((strncmp(chipset, "mt7610u", 7) == 0)) {
        strcat(ine2pname, "/eeprom/MT7610U_FEM_V1_1.bin");
        strcat(oute2pname, "/include/eeprom/mt7610u_e2p.h");
        strcat(e2p_name, "MT7610U_E2PImage");
      }
    } else if ((strncmp(chipset, "mt7662e", 7) == 0) ||
               (strncmp(chipset, "mt7662u", 7) == 0) ||
               (strncmp(chipset, "mt7632e", 7) == 0) ||
               (strncmp(chipset, "mt7632u", 7) == 0) ||
               (strncmp(chipset, "mt7612e", 7) == 0) ||
               (strncmp(chipset, "mt7612u", 7) == 0)) {
      strcat(infname, "/mcu/bin/mt7662_firmware_e3_20131211.bin");
      strcat(outfname, "/include/mcu/mt7662_firmware.h");
      strcat(fw_name, "MT7662_FirmwareImage");
      strcat(in_rom_patch, "/mcu/bin/mt7662_patch_e3_hdr_v0.0.2_P8.bin");
      strcat(out_rom_patch, "/include/mcu/mt7662_rom_patch.h");
      strcat(rom_patch_name, "mt7662_rom_patch");
      strcat(ine2pname, "/eeprom/MT7662E2_EEPROM_20130527.bin");
      strcat(oute2pname, "/include/eeprom/mt76x2_e2p.h");
      strcat(e2p_name, "MT76x2_E2PImage");
      is_bin2h_fw = 1;
      is_bin2h_rom_patch = 1;
      is_bin2h_e2p = 1;
    } else if ((strncmp(chipset, "mt7636u", 7) == 0) ||
               (strncmp(chipset, "mt7636s", 7) == 0)) {
      strcat(in_rom_patch, "/mcu/bin/mt7636_patch_e1_hdr.bin");
      strcat(out_rom_patch, "/include/mcu/mt7636_rom_patch.h");
      strcat(rom_patch_name, "mt7636_rom_patch");
      strcat(infname, "/mcu/bin/WIFI_RAM_CODE_MT7636.bin");
      strcat(outfname, "/include/mcu/mt7636_firmware.h");
      strcat(fw_name, "MT7636_FirmwareImage");
      is_bin2h_fw = 1;
      is_bin2h_rom_patch = 1;
    } else if ((strncmp(chipset, "mt7603e", 7) == 0) ||
               (strncmp(chipset, "mt7603u", 7) == 0)) {
      strcat(infname, "/mcu/bin/WIFI_RAM_CODE_MT7603_e1.bin");
      if (strncmp(rt28xx_mode, "AP", 2) == 0)
        strcat(infname1, "/mcu/bin/MT7603EAP/WIFI_RAM_CODE_MT7603_e2.bin");
      else
        strcat(infname1, "/mcu/bin/WIFI_RAM_CODE_MT7603_e2.bin");
      strcat(outfname, "/include/mcu/mt7603_firmware.h");
      strcat(outfname1, "/include/mcu/mt7603_e2_firmware.h");
      strcat(fw_name, "MT7603_FirmwareImage");
      strcat(fw_name1, "MT7603_e2_FirmwareImage");
      strcat(e2p_name, "MT7603_E2PImage");
      strcat(ine2pname, "/eeprom/MT7603E_EEPROM.bin");
      strcat(oute2pname, "/include/eeprom/mt7603_e2p.h");
      is_bin2h_fw = 1;
      is_bin2h_e2p = 1;
    } else if (strncmp(chipset, "mt7628", 7) == 0) {
      strcat(infname, "/mcu/bin/WIFI_RAM_CODE_MT7628_e1.bin");
      strcat(outfname, "/include/mcu/mt7628_firmware.h");
      strcat(fw_name, "MT7628_FirmwareImage");
      strcat(e2p_name, "MT7628_E2PImage");
      strcat(ine2pname, "/eeprom/MT7603E1_EEPROM_layout_20131206.bin");
      strcat(oute2pname, "/include/eeprom/mt7628_e2p.h");
      is_bin2h_fw = 1;
      is_bin2h_e2p = 1;
    } else {
      printf("unknown chipset = %s\n", chipset);
    }
    if (is_bin2h_fw) {
      bin2h(infname, outfname, fw_name);
      bin2h(infname1, outfname1, fw_name1);
    }
    if (is_bin2h_rom_patch)
      bin2h(in_rom_patch, out_rom_patch, rom_patch_name);
    if (is_bin2h_e2p)
      bin2h(ine2pname, oute2pname, e2p_name);
    chipset = strtok(NULL, " ");
  }
  exit(0);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1660,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movl   $0x0,-0x163c(%rbp)
movl   $0x0,-0x1640(%rbp)
movl   $0x0,-0x1644(%rbp)
lea    0x1e22(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,-0x1618(%rbp)
lea    0x1e1a(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,-0x1620(%rbp)
lea    0x1e0f(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,-0x1630(%rbp)
lea    0x1e0c(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,-0x1638(%rbp)
cmpq   $0x0,-0x1618(%rbp)
jne    124b <main+0xab>
lea    0x1df7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    25f1 <main+0x1451>
cmpq   $0x0,-0x1620(%rbp)
jne    1273 <main+0xd3>
lea    0x1dfb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    25f1 <main+0x1451>
lea    -0x1410(%rbp),%rdi
xor    %esi,%esi
mov    $0x400,%edx
call   1080 <memset@plt>
lea    -0x1410(%rbp),%rax
mov    %rax,-0x1658(%rbp)
mov    -0x1620(%rbp),%rax
mov    %rax,-0x1650(%rbp)
mov    -0x1620(%rbp),%rdi
call   1060 <strlen@plt>
mov    -0x1658(%rbp),%rdi
mov    -0x1650(%rbp),%rsi
mov    %eax,%edx
call   1090 <memcpy@plt>
mov    -0x1618(%rbp),%rdi
call   1060 <strlen@plt>
cltq
cmp    $0x19c,%rax
jbe    12f7 <main+0x157>
lea    0x1da0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    25f1 <main+0x1451>
lea    -0x1410(%rbp),%rdi
lea    0x1dac(%rip),%rsi
call   10a0 <strtok@plt>
mov    %rax,-0x1620(%rbp)
cmpq   $0x0,-0x1620(%rbp)
je     25ea <main+0x144a>
mov    -0x1620(%rbp),%rsi
lea    0x2479(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x210(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0x810(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0x410(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0xa10(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0x1010(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0xc10(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0x1490(%rbp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1080 <memset@plt>
lea    -0x1610(%rbp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1080 <memset@plt>
lea    -0x1510(%rbp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1080 <memset@plt>
lea    -0x610(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0xe10(%rbp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1080 <memset@plt>
lea    -0x1590(%rbp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1080 <memset@plt>
lea    -0x210(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0x810(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0x410(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0x610(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0x1010(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
lea    -0xe10(%rbp),%rdi
mov    -0x1618(%rbp),%rsi
call   10b0 <strcat@plt>
movl   $0x0,-0x163c(%rbp)
movl   $0x0,-0x1640(%rbp)
movl   $0x0,-0x1644(%rbp)
mov    -0x1620(%rbp),%rdi
lea    0x1bd7(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1538 <main+0x398>
lea    -0x210(%rbp),%rdi
lea    0x1bba(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1bbb(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x1bc7(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    253f <main+0x139f>
mov    -0x1620(%rbp),%rdi
lea    0x1bba(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    163c <main+0x49c>
cmpq   $0x0,-0x1630(%rbp)
je     15f4 <main+0x454>
mov    -0x1630(%rbp),%rdi
lea    0x1b8f(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    15f4 <main+0x454>
mov    -0x1638(%rbp),%rdi
lea    0x1b6f(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    15f4 <main+0x454>
lea    -0x210(%rbp),%rdi
lea    0x1b51(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1b56(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x1b66(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    1637 <main+0x497>
lea    -0x210(%rbp),%rdi
lea    0x1b5d(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1b5e(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x1b6a(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    253a <main+0x139a>
mov    -0x1620(%rbp),%rdi
lea    0x1b5d(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    16a6 <main+0x506>
lea    -0x210(%rbp),%rdi
lea    0x1a4c(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1a4d(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x1a59(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2535 <main+0x1395>
mov    -0x1620(%rbp),%rdi
lea    0x1af8(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    17aa <main+0x60a>
cmpq   $0x0,-0x1630(%rbp)
je     1762 <main+0x5c2>
mov    -0x1630(%rbp),%rdi
lea    0x1a21(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1762 <main+0x5c2>
mov    -0x1638(%rbp),%rdi
lea    0x1a01(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1762 <main+0x5c2>
lea    -0x210(%rbp),%rdi
lea    0x19e3(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x19e8(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x19f8(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    17a5 <main+0x605>
lea    -0x210(%rbp),%rdi
lea    0x19ef(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x19f0(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x19fc(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2530 <main+0x1390>
mov    -0x1620(%rbp),%rdi
lea    0x19f9(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    18ae <main+0x70e>
cmpq   $0x0,-0x1630(%rbp)
je     1866 <main+0x6c6>
mov    -0x1630(%rbp),%rdi
lea    0x191d(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1866 <main+0x6c6>
mov    -0x1638(%rbp),%rdi
lea    0x18fd(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1866 <main+0x6c6>
lea    -0x210(%rbp),%rdi
lea    0x18df(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x18e4(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x18f4(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    18a9 <main+0x709>
lea    -0x210(%rbp),%rdi
lea    0x18eb(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x18ec(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x18f8(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    252b <main+0x138b>
mov    -0x1620(%rbp),%rdi
lea    0x18fa(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    19b2 <main+0x812>
cmpq   $0x0,-0x1630(%rbp)
je     196a <main+0x7ca>
mov    -0x1630(%rbp),%rdi
lea    0x1819(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    196a <main+0x7ca>
mov    -0x1638(%rbp),%rdi
lea    0x17f9(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    196a <main+0x7ca>
lea    -0x210(%rbp),%rdi
lea    0x17db(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x17e0(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x17f0(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    19ad <main+0x80d>
lea    -0x210(%rbp),%rdi
lea    0x17e7(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x17e8(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x17f4(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2526 <main+0x1386>
mov    -0x1620(%rbp),%rdi
lea    0x17fb(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1ab6 <main+0x916>
cmpq   $0x0,-0x1630(%rbp)
je     1a6e <main+0x8ce>
mov    -0x1630(%rbp),%rdi
lea    0x1715(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1a6e <main+0x8ce>
mov    -0x1638(%rbp),%rdi
lea    0x16f5(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1a6e <main+0x8ce>
lea    -0x210(%rbp),%rdi
lea    0x16d7(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x16dc(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x16ec(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    1ab1 <main+0x911>
lea    -0x210(%rbp),%rdi
lea    0x16e3(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x16e4(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x16f0(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2521 <main+0x1381>
mov    -0x1620(%rbp),%rdi
lea    0x16fc(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1bba <main+0xa1a>
cmpq   $0x0,-0x1630(%rbp)
je     1b72 <main+0x9d2>
mov    -0x1630(%rbp),%rdi
lea    0x1611(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1b72 <main+0x9d2>
mov    -0x1638(%rbp),%rdi
lea    0x15f1(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1b72 <main+0x9d2>
lea    -0x210(%rbp),%rdi
lea    0x15d3(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x15d8(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x15e8(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    1bb5 <main+0xa15>
lea    -0x210(%rbp),%rdi
lea    0x15df(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x15e0(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x15ec(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    251c <main+0x137c>
mov    -0x1620(%rbp),%rdi
lea    0x15fd(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1cbe <main+0xb1e>
cmpq   $0x0,-0x1630(%rbp)
je     1c76 <main+0xad6>
mov    -0x1630(%rbp),%rdi
lea    0x150d(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1c76 <main+0xad6>
mov    -0x1638(%rbp),%rdi
lea    0x14ed(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1c76 <main+0xad6>
lea    -0x210(%rbp),%rdi
lea    0x14cf(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x14d4(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x14e4(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    1cb9 <main+0xb19>
lea    -0x210(%rbp),%rdi
lea    0x14db(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x14dc(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x14e8(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2517 <main+0x1377>
mov    -0x1620(%rbp),%rdi
lea    0x14fe(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1d28 <main+0xb88>
lea    -0x210(%rbp),%rdi
lea    0x1471(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1472(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x147e(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2512 <main+0x1372>
mov    -0x1620(%rbp),%rdi
lea    0x1499(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1d92 <main+0xbf2>
lea    -0x210(%rbp),%rdi
lea    0x1360(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1361(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x136d(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    250d <main+0x136d>
mov    -0x1620(%rbp),%rdi
lea    0x1434(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     1dd6 <main+0xc36>
mov    -0x1620(%rbp),%rdi
lea    0x141a(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1e61 <main+0xcc1>
lea    -0x210(%rbp),%rdi
lea    0x1400(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x140c(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x1418(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
lea    -0x410(%rbp),%rdi
lea    0x1410(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
lea    0x1422(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1510(%rbp),%rdi
lea    0x142c(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x1644(%rbp)
jmp    2508 <main+0x1368>
mov    -0x1620(%rbp),%rdi
lea    0x141a(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     1ee9 <main+0xd49>
mov    -0x1620(%rbp),%rdi
lea    0x1400(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     1ee9 <main+0xd49>
mov    -0x1620(%rbp),%rdi
lea    0x13e6(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     1ee9 <main+0xd49>
mov    -0x1620(%rbp),%rdi
lea    0x13cc(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    1f31 <main+0xd91>
lea    -0x210(%rbp),%rdi
lea    0x13b2(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x13b3(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x13bf(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
jmp    2503 <main+0x1363>
mov    -0x1620(%rbp),%rdi
lea    0x13b2(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     1f75 <main+0xdd5>
mov    -0x1620(%rbp),%rdi
lea    0x1398(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    207d <main+0xedd>
lea    -0x210(%rbp),%rdi
lea    0x1326(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x136b(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x1377(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
mov    -0x1620(%rbp),%rdi
lea    0x132b(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    2018 <main+0xe78>
lea    -0x410(%rbp),%rdi
lea    0x134d(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
lea    0x1357(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1510(%rbp),%rdi
lea    0x1362(%rip),%rsi
call   10b0 <strcat@plt>
jmp    2078 <main+0xed8>
mov    -0x1620(%rbp),%rdi
lea    0x12d3(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    2073 <main+0xed3>
lea    -0x410(%rbp),%rdi
lea    0x12ed(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
lea    0x1326(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1510(%rbp),%rdi
lea    0x1331(%rip),%rsi
call   10b0 <strcat@plt>
jmp    2078 <main+0xed8>
jmp    24fe <main+0x135e>
mov    -0x1620(%rbp),%rdi
lea    0x1325(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     2149 <main+0xfa9>
mov    -0x1620(%rbp),%rdi
lea    0x130b(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     2149 <main+0xfa9>
mov    -0x1620(%rbp),%rdi
lea    0x12f1(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     2149 <main+0xfa9>
mov    -0x1620(%rbp),%rdi
lea    0x12d7(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     2149 <main+0xfa9>
mov    -0x1620(%rbp),%rdi
lea    0x12bd(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     2149 <main+0xfa9>
mov    -0x1620(%rbp),%rdi
lea    0x12a3(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    2217 <main+0x1077>
lea    -0x210(%rbp),%rdi
lea    0x1289(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x129f(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x12ab(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x610(%rbp),%rdi
lea    0x12ad(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xe10(%rbp),%rdi
lea    0x12c5(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1590(%rbp),%rdi
lea    0x12d2(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x410(%rbp),%rdi
lea    0x12d0(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
lea    0x12e2(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1510(%rbp),%rdi
lea    0x12ec(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
movl   $0x1,-0x1640(%rbp)
movl   $0x1,-0x1644(%rbp)
jmp    24f9 <main+0x1359>
mov    -0x1620(%rbp),%rdi
lea    0x12c6(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     225b <main+0x10bb>
mov    -0x1620(%rbp),%rdi
lea    0x12ac(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    22e6 <main+0x1146>
lea    -0x610(%rbp),%rdi
lea    0x1292(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xe10(%rbp),%rdi
lea    0x12a0(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1590(%rbp),%rdi
lea    0x12ad(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x210(%rbp),%rdi
lea    0x12ab(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x12ba(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x12c6(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
movl   $0x1,-0x1640(%rbp)
jmp    24f4 <main+0x1354>
mov    -0x1620(%rbp),%rdi
lea    0x12af(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
je     232a <main+0x118a>
mov    -0x1620(%rbp),%rdi
lea    0x1295(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    2428 <main+0x1288>
lea    -0x210(%rbp),%rdi
lea    0x127b(%rip),%rsi
call   10b0 <strcat@plt>
mov    -0x1638(%rbp),%rdi
lea    0x128d(%rip),%rsi
mov    $0x2,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    2377 <main+0x11d7>
lea    -0x810(%rbp),%rdi
lea    0x126e(%rip),%rsi
call   10b0 <strcat@plt>
jmp    238a <main+0x11ea>
lea    -0x810(%rbp),%rdi
lea    0x1285(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x1297(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1010(%rbp),%rdi
lea    0x12a3(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x12b2(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1610(%rbp),%rdi
lea    0x12b4(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1510(%rbp),%rdi
lea    0x12b9(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x410(%rbp),%rdi
lea    0x12b6(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
lea    0x12be(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
movl   $0x1,-0x1644(%rbp)
jmp    24ef <main+0x134f>
mov    -0x1620(%rbp),%rdi
lea    0x12af(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
cmp    $0x0,%rax
jne    24d5 <main+0x1335>
lea    -0x210(%rbp),%rdi
lea    0x1294(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xa10(%rbp),%rdi
lea    0x12a6(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1490(%rbp),%rdi
lea    0x12b2(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x1510(%rbp),%rdi
lea    0x12b4(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0x410(%rbp),%rdi
lea    0x12b1(%rip),%rsi
call   10b0 <strcat@plt>
lea    -0xc10(%rbp),%rdi
lea    0x12ca(%rip),%rsi
call   10b0 <strcat@plt>
movl   $0x1,-0x163c(%rbp)
movl   $0x1,-0x1644(%rbp)
jmp    24ea <main+0x134a>
mov    -0x1620(%rbp),%rsi
lea    0x12bb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
jmp    24ef <main+0x134f>
jmp    24f4 <main+0x1354>
jmp    24f9 <main+0x1359>
jmp    24fe <main+0x135e>
jmp    2503 <main+0x1363>
jmp    2508 <main+0x1368>
jmp    250d <main+0x136d>
jmp    2512 <main+0x1372>
jmp    2517 <main+0x1377>
jmp    251c <main+0x137c>
jmp    2521 <main+0x1381>
jmp    2526 <main+0x1386>
jmp    252b <main+0x138b>
jmp    2530 <main+0x1390>
jmp    2535 <main+0x1395>
jmp    253a <main+0x139a>
jmp    253f <main+0x139f>
cmpl   $0x0,-0x163c(%rbp)
je     2580 <main+0x13e0>
lea    -0x210(%rbp),%rdi
lea    -0xa10(%rbp),%rsi
lea    -0x1490(%rbp),%rdx
call   1050 <bin2h@plt>
lea    -0x810(%rbp),%rdi
lea    -0x1010(%rbp),%rsi
lea    -0x1610(%rbp),%rdx
call   1050 <bin2h@plt>
cmpl   $0x0,-0x1640(%rbp)
je     25a7 <main+0x1407>
lea    -0x610(%rbp),%rdi
lea    -0xe10(%rbp),%rsi
lea    -0x1590(%rbp),%rdx
call   1050 <bin2h@plt>
cmpl   $0x0,-0x1644(%rbp)
je     25ce <main+0x142e>
lea    -0x410(%rbp),%rdi
lea    -0xc10(%rbp),%rsi
lea    -0x1510(%rbp),%rdx
call   1050 <bin2h@plt>
xor    %eax,%eax
mov    %eax,%edi
lea    0xad8(%rip),%rsi
call   10a0 <strtok@plt>
mov    %rax,-0x1620(%rbp)
jmp    1311 <main+0x171>
xor    %edi,%edi
call   10c0 <exit@plt>
mov    -0x4(%rbp),%eax
add    $0x1660,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x1628,%rsp
lea    0xe38(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,%rbx
lea    0xe34(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,%rbp
lea    0xe2d(%rip),%rdi
call   1030 <getenv@plt>
mov    %rax,%r14
lea    0xe2e(%rip),%rdi
call   1030 <getenv@plt>
test   %rbx,%rbx
je     124b <main+0x9b>
test   %rbp,%rbp
je     1254 <main+0xa4>
mov    %rax,%r12
lea    0x1220(%rsp),%r15
mov    %r15,%rdi
xor    %esi,%esi
mov    $0x400,%edx
call   1090 <memset@plt>
mov    %rbp,%rdi
call   1070 <strlen@plt>
mov    %r15,%rdi
mov    %rbp,%rsi
mov    %eax,%edx
call   10a0 <memcpy@plt>
mov    %rbx,%rdi
call   1070 <strlen@plt>
cmp    $0x19d,%eax
jb     1277 <main+0xc7>
lea    0x153a(%rip),%rdi
jmp    125b <main+0xab>
lea    0x14de(%rip),%rdi
jmp    125b <main+0xab>
lea    0x1500(%rip),%rdi
call   1050 <puts@plt>
mov    $0xffffffff,%eax
add    $0x1628,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
mov    %rbx,0x18(%rsp)
mov    %r14,(%rsp)
mov    %r12,0x10(%rsp)
lea    0x14cd(%rip),%rsi
lea    0x1220(%rsp),%rdi
call   10b0 <strtok@plt>
test   %rax,%rax
jne    12a5 <main+0xf5>
xor    %edi,%edi
call   10d0 <exit@plt>
lea    0x220(%rsp),%rbp
jmp    12dd <main+0x12d>
lea    0x1464(%rip),%rdi
mov    0x8(%rsp),%rsi
xor    %eax,%eax
call   1080 <printf@plt>
xor    %edi,%edi
lea    0x148e(%rip),%rsi
call   10b0 <strtok@plt>
test   %rax,%rax
lea    0x220(%rsp),%rbp
je     129e <main+0xee>
mov    %rax,0x8(%rsp)
lea    0x1439(%rip),%rdi
mov    %rax,%rsi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbp,%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0xe20(%rsp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0x820(%rsp),%r14
mov    %rbp,%rbx
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0x620(%rsp),%r15
mov    %r15,%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0xa20(%rsp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0x420(%rsp),%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0x20(%rsp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1090 <memset@plt>
lea    0x1a0(%rsp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1090 <memset@plt>
lea    0xa0(%rsp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1090 <memset@plt>
lea    0x1020(%rsp),%r13
mov    %r13,%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0xc20(%rsp),%rbp
mov    %rbp,%rdi
xor    %esi,%esi
mov    $0x200,%edx
call   1090 <memset@plt>
lea    0x120(%rsp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1090 <memset@plt>
mov    %rbx,%rdi
mov    0x18(%rsp),%r12
mov    %r12,%rsi
call   10c0 <strcat@plt>
lea    0xe20(%rsp),%rdi
mov    %r12,%rsi
call   10c0 <strcat@plt>
mov    %r14,%rdi
mov    %r12,%rsi
call   10c0 <strcat@plt>
mov    %r13,%rdi
mov    %r12,%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
mov    %r12,%rsi
call   10c0 <strcat@plt>
lea    0xa20(%rsp),%rdi
mov    %r12,%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
mov    %r12,%rsi
call   10c0 <strcat@plt>
mov    %rbp,%rdi
mov    %r12,%rsi
mov    0x8(%rsp),%rbp
call   10c0 <strcat@plt>
mov    %rbp,%rdi
lea    0xbca(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1858 <main+0x6a8>
mov    %rbp,%rdi
lea    0xbfa(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1880 <main+0x6d0>
mov    %rbp,%rdi
lea    0xc84(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
lea    0x20(%rsp),%r14
je     18f8 <main+0x748>
mov    %rbp,%rdi
lea    0xc67(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     188e <main+0x6de>
mov    %rbp,%rdi
lea    0xc4f(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     188e <main+0x6de>
mov    %rbp,%rdi
lea    0xc37(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     188e <main+0x6de>
mov    %rbp,%rdi
lea    0xc1f(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     188e <main+0x6de>
mov    %rbp,%rdi
lea    0xc07(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     188e <main+0x6de>
mov    %rbp,%rdi
lea    0xbef(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     188e <main+0x6de>
mov    %rbp,%rdi
lea    0xbd7(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     18ce <main+0x71e>
mov    %rbp,%rdi
lea    0xbbf(%rip),%rsi
mov    $0x4,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     18f8 <main+0x748>
mov    %rbp,%rdi
lea    0xba7(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     19d1 <main+0x821>
mov    %rbp,%rdi
lea    0xb92(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     19d1 <main+0x821>
mov    %rbp,%rdi
lea    0xc22(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1a47 <main+0x897>
mov    %rbp,%rdi
lea    0xc0d(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1a47 <main+0x897>
mov    %rbp,%rdi
lea    0xbf8(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1a47 <main+0x897>
mov    %rbp,%rdi
lea    0xbe3(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1a47 <main+0x897>
mov    %rbp,%rdi
lea    0xc16(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1a74 <main+0x8c4>
mov    %rbp,%rdi
lea    0xc01(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1a74 <main+0x8c4>
mov    %rbp,%rdi
lea    0xc9b(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1b2d <main+0x97d>
mov    0x8(%rsp),%rdi
lea    0xc84(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1b2d <main+0x97d>
mov    0x8(%rsp),%rdi
lea    0xc6d(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1b2d <main+0x97d>
mov    0x8(%rsp),%rdi
lea    0xc56(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1b2d <main+0x97d>
mov    0x8(%rsp),%rdi
lea    0xc3f(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1b2d <main+0x97d>
mov    0x8(%rsp),%rdi
lea    0xc28(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1b2d <main+0x97d>
mov    0x8(%rsp),%rdi
lea    0xd1c(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1c49 <main+0xa99>
mov    0x8(%rsp),%rdi
lea    0xd05(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1c49 <main+0xa99>
mov    0x8(%rsp),%rdi
lea    0xd96(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1cd0 <main+0xb20>
mov    0x8(%rsp),%rdi
lea    0xd7f(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1cd0 <main+0xb20>
mov    0x8(%rsp),%rdi
lea    0xe9a(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
jne    12af <main+0xff>
lea    0x220(%rsp),%r12
mov    %r12,%rdi
lea    0xe7c(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x620(%rsp),%r15
mov    %r15,%rdi
lea    0xe8a(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x20(%rsp),%r14
mov    %r14,%rdi
lea    0xe95(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa0(%rsp),%rdi
lea    0xe96(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x820(%rsp),%rdi
lea    0xe92(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
lea    0xeaa(%rip),%rsi
jmp    1da9 <main+0xbf9>
mov    %rbx,%rdi
lea    0x7d2(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
lea    0x7d7(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x20(%rsp),%r14
jmp    1916 <main+0x766>
cmpq   $0x0,(%rsp)
lea    0x20(%rsp),%r14
jne    1895 <main+0x6e5>
jmp    18ce <main+0x71e>
cmpq   $0x0,(%rsp)
je     18ce <main+0x71e>
mov    (%rsp),%rdi
lea    0x7e1(%rip),%rsi
mov    $0x1,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
jne    18ce <main+0x71e>
mov    0x10(%rsp),%rdi
lea    0x7c8(%rip),%rsi
mov    $0x3,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     19a4 <main+0x7f4>
mov    %rbx,%rdi
lea    0x803(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
lea    0x808(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r14,%rdi
lea    0x818(%rip),%rsi
jmp    1920 <main+0x770>
mov    %rbx,%rdi
lea    0x732(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
lea    0x737(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r14,%rdi
lea    0x747(%rip),%rsi
call   10c0 <strcat@plt>
mov    $0x1,%bpl
mov    %rbx,%r12
mov    $0x1,%bl
mov    %r12,%rdi
mov    %r15,%rsi
mov    %r14,%rdx
call   1060 <bin2h@plt>
lea    0xe20(%rsp),%rdi
lea    0xa20(%rsp),%rsi
lea    0x1a0(%rsp),%rdx
call   1060 <bin2h@plt>
test   %bpl,%bpl
jne    197a <main+0x7ca>
lea    0x1020(%rsp),%rdi
lea    0xc20(%rsp),%rsi
lea    0x120(%rsp),%rdx
call   1060 <bin2h@plt>
test   %bl,%bl
jne    12c2 <main+0x112>
lea    0x820(%rsp),%rdi
lea    0x420(%rsp),%rsi
lea    0xa0(%rsp),%rdx
call   1060 <bin2h@plt>
jmp    12c2 <main+0x112>
mov    %rbx,%rdi
lea    0x6d9(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
lea    0x6e2(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r14,%rdi
lea    0x6f6(%rip),%rsi
jmp    1920 <main+0x770>
mov    %rbx,%rdi
lea    0x785(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
lea    0x795(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r14,%rdi
lea    0x7a5(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x820(%rsp),%rdi
lea    0x7a6(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
lea    0x7b7(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa0(%rsp),%rdi
lea    0x7c0(%rip),%rsi
call   10c0 <strcat@plt>
mov    $0x1,%bpl
mov    %rbx,%r12
xor    %ebx,%ebx
jmp    192d <main+0x77d>
mov    %rbx,%rdi
lea    0x7d4(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r15,%rdi
lea    0x7d9(%rip),%rsi
call   10c0 <strcat@plt>
mov    %r14,%rdi
lea    0x7e9(%rip),%rsi
jmp    1920 <main+0x770>
lea    0x220(%rsp),%rdi
lea    0x7a2(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x620(%rsp),%rdi
lea    0x7e6(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x20(%rsp),%rdi
lea    0x7f4(%rip),%rsi
call   10c0 <strcat@plt>
mov    %rbp,%rdi
lea    0x7b6(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
je     1bee <main+0xa3e>
mov    0x8(%rsp),%rdi
lea    0x79f(%rip),%rsi
mov    $0x7,%edx
call   1040 <strncmp@plt>
mov    $0x1,%bpl
test   %rax,%rax
jne    1c2d <main+0xa7d>
lea    0x820(%rsp),%rdi
lea    0x7b6(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
lea    0x7ee(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa0(%rsp),%rdi
lea    0x7f8(%rip),%rsi
call   10c0 <strcat@plt>
jmp    1c2d <main+0xa7d>
lea    0x220(%rsp),%r12
mov    %r12,%rdi
lea    0x81d(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x620(%rsp),%r15
mov    %r15,%rdi
lea    0x82f(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x20(%rsp),%r14
mov    %r14,%rdi
lea    0x83a(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x1020(%rsp),%rdi
lea    0x83b(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xc20(%rsp),%rdi
lea    0x852(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x120(%rsp),%rdi
lea    0x85e(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x820(%rsp),%rdi
lea    0x85b(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
lea    0x86c(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa0(%rsp),%rdi
lea    0x875(%rip),%rsi
call   10c0 <strcat@plt>
xor    %ebp,%ebp
jmp    1a40 <main+0x890>
lea    0x820(%rsp),%rdi
lea    0x6b4(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
lea    0x6bd(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa0(%rsp),%rdi
lea    0x6c7(%rip),%rsi
call   10c0 <strcat@plt>
mov    $0x1,%bpl
mov    $0x1,%bl
lea    0x220(%rsp),%r12
lea    0x620(%rsp),%r15
lea    0x20(%rsp),%r14
jmp    192d <main+0x77d>
lea    0x1020(%rsp),%rdi
lea    0x81f(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xc20(%rsp),%rdi
lea    0x82c(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x120(%rsp),%rdi
lea    0x838(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x220(%rsp),%r12
mov    %r12,%rdi
lea    0x832(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x620(%rsp),%r15
mov    %r15,%rdi
lea    0x83d(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x20(%rsp),%r14
mov    %r14,%rdi
lea    0x848(%rip),%rsi
call   10c0 <strcat@plt>
mov    $0x1,%bl
xor    %ebp,%ebp
jmp    192d <main+0x77d>
lea    0x220(%rsp),%r12
mov    %r12,%rdi
lea    0x84d(%rip),%rsi
call   10c0 <strcat@plt>
mov    0x10(%rsp),%rdi
lea    0x861(%rip),%rsi
mov    $0x2,%edx
call   1040 <strncmp@plt>
test   %rax,%rax
lea    0x87f(%rip),%rsi
lea    0x849(%rip),%rax
cmove  %rax,%rsi
lea    0xe20(%rsp),%rdi
call   10c0 <strcat@plt>
lea    0x620(%rsp),%r15
mov    %r15,%rdi
lea    0x87a(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa20(%rsp),%rdi
lea    0x885(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x20(%rsp),%r14
mov    %r14,%rdi
lea    0x893(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x1a0(%rsp),%rdi
lea    0x894(%rip),%rsi
call   10c0 <strcat@plt>
lea    0xa0(%rsp),%rdi
lea    0x898(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x820(%rsp),%rdi
lea    0x894(%rip),%rsi
call   10c0 <strcat@plt>
lea    0x420(%rsp),%rdi
lea    0x89b(%rip),%rsi
call   10c0 <strcat@plt>
mov    $0x1,%bpl
jmp    1a40 <main+0x890>

LLVM IR (-O0):
@.str = [11 x i8] c"RT28xx_DIR\00"
@.str.1 = [8 x i8] c"CHIPSET\00"
@.str.2 = [16 x i8] c"HAS_WOW_SUPPORT\00"
@.str.3 = [12 x i8] c"RT28xx_MODE\00"
@.str.4 = [44 x i8] c"Environment value \22RT28xx_DIR\22 not export \0A\00"
@.str.5 = [41 x i8] c"Environment value \22CHIPSET\22 not export \0A\00"
@.str.6 = [45 x i8] c"Environment value \22RT28xx_DIR\22 is too long!\0A\00"
@.str.7 = [2 x i8] c" \00"
@.str.8 = [14 x i8] c"chipset = %s\0A\00"
@.str.9 = [5 x i8] c"2860\00"
@.str.10 = [20 x i8] c"/mcu/bin/rt2860.bin\00"
@.str.11 = [31 x i8] c"/include/mcu/rt2860_firmware.h\00"
@.str.12 = [21 x i8] c"RT2860_FirmwareImage\00"
@.str.13 = [5 x i8] c"2870\00"
@.str.14 = [2 x i8] c"y\00"
@.str.15 = [4 x i8] c"STA\00"
@.str.16 = [24 x i8] c"/mcu/bin/rt2870_wow.bin\00"
@.str.17 = [35 x i8] c"/include/mcu/rt2870_wow_firmware.h\00"
@.str.18 = [25 x i8] c"RT2870_WOW_FirmwareImage\00"
@.str.19 = [20 x i8] c"/mcu/bin/rt2870.bin\00"
@.str.20 = [31 x i8] c"/include/mcu/rt2870_firmware.h\00"
@.str.21 = [21 x i8] c"RT2870_FirmwareImage\00"
@.str.22 = [5 x i8] c"3090\00"
@.str.23 = [5 x i8] c"2070\00"
@.str.24 = [5 x i8] c"3070\00"
@.str.25 = [5 x i8] c"3572\00"
@.str.26 = [5 x i8] c"3573\00"
@.str.27 = [5 x i8] c"3370\00"
@.str.28 = [5 x i8] c"5370\00"
@.str.29 = [5 x i8] c"5572\00"
@.str.30 = [5 x i8] c"5592\00"
@.str.31 = [8 x i8] c"mt7601e\00"
@.str.32 = [8 x i8] c"mt7601u\00"
@.str.33 = [31 x i8] c"/mcu/bin/MT7601_formal_1.7.bin\00"
@.str.34 = [31 x i8] c"/include/mcu/mt7601_firmware.h\00"
@.str.35 = [21 x i8] c"MT7601_FirmwareImage\00"
@.str.36 = [37 x i8] c"/eeprom/MT7601_USB_V0_D-20130416.bin\00"
@.str.37 = [29 x i8] c"/include/eeprom/mt7601_e2p.h\00"
@.str.38 = [16 x i8] c"MT7601_E2PImage\00"
@.str.39 = [8 x i8] c"mt7650e\00"
@.str.40 = [8 x i8] c"mt7650u\00"
@.str.41 = [8 x i8] c"mt7630e\00"
@.str.42 = [8 x i8] c"mt7630u\00"
@.str.43 = [20 x i8] c"/mcu/bin/MT7650.bin\00"
@.str.44 = [31 x i8] c"/include/mcu/mt7650_firmware.h\00"
@.str.45 = [21 x i8] c"MT7650_FirmwareImage\00"
@.str.46 = [8 x i8] c"mt7610e\00"
@.str.47 = [8 x i8] c"mt7610u\00"
@.str.48 = [31 x i8] c"/include/mcu/mt7610_firmware.h\00"
@.str.49 = [21 x i8] c"MT7610_FirmwareImage\00"
@.str.50 = [29 x i8] c"/eeprom/MT7610U_FEM_V1_1.bin\00"
@.str.51 = [30 x i8] c"/include/eeprom/mt7610e_e2p.h\00"
@.str.52 = [17 x i8] c"MT7610E_E2PImage\00"
@.str.53 = [30 x i8] c"/include/eeprom/mt7610u_e2p.h\00"
@.str.54 = [17 x i8] c"MT7610U_E2PImage\00"
@.str.55 = [8 x i8] c"mt7662e\00"
@.str.56 = [8 x i8] c"mt7662u\00"
@.str.57 = [8 x i8] c"mt7632e\00"
@.str.58 = [8 x i8] c"mt7632u\00"
@.str.59 = [8 x i8] c"mt7612e\00"
@.str.60 = [8 x i8] c"mt7612u\00"
@.str.61 = [41 x i8] c"/mcu/bin/mt7662_firmware_e3_20131211.bin\00"
@.str.62 = [31 x i8] c"/include/mcu/mt7662_firmware.h\00"
@.str.63 = [21 x i8] c"MT7662_FirmwareImage\00"
@.str.64 = [43 x i8] c"/mcu/bin/mt7662_patch_e3_hdr_v0.0.2_P8.bin\00"
@.str.65 = [32 x i8] c"/include/mcu/mt7662_rom_patch.h\00"
@.str.66 = [17 x i8] c"mt7662_rom_patch\00"
@.str.67 = [37 x i8] c"/eeprom/MT7662E2_EEPROM_20130527.bin\00"
@.str.68 = [29 x i8] c"/include/eeprom/mt76x2_e2p.h\00"
@.str.69 = [16 x i8] c"MT76x2_E2PImage\00"
@.str.70 = [8 x i8] c"mt7636u\00"
@.str.71 = [8 x i8] c"mt7636s\00"
@.str.72 = [33 x i8] c"/mcu/bin/mt7636_patch_e1_hdr.bin\00"
@.str.73 = [32 x i8] c"/include/mcu/mt7636_rom_patch.h\00"
@.str.74 = [17 x i8] c"mt7636_rom_patch\00"
@.str.75 = [34 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7636.bin\00"
@.str.76 = [31 x i8] c"/include/mcu/mt7636_firmware.h\00"
@.str.77 = [21 x i8] c"MT7636_FirmwareImage\00"
@.str.78 = [8 x i8] c"mt7603e\00"
@.str.79 = [8 x i8] c"mt7603u\00"
@.str.80 = [37 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7603_e1.bin\00"
@.str.81 = [3 x i8] c"AP\00"
@.str.82 = [47 x i8] c"/mcu/bin/MT7603EAP/WIFI_RAM_CODE_MT7603_e2.bin\00"
@.str.83 = [37 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7603_e2.bin\00"
@.str.84 = [31 x i8] c"/include/mcu/mt7603_firmware.h\00"
@.str.85 = [34 x i8] c"/include/mcu/mt7603_e2_firmware.h\00"
@.str.86 = [21 x i8] c"MT7603_FirmwareImage\00"
@.str.87 = [24 x i8] c"MT7603_e2_FirmwareImage\00"
@.str.88 = [16 x i8] c"MT7603_E2PImage\00"
@.str.89 = [27 x i8] c"/eeprom/MT7603E_EEPROM.bin\00"
@.str.90 = [29 x i8] c"/include/eeprom/mt7603_e2p.h\00"
@.str.91 = [7 x i8] c"mt7628\00"
@.str.92 = [37 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7628_e1.bin\00"
@.str.93 = [31 x i8] c"/include/mcu/mt7628_firmware.h\00"
@.str.94 = [21 x i8] c"MT7628_FirmwareImage\00"
@.str.95 = [16 x i8] c"MT7628_E2PImage\00"
@.str.96 = [44 x i8] c"/eeprom/MT7603E1_EEPROM_layout_20131206.bin\00"
@.str.97 = [29 x i8] c"/include/eeprom/mt7628_e2p.h\00"
@.str.98 = [22 x i8] c"unknown chipset = %s\0A\00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca [512 x i8]
%7 = alloca [512 x i8]
%8 = alloca [512 x i8]
%9 = alloca [512 x i8]
%10 = alloca [512 x i8]
%11 = alloca [512 x i8]
%12 = alloca [512 x i8]
%13 = alloca [512 x i8]
%14 = alloca [1024 x i8]
%15 = alloca [128 x i8]
%16 = alloca [128 x i8]
%17 = alloca [128 x i8]
%18 = alloca [128 x i8]
%19 = alloca i8*
%20 = alloca i8*
%21 = alloca i8*
%22 = alloca i8*
%23 = alloca i8*
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
store i32 0, i32* %24
store i32 0, i32* %25
store i32 0, i32* %26
%27 = call i64 @getenv(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0))
%28 = inttoptr i64 %27 to i8*
store i8* %28, i8** %19
%29 = call i64 @getenv(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0))
%30 = inttoptr i64 %29 to i8*
store i8* %30, i8** %20
%31 = call i64 @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2, i64 0, i64 0))
%32 = inttoptr i64 %31 to i8*
store i8* %32, i8** %22
%33 = call i64 @getenv(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0))
%34 = inttoptr i64 %33 to i8*
store i8* %34, i8** %23
%35 = load i8*, i8** %19
%36 = icmp ne i8* %35, null
br i1 %36, label %39, label %37
37: ; preds = %2
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.4, i64 0, i64 0))
store i32 -1, i32* %3
br label %618
39: ; preds = %2
%40 = load i8*, i8** %20
%41 = icmp ne i8* %40, null
br i1 %41, label %44, label %42
42: ; preds = %39
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0))
store i32 -1, i32* %3
br label %618
44: ; preds = %39
%45 = getelementptr inbounds [1024 x i8], [1024 x i8]* %14, i64 0, i64 0
%46 = call i32 @memset(i8* %45, i32 0, i32 1024)
%47 = getelementptr inbounds [1024 x i8], [1024 x i8]* %14, i64 0, i64 0
%48 = load i8*, i8** %20
%49 = load i8*, i8** %20
%50 = call i32 @strlen(i8* %49)
%51 = call i32 @memcpy(i8* %47, i8* %48, i32 %50)
%52 = load i8*, i8** %19
%53 = call i32 @strlen(i8* %52)
%54 = sext i32 %53 to i64
%55 = icmp ugt i64 %54, 412
br i1 %55, label %56, label %58
56: ; preds = %44
%57 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.6, i64 0, i64 0))
store i32 -1, i32* %3
br label %618
58: ; preds = %44
%59 = getelementptr inbounds [1024 x i8], [1024 x i8]* %14, i64 0, i64 0
%60 = call i8* @strtok(i8* %59, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0))
store i8* %60, i8** %20
br label %61
61: ; preds = %614, %58
%62 = load i8*, i8** %20
%63 = icmp ne i8* %62, null
br i1 %63, label %64, label %616
64: ; preds = %61
%65 = load i8*, i8** %20
%66 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i8* %65)
%67 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%68 = call i32 @memset(i8* %67, i32 0, i32 512)
%69 = getelementptr inbounds [512 x i8], [512 x i8]* %9, i64 0, i64 0
%70 = call i32 @memset(i8* %69, i32 0, i32 512)
%71 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%72 = call i32 @memset(i8* %71, i32 0, i32 512)
%73 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%74 = call i32 @memset(i8* %73, i32 0, i32 512)
%75 = getelementptr inbounds [512 x i8], [512 x i8]* %13, i64 0, i64 0
%76 = call i32 @memset(i8* %75, i32 0, i32 512)
%77 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%78 = call i32 @memset(i8* %77, i32 0, i32 512)
%79 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%80 = call i32 @memset(i8* %79, i32 0, i32 128)
%81 = getelementptr inbounds [128 x i8], [128 x i8]* %18, i64 0, i64 0
%82 = call i32 @memset(i8* %81, i32 0, i32 128)
%83 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%84 = call i32 @memset(i8* %83, i32 0, i32 128)
%85 = getelementptr inbounds [512 x i8], [512 x i8]* %8, i64 0, i64 0
%86 = call i32 @memset(i8* %85, i32 0, i32 512)
%87 = getelementptr inbounds [512 x i8], [512 x i8]* %12, i64 0, i64 0
%88 = call i32 @memset(i8* %87, i32 0, i32 512)
%89 = getelementptr inbounds [128 x i8], [128 x i8]* %17, i64 0, i64 0
%90 = call i32 @memset(i8* %89, i32 0, i32 128)
%91 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%92 = load i8*, i8** %19
%93 = call i32 @strcat(i8* %91, i8* %92)
%94 = getelementptr inbounds [512 x i8], [512 x i8]* %9, i64 0, i64 0
%95 = load i8*, i8** %19
%96 = call i32 @strcat(i8* %94, i8* %95)
%97 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%98 = load i8*, i8** %19
%99 = call i32 @strcat(i8* %97, i8* %98)
%100 = getelementptr inbounds [512 x i8], [512 x i8]* %8, i64 0, i64 0
%101 = load i8*, i8** %19
%102 = call i32 @strcat(i8* %100, i8* %101)
%103 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%104 = load i8*, i8** %19
%105 = call i32 @strcat(i8* %103, i8* %104)
%106 = getelementptr inbounds [512 x i8], [512 x i8]* %13, i64 0, i64 0
%107 = load i8*, i8** %19
%108 = call i32 @strcat(i8* %106, i8* %107)
%109 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%110 = load i8*, i8** %19
%111 = call i32 @strcat(i8* %109, i8* %110)
%112 = getelementptr inbounds [512 x i8], [512 x i8]* %12, i64 0, i64 0
%113 = load i8*, i8** %19
%114 = call i32 @strcat(i8* %112, i8* %113)
store i32 0, i32* %24
store i32 0, i32* %25
store i32 0, i32* %26
%115 = load i8*, i8** %20
%116 = call i64 @strncmp(i8* %115, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0), i32 4)
%117 = icmp eq i64 %116, 0
br i1 %117, label %118, label %125
118: ; preds = %64
%119 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%120 = call i32 @strcat(i8* %119, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%121 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%122 = call i32 @strcat(i8* %121, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0))
%123 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%124 = call i32 @strcat(i8* %123, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
store i32 1, i32* %24
br label %586
125: ; preds = %64
%126 = load i8*, i8** %20
%127 = call i64 @strncmp(i8* %126, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i64 0, i64 0), i32 4)
%128 = icmp eq i64 %127, 0
br i1 %128, label %129, label %155
129: ; preds = %125
%130 = load i8*, i8** %22
%131 = icmp ne i8* %130, null
br i1 %131, label %132, label %147
132: ; preds = %129
%133 = load i8*, i8** %22
%134 = call i64 @strncmp(i8* %133, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%135 = icmp eq i64 %134, 0
br i1 %135, label %136, label %147
136: ; preds = %132
%137 = load i8*, i8** %23
%138 = call i64 @strncmp(i8* %137, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%139 = icmp eq i64 %138, 0
br i1 %139, label %140, label %147
140: ; preds = %136
%141 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%142 = call i32 @strcat(i8* %141, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%143 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%144 = call i32 @strcat(i8* %143, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%145 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%146 = call i32 @strcat(i8* %145, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %154
147: ; preds = %136, %132, %129
%148 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%149 = call i32 @strcat(i8* %148, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%150 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%151 = call i32 @strcat(i8* %150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%152 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%153 = call i32 @strcat(i8* %152, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %154
154: ; preds = %147, %140
br label %585
155: ; preds = %125
%156 = load i8*, i8** %20
%157 = call i64 @strncmp(i8* %156, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i32 4)
%158 = icmp eq i64 %157, 0
br i1 %158, label %159, label %166
159: ; preds = %155
%160 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%161 = call i32 @strcat(i8* %160, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%162 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%163 = call i32 @strcat(i8* %162, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0))
%164 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%165 = call i32 @strcat(i8* %164, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
store i32 1, i32* %24
br label %584
166: ; preds = %155
%167 = load i8*, i8** %20
%168 = call i64 @strncmp(i8* %167, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i64 0, i64 0), i32 4)
%169 = icmp eq i64 %168, 0
br i1 %169, label %170, label %196
170: ; preds = %166
%171 = load i8*, i8** %22
%172 = icmp ne i8* %171, null
br i1 %172, label %173, label %188
173: ; preds = %170
%174 = load i8*, i8** %22
%175 = call i64 @strncmp(i8* %174, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%176 = icmp eq i64 %175, 0
br i1 %176, label %177, label %188
177: ; preds = %173
%178 = load i8*, i8** %23
%179 = call i64 @strncmp(i8* %178, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%180 = icmp eq i64 %179, 0
br i1 %180, label %181, label %188
181: ; preds = %177
%182 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%183 = call i32 @strcat(i8* %182, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%184 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%185 = call i32 @strcat(i8* %184, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%186 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%187 = call i32 @strcat(i8* %186, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %195
188: ; preds = %177, %173, %170
%189 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%190 = call i32 @strcat(i8* %189, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%191 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%192 = call i32 @strcat(i8* %191, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%193 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%194 = call i32 @strcat(i8* %193, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %195
195: ; preds = %188, %181
br label %583
196: ; preds = %166
%197 = load i8*, i8** %20
%198 = call i64 @strncmp(i8* %197, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i64 0, i64 0), i32 4)
%199 = icmp eq i64 %198, 0
br i1 %199, label %200, label %226
200: ; preds = %196
%201 = load i8*, i8** %22
%202 = icmp ne i8* %201, null
br i1 %202, label %203, label %218
203: ; preds = %200
%204 = load i8*, i8** %22
%205 = call i64 @strncmp(i8* %204, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%206 = icmp eq i64 %205, 0
br i1 %206, label %207, label %218
207: ; preds = %203
%208 = load i8*, i8** %23
%209 = call i64 @strncmp(i8* %208, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%210 = icmp eq i64 %209, 0
br i1 %210, label %211, label %218
211: ; preds = %207
%212 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%213 = call i32 @strcat(i8* %212, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%214 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%215 = call i32 @strcat(i8* %214, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%216 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%217 = call i32 @strcat(i8* %216, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %225
218: ; preds = %207, %203, %200
%219 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%220 = call i32 @strcat(i8* %219, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%221 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%222 = call i32 @strcat(i8* %221, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%223 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%224 = call i32 @strcat(i8* %223, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %225
225: ; preds = %218, %211
br label %582
226: ; preds = %196
%227 = load i8*, i8** %20
%228 = call i64 @strncmp(i8* %227, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.25, i64 0, i64 0), i32 4)
%229 = icmp eq i64 %228, 0
br i1 %229, label %230, label %256
230: ; preds = %226
%231 = load i8*, i8** %22
%232 = icmp ne i8* %231, null
br i1 %232, label %233, label %248
233: ; preds = %230
%234 = load i8*, i8** %22
%235 = call i64 @strncmp(i8* %234, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%236 = icmp eq i64 %235, 0
br i1 %236, label %237, label %248
237: ; preds = %233
%238 = load i8*, i8** %23
%239 = call i64 @strncmp(i8* %238, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%240 = icmp eq i64 %239, 0
br i1 %240, label %241, label %248
241: ; preds = %237
%242 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%243 = call i32 @strcat(i8* %242, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%244 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%245 = call i32 @strcat(i8* %244, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%246 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%247 = call i32 @strcat(i8* %246, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %255
248: ; preds = %237, %233, %230
%249 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%250 = call i32 @strcat(i8* %249, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%251 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%252 = call i32 @strcat(i8* %251, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%253 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%254 = call i32 @strcat(i8* %253, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %255
255: ; preds = %248, %241
br label %581
256: ; preds = %226
%257 = load i8*, i8** %20
%258 = call i64 @strncmp(i8* %257, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.26, i64 0, i64 0), i32 4)
%259 = icmp eq i64 %258, 0
br i1 %259, label %260, label %286
260: ; preds = %256
%261 = load i8*, i8** %22
%262 = icmp ne i8* %261, null
br i1 %262, label %263, label %278
263: ; preds = %260
%264 = load i8*, i8** %22
%265 = call i64 @strncmp(i8* %264, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%266 = icmp eq i64 %265, 0
br i1 %266, label %267, label %278
267: ; preds = %263
%268 = load i8*, i8** %23
%269 = call i64 @strncmp(i8* %268, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%270 = icmp eq i64 %269, 0
br i1 %270, label %271, label %278
271: ; preds = %267
%272 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%273 = call i32 @strcat(i8* %272, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%274 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%275 = call i32 @strcat(i8* %274, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%276 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%277 = call i32 @strcat(i8* %276, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %285
278: ; preds = %267, %263, %260
%279 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%280 = call i32 @strcat(i8* %279, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%281 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%282 = call i32 @strcat(i8* %281, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%283 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%284 = call i32 @strcat(i8* %283, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %285
285: ; preds = %278, %271
br label %580
286: ; preds = %256
%287 = load i8*, i8** %20
%288 = call i64 @strncmp(i8* %287, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.27, i64 0, i64 0), i32 4)
%289 = icmp eq i64 %288, 0
br i1 %289, label %290, label %316
290: ; preds = %286
%291 = load i8*, i8** %22
%292 = icmp ne i8* %291, null
br i1 %292, label %293, label %308
293: ; preds = %290
%294 = load i8*, i8** %22
%295 = call i64 @strncmp(i8* %294, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%296 = icmp eq i64 %295, 0
br i1 %296, label %297, label %308
297: ; preds = %293
%298 = load i8*, i8** %23
%299 = call i64 @strncmp(i8* %298, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%300 = icmp eq i64 %299, 0
br i1 %300, label %301, label %308
301: ; preds = %297
%302 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%303 = call i32 @strcat(i8* %302, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%304 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%305 = call i32 @strcat(i8* %304, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%306 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%307 = call i32 @strcat(i8* %306, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %315
308: ; preds = %297, %293, %290
%309 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%310 = call i32 @strcat(i8* %309, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%311 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%312 = call i32 @strcat(i8* %311, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%313 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%314 = call i32 @strcat(i8* %313, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %315
315: ; preds = %308, %301
br label %579
316: ; preds = %286
%317 = load i8*, i8** %20
%318 = call i64 @strncmp(i8* %317, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28, i64 0, i64 0), i32 4)
%319 = icmp eq i64 %318, 0
br i1 %319, label %320, label %346
320: ; preds = %316
%321 = load i8*, i8** %22
%322 = icmp ne i8* %321, null
br i1 %322, label %323, label %338
323: ; preds = %320
%324 = load i8*, i8** %22
%325 = call i64 @strncmp(i8* %324, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%326 = icmp eq i64 %325, 0
br i1 %326, label %327, label %338
327: ; preds = %323
%328 = load i8*, i8** %23
%329 = call i64 @strncmp(i8* %328, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%330 = icmp eq i64 %329, 0
br i1 %330, label %331, label %338
331: ; preds = %327
%332 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%333 = call i32 @strcat(i8* %332, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%334 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%335 = call i32 @strcat(i8* %334, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%336 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%337 = call i32 @strcat(i8* %336, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
store i32 1, i32* %24
br label %345
338: ; preds = %327, %323, %320
%339 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%340 = call i32 @strcat(i8* %339, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%341 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%342 = call i32 @strcat(i8* %341, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%343 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%344 = call i32 @strcat(i8* %343, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %345
345: ; preds = %338, %331
br label %578
346: ; preds = %316
%347 = load i8*, i8** %20
%348 = call i64 @strncmp(i8* %347, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.29, i64 0, i64 0), i32 4)
%349 = icmp eq i64 %348, 0
br i1 %349, label %350, label %357
350: ; preds = %346
%351 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%352 = call i32 @strcat(i8* %351, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%353 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%354 = call i32 @strcat(i8* %353, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%355 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%356 = call i32 @strcat(i8* %355, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
store i32 1, i32* %24
br label %577
357: ; preds = %346
%358 = load i8*, i8** %20
%359 = call i64 @strncmp(i8* %358, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30, i64 0, i64 0), i32 4)
%360 = icmp eq i64 %359, 0
br i1 %360, label %361, label %368
361: ; preds = %357
%362 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%363 = call i32 @strcat(i8* %362, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%364 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%365 = call i32 @strcat(i8* %364, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0))
%366 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%367 = call i32 @strcat(i8* %366, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
store i32 1, i32* %24
br label %576
368: ; preds = %357
%369 = load i8*, i8** %20
%370 = call i64 @strncmp(i8* %369, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.31, i64 0, i64 0), i32 7)
%371 = icmp eq i64 %370, 0
br i1 %371, label %376, label %372
372: ; preds = %368
%373 = load i8*, i8** %20
%374 = call i64 @strncmp(i8* %373, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.32, i64 0, i64 0), i32 7)
%375 = icmp eq i64 %374, 0
br i1 %375, label %376, label %389
376: ; preds = %372, %368
%377 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%378 = call i32 @strcat(i8* %377, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.33, i64 0, i64 0))
%379 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%380 = call i32 @strcat(i8* %379, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.34, i64 0, i64 0))
%381 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%382 = call i32 @strcat(i8* %381, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.35, i64 0, i64 0))
store i32 1, i32* %24
%383 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%384 = call i32 @strcat(i8* %383, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.36, i64 0, i64 0))
%385 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%386 = call i32 @strcat(i8* %385, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.37, i64 0, i64 0))
%387 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%388 = call i32 @strcat(i8* %387, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.38, i64 0, i64 0))
store i32 1, i32* %26
br label %575
389: ; preds = %372
%390 = load i8*, i8** %20
%391 = call i64 @strncmp(i8* %390, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i64 0, i64 0), i32 7)
%392 = icmp eq i64 %391, 0
br i1 %392, label %405, label %393
393: ; preds = %389
%394 = load i8*, i8** %20
%395 = call i64 @strncmp(i8* %394, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.40, i64 0, i64 0), i32 7)
%396 = icmp eq i64 %395, 0
br i1 %396, label %405, label %397
397: ; preds = %393
%398 = load i8*, i8** %20
%399 = call i64 @strncmp(i8* %398, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.41, i64 0, i64 0), i32 7)
%400 = icmp eq i64 %399, 0
br i1 %400, label %405, label %401
401: ; preds = %397
%402 = load i8*, i8** %20
%403 = call i64 @strncmp(i8* %402, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.42, i64 0, i64 0), i32 7)
%404 = icmp eq i64 %403, 0
br i1 %404, label %405, label %412
405: ; preds = %401, %397, %393, %389
%406 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%407 = call i32 @strcat(i8* %406, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%408 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%409 = call i32 @strcat(i8* %408, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.44, i64 0, i64 0))
%410 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%411 = call i32 @strcat(i8* %410, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.45, i64 0, i64 0))
store i32 1, i32* %24
br label %574
412: ; preds = %401
%413 = load i8*, i8** %20
%414 = call i64 @strncmp(i8* %413, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0), i32 7)
%415 = icmp eq i64 %414, 0
br i1 %415, label %420, label %416
416: ; preds = %412
%417 = load i8*, i8** %20
%418 = call i64 @strncmp(i8* %417, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.47, i64 0, i64 0), i32 7)
%419 = icmp eq i64 %418, 0
br i1 %419, label %420, label %450
420: ; preds = %416, %412
%421 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%422 = call i32 @strcat(i8* %421, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%423 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%424 = call i32 @strcat(i8* %423, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.48, i64 0, i64 0))
%425 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%426 = call i32 @strcat(i8* %425, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.49, i64 0, i64 0))
store i32 1, i32* %24
%427 = load i8*, i8** %20
%428 = call i64 @strncmp(i8* %427, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0), i32 7)
%429 = icmp eq i64 %428, 0
br i1 %429, label %430, label %437
430: ; preds = %420
%431 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%432 = call i32 @strcat(i8* %431, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.50, i64 0, i64 0))
%433 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%434 = call i32 @strcat(i8* %433, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.51, i64 0, i64 0))
%435 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%436 = call i32 @strcat(i8* %435, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.52, i64 0, i64 0))
br label %449
437: ; preds = %420
%438 = load i8*, i8** %20
%439 = call i64 @strncmp(i8* %438, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.47, i64 0, i64 0), i32 7)
%440 = icmp eq i64 %439, 0
br i1 %440, label %441, label %448
441: ; preds = %437
%442 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%443 = call i32 @strcat(i8* %442, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.50, i64 0, i64 0))
%444 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%445 = call i32 @strcat(i8* %444, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.53, i64 0, i64 0))
%446 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%447 = call i32 @strcat(i8* %446, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.54, i64 0, i64 0))
br label %448
448: ; preds = %441, %437
br label %449
449: ; preds = %448, %430
br label %573
450: ; preds = %416
%451 = load i8*, i8** %20
%452 = call i64 @strncmp(i8* %451, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.55, i64 0, i64 0), i32 7)
%453 = icmp eq i64 %452, 0
br i1 %453, label %474, label %454
454: ; preds = %450
%455 = load i8*, i8** %20
%456 = call i64 @strncmp(i8* %455, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 7)
%457 = icmp eq i64 %456, 0
br i1 %457, label %474, label %458
458: ; preds = %454
%459 = load i8*, i8** %20
%460 = call i64 @strncmp(i8* %459, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.57, i64 0, i64 0), i32 7)
%461 = icmp eq i64 %460, 0
br i1 %461, label %474, label %462
462: ; preds = %458
%463 = load i8*, i8** %20
%464 = call i64 @strncmp(i8* %463, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.58, i64 0, i64 0), i32 7)
%465 = icmp eq i64 %464, 0
br i1 %465, label %474, label %466
466: ; preds = %462
%467 = load i8*, i8** %20
%468 = call i64 @strncmp(i8* %467, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.59, i64 0, i64 0), i32 7)
%469 = icmp eq i64 %468, 0
br i1 %469, label %474, label %470
470: ; preds = %466
%471 = load i8*, i8** %20
%472 = call i64 @strncmp(i8* %471, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.60, i64 0, i64 0), i32 7)
%473 = icmp eq i64 %472, 0
br i1 %473, label %474, label %493
474: ; preds = %470, %466, %462, %458, %454, %450
%475 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%476 = call i32 @strcat(i8* %475, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.61, i64 0, i64 0))
%477 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%478 = call i32 @strcat(i8* %477, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.62, i64 0, i64 0))
%479 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%480 = call i32 @strcat(i8* %479, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.63, i64 0, i64 0))
%481 = getelementptr inbounds [512 x i8], [512 x i8]* %8, i64 0, i64 0
%482 = call i32 @strcat(i8* %481, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.64, i64 0, i64 0))
%483 = getelementptr inbounds [512 x i8], [512 x i8]* %12, i64 0, i64 0
%484 = call i32 @strcat(i8* %483, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.65, i64 0, i64 0))
%485 = getelementptr inbounds [128 x i8], [128 x i8]* %17, i64 0, i64 0
%486 = call i32 @strcat(i8* %485, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.66, i64 0, i64 0))
%487 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%488 = call i32 @strcat(i8* %487, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.67, i64 0, i64 0))
%489 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%490 = call i32 @strcat(i8* %489, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.68, i64 0, i64 0))
%491 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%492 = call i32 @strcat(i8* %491, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.69, i64 0, i64 0))
store i32 1, i32* %24
store i32 1, i32* %25
store i32 1, i32* %26
br label %572
493: ; preds = %470
%494 = load i8*, i8** %20
%495 = call i64 @strncmp(i8* %494, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.70, i64 0, i64 0), i32 7)
%496 = icmp eq i64 %495, 0
br i1 %496, label %501, label %497
497: ; preds = %493
%498 = load i8*, i8** %20
%499 = call i64 @strncmp(i8* %498, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.71, i64 0, i64 0), i32 7)
%500 = icmp eq i64 %499, 0
br i1 %500, label %501, label %514
501: ; preds = %497, %493
%502 = getelementptr inbounds [512 x i8], [512 x i8]* %8, i64 0, i64 0
%503 = call i32 @strcat(i8* %502, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.72, i64 0, i64 0))
%504 = getelementptr inbounds [512 x i8], [512 x i8]* %12, i64 0, i64 0
%505 = call i32 @strcat(i8* %504, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.73, i64 0, i64 0))
%506 = getelementptr inbounds [128 x i8], [128 x i8]* %17, i64 0, i64 0
%507 = call i32 @strcat(i8* %506, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.74, i64 0, i64 0))
%508 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%509 = call i32 @strcat(i8* %508, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.75, i64 0, i64 0))
%510 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%511 = call i32 @strcat(i8* %510, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.76, i64 0, i64 0))
%512 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%513 = call i32 @strcat(i8* %512, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.77, i64 0, i64 0))
store i32 1, i32* %24
store i32 1, i32* %25
br label %571
514: ; preds = %497
%515 = load i8*, i8** %20
%516 = call i64 @strncmp(i8* %515, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i32 7)
%517 = icmp eq i64 %516, 0
br i1 %517, label %522, label %518
518: ; preds = %514
%519 = load i8*, i8** %20
%520 = call i64 @strncmp(i8* %519, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.79, i64 0, i64 0), i32 7)
%521 = icmp eq i64 %520, 0
br i1 %521, label %522, label %549
522: ; preds = %518, %514
%523 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%524 = call i32 @strcat(i8* %523, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.80, i64 0, i64 0))
%525 = load i8*, i8** %23
%526 = call i64 @strncmp(i8* %525, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.81, i64 0, i64 0), i32 2)
%527 = icmp eq i64 %526, 0
br i1 %527, label %528, label %531
528: ; preds = %522
%529 = getelementptr inbounds [512 x i8], [512 x i8]* %9, i64 0, i64 0
%530 = call i32 @strcat(i8* %529, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.82, i64 0, i64 0))
br label %534
531: ; preds = %522
%532 = getelementptr inbounds [512 x i8], [512 x i8]* %9, i64 0, i64 0
%533 = call i32 @strcat(i8* %532, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.83, i64 0, i64 0))
br label %534
534: ; preds = %531, %528
%535 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%536 = call i32 @strcat(i8* %535, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.84, i64 0, i64 0))
%537 = getelementptr inbounds [512 x i8], [512 x i8]* %13, i64 0, i64 0
%538 = call i32 @strcat(i8* %537, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.85, i64 0, i64 0))
%539 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%540 = call i32 @strcat(i8* %539, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.86, i64 0, i64 0))
%541 = getelementptr inbounds [128 x i8], [128 x i8]* %18, i64 0, i64 0
%542 = call i32 @strcat(i8* %541, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.87, i64 0, i64 0))
%543 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%544 = call i32 @strcat(i8* %543, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.88, i64 0, i64 0))
%545 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%546 = call i32 @strcat(i8* %545, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.89, i64 0, i64 0))
%547 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%548 = call i32 @strcat(i8* %547, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.90, i64 0, i64 0))
store i32 1, i32* %24
store i32 1, i32* %26
br label %570
549: ; preds = %518
%550 = load i8*, i8** %20
%551 = call i64 @strncmp(i8* %550, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.91, i64 0, i64 0), i32 7)
%552 = icmp eq i64 %551, 0
br i1 %552, label %553, label %566
553: ; preds = %549
%554 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%555 = call i32 @strcat(i8* %554, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.92, i64 0, i64 0))
%556 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%557 = call i32 @strcat(i8* %556, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.93, i64 0, i64 0))
%558 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%559 = call i32 @strcat(i8* %558, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.94, i64 0, i64 0))
%560 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%561 = call i32 @strcat(i8* %560, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.95, i64 0, i64 0))
%562 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%563 = call i32 @strcat(i8* %562, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.96, i64 0, i64 0))
%564 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%565 = call i32 @strcat(i8* %564, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.97, i64 0, i64 0))
store i32 1, i32* %24
store i32 1, i32* %26
br label %569
566: ; preds = %549
%567 = load i8*, i8** %20
%568 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.98, i64 0, i64 0), i8* %567)
br label %569
569: ; preds = %566, %553
br label %570
570: ; preds = %569, %534
br label %571
571: ; preds = %570, %501
br label %572
572: ; preds = %571, %474
br label %573
573: ; preds = %572, %449
br label %574
574: ; preds = %573, %405
br label %575
575: ; preds = %574, %376
br label %576
576: ; preds = %575, %361
br label %577
577: ; preds = %576, %350
br label %578
578: ; preds = %577, %345
br label %579
579: ; preds = %578, %315
br label %580
580: ; preds = %579, %285
br label %581
581: ; preds = %580, %255
br label %582
582: ; preds = %581, %225
br label %583
583: ; preds = %582, %195
br label %584
584: ; preds = %583, %159
br label %585
585: ; preds = %584, %154
br label %586
586: ; preds = %585, %118
%587 = load i32, i32* %24
%588 = icmp ne i32 %587, 0
br i1 %588, label %589, label %598
589: ; preds = %586
%590 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%591 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%592 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%593 = call i32 @bin2h(i8* %590, i8* %591, i8* %592)
%594 = getelementptr inbounds [512 x i8], [512 x i8]* %9, i64 0, i64 0
%595 = getelementptr inbounds [512 x i8], [512 x i8]* %13, i64 0, i64 0
%596 = getelementptr inbounds [128 x i8], [128 x i8]* %18, i64 0, i64 0
%597 = call i32 @bin2h(i8* %594, i8* %595, i8* %596)
br label %598
598: ; preds = %589, %586
%599 = load i32, i32* %25
%600 = icmp ne i32 %599, 0
br i1 %600, label %601, label %606
601: ; preds = %598
%602 = getelementptr inbounds [512 x i8], [512 x i8]* %8, i64 0, i64 0
%603 = getelementptr inbounds [512 x i8], [512 x i8]* %12, i64 0, i64 0
%604 = getelementptr inbounds [128 x i8], [128 x i8]* %17, i64 0, i64 0
%605 = call i32 @bin2h(i8* %602, i8* %603, i8* %604)
br label %606
606: ; preds = %601, %598
%607 = load i32, i32* %26
%608 = icmp ne i32 %607, 0
br i1 %608, label %609, label %614
609: ; preds = %606
%610 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%611 = getelementptr inbounds [512 x i8], [512 x i8]* %11, i64 0, i64 0
%612 = getelementptr inbounds [128 x i8], [128 x i8]* %16, i64 0, i64 0
%613 = call i32 @bin2h(i8* %610, i8* %611, i8* %612)
br label %614
614: ; preds = %609, %606
%615 = call i8* @strtok(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0))
store i8* %615, i8** %20
br label %61
616: ; preds = %61
%617 = call i32 @exit(i32 0)
unreachable
618: ; preds = %56, %42, %37
%619 = load i32, i32* %3
ret i32 %619
}

LLVM IR (-O2):
@.str = [11 x i8] c"RT28xx_DIR\00"
@.str.1 = [8 x i8] c"CHIPSET\00"
@.str.2 = [16 x i8] c"HAS_WOW_SUPPORT\00"
@.str.3 = [12 x i8] c"RT28xx_MODE\00"
@.str.7 = [2 x i8] c" \00"
@.str.8 = [14 x i8] c"chipset = %s\0A\00"
@.str.9 = [5 x i8] c"2860\00"
@.str.10 = [20 x i8] c"/mcu/bin/rt2860.bin\00"
@.str.11 = [31 x i8] c"/include/mcu/rt2860_firmware.h\00"
@.str.12 = [21 x i8] c"RT2860_FirmwareImage\00"
@.str.13 = [5 x i8] c"2870\00"
@.str.14 = [2 x i8] c"y\00"
@.str.15 = [4 x i8] c"STA\00"
@.str.16 = [24 x i8] c"/mcu/bin/rt2870_wow.bin\00"
@.str.17 = [35 x i8] c"/include/mcu/rt2870_wow_firmware.h\00"
@.str.18 = [25 x i8] c"RT2870_WOW_FirmwareImage\00"
@.str.19 = [20 x i8] c"/mcu/bin/rt2870.bin\00"
@.str.20 = [31 x i8] c"/include/mcu/rt2870_firmware.h\00"
@.str.21 = [21 x i8] c"RT2870_FirmwareImage\00"
@.str.22 = [5 x i8] c"3090\00"
@.str.23 = [5 x i8] c"2070\00"
@.str.24 = [5 x i8] c"3070\00"
@.str.25 = [5 x i8] c"3572\00"
@.str.26 = [5 x i8] c"3573\00"
@.str.27 = [5 x i8] c"3370\00"
@.str.28 = [5 x i8] c"5370\00"
@.str.29 = [5 x i8] c"5572\00"
@.str.30 = [5 x i8] c"5592\00"
@.str.31 = [8 x i8] c"mt7601e\00"
@.str.32 = [8 x i8] c"mt7601u\00"
@.str.33 = [31 x i8] c"/mcu/bin/MT7601_formal_1.7.bin\00"
@.str.34 = [31 x i8] c"/include/mcu/mt7601_firmware.h\00"
@.str.35 = [21 x i8] c"MT7601_FirmwareImage\00"
@.str.36 = [37 x i8] c"/eeprom/MT7601_USB_V0_D-20130416.bin\00"
@.str.37 = [29 x i8] c"/include/eeprom/mt7601_e2p.h\00"
@.str.38 = [16 x i8] c"MT7601_E2PImage\00"
@.str.39 = [8 x i8] c"mt7650e\00"
@.str.40 = [8 x i8] c"mt7650u\00"
@.str.41 = [8 x i8] c"mt7630e\00"
@.str.42 = [8 x i8] c"mt7630u\00"
@.str.43 = [20 x i8] c"/mcu/bin/MT7650.bin\00"
@.str.44 = [31 x i8] c"/include/mcu/mt7650_firmware.h\00"
@.str.45 = [21 x i8] c"MT7650_FirmwareImage\00"
@.str.46 = [8 x i8] c"mt7610e\00"
@.str.47 = [8 x i8] c"mt7610u\00"
@.str.48 = [31 x i8] c"/include/mcu/mt7610_firmware.h\00"
@.str.49 = [21 x i8] c"MT7610_FirmwareImage\00"
@.str.50 = [29 x i8] c"/eeprom/MT7610U_FEM_V1_1.bin\00"
@.str.51 = [30 x i8] c"/include/eeprom/mt7610e_e2p.h\00"
@.str.52 = [17 x i8] c"MT7610E_E2PImage\00"
@.str.53 = [30 x i8] c"/include/eeprom/mt7610u_e2p.h\00"
@.str.54 = [17 x i8] c"MT7610U_E2PImage\00"
@.str.55 = [8 x i8] c"mt7662e\00"
@.str.56 = [8 x i8] c"mt7662u\00"
@.str.57 = [8 x i8] c"mt7632e\00"
@.str.58 = [8 x i8] c"mt7632u\00"
@.str.59 = [8 x i8] c"mt7612e\00"
@.str.60 = [8 x i8] c"mt7612u\00"
@.str.61 = [41 x i8] c"/mcu/bin/mt7662_firmware_e3_20131211.bin\00"
@.str.62 = [31 x i8] c"/include/mcu/mt7662_firmware.h\00"
@.str.63 = [21 x i8] c"MT7662_FirmwareImage\00"
@.str.64 = [43 x i8] c"/mcu/bin/mt7662_patch_e3_hdr_v0.0.2_P8.bin\00"
@.str.65 = [32 x i8] c"/include/mcu/mt7662_rom_patch.h\00"
@.str.66 = [17 x i8] c"mt7662_rom_patch\00"
@.str.67 = [37 x i8] c"/eeprom/MT7662E2_EEPROM_20130527.bin\00"
@.str.68 = [29 x i8] c"/include/eeprom/mt76x2_e2p.h\00"
@.str.69 = [16 x i8] c"MT76x2_E2PImage\00"
@.str.70 = [8 x i8] c"mt7636u\00"
@.str.71 = [8 x i8] c"mt7636s\00"
@.str.72 = [33 x i8] c"/mcu/bin/mt7636_patch_e1_hdr.bin\00"
@.str.73 = [32 x i8] c"/include/mcu/mt7636_rom_patch.h\00"
@.str.74 = [17 x i8] c"mt7636_rom_patch\00"
@.str.75 = [34 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7636.bin\00"
@.str.76 = [31 x i8] c"/include/mcu/mt7636_firmware.h\00"
@.str.77 = [21 x i8] c"MT7636_FirmwareImage\00"
@.str.78 = [8 x i8] c"mt7603e\00"
@.str.79 = [8 x i8] c"mt7603u\00"
@.str.80 = [37 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7603_e1.bin\00"
@.str.81 = [3 x i8] c"AP\00"
@.str.82 = [47 x i8] c"/mcu/bin/MT7603EAP/WIFI_RAM_CODE_MT7603_e2.bin\00"
@.str.83 = [37 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7603_e2.bin\00"
@.str.84 = [31 x i8] c"/include/mcu/mt7603_firmware.h\00"
@.str.85 = [34 x i8] c"/include/mcu/mt7603_e2_firmware.h\00"
@.str.86 = [21 x i8] c"MT7603_FirmwareImage\00"
@.str.87 = [24 x i8] c"MT7603_e2_FirmwareImage\00"
@.str.88 = [16 x i8] c"MT7603_E2PImage\00"
@.str.89 = [27 x i8] c"/eeprom/MT7603E_EEPROM.bin\00"
@.str.90 = [29 x i8] c"/include/eeprom/mt7603_e2p.h\00"
@.str.91 = [7 x i8] c"mt7628\00"
@.str.92 = [37 x i8] c"/mcu/bin/WIFI_RAM_CODE_MT7628_e1.bin\00"
@.str.93 = [31 x i8] c"/include/mcu/mt7628_firmware.h\00"
@.str.94 = [21 x i8] c"MT7628_FirmwareImage\00"
@.str.95 = [16 x i8] c"MT7628_E2PImage\00"
@.str.96 = [44 x i8] c"/eeprom/MT7603E1_EEPROM_layout_20131206.bin\00"
@.str.97 = [29 x i8] c"/include/eeprom/mt7628_e2p.h\00"
@.str.98 = [22 x i8] c"unknown chipset = %s\0A\00"
@str = [43 x i8] c"Environment value \22RT28xx_DIR\22 not export \00"
@str.99 = [40 x i8] c"Environment value \22CHIPSET\22 not export \00"
@str.100 = [44 x i8] c"Environment value \22RT28xx_DIR\22 is too long!\00"
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = alloca [512 x i8]
%4 = alloca [512 x i8]
%5 = alloca [512 x i8]
%6 = alloca [512 x i8]
%7 = alloca [512 x i8]
%8 = alloca [512 x i8]
%9 = alloca [512 x i8]
%10 = alloca [512 x i8]
%11 = alloca [1024 x i8]
%12 = alloca [128 x i8]
%13 = alloca [128 x i8]
%14 = alloca [128 x i8]
%15 = alloca [128 x i8]
%16 = getelementptr inbounds [512 x i8], [512 x i8]* %3, i64 0, i64 0
%17 = getelementptr inbounds [512 x i8], [512 x i8]* %4, i64 0, i64 0
%18 = getelementptr inbounds [512 x i8], [512 x i8]* %5, i64 0, i64 0
%19 = getelementptr inbounds [512 x i8], [512 x i8]* %6, i64 0, i64 0
%20 = getelementptr inbounds [512 x i8], [512 x i8]* %7, i64 0, i64 0
%21 = getelementptr inbounds [512 x i8], [512 x i8]* %8, i64 0, i64 0
%22 = getelementptr inbounds [512 x i8], [512 x i8]* %9, i64 0, i64 0
%23 = getelementptr inbounds [512 x i8], [512 x i8]* %10, i64 0, i64 0
%24 = getelementptr inbounds [1024 x i8], [1024 x i8]* %11, i64 0, i64 0
%25 = getelementptr inbounds [128 x i8], [128 x i8]* %12, i64 0, i64 0
%26 = getelementptr inbounds [128 x i8], [128 x i8]* %13, i64 0, i64 0
%27 = getelementptr inbounds [128 x i8], [128 x i8]* %14, i64 0, i64 0
%28 = getelementptr inbounds [128 x i8], [128 x i8]* %15, i64 0, i64 0
%29 = tail call i64 @getenv(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0))
%30 = inttoptr i64 %29 to i8*
%31 = tail call i64 @getenv(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0))
%32 = inttoptr i64 %31 to i8*
%33 = tail call i64 @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2, i64 0, i64 0))
%34 = inttoptr i64 %33 to i8*
%35 = tail call i64 @getenv(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0))
%36 = inttoptr i64 %35 to i8*
%37 = icmp eq i64 %29, 0
br i1 %37, label %38, label %40
38: ; preds = %2
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([43 x i8], [43 x i8]* @str, i64 0, i64 0))
br label %372
40: ; preds = %2
%41 = icmp eq i64 %31, 0
br i1 %41, label %42, label %44
42: ; preds = %40
%43 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @str.99, i64 0, i64 0))
br label %372
44: ; preds = %40
%45 = call i32 @memset(i8* %24, i32 0, i32 1024)
%46 = call i32 @strlen(i8* %32)
%47 = call i32 @memcpy(i8* %24, i8* %32, i32 %46)
%48 = call i32 @strlen(i8* %30)
%49 = icmp ugt i32 %48, 412
br i1 %49, label %50, label %52
50: ; preds = %44
%51 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @str.100, i64 0, i64 0))
br label %372
52: ; preds = %44
%53 = call i8* @strtok(i8* %24, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0))
%54 = icmp eq i8* %53, null
br i1 %54, label %370, label %55
55: ; preds = %52
%56 = icmp eq i64 %33, 0
br label %57
57: ; preds = %55, %367
%58 = phi i8* [ %53, %55 ], [ %368, %367 ]
%59 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i8* %58)
%60 = call i32 @memset(i8* %16, i32 0, i32 512)
%61 = call i32 @memset(i8* %19, i32 0, i32 512)
%62 = call i32 @memset(i8* %17, i32 0, i32 512)
%63 = call i32 @memset(i8* %20, i32 0, i32 512)
%64 = call i32 @memset(i8* %23, i32 0, i32 512)
%65 = call i32 @memset(i8* %21, i32 0, i32 512)
%66 = call i32 @memset(i8* %25, i32 0, i32 128)
%67 = call i32 @memset(i8* %28, i32 0, i32 128)
%68 = call i32 @memset(i8* %26, i32 0, i32 128)
%69 = call i32 @memset(i8* %18, i32 0, i32 512)
%70 = call i32 @memset(i8* %22, i32 0, i32 512)
%71 = call i32 @memset(i8* %27, i32 0, i32 128)
%72 = call i32 @strcat(i8* %16, i8* %30)
%73 = call i32 @strcat(i8* %19, i8* %30)
%74 = call i32 @strcat(i8* %17, i8* %30)
%75 = call i32 @strcat(i8* %18, i8* %30)
%76 = call i32 @strcat(i8* %20, i8* %30)
%77 = call i32 @strcat(i8* %23, i8* %30)
%78 = call i32 @strcat(i8* %21, i8* %30)
%79 = call i32 @strcat(i8* %22, i8* %30)
%80 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0), i32 4)
%81 = icmp eq i64 %80, 0
br i1 %81, label %82, label %86
82: ; preds = %57
%83 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%84 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0))
%85 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
br label %357
86: ; preds = %57
%87 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i64 0, i64 0), i32 4)
%88 = icmp eq i64 %87, 0
br i1 %88, label %89, label %104
89: ; preds = %86
br i1 %56, label %100, label %90
90: ; preds = %89
%91 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%92 = icmp eq i64 %91, 0
br i1 %92, label %93, label %100
93: ; preds = %90
%94 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%95 = icmp eq i64 %94, 0
br i1 %95, label %96, label %100
96: ; preds = %93
%97 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%98 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%99 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
100: ; preds = %93, %90, %89
%101 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%102 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%103 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
104: ; preds = %86
%105 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i32 4)
%106 = icmp eq i64 %105, 0
br i1 %106, label %107, label %111
107: ; preds = %104
%108 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%109 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0))
%110 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
br label %357
111: ; preds = %104
%112 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i64 0, i64 0), i32 4)
%113 = icmp eq i64 %112, 0
br i1 %113, label %114, label %129
114: ; preds = %111
br i1 %56, label %125, label %115
115: ; preds = %114
%116 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%117 = icmp eq i64 %116, 0
br i1 %117, label %118, label %125
118: ; preds = %115
%119 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%120 = icmp eq i64 %119, 0
br i1 %120, label %121, label %125
121: ; preds = %118
%122 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%123 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%124 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
125: ; preds = %118, %115, %114
%126 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%127 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%128 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
129: ; preds = %111
%130 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i64 0, i64 0), i32 4)
%131 = icmp eq i64 %130, 0
br i1 %131, label %132, label %147
132: ; preds = %129
br i1 %56, label %143, label %133
133: ; preds = %132
%134 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%135 = icmp eq i64 %134, 0
br i1 %135, label %136, label %143
136: ; preds = %133
%137 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%138 = icmp eq i64 %137, 0
br i1 %138, label %139, label %143
139: ; preds = %136
%140 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%141 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%142 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
143: ; preds = %136, %133, %132
%144 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%145 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%146 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
147: ; preds = %129
%148 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.25, i64 0, i64 0), i32 4)
%149 = icmp eq i64 %148, 0
br i1 %149, label %150, label %165
150: ; preds = %147
br i1 %56, label %161, label %151
151: ; preds = %150
%152 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%153 = icmp eq i64 %152, 0
br i1 %153, label %154, label %161
154: ; preds = %151
%155 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%156 = icmp eq i64 %155, 0
br i1 %156, label %157, label %161
157: ; preds = %154
%158 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%159 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%160 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
161: ; preds = %154, %151, %150
%162 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%163 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%164 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
165: ; preds = %147
%166 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.26, i64 0, i64 0), i32 4)
%167 = icmp eq i64 %166, 0
br i1 %167, label %168, label %183
168: ; preds = %165
br i1 %56, label %179, label %169
169: ; preds = %168
%170 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%171 = icmp eq i64 %170, 0
br i1 %171, label %172, label %179
172: ; preds = %169
%173 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%174 = icmp eq i64 %173, 0
br i1 %174, label %175, label %179
175: ; preds = %172
%176 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%177 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%178 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
179: ; preds = %172, %169, %168
%180 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%181 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%182 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
183: ; preds = %165
%184 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.27, i64 0, i64 0), i32 4)
%185 = icmp eq i64 %184, 0
br i1 %185, label %186, label %201
186: ; preds = %183
br i1 %56, label %197, label %187
187: ; preds = %186
%188 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%189 = icmp eq i64 %188, 0
br i1 %189, label %190, label %197
190: ; preds = %187
%191 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%192 = icmp eq i64 %191, 0
br i1 %192, label %193, label %197
193: ; preds = %190
%194 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%195 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%196 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
197: ; preds = %190, %187, %186
%198 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%199 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%200 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
201: ; preds = %183
%202 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28, i64 0, i64 0), i32 4)
%203 = icmp eq i64 %202, 0
br i1 %203, label %204, label %219
204: ; preds = %201
br i1 %56, label %215, label %205
205: ; preds = %204
%206 = call i64 @strncmp(i8* %34, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i32 1)
%207 = icmp eq i64 %206, 0
br i1 %207, label %208, label %215
208: ; preds = %205
%209 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i32 3)
%210 = icmp eq i64 %209, 0
br i1 %210, label %211, label %215
211: ; preds = %208
%212 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0))
%213 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.17, i64 0, i64 0))
%214 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.18, i64 0, i64 0))
br label %357
215: ; preds = %208, %205, %204
%216 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%217 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%218 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
219: ; preds = %201
%220 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.29, i64 0, i64 0), i32 4)
%221 = icmp eq i64 %220, 0
br i1 %221, label %222, label %226
222: ; preds = %219
%223 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19, i64 0, i64 0))
%224 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.20, i64 0, i64 0))
%225 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %357
226: ; preds = %219
%227 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30, i64 0, i64 0), i32 4)
%228 = icmp eq i64 %227, 0
br i1 %228, label %229, label %233
229: ; preds = %226
%230 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%231 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0))
%232 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
br label %357
233: ; preds = %226
%234 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.31, i64 0, i64 0), i32 7)
%235 = icmp eq i64 %234, 0
br i1 %235, label %239, label %236
236: ; preds = %233
%237 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.32, i64 0, i64 0), i32 7)
%238 = icmp eq i64 %237, 0
br i1 %238, label %239, label %246
239: ; preds = %236, %233
%240 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.33, i64 0, i64 0))
%241 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.34, i64 0, i64 0))
%242 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.35, i64 0, i64 0))
%243 = call i32 @strcat(i8* %17, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.36, i64 0, i64 0))
%244 = call i32 @strcat(i8* %21, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.37, i64 0, i64 0))
%245 = call i32 @strcat(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.38, i64 0, i64 0))
br label %357
246: ; preds = %236
%247 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i64 0, i64 0), i32 7)
%248 = icmp eq i64 %247, 0
br i1 %248, label %258, label %249
249: ; preds = %246
%250 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.40, i64 0, i64 0), i32 7)
%251 = icmp eq i64 %250, 0
br i1 %251, label %258, label %252
252: ; preds = %249
%253 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.41, i64 0, i64 0), i32 7)
%254 = icmp eq i64 %253, 0
br i1 %254, label %258, label %255
255: ; preds = %252
%256 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.42, i64 0, i64 0), i32 7)
%257 = icmp eq i64 %256, 0
br i1 %257, label %258, label %262
258: ; preds = %255, %252, %249, %246
%259 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%260 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.44, i64 0, i64 0))
%261 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.45, i64 0, i64 0))
br label %357
262: ; preds = %255
%263 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0), i32 7)
%264 = icmp eq i64 %263, 0
br i1 %264, label %268, label %265
265: ; preds = %262
%266 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.47, i64 0, i64 0), i32 7)
%267 = icmp eq i64 %266, 0
br i1 %267, label %268, label %285
268: ; preds = %265, %262
%269 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%270 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.48, i64 0, i64 0))
%271 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.49, i64 0, i64 0))
%272 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0), i32 7)
%273 = icmp eq i64 %272, 0
br i1 %273, label %274, label %278
274: ; preds = %268
%275 = call i32 @strcat(i8* %17, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.50, i64 0, i64 0))
%276 = call i32 @strcat(i8* %21, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.51, i64 0, i64 0))
%277 = call i32 @strcat(i8* %26, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.52, i64 0, i64 0))
br label %357
278: ; preds = %268
%279 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.47, i64 0, i64 0), i32 7)
%280 = icmp eq i64 %279, 0
br i1 %280, label %281, label %357
281: ; preds = %278
%282 = call i32 @strcat(i8* %17, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.50, i64 0, i64 0))
%283 = call i32 @strcat(i8* %21, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.53, i64 0, i64 0))
%284 = call i32 @strcat(i8* %26, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.54, i64 0, i64 0))
br label %357
285: ; preds = %265
%286 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.55, i64 0, i64 0), i32 7)
%287 = icmp eq i64 %286, 0
br i1 %287, label %303, label %288
288: ; preds = %285
%289 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 7)
%290 = icmp eq i64 %289, 0
br i1 %290, label %303, label %291
291: ; preds = %288
%292 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.57, i64 0, i64 0), i32 7)
%293 = icmp eq i64 %292, 0
br i1 %293, label %303, label %294
294: ; preds = %291
%295 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.58, i64 0, i64 0), i32 7)
%296 = icmp eq i64 %295, 0
br i1 %296, label %303, label %297
297: ; preds = %294
%298 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.59, i64 0, i64 0), i32 7)
%299 = icmp eq i64 %298, 0
br i1 %299, label %303, label %300
300: ; preds = %297
%301 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.60, i64 0, i64 0), i32 7)
%302 = icmp eq i64 %301, 0
br i1 %302, label %303, label %313
303: ; preds = %300, %297, %294, %291, %288, %285
%304 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.61, i64 0, i64 0))
%305 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.62, i64 0, i64 0))
%306 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.63, i64 0, i64 0))
%307 = call i32 @strcat(i8* %18, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.64, i64 0, i64 0))
%308 = call i32 @strcat(i8* %22, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.65, i64 0, i64 0))
%309 = call i32 @strcat(i8* %27, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.66, i64 0, i64 0))
%310 = call i32 @strcat(i8* %17, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.67, i64 0, i64 0))
%311 = call i32 @strcat(i8* %21, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.68, i64 0, i64 0))
%312 = call i32 @strcat(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.69, i64 0, i64 0))
br label %357
313: ; preds = %300
%314 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.70, i64 0, i64 0), i32 7)
%315 = icmp eq i64 %314, 0
br i1 %315, label %319, label %316
316: ; preds = %313
%317 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.71, i64 0, i64 0), i32 7)
%318 = icmp eq i64 %317, 0
br i1 %318, label %319, label %326
319: ; preds = %316, %313
%320 = call i32 @strcat(i8* %18, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.72, i64 0, i64 0))
%321 = call i32 @strcat(i8* %22, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.73, i64 0, i64 0))
%322 = call i32 @strcat(i8* %27, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.74, i64 0, i64 0))
%323 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.75, i64 0, i64 0))
%324 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.76, i64 0, i64 0))
%325 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.77, i64 0, i64 0))
br label %357
326: ; preds = %316
%327 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.78, i64 0, i64 0), i32 7)
%328 = icmp eq i64 %327, 0
br i1 %328, label %332, label %329
329: ; preds = %326
%330 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.79, i64 0, i64 0), i32 7)
%331 = icmp eq i64 %330, 0
br i1 %331, label %332, label %345
332: ; preds = %329, %326
%333 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.80, i64 0, i64 0))
%334 = call i64 @strncmp(i8* %36, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.81, i64 0, i64 0), i32 2)
%335 = icmp eq i64 %334, 0
%336 = select i1 %335, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.82, i64 0, i64 0), i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.83, i64 0, i64 0)
%337 = call i32 @strcat(i8* %19, i8* %336)
%338 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.84, i64 0, i64 0))
%339 = call i32 @strcat(i8* %23, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.85, i64 0, i64 0))
%340 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.86, i64 0, i64 0))
%341 = call i32 @strcat(i8* %28, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.87, i64 0, i64 0))
%342 = call i32 @strcat(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.88, i64 0, i64 0))
%343 = call i32 @strcat(i8* %17, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.89, i64 0, i64 0))
%344 = call i32 @strcat(i8* %21, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.90, i64 0, i64 0))
br label %357
345: ; preds = %329
%346 = call i64 @strncmp(i8* %58, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.91, i64 0, i64 0), i32 7)
%347 = icmp eq i64 %346, 0
br i1 %347, label %348, label %355
348: ; preds = %345
%349 = call i32 @strcat(i8* %16, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.92, i64 0, i64 0))
%350 = call i32 @strcat(i8* %20, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.93, i64 0, i64 0))
%351 = call i32 @strcat(i8* %25, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.94, i64 0, i64 0))
%352 = call i32 @strcat(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.95, i64 0, i64 0))
%353 = call i32 @strcat(i8* %17, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.96, i64 0, i64 0))
%354 = call i32 @strcat(i8* %21, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.97, i64 0, i64 0))
br label %357
355: ; preds = %345
%356 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @.str.98, i64 0, i64 0), i8* %58)
br label %367
357: ; preds = %82, %107, %143, %139, %179, %175, %215, %211, %229, %258, %303, %332, %348, %319, %274, %281, %278, %239, %222, %193, %197, %157, %161, %121, %125, %96, %100
%358 = phi i1 [ true, %82 ], [ true, %107 ], [ true, %143 ], [ true, %139 ], [ true, %179 ], [ true, %175 ], [ true, %215 ], [ true, %211 ], [ true, %229 ], [ true, %258 ], [ false, %303 ], [ true, %332 ], [ true, %348 ], [ false, %319 ], [ true, %274 ], [ true, %281 ], [ true, %278 ], [ true, %239 ], [ true, %222 ], [ true, %193 ], [ true, %197 ], [ true, %157 ], [ true, %161 ], [ true, %121 ], [ true, %125 ], [ true, %96 ], [ true, %100 ]
%359 = phi i1 [ true, %82 ], [ true, %107 ], [ true, %143 ], [ true, %139 ], [ true, %179 ], [ true, %175 ], [ true, %215 ], [ true, %211 ], [ true, %229 ], [ true, %258 ], [ false, %303 ], [ false, %332 ], [ false, %348 ], [ true, %319 ], [ true, %274 ], [ true, %281 ], [ true, %278 ], [ false, %239 ], [ true, %222 ], [ true, %193 ], [ true, %197 ], [ true, %157 ], [ true, %161 ], [ true, %121 ], [ true, %125 ], [ true, %96 ], [ true, %100 ]
%360 = call i32 @bin2h(i8* %16, i8* %20, i8* %25)
%361 = call i32 @bin2h(i8* %19, i8* %23, i8* %28)
br i1 %358, label %364, label %362
362: ; preds = %357
%363 = call i32 @bin2h(i8* %18, i8* %22, i8* %27)
br i1 %359, label %367, label %365
364: ; preds = %357
br i1 %359, label %367, label %365
365: ; preds = %362, %364
%366 = call i32 @bin2h(i8* %17, i8* %21, i8* %26)
br label %367
367: ; preds = %362, %355, %365, %364
%368 = call i8* @strtok(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0))
%369 = icmp eq i8* %368, null
br i1 %369, label %370, label %57
370: ; preds = %367, %52
%371 = call i32 @exit(i32 0)
unreachable
372: ; preds = %50, %42, %38
ret i32 -1
}