{"type": "func", "start": 6443730432, "end": 6443730489, "name": "__acrt_stdio_end_temporary_buffering_nolock", "pseudocode": "// \n// __acrt_stdio_end_temporary_buffering_nolock from 0x180138600 to 0x180138639 (57 bytes)\n// \n// 3 xrefs:\n// > _lambda_7e489fec146d5348dbc86d3cce37c1b5_::operator @ 0x18012c3bb\n// > <???> @ 0x180203668\n// > <???> @ 0x180203674\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\n__int64 __fastcall _acrt_stdio_end_temporary_buffering_nolock(char a1, __int64 a2)\n{\n  __int64 result; // rax\n\n  if ( a1 )\n  {\n    result = *(_DWORD *)(a2 + 20) >> 9;\n    if ( (*(_DWORD *)(a2 + 20) & 0x200) != 0 )\n    {\n      result = _acrt_stdio_flush_nolock((FILE *)a2);\n      _InterlockedAnd((volatile signed __int32 *)(a2 + 20), 0xFFFFFD7F);\n      *(_DWORD *)(a2 + 32) = 0;\n      *(_QWORD *)(a2 + 8) = 0;\n      *(_QWORD *)a2 = 0;\n    }\n  }\n  return result;\n}", "assembly": "; \n; __acrt_stdio_end_temporary_buffering_nolock from 0x180138600 to 0x180138639 (57 bytes)\n; \n; 3 xrefs:\n; > _lambda_7e489fec146d5348dbc86d3cce37c1b5_::operator @ 0x18012c3bb\n; > <???> @ 0x180203668\n; > <???> @ 0x180203674\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\ntest    cl, cl                                                         ; +0x0, 0x180138600\njz      short locret_180138638                                         ; +0x2, 0x180138602\npush    rbx                                                            ; +0x4, 0x180138604\nsub     rsp, 20h                                                       ; +0x5, 0x180138605\nmov     eax, [rdx+14h]                                                 ; +0x9, 0x180138609\nmov     rbx, rdx                                                       ; +0xc, 0x18013860c\nshr     eax, 9                                                         ; +0xf, 0x18013860f\ntest    al, 1                                                          ; +0x12, 0x180138612\njz      short loc_180138633                                            ; +0x14, 0x180138614\nmov     rcx, rdx; Stream                                               ; +0x16, 0x180138616\ncall    __acrt_stdio_flush_nolock                                      ; +0x19, 0x180138619\nlock and dword ptr [rbx+14h], 0FFFFFD7Fh                               ; +0x1e, 0x18013861e\nand     dword ptr [rbx+20h], 0                                         ; +0x26, 0x180138626\nand     qword ptr [rbx+8], 0                                           ; +0x2a, 0x18013862a\nand     qword ptr [rbx], 0                                             ; +0x2f, 0x18013862f\nadd     rsp, 20h                                                       ; +0x33, 0x180138633\npop     rbx                                                            ; +0x37, 0x180138637\nretn                                                                   ; +0x38, 0x180138638", "xrefs": ["_lambda_7e489fec146d5348dbc86d3cce37c1b5_::operator @ 0x18012c3bb", "<???> @ 0x180203668", "<???> @ 0x180203674"], "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"}