{"type": "func", "start": 6443702316, "end": 6443702509, "name": "_lambda_6e4b09c48022b2350581041d5f6b0c4c_::operator", "pseudocode": "// \n// _lambda_6e4b09c48022b2350581041d5f6b0c4c_::operator from 0x18013182c to 0x1801318ed (193 bytes)\n// \n// 3 xrefs:\n// > __crt_seh_guarded_call<void>::operator @ 0x180131814\n// > <???> @ 0x180202f00\n// > <???> @ 0x180202f0c\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 *__fastcall _lambda_6e4b09c48022b2350581041d5f6b0c4c_::operator()(int **a1)\n{\n  int v2; // ecx\n  _onexit_table_t *v3; // rcx\n  int *result; // rax\n\n  if ( byte_1801F4BE8 )\n    return result;\n  _InterlockedExchange(&dword_1801F4BDC, 1);\n  v2 = **a1;\n  if ( !v2 )\n  {\n    if ( qword_1801F4BE0 != _security_cookie )\n      ((void (__fastcall *)(_QWORD, _QWORD, _QWORD))__ROR8__(\n                                                      qword_1801F4BE0 ^ _security_cookie,\n                                                      _security_cookie & 0x3F))(\n        0,\n        0,\n        0);\n    v3 = &stru_1801F4D18;\n    goto LABEL_8;\n  }\n  if ( v2 == 1 )\n  {\n    v3 = &stru_1801F4D30;\nLABEL_8:\n    execute_onexit_table(v3);\n  }\n  if ( !**a1 )\n    initterm((_PVFV *)&qword_180144558, (_PVFV *)&qword_180144578);\n  initterm((_PVFV *)&qword_180144580, (_PVFV *)&qword_180144588);\n  result = a1[1];\n  if ( !*result )\n  {\n    byte_1801F4BE8 = 1;\n    result = a1[2];\n    *(_BYTE *)result = 1;\n  }\n  return result;\n}", "assembly": "; \n; _lambda_6e4b09c48022b2350581041d5f6b0c4c_::operator from 0x18013182c to 0x1801318ed (193 bytes)\n; \n; 3 xrefs:\n; > __crt_seh_guarded_call<void>::operator @ 0x180131814\n; > <???> @ 0x180202f00\n; > <???> @ 0x180202f0c\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\npush    rbx                                                            ; +0x0, 0x18013182c\nsub     rsp, 20h                                                       ; +0x2, 0x18013182e\nmov     rbx, rcx                                                       ; +0x6, 0x180131832\ncmp     cs:byte_1801F4BE8, 0                                           ; +0x9, 0x180131835\njnz     loc_1801318E1                                                  ; +0x10, 0x18013183c\nmov     eax, 1                                                         ; +0x16, 0x180131842\nxchg    eax, cs:dword_1801F4BDC                                        ; +0x1b, 0x180131847\nmov     rax, [rcx]                                                     ; +0x21, 0x18013184d\nmov     ecx, [rax]                                                     ; +0x24, 0x180131850\ntest    ecx, ecx                                                       ; +0x26, 0x180131852\njnz     short loc_18013188A                                            ; +0x28, 0x180131854\nmov     rax, cs:__security_cookie                                      ; +0x2a, 0x180131856\nmov     ecx, eax                                                       ; +0x31, 0x18013185d\nand     ecx, 3Fh                                                       ; +0x33, 0x18013185f\nmov     rdx, cs:qword_1801F4BE0                                        ; +0x36, 0x180131862\ncmp     rdx, rax                                                       ; +0x3d, 0x180131869\njz      short loc_180131881                                            ; +0x40, 0x18013186c\nxor     rax, rdx                                                       ; +0x42, 0x18013186e\nror     rax, cl                                                        ; +0x45, 0x180131871\nxor     r8d, r8d                                                       ; +0x48, 0x180131874\nxor     edx, edx                                                       ; +0x4b, 0x180131877\nxor     ecx, ecx                                                       ; +0x4d, 0x180131879\ncall    cs:__guard_dispatch_icall_fptr                                 ; +0x4f, 0x18013187b\nlea     rcx, stru_1801F4D18                                            ; +0x55, 0x180131881\njmp     short loc_180131896                                            ; +0x5c, 0x180131888\ncmp     ecx, 1                                                         ; +0x5e, 0x18013188a\njnz     short loc_18013189C                                            ; +0x61, 0x18013188d\nlea     rcx, stru_1801F4D30; Table                                     ; +0x63, 0x18013188f\ncall    _execute_onexit_table                                          ; +0x6a, 0x180131896\nnop                                                                    ; +0x6f, 0x18013189b\nmov     rax, [rbx]                                                     ; +0x70, 0x18013189c\ncmp     dword ptr [rax], 0                                             ; +0x73, 0x18013189f\njnz     short loc_1801318B7                                            ; +0x76, 0x1801318a2\nlea     rdx, qword_180144578; Last                                     ; +0x78, 0x1801318a4\nlea     rcx, qword_180144558; First                                    ; +0x7f, 0x1801318ab\ncall    _initterm                                                      ; +0x86, 0x1801318b2\nlea     rdx, qword_180144588; Last                                     ; +0x8b, 0x1801318b7\nlea     rcx, qword_180144580; First                                    ; +0x92, 0x1801318be\ncall    _initterm                                                      ; +0x99, 0x1801318c5\nmov     rax, [rbx+8]                                                   ; +0x9e, 0x1801318ca\ncmp     dword ptr [rax], 0                                             ; +0xa2, 0x1801318ce\njnz     short loc_1801318E1                                            ; +0xa5, 0x1801318d1\nmov     cs:byte_1801F4BE8, 1                                           ; +0xa7, 0x1801318d3\nmov     rax, [rbx+10h]                                                 ; +0xae, 0x1801318da\nmov     byte ptr [rax], 1                                              ; +0xb2, 0x1801318de\nadd     rsp, 20h                                                       ; +0xb5, 0x1801318e1\npop     rbx                                                            ; +0xb9, 0x1801318e5\nretn                                                                   ; +0xba, 0x1801318e6\ncall    terminate                                                      ; +0xbb, 0x1801318e7\ndb 90h                                                                 ; +0xc0, 0x1801318ec", "xrefs": ["__crt_seh_guarded_call<void>::operator @ 0x180131814", "<???> @ 0x180202f00", "<???> @ 0x180202f0c"], "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"}