
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

ssh_signkey * find_pubkey_alg_len(int namelen,char *name)

{
  int iVar1;
  ssh_signkey *psVar2;
  
  iVar1 = match_ssh_id(namelen,name,"ssh-rsa");
  if (iVar1 == 0) {
    iVar1 = match_ssh_id(namelen,name,"ssh-dss");
    if (iVar1 != 0) {
      return &ssh_dss;
    }
    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");
    if (iVar1 != 0) {
      return &ssh_ecdsa_nistp256;
    }
    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");
    if (iVar1 == 0) {
      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");
      if (iVar1 == 0) {
        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");
        psVar2 = (ssh_signkey *)0x0;
        if (iVar1 != 0) {
          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;
        }
      }
      else {
        psVar2 = &ssh_ecdsa_nistp521;
      }
    }
    else {
      psVar2 = &ssh_ecdsa_nistp384;
    }
  }
  else {
    psVar2 = &ssh_rsa;
  }
  return psVar2;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined ** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)

{
  int iVar1;
  undefined **ppuVar2;
  
  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");
  if (iVar1 == 0) {
    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");
    if (iVar1 != 0) {
      return &PTR_FUN_0005c8e0;
    }
    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");
    if (iVar1 != 0) {
      return &PTR_FUN_0005c9e0;
    }
    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");
    if (iVar1 == 0) {
      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");
      if (iVar1 == 0) {
        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");
        ppuVar2 = (undefined **)0x0;
        if (iVar1 != 0) {
          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;
        }
      }
      else {
        ppuVar2 = &PTR_FUN_0005c960;
      }
    }
    else {
      ppuVar2 = &PTR_FUN_0005c9a0;
    }
  }
  else {
    ppuVar2 = &PTR_FUN_0005cae0;
  }
  return ppuVar2;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014540
ADD EBX,0x2d66b
SUB ESP,0x10
MOV ESI,dword ptr [ESP + 0x24]
MOV EDI,dword ptr [ESP + 0x28]
LEA EAX,[EBX + 0xfffe2cbd]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x0001ca30
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0002f830
LEA EAX,[EBX + 0xfffffc7c]
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe2cc5]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x0001ca30
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0002f870
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe7c8f]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x0001ca30
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0002f880
LEA EAX,[EBX + 0xfffffb7c]
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xfffffa7c]
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe7c7b]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x0001ca30
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0002f8c0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe7c67]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x0001ca30
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x0002f8d0
LEA EAX,[EBX + 0xfffffafc]
JMP 0x0002f825
LEA EAX,[EBX + 0xfffffb3c]
JMP 0x0002f825
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe7ca3]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x0001ca30
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,EBP
CMOVNZ EAX,dword ptr [EBX + 0x180]
JMP 0x0002f825
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined ** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}\n\n" comment (function_definition "undefined ** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}" type_identifier (pointer_declarator "** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" * (pointer_declarator "* FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" * (function_declarator "FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))))) (compound_statement "{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ssh-rsa")" identifier (argument_list "(param_1,param_2,"ssh-rsa")" ( identifier , identifier , (string_literal ""ssh-rsa"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }" { (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ssh-dss")" identifier (argument_list "(param_1,param_2,"ssh-dss")" ( identifier , identifier , (string_literal ""ssh-dss"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return &PTR_FUN_0005c8e0;\n    }" { (return_statement "return &PTR_FUN_0005c8e0;" return (pointer_expression "&PTR_FUN_0005c8e0" & identifier) ;) })) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256")" identifier (argument_list "(param_1,param_2,"ecdsa-sha2-nistp256")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp256"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return &PTR_FUN_0005c9e0;\n    }" { (return_statement "return &PTR_FUN_0005c9e0;" return (pointer_expression "&PTR_FUN_0005c9e0" & identifier) ;) })) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384")" identifier (argument_list "(param_1,param_2,"ecdsa-sha2-nistp384")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp384"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }" { (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521")" identifier (argument_list "(param_1,param_2,"ecdsa-sha2-nistp521")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp521"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }" { (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ssh-ed25519")" identifier (argument_list "(param_1,param_2,"ssh-ed25519")" ( identifier , identifier , (string_literal ""ssh-ed25519"" " string_content ") )))) ;) (expression_statement "ppuVar2 = (undefined **)0x0;" (assignment_expression "ppuVar2 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }" { (expression_statement "ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;" (assignment_expression "ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4" identifier = (cast_expression "(undefined **)PTR_PTR_FUN_0005cfe4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) }) (else_clause "else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" else (compound_statement "{\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" { (expression_statement "ppuVar2 = &PTR_FUN_0005c960;" (assignment_expression "ppuVar2 = &PTR_FUN_0005c960" identifier = (pointer_expression "&PTR_FUN_0005c960" & identifier)) ;) }))) }) (else_clause "else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" else (compound_statement "{\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" { (expression_statement "ppuVar2 = &PTR_FUN_0005c9a0;" (assignment_expression "ppuVar2 = &PTR_FUN_0005c9a0" identifier = (pointer_expression "&PTR_FUN_0005c9a0" & identifier)) ;) }))) }) (else_clause "else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" else (compound_statement "{\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" { (expression_statement "ppuVar2 = &PTR_FUN_0005cae0;" (assignment_expression "ppuVar2 = &PTR_FUN_0005cae0" identifier = (pointer_expression "&PTR_FUN_0005cae0" & identifier)) ;) }))) (return_statement "return ppuVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nssh_signkey * find_pubkey_alg_len(int namelen,char *name)\n\n{\n  int iVar1;\n  ssh_signkey *psVar2;\n  \n  iVar1 = match_ssh_id(namelen,name,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = match_ssh_id(namelen,name,"ssh-dss");\n    if (iVar1 != 0) {\n      return &ssh_dss;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &ssh_ecdsa_nistp256;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }\n    else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }\n  }\n  else {\n    psVar2 = &ssh_rsa;\n  }\n  return psVar2;\n}\n\n" comment comment (function_definition "ssh_signkey * find_pubkey_alg_len(int namelen,char *name)\n\n{\n  int iVar1;\n  ssh_signkey *psVar2;\n  \n  iVar1 = match_ssh_id(namelen,name,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = match_ssh_id(namelen,name,"ssh-dss");\n    if (iVar1 != 0) {\n      return &ssh_dss;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &ssh_ecdsa_nistp256;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }\n    else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }\n  }\n  else {\n    psVar2 = &ssh_rsa;\n  }\n  return psVar2;\n}" type_identifier (pointer_declarator "* find_pubkey_alg_len(int namelen,char *name)" * (function_declarator "find_pubkey_alg_len(int namelen,char *name)" identifier (parameter_list "(int namelen,char *name)" ( (parameter_declaration "int namelen" primitive_type identifier) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  ssh_signkey *psVar2;\n  \n  iVar1 = match_ssh_id(namelen,name,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = match_ssh_id(namelen,name,"ssh-dss");\n    if (iVar1 != 0) {\n      return &ssh_dss;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &ssh_ecdsa_nistp256;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }\n    else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }\n  }\n  else {\n    psVar2 = &ssh_rsa;\n  }\n  return psVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "ssh_signkey *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (expression_statement "iVar1 = match_ssh_id(namelen,name,"ssh-rsa");" (assignment_expression "iVar1 = match_ssh_id(namelen,name,"ssh-rsa")" identifier = (call_expression "match_ssh_id(namelen,name,"ssh-rsa")" identifier (argument_list "(namelen,name,"ssh-rsa")" ( identifier , identifier , (string_literal ""ssh-rsa"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = match_ssh_id(namelen,name,"ssh-dss");\n    if (iVar1 != 0) {\n      return &ssh_dss;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &ssh_ecdsa_nistp256;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }\n    else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }\n  }\n  else {\n    psVar2 = &ssh_rsa;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = match_ssh_id(namelen,name,"ssh-dss");\n    if (iVar1 != 0) {\n      return &ssh_dss;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &ssh_ecdsa_nistp256;\n    }\n    iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }\n    else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }\n  }" { (expression_statement "iVar1 = match_ssh_id(namelen,name,"ssh-dss");" (assignment_expression "iVar1 = match_ssh_id(namelen,name,"ssh-dss")" identifier = (call_expression "match_ssh_id(namelen,name,"ssh-dss")" identifier (argument_list "(namelen,name,"ssh-dss")" ( identifier , identifier , (string_literal ""ssh-dss"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n      return &ssh_dss;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return &ssh_dss;\n    }" { (return_statement "return &ssh_dss;" return (pointer_expression "&ssh_dss" & identifier) ;) })) (expression_statement "iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256");" (assignment_expression "iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp256")" identifier = (call_expression "match_ssh_id(namelen,name,"ecdsa-sha2-nistp256")" identifier (argument_list "(namelen,name,"ecdsa-sha2-nistp256")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp256"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n      return &ssh_ecdsa_nistp256;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return &ssh_ecdsa_nistp256;\n    }" { (return_statement "return &ssh_ecdsa_nistp256;" return (pointer_expression "&ssh_ecdsa_nistp256" & identifier) ;) })) (expression_statement "iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384");" (assignment_expression "iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp384")" identifier = (call_expression "match_ssh_id(namelen,name,"ecdsa-sha2-nistp384")" identifier (argument_list "(namelen,name,"ecdsa-sha2-nistp384")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp384"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }\n    else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }\n    }" { (expression_statement "iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521");" (assignment_expression "iVar1 = match_ssh_id(namelen,name,"ecdsa-sha2-nistp521")" identifier = (call_expression "match_ssh_id(namelen,name,"ecdsa-sha2-nistp521")" identifier (argument_list "(namelen,name,"ecdsa-sha2-nistp521")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp521"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }\n      else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");\n        psVar2 = (ssh_signkey *)0x0;\n        if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }\n      }" { (expression_statement "iVar1 = match_ssh_id(namelen,name,"ssh-ed25519");" (assignment_expression "iVar1 = match_ssh_id(namelen,name,"ssh-ed25519")" identifier = (call_expression "match_ssh_id(namelen,name,"ssh-ed25519")" identifier (argument_list "(namelen,name,"ssh-ed25519")" ( identifier , identifier , (string_literal ""ssh-ed25519"" " string_content ") )))) ;) (expression_statement "psVar2 = (ssh_signkey *)0x0;" (assignment_expression "psVar2 = (ssh_signkey *)0x0" identifier = (cast_expression "(ssh_signkey *)0x0" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar1 != 0) {\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;\n        }" { (expression_statement "psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4;" (assignment_expression "psVar2 = (ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4" identifier = (cast_expression "(ssh_signkey *)PTR_ssh_ecdsa_ed25519_0005cfe4" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }) (else_clause "else {\n        psVar2 = &ssh_ecdsa_nistp521;\n      }" else (compound_statement "{\n        psVar2 = &ssh_ecdsa_nistp521;\n      }" { (expression_statement "psVar2 = &ssh_ecdsa_nistp521;" (assignment_expression "psVar2 = &ssh_ecdsa_nistp521" identifier = (pointer_expression "&ssh_ecdsa_nistp521" & identifier)) ;) }))) }) (else_clause "else {\n      psVar2 = &ssh_ecdsa_nistp384;\n    }" else (compound_statement "{\n      psVar2 = &ssh_ecdsa_nistp384;\n    }" { (expression_statement "psVar2 = &ssh_ecdsa_nistp384;" (assignment_expression "psVar2 = &ssh_ecdsa_nistp384" identifier = (pointer_expression "&ssh_ecdsa_nistp384" & identifier)) ;) }))) }) (else_clause "else {\n    psVar2 = &ssh_rsa;\n  }" else (compound_statement "{\n    psVar2 = &ssh_rsa;\n  }" { (expression_statement "psVar2 = &ssh_rsa;" (assignment_expression "psVar2 = &ssh_rsa" identifier = (pointer_expression "&ssh_rsa" & identifier)) ;) }))) (return_statement "return psVar2;" return identifier ;) })))
(translation_unit "undefined ** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}\n\n" (function_definition "undefined ** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}" type_identifier (pointer_declarator "** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" * (pointer_declarator "* FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" * (function_declarator "FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))))) (compound_statement "{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ssh-rsa")" identifier (argument_list "(param_1,param_2,"ssh-rsa")" ( identifier , identifier , (string_literal ""ssh-rsa"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }" { (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ssh-dss")" identifier (argument_list "(param_1,param_2,"ssh-dss")" ( identifier , identifier , (string_literal ""ssh-dss"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return &PTR_FUN_0005c8e0;\n    }" { (return_statement "return &PTR_FUN_0005c8e0;" return (pointer_expression "&PTR_FUN_0005c8e0" & identifier) ;) })) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256")" identifier (argument_list "(param_1,param_2,"ecdsa-sha2-nistp256")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp256"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return &PTR_FUN_0005c9e0;\n    }" { (return_statement "return &PTR_FUN_0005c9e0;" return (pointer_expression "&PTR_FUN_0005c9e0" & identifier) ;) })) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384")" identifier (argument_list "(param_1,param_2,"ecdsa-sha2-nistp384")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp384"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }" { (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521")" identifier (argument_list "(param_1,param_2,"ecdsa-sha2-nistp521")" ( identifier , identifier , (string_literal ""ecdsa-sha2-nistp521"" " string_content ") )))) ;) (if_statement "if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }" { (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519")" identifier = (call_expression "FUN_0001ca30(param_1,param_2,"ssh-ed25519")" identifier (argument_list "(param_1,param_2,"ssh-ed25519")" ( identifier , identifier , (string_literal ""ssh-ed25519"" " string_content ") )))) ;) (expression_statement "ppuVar2 = (undefined **)0x0;" (assignment_expression "ppuVar2 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }" { (expression_statement "ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;" (assignment_expression "ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4" identifier = (cast_expression "(undefined **)PTR_PTR_FUN_0005cfe4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) }) (else_clause "else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" else (compound_statement "{\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" { (expression_statement "ppuVar2 = &PTR_FUN_0005c960;" (assignment_expression "ppuVar2 = &PTR_FUN_0005c960" identifier = (pointer_expression "&PTR_FUN_0005c960" & identifier)) ;) }))) }) (else_clause "else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" else (compound_statement "{\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" { (expression_statement "ppuVar2 = &PTR_FUN_0005c9a0;" (assignment_expression "ppuVar2 = &PTR_FUN_0005c9a0" identifier = (pointer_expression "&PTR_FUN_0005c9a0" & identifier)) ;) }))) }) (else_clause "else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" else (compound_statement "{\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" { (expression_statement "ppuVar2 = &PTR_FUN_0005cae0;" (assignment_expression "ppuVar2 = &PTR_FUN_0005cae0" identifier = (pointer_expression "&PTR_FUN_0005cae0" & identifier)) ;) }))) (return_statement "return ppuVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (pointer_expression & IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (pointer_expression & IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined ** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}" (type_identifier "undefined") (pointer_declarator "** FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" (* "*") (pointer_declarator "* FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" (* "*") (function_declarator "FUN_0002f7f0(undefined4 param_1,undefined4 param_2)" (identifier "FUN_0002f7f0") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))))) (compound_statement "{\n  int iVar1;\n  undefined **ppuVar2;\n  \n  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");\n  if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }\n  return ppuVar2;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa")" (identifier "iVar1") (= "=") (call_expression "FUN_0001ca30(param_1,param_2,"ssh-rsa")" (identifier "FUN_0001ca30") (argument_list "(param_1,param_2,"ssh-rsa")" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (string_literal ""ssh-rsa"" (" """) (string_content "ssh-rsa") (" """)) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }\n  else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");\n    if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }\n    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");\n    if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }\n  }" ({ "{") (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss")" (identifier "iVar1") (= "=") (call_expression "FUN_0001ca30(param_1,param_2,"ssh-dss")" (identifier "FUN_0001ca30") (argument_list "(param_1,param_2,"ssh-dss")" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (string_literal ""ssh-dss"" (" """) (string_content "ssh-dss") (" """)) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      return &PTR_FUN_0005c8e0;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return &PTR_FUN_0005c8e0;\n    }" ({ "{") (return_statement "return &PTR_FUN_0005c8e0;" (return "return") (pointer_expression "&PTR_FUN_0005c8e0" (& "&") (identifier "PTR_FUN_0005c8e0")) (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256")" (identifier "iVar1") (= "=") (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256")" (identifier "FUN_0001ca30") (argument_list "(param_1,param_2,"ecdsa-sha2-nistp256")" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (string_literal ""ecdsa-sha2-nistp256"" (" """) (string_content "ecdsa-sha2-nistp256") (" """)) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      return &PTR_FUN_0005c9e0;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return &PTR_FUN_0005c9e0;\n    }" ({ "{") (return_statement "return &PTR_FUN_0005c9e0;" (return "return") (pointer_expression "&PTR_FUN_0005c9e0" (& "&") (identifier "PTR_FUN_0005c9e0")) (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384")" (identifier "iVar1") (= "=") (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384")" (identifier "FUN_0001ca30") (argument_list "(param_1,param_2,"ecdsa-sha2-nistp384")" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (string_literal ""ecdsa-sha2-nistp384"" (" """) (string_content "ecdsa-sha2-nistp384") (" """)) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }\n    else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");\n      if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }\n    }" ({ "{") (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521")" (identifier "iVar1") (= "=") (call_expression "FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521")" (identifier "FUN_0001ca30") (argument_list "(param_1,param_2,"ecdsa-sha2-nistp521")" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (string_literal ""ecdsa-sha2-nistp521"" (" """) (string_content "ecdsa-sha2-nistp521") (" """)) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }\n      else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");\n        ppuVar2 = (undefined **)0x0;\n        if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }\n      }" ({ "{") (expression_statement "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");" (assignment_expression "iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519")" (identifier "iVar1") (= "=") (call_expression "FUN_0001ca30(param_1,param_2,"ssh-ed25519")" (identifier "FUN_0001ca30") (argument_list "(param_1,param_2,"ssh-ed25519")" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (string_literal ""ssh-ed25519"" (" """) (string_content "ssh-ed25519") (" """)) () ")")))) (; ";")) (expression_statement "ppuVar2 = (undefined **)0x0;" (assignment_expression "ppuVar2 = (undefined **)0x0" (identifier "ppuVar2") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar1 != 0) {\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;\n        }" ({ "{") (expression_statement "ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;" (assignment_expression "ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4" (identifier "ppuVar2") (= "=") (cast_expression "(undefined **)PTR_PTR_FUN_0005cfe4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_FUN_0005cfe4"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" (else "else") (compound_statement "{\n        ppuVar2 = &PTR_FUN_0005c960;\n      }" ({ "{") (expression_statement "ppuVar2 = &PTR_FUN_0005c960;" (assignment_expression "ppuVar2 = &PTR_FUN_0005c960" (identifier "ppuVar2") (= "=") (pointer_expression "&PTR_FUN_0005c960" (& "&") (identifier "PTR_FUN_0005c960"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" (else "else") (compound_statement "{\n      ppuVar2 = &PTR_FUN_0005c9a0;\n    }" ({ "{") (expression_statement "ppuVar2 = &PTR_FUN_0005c9a0;" (assignment_expression "ppuVar2 = &PTR_FUN_0005c9a0" (identifier "ppuVar2") (= "=") (pointer_expression "&PTR_FUN_0005c9a0" (& "&") (identifier "PTR_FUN_0005c9a0"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" (else "else") (compound_statement "{\n    ppuVar2 = &PTR_FUN_0005cae0;\n  }" ({ "{") (expression_statement "ppuVar2 = &PTR_FUN_0005cae0;" (assignment_expression "ppuVar2 = &PTR_FUN_0005cae0" (identifier "ppuVar2") (= "=") (pointer_expression "&PTR_FUN_0005cae0" (& "&") (identifier "PTR_FUN_0005cae0"))) (; ";")) (} "}")))) (return_statement "return ppuVar2;" (return "return") (identifier "ppuVar2") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

type_1 * function_1(int namelen,char *name)

{
  int var_2;
  type_1 *psVar2;
  
  var_2 = var_1(namelen,name,"ssh-rsa");
  if (var_2 == 0) {
    var_2 = var_1(namelen,name,"ssh-dss");
    if (var_2 != 0) {
      return &ssh_dss;
    }
    var_2 = var_1(namelen,name,"ecdsa-sha2-nistp256");
    if (var_2 != 0) {
      return &ssh_ecdsa_nistp256;
    }
    var_2 = var_1(namelen,name,"ecdsa-sha2-nistp384");
    if (var_2 == 0) {
      var_2 = var_1(namelen,name,"ecdsa-sha2-nistp521");
      if (var_2 == 0) {
        var_2 = var_1(namelen,name,"ssh-ed25519");
        psVar2 = (type_1 *)0x0;
        if (var_2 != 0) {
          psVar2 = (type_1 *)PTR_ssh_ecdsa_ed25519_0005cfe4;
        }
      }
      else {
        psVar2 = &ssh_ecdsa_nistp521;
      }
    }
    else {
      psVar2 = &ssh_ecdsa_nistp384;
    }
  }
  else {
    psVar2 = &ssh_rsa;
  }
  return psVar2;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined ** MASKED(undefined4 param_1,undefined4 param_2)

{
  int iVar1;
  undefined **ppuVar2;
  
  iVar1 = FUN_0001ca30(param_1,param_2,"ssh-rsa");
  if (iVar1 == 0) {
    iVar1 = FUN_0001ca30(param_1,param_2,"ssh-dss");
    if (iVar1 != 0) {
      return &PTR_FUN_0005c8e0;
    }
    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp256");
    if (iVar1 != 0) {
      return &PTR_FUN_0005c9e0;
    }
    iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp384");
    if (iVar1 == 0) {
      iVar1 = FUN_0001ca30(param_1,param_2,"ecdsa-sha2-nistp521");
      if (iVar1 == 0) {
        iVar1 = FUN_0001ca30(param_1,param_2,"ssh-ed25519");
        ppuVar2 = (undefined **)0x0;
        if (iVar1 != 0) {
          ppuVar2 = (undefined **)PTR_PTR_FUN_0005cfe4;
        }
      }
      else {
        ppuVar2 = &PTR_FUN_0005c960;
      }
    }
    else {
      ppuVar2 = &PTR_FUN_0005c9a0;
    }
  }
  else {
    ppuVar2 = &PTR_FUN_0005cae0;
  }
  return ppuVar2;
}

