
sftp_request * fxp_setstat_send(char *fname,fxp_attrs attrs)

{
  fxp_attrs attrs_00;
  undefined1 auVar1 [20];
  sftp_request *psVar2;
  sftp_packet *pkt;
  undefined4 in_stack_ffffffe4;
  undefined1 *puVar3;
  ulong in_stack_ffffffec;
  
  puVar3 = &_gp;
  psVar2 = sftp_alloc_request();
  pkt = sftp_pkt_init(9);
  sftp_pkt_adduint32(pkt,psVar2->id);
  sftp_pkt_addstring(pkt,fname);
  auVar1 = attrs._0_20_;
  attrs_00.flags = auVar1._0_4_;
  attrs_00.size.hi = (int)((ulonglong)auVar1._4_8_ >> 0x20);
  attrs_00.size.lo = (int)auVar1._4_8_;
  attrs_00.uid = auVar1._12_4_;
  attrs_00.gid = auVar1._16_4_;
  attrs_00.permissions = in_stack_ffffffe4;
  attrs_00.atime = (ulong)puVar3;
  attrs_00.mtime = in_stack_ffffffec;
  sftp_pkt_addattrs(pkt,attrs_00);
  sftp_send(pkt);
  return psVar2;
}



undefined4 *
FUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
            undefined4 param_9)

{
  undefined4 *puVar1;
  undefined4 uVar2;
  
  puVar1 = (undefined4 *)FUN_000360dc();
  uVar2 = FUN_00035cf0(9);
  FUN_00035c68(uVar2,*puVar1);
  FUN_0003635c(uVar2,param_1);
  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);
  sftp_send(uVar2);
  return puVar1;
}


lui gp,0x9
addiu gp,gp,-0x3f9c
addu gp,gp,t9
addiu sp,sp,-0x40
sw ra,0x3c(sp)
sw s2,0x38(sp)
sw s1,0x34(sp)
sw s0,0x30(sp)
sw gp,0x28(sp)
or s2,a0,zero
sw a1,0x44(sp)
sw a2,0x48(sp)
sw a3,0x4c(sp)
lw t9,-0x7db0(gp)
addiu t9,t9,0x60dc
bal 0x000360dc
_nop
lw gp,0x28(sp)
or s1,v0,zero
li a0,0x9
lw t9,-0x7db0(gp)
addiu t9,t9,0x5cf0
bal 0x00035cf0
_nop
lw gp,0x28(sp)
or s0,v0,zero
lw a1,0x0(s1)
or a0,v0,zero
lw t9,-0x7db0(gp)
addiu t9,t9,0x5c68
bal 0x00035c68
_nop
lw gp,0x28(sp)
or a1,s2,zero
or a0,s0,zero
lw t9,-0x7db0(gp)
addiu t9,t9,0x635c
bal 0x0003635c
_nop
lw gp,0x28(sp)
lw v0,0x50(sp)
sw v0,0x10(sp)
lw v0,0x54(sp)
sw v0,0x14(sp)
lw v0,0x58(sp)
sw v0,0x18(sp)
lw v0,0x5c(sp)
sw v0,0x1c(sp)
lw v0,0x60(sp)
sw v0,0x20(sp)
lw a1,0x44(sp)
lw a2,0x48(sp)
lw a3,0x4c(sp)
or a0,s0,zero
lw t9,-0x7db0(gp)
addiu t9,t9,0x5e18
bal 0x00035e18
_nop
lw gp,0x28(sp)
or a0,s0,zero
lw t9,-0x7b8c(gp)
bal 0x00036898
_nop
lw gp,0x28(sp)
or v0,s1,zero
lw ra,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x40
(translation_unit "undefined4 *\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}\n\n" (function_definition "undefined4 *\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}" type_identifier (pointer_declarator "*\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" * (function_declarator "FUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) )))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (expression_statement "puVar1 = (undefined4 *)FUN_000360dc();" (assignment_expression "puVar1 = (undefined4 *)FUN_000360dc()" identifier = (cast_expression "(undefined4 *)FUN_000360dc()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000360dc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar2 = FUN_00035cf0(9);" (assignment_expression "uVar2 = FUN_00035cf0(9)" identifier = (call_expression "FUN_00035cf0(9)" identifier (argument_list "(9)" ( number_literal )))) ;) (expression_statement "FUN_00035c68(uVar2,*puVar1);" (call_expression "FUN_00035c68(uVar2,*puVar1)" identifier (argument_list "(uVar2,*puVar1)" ( identifier , (pointer_expression "*puVar1" * identifier) ))) ;) (expression_statement "FUN_0003635c(uVar2,param_1);" (call_expression "FUN_0003635c(uVar2,param_1)" identifier (argument_list "(uVar2,param_1)" ( identifier , identifier ))) ;) (expression_statement "FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);" (call_expression "FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9)" identifier (argument_list "(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "sftp_send(uVar2);" (call_expression "sftp_send(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (return_statement "return puVar1;" return identifier ;) })))
(translation_unit "sftp_request * fxp_setstat_send(char *fname,fxp_attrs attrs)\n\n{\n  fxp_attrs attrs_00;\n  undefined1 auVar1 [20];\n  sftp_request *psVar2;\n  sftp_packet *pkt;\n  undefined4 in_stack_ffffffe4;\n  undefined1 *puVar3;\n  ulong in_stack_ffffffec;\n  \n  puVar3 = &_gp;\n  psVar2 = sftp_alloc_request();\n  pkt = sftp_pkt_init(9);\n  sftp_pkt_adduint32(pkt,psVar2->id);\n  sftp_pkt_addstring(pkt,fname);\n  auVar1 = attrs._0_20_;\n  attrs_00.flags = auVar1._0_4_;\n  attrs_00.size.hi = (int)((ulonglong)auVar1._4_8_ >> 0x20);\n  attrs_00.size.lo = (int)auVar1._4_8_;\n  attrs_00.uid = auVar1._12_4_;\n  attrs_00.gid = auVar1._16_4_;\n  attrs_00.permissions = in_stack_ffffffe4;\n  attrs_00.atime = (ulong)puVar3;\n  attrs_00.mtime = in_stack_ffffffec;\n  sftp_pkt_addattrs(pkt,attrs_00);\n  sftp_send(pkt);\n  return psVar2;\n}\n\n" (function_definition "sftp_request * fxp_setstat_send(char *fname,fxp_attrs attrs)\n\n{\n  fxp_attrs attrs_00;\n  undefined1 auVar1 [20];\n  sftp_request *psVar2;\n  sftp_packet *pkt;\n  undefined4 in_stack_ffffffe4;\n  undefined1 *puVar3;\n  ulong in_stack_ffffffec;\n  \n  puVar3 = &_gp;\n  psVar2 = sftp_alloc_request();\n  pkt = sftp_pkt_init(9);\n  sftp_pkt_adduint32(pkt,psVar2->id);\n  sftp_pkt_addstring(pkt,fname);\n  auVar1 = attrs._0_20_;\n  attrs_00.flags = auVar1._0_4_;\n  attrs_00.size.hi = (int)((ulonglong)auVar1._4_8_ >> 0x20);\n  attrs_00.size.lo = (int)auVar1._4_8_;\n  attrs_00.uid = auVar1._12_4_;\n  attrs_00.gid = auVar1._16_4_;\n  attrs_00.permissions = in_stack_ffffffe4;\n  attrs_00.atime = (ulong)puVar3;\n  attrs_00.mtime = in_stack_ffffffec;\n  sftp_pkt_addattrs(pkt,attrs_00);\n  sftp_send(pkt);\n  return psVar2;\n}" type_identifier (pointer_declarator "* fxp_setstat_send(char *fname,fxp_attrs attrs)" * (function_declarator "fxp_setstat_send(char *fname,fxp_attrs attrs)" identifier (parameter_list "(char *fname,fxp_attrs attrs)" ( (parameter_declaration "char *fname" primitive_type (pointer_declarator "*fname" * identifier)) , (parameter_declaration "fxp_attrs attrs" type_identifier identifier) )))) (compound_statement "{\n  fxp_attrs attrs_00;\n  undefined1 auVar1 [20];\n  sftp_request *psVar2;\n  sftp_packet *pkt;\n  undefined4 in_stack_ffffffe4;\n  undefined1 *puVar3;\n  ulong in_stack_ffffffec;\n  \n  puVar3 = &_gp;\n  psVar2 = sftp_alloc_request();\n  pkt = sftp_pkt_init(9);\n  sftp_pkt_adduint32(pkt,psVar2->id);\n  sftp_pkt_addstring(pkt,fname);\n  auVar1 = attrs._0_20_;\n  attrs_00.flags = auVar1._0_4_;\n  attrs_00.size.hi = (int)((ulonglong)auVar1._4_8_ >> 0x20);\n  attrs_00.size.lo = (int)auVar1._4_8_;\n  attrs_00.uid = auVar1._12_4_;\n  attrs_00.gid = auVar1._16_4_;\n  attrs_00.permissions = in_stack_ffffffe4;\n  attrs_00.atime = (ulong)puVar3;\n  attrs_00.mtime = in_stack_ffffffec;\n  sftp_pkt_addattrs(pkt,attrs_00);\n  sftp_send(pkt);\n  return psVar2;\n}" { (declaration "fxp_attrs attrs_00;" type_identifier identifier ;) (declaration "undefined1 auVar1 [20];" type_identifier (array_declarator "auVar1 [20]" identifier [ number_literal ]) ;) (declaration "sftp_request *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (declaration "sftp_packet *pkt;" type_identifier (pointer_declarator "*pkt" * identifier) ;) (declaration "undefined4 in_stack_ffffffe4;" type_identifier identifier ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "ulong in_stack_ffffffec;" type_identifier identifier ;) (expression_statement "puVar3 = &_gp;" (assignment_expression "puVar3 = &_gp" identifier = (pointer_expression "&_gp" & identifier)) ;) (expression_statement "psVar2 = sftp_alloc_request();" (assignment_expression "psVar2 = sftp_alloc_request()" identifier = (call_expression "sftp_alloc_request()" identifier (argument_list "()" ( )))) ;) (expression_statement "pkt = sftp_pkt_init(9);" (assignment_expression "pkt = sftp_pkt_init(9)" identifier = (call_expression "sftp_pkt_init(9)" identifier (argument_list "(9)" ( number_literal )))) ;) (expression_statement "sftp_pkt_adduint32(pkt,psVar2->id);" (call_expression "sftp_pkt_adduint32(pkt,psVar2->id)" identifier (argument_list "(pkt,psVar2->id)" ( identifier , (field_expression "psVar2->id" identifier -> field_identifier) ))) ;) (expression_statement "sftp_pkt_addstring(pkt,fname);" (call_expression "sftp_pkt_addstring(pkt,fname)" identifier (argument_list "(pkt,fname)" ( identifier , identifier ))) ;) (expression_statement "auVar1 = attrs._0_20_;" (assignment_expression "auVar1 = attrs._0_20_" identifier = (field_expression "attrs._0_20_" identifier . field_identifier)) ;) (expression_statement "attrs_00.flags = auVar1._0_4_;" (assignment_expression "attrs_00.flags = auVar1._0_4_" (field_expression "attrs_00.flags" identifier . field_identifier) = (field_expression "auVar1._0_4_" identifier . field_identifier)) ;) (expression_statement "attrs_00.size.hi = (int)((ulonglong)auVar1._4_8_ >> 0x20);" (assignment_expression "attrs_00.size.hi = (int)((ulonglong)auVar1._4_8_ >> 0x20)" (field_expression "attrs_00.size.hi" (field_expression "attrs_00.size" identifier . field_identifier) . field_identifier) = (cast_expression "(int)((ulonglong)auVar1._4_8_ >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)auVar1._4_8_ >> 0x20)" ( (binary_expression "(ulonglong)auVar1._4_8_ >> 0x20" (cast_expression "(ulonglong)auVar1._4_8_" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "auVar1._4_8_" identifier . field_identifier)) >> number_literal) )))) ;) (expression_statement "attrs_00.size.lo = (int)auVar1._4_8_;" (assignment_expression "attrs_00.size.lo = (int)auVar1._4_8_" (field_expression "attrs_00.size.lo" (field_expression "attrs_00.size" identifier . field_identifier) . field_identifier) = (cast_expression "(int)auVar1._4_8_" ( (type_descriptor "int" primitive_type) ) (field_expression "auVar1._4_8_" identifier . field_identifier))) ;) (expression_statement "attrs_00.uid = auVar1._12_4_;" (assignment_expression "attrs_00.uid = auVar1._12_4_" (field_expression "attrs_00.uid" identifier . field_identifier) = (field_expression "auVar1._12_4_" identifier . field_identifier)) ;) (expression_statement "attrs_00.gid = auVar1._16_4_;" (assignment_expression "attrs_00.gid = auVar1._16_4_" (field_expression "attrs_00.gid" identifier . field_identifier) = (field_expression "auVar1._16_4_" identifier . field_identifier)) ;) (expression_statement "attrs_00.permissions = in_stack_ffffffe4;" (assignment_expression "attrs_00.permissions = in_stack_ffffffe4" (field_expression "attrs_00.permissions" identifier . field_identifier) = identifier) ;) (expression_statement "attrs_00.atime = (ulong)puVar3;" (assignment_expression "attrs_00.atime = (ulong)puVar3" (field_expression "attrs_00.atime" identifier . field_identifier) = (cast_expression "(ulong)puVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "attrs_00.mtime = in_stack_ffffffec;" (assignment_expression "attrs_00.mtime = in_stack_ffffffec" (field_expression "attrs_00.mtime" identifier . field_identifier) = identifier) ;) (expression_statement "sftp_pkt_addattrs(pkt,attrs_00);" (call_expression "sftp_pkt_addattrs(pkt,attrs_00)" identifier (argument_list "(pkt,attrs_00)" ( identifier , identifier ))) ;) (expression_statement "sftp_send(pkt);" (call_expression "sftp_send(pkt)" identifier (argument_list "(pkt)" ( identifier ))) ;) (return_statement "return psVar2;" return identifier ;) })))
(translation_unit "undefined4 *\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}\n\n" (function_definition "undefined4 *\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}" type_identifier (pointer_declarator "*\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" * (function_declarator "FUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) )))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (expression_statement "puVar1 = (undefined4 *)FUN_000360dc();" (assignment_expression "puVar1 = (undefined4 *)FUN_000360dc()" identifier = (cast_expression "(undefined4 *)FUN_000360dc()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000360dc()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar2 = FUN_00035cf0(9);" (assignment_expression "uVar2 = FUN_00035cf0(9)" identifier = (call_expression "FUN_00035cf0(9)" identifier (argument_list "(9)" ( number_literal )))) ;) (expression_statement "FUN_00035c68(uVar2,*puVar1);" (call_expression "FUN_00035c68(uVar2,*puVar1)" identifier (argument_list "(uVar2,*puVar1)" ( identifier , (pointer_expression "*puVar1" * identifier) ))) ;) (expression_statement "FUN_0003635c(uVar2,param_1);" (call_expression "FUN_0003635c(uVar2,param_1)" identifier (argument_list "(uVar2,param_1)" ( identifier , identifier ))) ;) (expression_statement "FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);" (call_expression "FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9)" identifier (argument_list "(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "sftp_send(uVar2);" (call_expression "sftp_send(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (return_statement "return puVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 *\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)\n\n{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}" (type_identifier "undefined4") (pointer_declarator "*\nFUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" (* "*") (function_declarator "FUN_000380ec(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" (identifier "FUN_000380ec") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "undefined4 param_9" (type_identifier "undefined4") (identifier "param_9")) () ")")))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined4 uVar2;\n  \n  puVar1 = (undefined4 *)FUN_000360dc();\n  uVar2 = FUN_00035cf0(9);\n  FUN_00035c68(uVar2,*puVar1);\n  FUN_0003635c(uVar2,param_1);\n  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);\n  sftp_send(uVar2);\n  return puVar1;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (expression_statement "puVar1 = (undefined4 *)FUN_000360dc();" (assignment_expression "puVar1 = (undefined4 *)FUN_000360dc()" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)FUN_000360dc()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000360dc()" (identifier "FUN_000360dc") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar2 = FUN_00035cf0(9);" (assignment_expression "uVar2 = FUN_00035cf0(9)" (identifier "uVar2") (= "=") (call_expression "FUN_00035cf0(9)" (identifier "FUN_00035cf0") (argument_list "(9)" (( "(") (number_literal "9") () ")")))) (; ";")) (expression_statement "FUN_00035c68(uVar2,*puVar1);" (call_expression "FUN_00035c68(uVar2,*puVar1)" (identifier "FUN_00035c68") (argument_list "(uVar2,*puVar1)" (( "(") (identifier "uVar2") (, ",") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")"))) (; ";")) (expression_statement "FUN_0003635c(uVar2,param_1);" (call_expression "FUN_0003635c(uVar2,param_1)" (identifier "FUN_0003635c") (argument_list "(uVar2,param_1)" (( "(") (identifier "uVar2") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);" (call_expression "FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9)" (identifier "FUN_00035e18") (argument_list "(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9)" (( "(") (identifier "uVar2") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") () ")"))) (; ";")) (expression_statement "sftp_send(uVar2);" (call_expression "sftp_send(uVar2)" (identifier "sftp_send") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (return_statement "return puVar1;" (return "return") (identifier "puVar1") (; ";")) (} "}")))

type_1 * function_1(char *fname,type_2 attrs)

{
  type_2 attrs_00;
  type_3 auVar1 [20];
  type_1 *psVar2;
  type_4 *pkt;
  type_5 in_stack_ffffffe4;
  type_3 *puVar3;
  type_6 in_stack_ffffffec;
  
  puVar3 = &_gp;
  psVar2 = var_1();
  pkt = var_2(9);
  var_3(pkt,psVar2->id);
  var_4(pkt,fname);
  auVar1 = attrs._0_20_;
  attrs_00.flags = auVar1._0_4_;
  attrs_00.size.hi = (int)((type_7)auVar1._4_8_ >> 0x20);
  attrs_00.size.lo = (int)auVar1._4_8_;
  attrs_00.uid = auVar1._12_4_;
  attrs_00.gid = auVar1._16_4_;
  attrs_00.permissions = in_stack_ffffffe4;
  attrs_00.atime = (type_6)puVar3;
  attrs_00.mtime = in_stack_ffffffec;
  var_5(pkt,attrs_00);
  var_6(pkt);
  return psVar2;
}


(translation_unit (function_definition type: (type_identifier) 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)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (identifier)))))

undefined4 *
MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
            undefined4 param_9)

{
  undefined4 *puVar1;
  undefined4 uVar2;
  
  puVar1 = (undefined4 *)FUN_000360dc();
  uVar2 = FUN_00035cf0(9);
  FUN_00035c68(uVar2,*puVar1);
  FUN_0003635c(uVar2,param_1);
  FUN_00035e18(uVar2,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);
  sftp_send(uVar2);
  return puVar1;
}

