; ; FMOD::System::getRecordPosition from 0x1800aeb40 to 0x1800aec6f (303 bytes) ; ; 5 xrefs: ; > FMOD_System_GetRecordPosition @ 0x1800c6c29 ; > @ 0x180188dc8 ; > @ 0x180188dfc ; > @ 0x180194348 ; > @ 0x1801fc654 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; mov r11, rsp ; +0x0, 0x1800aeb40 push rsi ; +0x3, 0x1800aeb43 sub rsp, 170h ; +0x4, 0x1800aeb44 mov rax, cs:__security_cookie ; +0xb, 0x1800aeb4b xor rax, rsp ; +0x12, 0x1800aeb52 mov [rsp+178h+var_38], rax ; +0x15, 0x1800aeb55 mov [r11-10h], rbx ; +0x1d, 0x1800aeb5d mov ebx, edx ; +0x21, 0x1800aeb61 mov [r11-18h], rbp ; +0x23, 0x1800aeb63 lea rdx, [rsp+178h+var_140] ; +0x27, 0x1800aeb67 mov rbp, r8 ; +0x2c, 0x1800aeb6c mov [r11-28h], r14 ; +0x2f, 0x1800aeb6f lea r8, [rsp+178h+var_148] ; +0x33, 0x1800aeb73 mov [rsp+178h+var_148], 0 ; +0x38, 0x1800aeb78 mov r14, rcx ; +0x41, 0x1800aeb81 call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x44, 0x1800aeb84 mov esi, eax ; +0x49, 0x1800aeb89 test eax, eax ; +0x4b, 0x1800aeb8b jnz short loc_1800AEBA8 ; +0x4d, 0x1800aeb8d mov rcx, [rsp+178h+var_140] ; +0x4f, 0x1800aeb8f mov r8, rbp ; +0x54, 0x1800aeb94 mov edx, ebx ; +0x57, 0x1800aeb97 call sub_1800E4A60 ; +0x59, 0x1800aeb99 mov esi, eax ; +0x5e, 0x1800aeb9e test eax, eax ; +0x60, 0x1800aeba0 jz loc_1800AEC2D ; +0x62, 0x1800aeba2 mov rax, cs:off_1801AED20 ; +0x68, 0x1800aeba8 test byte ptr [rax+10h], 80h ; +0x6f, 0x1800aebaf jz short loc_1800AEC2D ; +0x73, 0x1800aebb3 mov [rsp+178h+var_20], rdi ; +0x75, 0x1800aebb5 lea rcx, [rsp+178h+var_138] ; +0x7d, 0x1800aebbd mov edi, 100h ; +0x82, 0x1800aebc2 mov r8d, ebx ; +0x87, 0x1800aebc7 mov edx, edi ; +0x8a, 0x1800aebca call sub_1800F2EC0 ; +0x8c, 0x1800aebcc movsxd rbx, eax ; +0x91, 0x1800aebd1 lea rcx, [rsp+178h+var_138] ; +0x94, 0x1800aebd4 mov edx, edi ; +0x99, 0x1800aebd9 lea r8, asc_18014572C; ", " ; +0x9b, 0x1800aebdb sub edx, ebx ; +0xa2, 0x1800aebe2 add rcx, rbx; void * ; +0xa4, 0x1800aebe4 call sub_1800F2F70 ; +0xa7, 0x1800aebe7 add ebx, eax ; +0xac, 0x1800aebec lea rcx, [rsp+178h+var_138] ; +0xae, 0x1800aebee movsxd rax, ebx ; +0xb3, 0x1800aebf3 sub edi, ebx ; +0xb6, 0x1800aebf6 add rcx, rax ; +0xb8, 0x1800aebf8 mov edx, edi ; +0xbb, 0x1800aebfb mov r8, rbp ; +0xbd, 0x1800aebfd call sub_1800F3060 ; +0xc0, 0x1800aec00 lea rax, [rsp+178h+var_138] ; +0xc5, 0x1800aec05 mov r8, r14 ; +0xca, 0x1800aec0a lea r9, aSystemGetrecor_1; "System::getRecordPosition" ; +0xcd, 0x1800aec0d mov [rsp+178h+var_158], rax ; +0xd4, 0x1800aec14 mov edx, 1 ; +0xd9, 0x1800aec19 mov ecx, esi ; +0xde, 0x1800aec1e call sub_1800B20E0 ; +0xe0, 0x1800aec20 mov rdi, [rsp+178h+var_20] ; +0xe5, 0x1800aec25 mov rcx, [rsp+178h+var_148] ; +0xed, 0x1800aec2d mov r14, [rsp+178h+var_28] ; +0xf2, 0x1800aec32 mov rbp, [rsp+178h+var_18] ; +0xfa, 0x1800aec3a mov rbx, [rsp+178h+var_10] ; +0x102, 0x1800aec42 test rcx, rcx ; +0x10a, 0x1800aec4a jz short loc_1800AEC54 ; +0x10d, 0x1800aec4d call sub_180102320 ; +0x10f, 0x1800aec4f mov eax, esi ; +0x114, 0x1800aec54 mov rcx, [rsp+178h+var_38] ; +0x116, 0x1800aec56 xor rcx, rsp; StackCookie ; +0x11e, 0x1800aec5e call __security_check_cookie ; +0x121, 0x1800aec61 add rsp, 170h ; +0x126, 0x1800aec66 pop rsi ; +0x12d, 0x1800aec6d retn ; +0x12e, 0x1800aec6e