{"type": "func", "start": 6443716644, "end": 6443716849, "name": "construct_ptd_array", "pseudocode": "// \n// construct_ptd_array from 0x180135024 to 0x1801350f1 (205 bytes)\n// \n// 4 xrefs:\n// > __acrt_getptd @ 0x180135354\n// > __acrt_getptd_head @ 0x180135413\n// > __acrt_getptd_noexit @ 0x1801354d0\n// > <???> @ 0x180203320\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\nvoid __fastcall construct_ptd_array(struct __acrt_ptd *const a1)\n{\n  int v1; // [rsp+20h] [rbp-30h] BYREF\n  int v2; // [rsp+24h] [rbp-2Ch] BYREF\n  struct __acrt_ptd *v3; // [rsp+28h] [rbp-28h] BYREF\n  __int64 *v4; // [rsp+30h] [rbp-20h] BYREF\n  struct __acrt_ptd **v5; // [rsp+38h] [rbp-18h] BYREF\n  _QWORD v6[2]; // [rsp+40h] [rbp-10h] BYREF\n  char v7; // [rsp+68h] [rbp+18h] BYREF\n  int v8; // [rsp+70h] [rbp+20h] BYREF\n  int v9; // [rsp+78h] [rbp+28h] BYREF\n\n  v3 = a1;\n  v5 = &v3;\n  v8 = 5;\n  v9 = 5;\n  v6[0] = &v3;\n  v6[1] = &v4;\n  v1 = 4;\n  v2 = 4;\n  v4 = &qword_1801F5158;\n  *((_DWORD *)a1 + 10) = 1;\n  *(_QWORD *)v3 = &unk_180172F70;\n  *((_DWORD *)v3 + 234) = 1;\n  *((_QWORD *)v3 + 17) = &unk_1801B1A50;\n  *((_WORD *)v3 + 94) = 67;\n  *((_WORD *)v3 + 225) = 67;\n  *((_QWORD *)v3 + 116) = 0;\n  __crt_seh_guarded_call<void>::operator()<_lambda_72d1df2b273a38828b1ce30cbf4cdab5_,_lambda_876a65b173b8412d3a47c70a915b0cf4_ &,_lambda_41932305e351933ebe8f8be3ed8bb5dc_>(\n    (__int64)&v7,\n    &v9,\n    (__int64)&v5,\n    &v8);\n  __crt_seh_guarded_call<void>::operator()<_lambda_5e887d1dcbef67a5eb4283622ba103bf_,_lambda_4466841279450cc726390878d4a41900_ &,_lambda_341c25c0346d94847f1f3c463c57e077_>(\n    (__int64)&v7,\n    &v2,\n    (__int64)v6,\n    &v1);\n}", "assembly": "; \n; construct_ptd_array from 0x180135024 to 0x1801350f1 (205 bytes)\n; \n; 4 xrefs:\n; > __acrt_getptd @ 0x180135354\n; > __acrt_getptd_head @ 0x180135413\n; > __acrt_getptd_noexit @ 0x1801354d0\n; > <???> @ 0x180203320\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    rbp                                                            ; +0x0, 0x180135024\nmov     rbp, rsp                                                       ; +0x2, 0x180135026\nsub     rsp, 50h                                                       ; +0x5, 0x180135029\nmov     [rbp+var_28], rcx                                              ; +0x9, 0x18013502d\nlea     rax, [rbp+var_28]                                              ; +0xd, 0x180135031\nmov     [rbp+var_18], rax                                              ; +0x11, 0x180135035\nlea     r9, [rbp+arg_10]                                               ; +0x15, 0x180135039\nmov     edx, 1                                                         ; +0x19, 0x18013503d\nlea     r8, [rbp+var_18]                                               ; +0x1e, 0x180135042\nmov     eax, 5                                                         ; +0x22, 0x180135046\nmov     [rbp+arg_10], eax                                              ; +0x27, 0x18013504b\nmov     [rbp+arg_18], eax                                              ; +0x2a, 0x18013504e\nlea     rax, [rbp+var_28]                                              ; +0x2d, 0x180135051\nmov     [rbp+var_10], rax                                              ; +0x31, 0x180135055\nlea     rax, [rbp+var_20]                                              ; +0x35, 0x180135059\nmov     [rbp+var_8], rax                                               ; +0x39, 0x18013505d\nmov     eax, 4                                                         ; +0x3d, 0x180135061\nmov     [rbp+var_30], eax                                              ; +0x42, 0x180135066\nmov     [rbp+var_2C], eax                                              ; +0x45, 0x180135069\nlea     rax, qword_1801F5158                                           ; +0x48, 0x18013506c\nmov     [rbp+var_20], rax                                              ; +0x4f, 0x180135073\nmov     [rcx+28h], edx                                                 ; +0x53, 0x180135077\nlea     rcx, unk_180172F70                                             ; +0x56, 0x18013507a\nmov     rax, [rbp+var_28]                                              ; +0x5d, 0x180135081\nmov     [rax], rcx                                                     ; +0x61, 0x180135085\nlea     rcx, unk_1801B1A50                                             ; +0x64, 0x180135088\nmov     rax, [rbp+var_28]                                              ; +0x6b, 0x18013508f\nmov     [rax+3A8h], edx                                                ; +0x6f, 0x180135093\nmov     rax, [rbp+var_28]                                              ; +0x75, 0x180135099\nmov     [rax+88h], rcx                                                 ; +0x79, 0x18013509d\nlea     ecx, [rdx+42h]                                                 ; +0x80, 0x1801350a4\nmov     rax, [rbp+var_28]                                              ; +0x83, 0x1801350a7\nlea     rdx, [rbp+arg_18]                                              ; +0x87, 0x1801350ab\nmov     [rax+0BCh], cx                                                 ; +0x8b, 0x1801350af\nmov     rax, [rbp+var_28]                                              ; +0x92, 0x1801350b6\nmov     [rax+1C2h], cx                                                 ; +0x96, 0x1801350ba\nlea     rcx, [rbp+arg_8]                                               ; +0x9d, 0x1801350c1\nmov     rax, [rbp+var_28]                                              ; +0xa1, 0x1801350c5\nand     qword ptr [rax+3A0h], 0                                        ; +0xa5, 0x1801350c9\ncall    ??$?RV_lambda_72d1df2b273a38828b1ce30cbf4cdab5_@@AEAV_lambda_876a65b173b8412d3a47c70a915b0cf4_@@V_lambda_41932305e351933ebe8f8be3ed8bb5dc_@@@?$__crt_seh_guarded_call@X@@QEAAX$$QEAV_lambda_72d1df2b273a38828b1ce30cbf4cdab5_@@AEAV_lambda_876a65b173b8412d3a47c70a915b0cf4_@@$$QEAV_lambda_41932305e351933ebe8f8be3ed8bb5dc_@@@Z ; +0xad, 0x1801350d1\nlea     r9, [rbp+var_30]                                               ; +0xb2, 0x1801350d6\nlea     r8, [rbp+var_10]                                               ; +0xb6, 0x1801350da\nlea     rdx, [rbp+var_2C]                                              ; +0xba, 0x1801350de\nlea     rcx, [rbp+arg_8]                                               ; +0xbe, 0x1801350e2\ncall    ??$?RV_lambda_5e887d1dcbef67a5eb4283622ba103bf_@@AEAV_lambda_4466841279450cc726390878d4a41900_@@V_lambda_341c25c0346d94847f1f3c463c57e077_@@@?$__crt_seh_guarded_call@X@@QEAAX$$QEAV_lambda_5e887d1dcbef67a5eb4283622ba103bf_@@AEAV_lambda_4466841279450cc726390878d4a41900_@@$$QEAV_lambda_341c25c0346d94847f1f3c463c57e077_@@@Z ; +0xc2, 0x1801350e6\nadd     rsp, 50h                                                       ; +0xc7, 0x1801350eb\npop     rbp                                                            ; +0xcb, 0x1801350ef\nretn                                                                   ; +0xcc, 0x1801350f0", "xrefs": ["__acrt_getptd @ 0x180135354", "__acrt_getptd_head @ 0x180135413", "__acrt_getptd_noexit @ 0x1801354d0", "<???> @ 0x180203320"], "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"}