; ; FMOD_Thread_SetAttributes from 0x1800b88b0 to 0x1800b8a88 (472 bytes) ; ; 6 xrefs: ; > sub_180001200 @ 0x180001227 ; > FMOD5_Thread_SetAttributes @ 0x1800f4ef0 ; > @ 0x180189a18 ; > @ 0x180189a28 ; > @ 0x180194348 ; > @ 0x1801fd308 ; ; 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 ; push rbx ; +0x0, 0x1800b88b0 movsxd r11, ecx ; +0x2, 0x1800b88b2 mov ebx, r9d ; +0x5, 0x1800b88b5 mov r10, rdx ; +0x8, 0x1800b88b8 cmp r11d, 0Dh ; +0xb, 0x1800b88bb jl short loc_1800B88C8 ; +0xf, 0x1800b88bf mov eax, 1Fh ; +0x11, 0x1800b88c1 pop rbx ; +0x16, 0x1800b88c6 retn ; +0x17, 0x1800b88c7 mov rax, 4000000000000000h ; +0x18, 0x1800b88c8 mov [rsp+8+arg_0], rdi ; +0x22, 0x1800b88d2 xor edx, edx ; +0x27, 0x1800b88d7 lea rdi, cs:180000000h ; +0x29, 0x1800b88d9 cmp r10, rax ; +0x30, 0x1800b88e0 jnz short loc_1800B891F ; +0x33, 0x1800b88e3 cmp r11d, 0Ch; switch 13 cases ; +0x35, 0x1800b88e5 ja short def_1800B88F6; jumptable 00000001800B88F6 default case ; +0x39, 0x1800b88e9 mov ecx, ds:(jpt_1800B88F6 - 180000000h)[rdi+r11*4] ; +0x3b, 0x1800b88eb add rcx, rdi ; +0x43, 0x1800b88f3 jmp rcx; switch jump ; +0x46, 0x1800b88f6 mov r10, 4000000000000001h; jumptable 00000001800B88F6 case 0 ; +0x48, 0x1800b88f8 jmp short loc_1800B891F ; +0x52, 0x1800b8902 mov r10, 4000000000000003h; jumptable 00000001800B88F6 cases 1-7,9-12 ; +0x54, 0x1800b8904 jmp short loc_1800B891F ; +0x5e, 0x1800b890e mov r10, 4000000000000002h; jumptable 00000001800B88F6 case 8 ; +0x60, 0x1800b8910 jmp short loc_1800B891F ; +0x6a, 0x1800b891a mov r10, rdx; jumptable 00000001800B88F6 default case ; +0x6c, 0x1800b891c mov rax, cs:off_1801AED20 ; +0x6f, 0x1800b891f mov [rax+r11*8+48h], r10 ; +0x76, 0x1800b8926 cmp r8d, 0FFFF7FFFh ; +0x7b, 0x1800b892b jnz short loc_1800B897A ; +0x82, 0x1800b8932 cmp r11d, 0Ch; switch 13 cases ; +0x84, 0x1800b8934 ja short def_1800B8945; jumptable 00000001800B8945 default case ; +0x88, 0x1800b8938 mov ecx, ds:(jpt_1800B8945 - 180000000h)[rdi+r11*4] ; +0x8a, 0x1800b893a add rcx, rdi ; +0x92, 0x1800b8942 jmp rcx; switch jump ; +0x95, 0x1800b8945 mov r8d, 0FFFF7FFAh; jumptable 00000001800B8945 case 0 ; +0x97, 0x1800b8947 jmp short loc_1800B897A ; +0x9d, 0x1800b894d mov r8d, 0FFFF7FF9h; jumptable 00000001800B8945 case 1 ; +0x9f, 0x1800b894f jmp short loc_1800B897A ; +0xa5, 0x1800b8955 mov r8d, 0FFFF7FFBh; jumptable 00000001800B8945 cases 2,11,12 ; +0xa7, 0x1800b8957 jmp short loc_1800B897A ; +0xad, 0x1800b895d mov r8d, 0FFFF7FFCh; jumptable 00000001800B8945 cases 3-5 ; +0xaf, 0x1800b895f jmp short loc_1800B897A ; +0xb5, 0x1800b8965 mov r8d, 0FFFF7FFEh; jumptable 00000001800B8945 case 6 ; +0xb7, 0x1800b8967 jmp short loc_1800B897A ; +0xbd, 0x1800b896d mov r8d, 0FFFF7FFDh; jumptable 00000001800B8945 cases 7-10 ; +0xbf, 0x1800b896f jmp short loc_1800B897A ; +0xc5, 0x1800b8975 mov r8d, edx; jumptable 00000001800B8945 default case ; +0xc7, 0x1800b8977 mov rax, cs:off_1801AED20 ; +0xca, 0x1800b897a mov [rax+r11*4+0B0h], r8d ; +0xd1, 0x1800b8981 test ebx, ebx ; +0xd9, 0x1800b8989 jnz short loc_1800B89D1 ; +0xdb, 0x1800b898b cmp r11d, 0Ch; switch 13 cases ; +0xdd, 0x1800b898d ja short def_1800B899E; jumptable 00000001800B899E default case ; +0xe1, 0x1800b8991 mov ecx, ds:(jpt_1800B899E - 180000000h)[rdi+r11*4] ; +0xe3, 0x1800b8993 add rcx, rdi ; +0xeb, 0x1800b899b jmp rcx; switch jump ; +0xee, 0x1800b899e mov edx, 14000h; jumptable 00000001800B899E case 0 ; +0xf0, 0x1800b89a0 jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0xf5, 0x1800b89a5 mov edx, 4000h; jumptable 00000001800B899E cases 1,5,11,12 ; +0xf7, 0x1800b89a7 jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0xfc, 0x1800b89ac mov edx, 18000h; jumptable 00000001800B899E cases 2,8-10 ; +0xfe, 0x1800b89ae jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0x103, 0x1800b89b3 mov edx, 10000h; jumptable 00000001800B899E case 3 ; +0x105, 0x1800b89b5 jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0x10a, 0x1800b89ba mov edx, 1C000h; jumptable 00000001800B899E case 4 ; +0x10c, 0x1800b89bc jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0x111, 0x1800b89c1 mov edx, 0C000h; jumptable 00000001800B899E case 6 ; +0x113, 0x1800b89c3 jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0x118, 0x1800b89c8 mov edx, 20000h; jumptable 00000001800B899E case 7 ; +0x11a, 0x1800b89ca jmp short def_1800B899E; jumptable 00000001800B899E default case ; +0x11f, 0x1800b89cf mov edx, ebx ; +0x121, 0x1800b89d1 mov rax, cs:off_1801AED20; jumptable 00000001800B899E default case ; +0x123, 0x1800b89d3 mov rdi, [rsp+8+arg_0] ; +0x12a, 0x1800b89da mov [rax+r11*4+0E4h], edx ; +0x12f, 0x1800b89df xor eax, eax ; +0x137, 0x1800b89e7 pop rbx ; +0x139, 0x1800b89e9 retn ; +0x13a, 0x1800b89ea align 4 ; +0x13b, 0x1800b89eb dd offset loc_1800B88F8 - 180000000h; jump table for switch statement ; +0x13c, 0x1800b89ec dd offset loc_1800B8947 - 180000000h; jump table for switch statement ; +0x170, 0x1800b8a20 dd offset loc_1800B89A0 - 180000000h; jump table for switch statement ; +0x1a4, 0x1800b8a54