{"type": "func", "start": 6443695664, "end": 6443695696, "name": "__doserrno", "pseudocode": "// \n// __doserrno from 0x18012fe30 to 0x18012fe50 (32 bytes)\n// \n// 19 xrefs:\n// > common_stat<_stat64i32> @ 0x1801290e7\n// > _free_osfhnd @ 0x18013624d\n// > _get_osfhandle @ 0x180136279\n// > _get_osfhandle @ 0x1801362c4\n// > sub_180138B78 @ 0x180138b88\n// > sub_180138B78 @ 0x180138bf9\n// > common_getdcwd<wchar_t> @ 0x18013bf2e\n// > _validdrive @ 0x18013c04e\n// > __crt_seh_guarded_call<int>::operator @ 0x18013f91e\n// > _write @ 0x180140289\n// > _write @ 0x1801402f4\n// > _write @ 0x180140318\n// > _write_nolock @ 0x18014037c\n// > _write_nolock @ 0x1801405c1\n// > _write_nolock @ 0x180140601\n// > common_lseek<__int64> @ 0x180141f05\n// > common_lseek<__int64> @ 0x180141f71\n// > common_lseek<__int64> @ 0x180141f97\n// > <???> @ 0x180202df8\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\nunsigned int *__cdecl _doserrno()\n{\n  __int64 v0; // rax\n\n  v0 = _acrt_getptd_noexit();\n  if ( v0 )\n    return (unsigned int *)(v0 + 36);\n  else\n    return (unsigned int *)&unk_1801B1854;\n}", "assembly": "; \n; __doserrno from 0x18012fe30 to 0x18012fe50 (32 bytes)\n; \n; 19 xrefs:\n; > common_stat<_stat64i32> @ 0x1801290e7\n; > _free_osfhnd @ 0x18013624d\n; > _get_osfhandle @ 0x180136279\n; > _get_osfhandle @ 0x1801362c4\n; > sub_180138B78 @ 0x180138b88\n; > sub_180138B78 @ 0x180138bf9\n; > common_getdcwd<wchar_t> @ 0x18013bf2e\n; > _validdrive @ 0x18013c04e\n; > __crt_seh_guarded_call<int>::operator @ 0x18013f91e\n; > _write @ 0x180140289\n; > _write @ 0x1801402f4\n; > _write @ 0x180140318\n; > _write_nolock @ 0x18014037c\n; > _write_nolock @ 0x1801405c1\n; > _write_nolock @ 0x180140601\n; > common_lseek<__int64> @ 0x180141f05\n; > common_lseek<__int64> @ 0x180141f71\n; > common_lseek<__int64> @ 0x180141f97\n; > <???> @ 0x180202df8\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, 0x18012fe30\ncall    __acrt_getptd_noexit                                           ; +0x4, 0x18012fe34\ntest    rax, rax                                                       ; +0x9, 0x18012fe39\njnz     short loc_18012FE47                                            ; +0xc, 0x18012fe3c\nlea     rax, unk_1801B1854                                             ; +0xe, 0x18012fe3e\njmp     short loc_18012FE4B                                            ; +0x15, 0x18012fe45\nadd     rax, 24h ; '$'                                                 ; +0x17, 0x18012fe47\nadd     rsp, 28h                                                       ; +0x1b, 0x18012fe4b\nretn                                                                   ; +0x1f, 0x18012fe4f", "xrefs": ["common_stat<_stat64i32> @ 0x1801290e7", "_free_osfhnd @ 0x18013624d", "_get_osfhandle @ 0x180136279", "_get_osfhandle @ 0x1801362c4", "sub_180138B78 @ 0x180138b88", "sub_180138B78 @ 0x180138bf9", "common_getdcwd<wchar_t> @ 0x18013bf2e", "_validdrive @ 0x18013c04e", "__crt_seh_guarded_call<int>::operator @ 0x18013f91e", "_write @ 0x180140289", "_write @ 0x1801402f4", "_write @ 0x180140318", "_write_nolock @ 0x18014037c", "_write_nolock @ 0x1801405c1", "_write_nolock @ 0x180140601", "common_lseek<__int64> @ 0x180141f05", "common_lseek<__int64> @ 0x180141f71", "common_lseek<__int64> @ 0x180141f97", "<???> @ 0x180202df8"], "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"}