{"type": "func", "start": 6443759952, "end": 6443760097, "name": "_commit", "pseudocode": "// \n// _commit from 0x18013f950 to 0x18013f9e1 (145 bytes)\n// \n// 3 xrefs:\n// > unknown_libname_69 @ 0x180138a3d\n// > <???> @ 0x180203bc0\n// > <???> @ 0x180203bcc\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 commit(int FileHandle)\n{\n  int *v2; // [rsp+20h] [rbp-18h] BYREF\n  int v3; // [rsp+40h] [rbp+8h] BYREF\n  char v4; // [rsp+48h] [rbp+10h] BYREF\n  int v5; // [rsp+50h] [rbp+18h] BYREF\n  int v6; // [rsp+58h] [rbp+20h] BYREF\n\n  v3 = FileHandle;\n  if ( FileHandle == -2 )\n  {\n    *errno() = 9;\n  }\n  else\n  {\n    if ( FileHandle >= 0\n      && FileHandle < (unsigned int)dword_1801F5560\n      && (*(_BYTE *)(qword_1801F5160[(__int64)FileHandle >> 6] + 72LL * (FileHandle & 0x3F) + 56) & 1) != 0 )\n    {\n      v5 = FileHandle;\n      v6 = FileHandle;\n      v2 = &v3;\n      return __crt_seh_guarded_call<int>::operator()<_lambda_a37b2b86f63e897a80ea819b0eb08c01_,_lambda_38ce7e780aa69e748d6df282ebc68efe_ &,_lambda_99fb1378e971ab6e7edea83e3a7a83a2_>(\n               (__int64)&v4,\n               &v6,\n               &v2,\n               &v5);\n    }\n    *errno() = 9;\n    invalid_parameter_noinfo();\n  }\n  return -1;\n}", "assembly": "; \n; _commit from 0x18013f950 to 0x18013f9e1 (145 bytes)\n; \n; 3 xrefs:\n; > unknown_libname_69 @ 0x180138a3d\n; > <???> @ 0x180203bc0\n; > <???> @ 0x180203bcc\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\nmov     [rsp+arg_0], ecx                                               ; +0x0, 0x18013f950\nsub     rsp, 38h                                                       ; +0x4, 0x18013f954\nmovsxd  rdx, ecx                                                       ; +0x8, 0x18013f958\ncmp     edx, 0FFFFFFFEh                                                ; +0xb, 0x18013f95b\njnz     short loc_18013F96D                                            ; +0xe, 0x18013f95e\ncall    _errno                                                         ; +0x10, 0x18013f960\nmov     dword ptr [rax], 9                                             ; +0x15, 0x18013f965\njmp     short loc_18013F9D9                                            ; +0x1b, 0x18013f96b\ntest    ecx, ecx                                                       ; +0x1d, 0x18013f96d\njs      short loc_18013F9C9                                            ; +0x1f, 0x18013f96f\ncmp     edx, cs:dword_1801F5560                                        ; +0x21, 0x18013f971\njnb     short loc_18013F9C9                                            ; +0x27, 0x18013f977\nmov     rcx, rdx                                                       ; +0x29, 0x18013f979\nlea     r8, qword_1801F5160                                            ; +0x2c, 0x18013f97c\nand     ecx, 3Fh                                                       ; +0x33, 0x18013f983\nmov     rax, rdx                                                       ; +0x36, 0x18013f986\nsar     rax, 6                                                         ; +0x39, 0x18013f989\nlea     rcx, [rcx+rcx*8]                                               ; +0x3d, 0x18013f98d\nmov     rax, [r8+rax*8]                                                ; +0x41, 0x18013f991\ntest    byte ptr [rax+rcx*8+38h], 1                                    ; +0x45, 0x18013f995\njz      short loc_18013F9C9                                            ; +0x4a, 0x18013f99a\nlea     rax, [rsp+38h+arg_0]                                           ; +0x4c, 0x18013f99c\nmov     [rsp+38h+arg_10], edx                                          ; +0x51, 0x18013f9a1\nmov     [rsp+38h+arg_18], edx                                          ; +0x55, 0x18013f9a5\nlea     r9, [rsp+38h+arg_10]                                           ; +0x59, 0x18013f9a9\nlea     rdx, [rsp+38h+arg_18]                                          ; +0x5e, 0x18013f9ae\nmov     [rsp+38h+var_18], rax                                          ; +0x63, 0x18013f9b3\nlea     r8, [rsp+38h+var_18]                                           ; +0x68, 0x18013f9b8\nlea     rcx, [rsp+38h+arg_8]                                           ; +0x6d, 0x18013f9bd\ncall    ??$?RV_lambda_a37b2b86f63e897a80ea819b0eb08c01_@@AEAV_lambda_38ce7e780aa69e748d6df282ebc68efe_@@V_lambda_99fb1378e971ab6e7edea83e3a7a83a2_@@@?$__crt_seh_guarded_call@H@@QEAAH$$QEAV_lambda_a37b2b86f63e897a80ea819b0eb08c01_@@AEAV_lambda_38ce7e780aa69e748d6df282ebc68efe_@@$$QEAV_lambda_99fb1378e971ab6e7edea83e3a7a83a2_@@@Z ; +0x72, 0x18013f9c2\njmp     short loc_18013F9DC                                            ; +0x77, 0x18013f9c7\ncall    _errno                                                         ; +0x79, 0x18013f9c9\nmov     dword ptr [rax], 9                                             ; +0x7e, 0x18013f9ce\ncall    _invalid_parameter_noinfo                                      ; +0x84, 0x18013f9d4\nor      eax, 0FFFFFFFFh                                                ; +0x89, 0x18013f9d9\nadd     rsp, 38h                                                       ; +0x8c, 0x18013f9dc\nretn                                                                   ; +0x90, 0x18013f9e0", "xrefs": ["unknown_libname_69 @ 0x180138a3d", "<???> @ 0x180203bc0", "<???> @ 0x180203bcc"], "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"}