{"type": "func", "start": 6443730072, "end": 6443730110, "name": "_fileno", "pseudocode": "// \n// _fileno from 0x180138498 to 0x1801384be (38 bytes)\n// \n// 17 xrefs:\n// > _fclose_nolock @ 0x18012fa42\n// > _fputwc_nolock @ 0x180138369\n// > _fputwc_nolock @ 0x180138384\n// > _fputwc_nolock @ 0x180138391\n// > _fputwc_nolock @ 0x1801383a0\n// > _fputwc_nolock @ 0x1801383c9\n// > _fputwc_nolock @ 0x1801383d6\n// > _fputwc_nolock @ 0x1801383e3\n// > _fputwc_nolock @ 0x1801383f2\n// > __acrt_should_use_temporary_buffer @ 0x18013851a\n// > __acrt_stdio_flush_nolock @ 0x1801389c5\n// > unknown_libname_69 @ 0x180138a36\n// > write_buffer_nolock<char> @ 0x18013f4c1\n// > write_buffer_nolock<wchar_t> @ 0x18013f5a6\n// > unknown_libname_72 @ 0x18013f702\n// > unknown_libname_73 @ 0x18013f7ba\n// > <???> @ 0x180203650\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\nint __cdecl fileno(FILE *Stream)\n{\n  if ( Stream )\n    return Stream->_flag;\n  *errno() = 22;\n  invalid_parameter_noinfo();\n  return -1;\n}", "assembly": "; \n; _fileno from 0x180138498 to 0x1801384be (38 bytes)\n; \n; 17 xrefs:\n; > _fclose_nolock @ 0x18012fa42\n; > _fputwc_nolock @ 0x180138369\n; > _fputwc_nolock @ 0x180138384\n; > _fputwc_nolock @ 0x180138391\n; > _fputwc_nolock @ 0x1801383a0\n; > _fputwc_nolock @ 0x1801383c9\n; > _fputwc_nolock @ 0x1801383d6\n; > _fputwc_nolock @ 0x1801383e3\n; > _fputwc_nolock @ 0x1801383f2\n; > __acrt_should_use_temporary_buffer @ 0x18013851a\n; > __acrt_stdio_flush_nolock @ 0x1801389c5\n; > unknown_libname_69 @ 0x180138a36\n; > write_buffer_nolock<char> @ 0x18013f4c1\n; > write_buffer_nolock<wchar_t> @ 0x18013f5a6\n; > unknown_libname_72 @ 0x18013f702\n; > unknown_libname_73 @ 0x18013f7ba\n; > <???> @ 0x180203650\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\nsub     rsp, 28h                                                       ; +0x0, 0x180138498\ntest    rcx, rcx                                                       ; +0x4, 0x18013849c\njnz     short loc_1801384B6                                            ; +0x7, 0x18013849f\ncall    _errno                                                         ; +0x9, 0x1801384a1\nmov     dword ptr [rax], 16h                                           ; +0xe, 0x1801384a6\ncall    _invalid_parameter_noinfo                                      ; +0x14, 0x1801384ac\nor      eax, 0FFFFFFFFh                                                ; +0x19, 0x1801384b1\njmp     short loc_1801384B9                                            ; +0x1c, 0x1801384b4\nmov     eax, [rcx+18h]                                                 ; +0x1e, 0x1801384b6\nadd     rsp, 28h                                                       ; +0x21, 0x1801384b9\nretn                                                                   ; +0x25, 0x1801384bd", "xrefs": ["_fclose_nolock @ 0x18012fa42", "_fputwc_nolock @ 0x180138369", "_fputwc_nolock @ 0x180138384", "_fputwc_nolock @ 0x180138391", "_fputwc_nolock @ 0x1801383a0", "_fputwc_nolock @ 0x1801383c9", "_fputwc_nolock @ 0x1801383d6", "_fputwc_nolock @ 0x1801383e3", "_fputwc_nolock @ 0x1801383f2", "__acrt_should_use_temporary_buffer @ 0x18013851a", "__acrt_stdio_flush_nolock @ 0x1801389c5", "unknown_libname_69 @ 0x180138a36", "write_buffer_nolock<char> @ 0x18013f4c1", "write_buffer_nolock<wchar_t> @ 0x18013f5a6", "unknown_libname_72 @ 0x18013f702", "unknown_libname_73 @ 0x18013f7ba", "<???> @ 0x180203650"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}