{"type": "func", "start": 6443243408, "end": 6443243491, "name": "FMOD_OS_Time_GetUs", "pseudocode": "// \n// FMOD_OS_Time_GetUs from 0x1800c1790 to 0x1800c17e3 (83 bytes)\n// \n// 9 xrefs:\n// > sub_180098120 @ 0x1800981a5\n// > sub_180098120 @ 0x180098242\n// > sub_1800B8AE0 @ 0x1800b8b05\n// > sub_1800B8AE0 @ 0x1800b8b32\n// > sub_1800B8B60 @ 0x1800b8b69\n// > sub_1800B8B80 @ 0x1800b8ba2\n// > sub_180112AC0 @ 0x180112c3e\n// > <???> @ 0x180194348\n// > <???> @ 0x1801fdc20\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 FMOD_OS_Time_GetUs(DWORD *a1)\n{\n  DWORD v3; // ecx\n  LARGE_INTEGER PerformanceCount; // [rsp+38h] [rbp+10h] BYREF\n  LARGE_INTEGER Frequency; // [rsp+40h] [rbp+18h] BYREF\n\n  if ( QueryPerformanceCounter(&PerformanceCount) )\n  {\n    QueryPerformanceFrequency(&Frequency);\n    *a1 = 1000000 * PerformanceCount.QuadPart / Frequency.QuadPart;\n    return 0;\n  }\n  else\n  {\n    v3 = 1000 * timeGetTime();\n    *a1 = v3;\n    return 0;\n  }\n}", "assembly": "; \n; FMOD_OS_Time_GetUs from 0x1800c1790 to 0x1800c17e3 (83 bytes)\n; \n; 9 xrefs:\n; > sub_180098120 @ 0x1800981a5\n; > sub_180098120 @ 0x180098242\n; > sub_1800B8AE0 @ 0x1800b8b05\n; > sub_1800B8AE0 @ 0x1800b8b32\n; > sub_1800B8B60 @ 0x1800b8b69\n; > sub_1800B8B80 @ 0x1800b8ba2\n; > sub_180112AC0 @ 0x180112c3e\n; > <???> @ 0x180194348\n; > <???> @ 0x1801fdc20\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, 0x1800c1790\nsub     rsp, 20h                                                       ; +0x2, 0x1800c1792\nmov     rbx, rcx                                                       ; +0x6, 0x1800c1796\nlea     rcx, [rsp+28h+PerformanceCount]; lpPerformanceCount            ; +0x9, 0x1800c1799\ncall    cs:QueryPerformanceCounter                                     ; +0xe, 0x1800c179e\ntest    eax, eax                                                       ; +0x14, 0x1800c17a4\njz      short loc_1800C17CD                                            ; +0x16, 0x1800c17a6\nlea     rcx, [rsp+28h+Frequency]; lpFrequency                          ; +0x18, 0x1800c17a8\ncall    cs:QueryPerformanceFrequency                                   ; +0x1d, 0x1800c17ad\nimul    rax, qword ptr [rsp+28h+PerformanceCount], 0F4240h             ; +0x23, 0x1800c17b3\ncqo                                                                    ; +0x2c, 0x1800c17bc\nidiv    qword ptr [rsp+28h+Frequency]                                  ; +0x2e, 0x1800c17be\nmov     [rbx], eax                                                     ; +0x33, 0x1800c17c3\nxor     eax, eax                                                       ; +0x35, 0x1800c17c5\nadd     rsp, 20h                                                       ; +0x37, 0x1800c17c7\npop     rbx                                                            ; +0x3b, 0x1800c17cb\nretn                                                                   ; +0x3c, 0x1800c17cc\ncall    cs:timeGetTime                                                 ; +0x3d, 0x1800c17cd\nimul    ecx, eax, 3E8h                                                 ; +0x43, 0x1800c17d3\nxor     eax, eax                                                       ; +0x49, 0x1800c17d9\nmov     [rbx], ecx                                                     ; +0x4b, 0x1800c17db\nadd     rsp, 20h                                                       ; +0x4d, 0x1800c17dd\npop     rbx                                                            ; +0x51, 0x1800c17e1\nretn                                                                   ; +0x52, 0x1800c17e2", "xrefs": ["sub_180098120 @ 0x1800981a5", "sub_180098120 @ 0x180098242", "sub_1800B8AE0 @ 0x1800b8b05", "sub_1800B8AE0 @ 0x1800b8b32", "sub_1800B8B60 @ 0x1800b8b69", "sub_1800B8B80 @ 0x1800b8ba2", "sub_180112AC0 @ 0x180112c3e", "<???> @ 0x180194348", "<???> @ 0x1801fdc20"], "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"}