{"type": "func", "start": 6443239264, "end": 6443239501, "name": "StartAddress", "pseudocode": "// \n// StartAddress from 0x1800c0760 to 0x1800c084d (237 bytes)\n// \n// 2 xrefs:\n// > FMOD_OS_Thread_Create @ 0x1800c1626\n// > <???> @ 0x1801fda58\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 __noreturn StartAddress(void (__fastcall **a1)(__int64))\n{\n  void (__fastcall *v2)(__int64); // rdi\n  void (__fastcall *v3)(__int64); // rsi\n  const CHAR *v4; // r8\n  HANDLE CurrentThread; // rax\n  WCHAR WideCharStr[256]; // [rsp+30h] [rbp-218h] BYREF\n\n  v2 = *a1;\n  v3 = a1[1];\n  if ( qword_1801EF770 )\n  {\n    v4 = (const CHAR *)a1[2];\n    WideCharStr[255] = 0;\n    MultiByteToWideChar(0xFDE9u, 0, v4, -1, WideCharStr, 255);\n    CurrentThread = GetCurrentThread();\n    qword_1801EF770(CurrentThread, WideCharStr);\n  }\n  sub_1800B6AA0(*((_QWORD *)off_1801AED20 + 52), a1);\n  CoInitializeEx(nullptr, 2u);\n  v2((__int64)v3);\n  CoUninitialize();\n  endthreadex(0);\n}", "assembly": "; \n; StartAddress from 0x1800c0760 to 0x1800c084d (237 bytes)\n; \n; 2 xrefs:\n; > FMOD_OS_Thread_Create @ 0x1800c1626\n; > <???> @ 0x1801fda58\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_8], rbx                                               ; +0x0, 0x1800c0760\nmov     [rsp+arg_10], rsi                                              ; +0x5, 0x1800c0765\npush    rdi                                                            ; +0xa, 0x1800c076a\nsub     rsp, 240h                                                      ; +0xb, 0x1800c076b\nmov     rax, cs:__security_cookie                                      ; +0x12, 0x1800c0772\nxor     rax, rsp                                                       ; +0x19, 0x1800c0779\nmov     [rsp+248h+var_18], rax                                         ; +0x1c, 0x1800c077c\ncmp     cs:qword_1801EF770, 0                                          ; +0x24, 0x1800c0784\nmov     rbx, rcx                                                       ; +0x2c, 0x1800c078c\nmov     rdi, [rcx]                                                     ; +0x2f, 0x1800c078f\nmov     rsi, [rcx+8]                                                   ; +0x32, 0x1800c0792\njz      short loc_1800C07DF                                            ; +0x36, 0x1800c0796\nmov     r8, [rcx+10h]; lpMultiByteStr                                  ; +0x38, 0x1800c0798\nxor     eax, eax                                                       ; +0x3c, 0x1800c079c\nmov     [rsp+248h+var_1A], ax                                          ; +0x3e, 0x1800c079e\nmov     r9d, 0FFFFFFFFh; cbMultiByte                                   ; +0x46, 0x1800c07a6\nlea     rax, [rsp+248h+WideCharStr]                                    ; +0x4c, 0x1800c07ac\nmov     [rsp+248h+cchWideChar], 0FFh; cchWideChar                      ; +0x51, 0x1800c07b1\nxor     edx, edx; dwFlags                                              ; +0x59, 0x1800c07b9\nmov     [rsp+248h+lpWideCharStr], rax; lpWideCharStr                   ; +0x5b, 0x1800c07bb\nmov     ecx, 0FDE9h; CodePage                                          ; +0x60, 0x1800c07c0\ncall    cs:MultiByteToWideChar                                         ; +0x65, 0x1800c07c5\ncall    cs:GetCurrentThread                                            ; +0x6b, 0x1800c07cb\nmov     rcx, rax                                                       ; +0x71, 0x1800c07d1\nlea     rdx, [rsp+248h+WideCharStr]                                    ; +0x74, 0x1800c07d4\ncall    cs:qword_1801EF770                                             ; +0x79, 0x1800c07d9\nmov     rcx, cs:off_1801AED20                                          ; +0x7f, 0x1800c07df\nlea     r8, aCBuildagent1Wo_46; \"C:\\\\buildagent1\\\\work\\\\570ad728b1678096\"... ; +0x86, 0x1800c07e6\nmov     r9d, 298h                                                      ; +0x8d, 0x1800c07ed\nmov     byte ptr [rsp+248h+lpWideCharStr], 1                           ; +0x93, 0x1800c07f3\nmov     rdx, rbx                                                       ; +0x98, 0x1800c07f8\nmov     rcx, [rcx+1A0h]                                                ; +0x9b, 0x1800c07fb\ncall    sub_1800B6AA0                                                  ; +0xa2, 0x1800c0802\nmov     edx, 2; dwCoInit                                               ; +0xa7, 0x1800c0807\nxor     ecx, ecx; pvReserved                                           ; +0xac, 0x1800c080c\ncall    cs:CoInitializeEx                                              ; +0xae, 0x1800c080e\nmov     rcx, rsi                                                       ; +0xb4, 0x1800c0814\ncall    rdi                                                            ; +0xb7, 0x1800c0817\ncall    cs:CoUninitialize                                              ; +0xb9, 0x1800c0819\nxor     ecx, ecx; ReturnCode                                           ; +0xbf, 0x1800c081f\ncall    _endthreadex                                                   ; +0xc1, 0x1800c0821\nxor     eax, eax                                                       ; +0xc6, 0x1800c0826\nmov     rcx, [rsp+248h+var_18]                                         ; +0xc8, 0x1800c0828\nxor     rcx, rsp; StackCookie                                          ; +0xd0, 0x1800c0830\ncall    __security_check_cookie                                        ; +0xd3, 0x1800c0833\nlea     r11, [rsp+248h+var_8]                                          ; +0xd8, 0x1800c0838\nmov     rbx, [r11+18h]                                                 ; +0xe0, 0x1800c0840\nmov     rsi, [r11+20h]                                                 ; +0xe4, 0x1800c0844\nmov     rsp, r11                                                       ; +0xe8, 0x1800c0848\npop     rdi                                                            ; +0xeb, 0x1800c084b\nretn                                                                   ; +0xec, 0x1800c084c", "xrefs": ["FMOD_OS_Thread_Create @ 0x1800c1626", "<???> @ 0x1801fda58"], "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"}