{"type": "func", "start": 6443759716, "end": 6443759811, "name": "_isatty", "pseudocode": "// \n// _isatty from 0x18013f864 to 0x18013f8c3 (95 bytes)\n// \n// 4 xrefs:\n// > __acrt_should_use_temporary_buffer @ 0x180138521\n// > _write_nolock @ 0x1801403ea\n// > <???> @ 0x180203ba8\n// > <???> @ 0x180203bb4\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 isatty(int FileHandle)\n{\n  if ( FileHandle == -2 )\n  {\n    *errno() = 9;\n  }\n  else\n  {\n    if ( FileHandle >= 0 && FileHandle < (unsigned int)dword_1801F5560 )\n      return *(_BYTE *)(qword_1801F5160[(__int64)FileHandle >> 6] + 72LL * (FileHandle & 0x3F) + 56) & 0x40;\n    *errno() = 9;\n    invalid_parameter_noinfo();\n  }\n  return 0;\n}", "assembly": "; \n; _isatty from 0x18013f864 to 0x18013f8c3 (95 bytes)\n; \n; 4 xrefs:\n; > __acrt_should_use_temporary_buffer @ 0x180138521\n; > _write_nolock @ 0x1801403ea\n; > <???> @ 0x180203ba8\n; > <???> @ 0x180203bb4\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, 0x18013f864\ncmp     ecx, 0FFFFFFFEh                                                ; +0x4, 0x18013f868\njnz     short loc_18013F87A                                            ; +0x7, 0x18013f86b\ncall    _errno                                                         ; +0x9, 0x18013f86d\nmov     dword ptr [rax], 9                                             ; +0xe, 0x18013f872\njmp     short loc_18013F8BC                                            ; +0x14, 0x18013f878\ntest    ecx, ecx                                                       ; +0x16, 0x18013f87a\njs      short loc_18013F8AC                                            ; +0x18, 0x18013f87c\ncmp     ecx, cs:dword_1801F5560                                        ; +0x1a, 0x18013f87e\njnb     short loc_18013F8AC                                            ; +0x20, 0x18013f884\nmovsxd  rcx, ecx                                                       ; +0x22, 0x18013f886\nlea     rdx, qword_1801F5160                                           ; +0x25, 0x18013f889\nmov     rax, rcx                                                       ; +0x2c, 0x18013f890\nand     ecx, 3Fh                                                       ; +0x2f, 0x18013f893\nsar     rax, 6                                                         ; +0x32, 0x18013f896\nlea     rcx, [rcx+rcx*8]                                               ; +0x36, 0x18013f89a\nmov     rax, [rdx+rax*8]                                               ; +0x3a, 0x18013f89e\nmovzx   eax, byte ptr [rax+rcx*8+38h]                                  ; +0x3e, 0x18013f8a2\nand     eax, 40h                                                       ; +0x43, 0x18013f8a7\njmp     short loc_18013F8BE                                            ; +0x46, 0x18013f8aa\ncall    _errno                                                         ; +0x48, 0x18013f8ac\nmov     dword ptr [rax], 9                                             ; +0x4d, 0x18013f8b1\ncall    _invalid_parameter_noinfo                                      ; +0x53, 0x18013f8b7\nxor     eax, eax                                                       ; +0x58, 0x18013f8bc\nadd     rsp, 28h                                                       ; +0x5a, 0x18013f8be\nretn                                                                   ; +0x5e, 0x18013f8c2", "xrefs": ["__acrt_should_use_temporary_buffer @ 0x180138521", "_write_nolock @ 0x1801403ea", "<???> @ 0x180203ba8", "<???> @ 0x180203bb4"], "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"}