; ; cocos2d::extension::CCControlButton::setTitleBMFontForState from 0x1800069e0 to 0x180006ad3 (243 bytes) ; ; 4 xrefs: ; > @ 0x1800241e8 ; > @ 0x180028030 ; > @ 0x18002fdf8 ; > @ 0x1800496a8 ; ; 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, 0x1800069e0 push rbp ; +0x2, 0x1800069e2 push rsi ; +0x3, 0x1800069e3 push rdi ; +0x4, 0x1800069e4 push r14 ; +0x5, 0x1800069e5 sub rsp, 50h ; +0x7, 0x1800069e7 mov rax, cs:__security_cookie ; +0xb, 0x1800069eb xor rax, rsp ; +0x12, 0x1800069f2 mov [rsp+78h+var_38], rax ; +0x15, 0x1800069f5 mov ebp, r8d ; +0x1a, 0x1800069fa mov r14, rdx ; +0x1d, 0x1800069fd mov rsi, rcx ; +0x20, 0x180006a00 mov rax, [rcx] ; +0x23, 0x180006a03 mov edx, r8d ; +0x26, 0x180006a06 call qword ptr [rax+4A8h] ; +0x29, 0x180006a09 mov rdi, rax ; +0x2f, 0x180006a0f test rax, rax ; +0x32, 0x180006a12 jnz short loc_180006A94 ; +0x35, 0x180006a15 xorps xmm0, xmm0 ; +0x37, 0x180006a17 movups xmmword ptr [rsp+78h+Block], xmm0 ; +0x3a, 0x180006a1a xor ebx, ebx ; +0x3f, 0x180006a1f mov [rsp+78h+var_48], rbx ; +0x41, 0x180006a21 mov [rsp+78h+var_40], 0Fh ; +0x46, 0x180006a26 mov byte ptr [rsp+78h+Block], bl ; +0x4f, 0x180006a2f lea rcx, [rsp+78h+Block] ; +0x53, 0x180006a33 call cs:?create@CCString@cocos2d@@SAPEAV12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z; cocos2d::CCString::create(std::string const &) ; +0x58, 0x180006a38 mov rdi, rax ; +0x5e, 0x180006a3e mov rdx, [rsp+78h+var_40] ; +0x61, 0x180006a41 cmp rdx, 0Fh ; +0x66, 0x180006a46 jbe short loc_180006A81 ; +0x6a, 0x180006a4a inc rdx ; +0x6c, 0x180006a4c mov rcx, [rsp+78h+Block]; Block ; +0x6f, 0x180006a4f mov rax, rcx ; +0x74, 0x180006a54 cmp rdx, 1000h ; +0x77, 0x180006a57 jb short loc_180006A7C ; +0x7e, 0x180006a5e add rdx, 27h ; ''' ; +0x80, 0x180006a60 mov rcx, [rcx-8] ; +0x84, 0x180006a64 sub rax, rcx ; +0x88, 0x180006a68 add rax, 0FFFFFFFFFFFFFFF8h ; +0x8b, 0x180006a6b cmp rax, 1Fh ; +0x8f, 0x180006a6f jbe short loc_180006A7C ; +0x93, 0x180006a73 call cs:_invalid_parameter_noinfo_noreturn ; +0x95, 0x180006a75 align 4 ; +0x9b, 0x180006a7b call j_j_free ; +0x9c, 0x180006a7c mov [rsp+78h+var_48], rbx ; +0xa1, 0x180006a81 mov [rsp+78h+var_40], 0Fh ; +0xa6, 0x180006a86 mov byte ptr [rsp+78h+Block], 0 ; +0xaf, 0x180006a8f mov rbx, [rsi] ; +0xb4, 0x180006a94 mov rcx, rdi ; +0xb7, 0x180006a97 call cs:?getCString@CCString@cocos2d@@QEBAPEBDXZ; cocos2d::CCString::getCString(void) ; +0xba, 0x180006a9a mov rcx, rax ; +0xc0, 0x180006aa0 mov rdx, r14 ; +0xc3, 0x180006aa3 call cs:?create@CCLabelBMFont@cocos2d@@SAPEAV12@PEBD0@Z; cocos2d::CCLabelBMFont::create(char const *,char const *) ; +0xc6, 0x180006aa6 mov rdx, rax ; +0xcc, 0x180006aac mov r8d, ebp ; +0xcf, 0x180006aaf mov rcx, rsi ; +0xd2, 0x180006ab2 call qword ptr [rbx+4D0h] ; +0xd5, 0x180006ab5 mov rcx, [rsp+78h+var_38] ; +0xdb, 0x180006abb xor rcx, rsp; StackCookie ; +0xe0, 0x180006ac0 call __security_check_cookie ; +0xe3, 0x180006ac3 add rsp, 50h ; +0xe8, 0x180006ac8 pop r14 ; +0xec, 0x180006acc pop rdi ; +0xee, 0x180006ace pop rsi ; +0xef, 0x180006acf pop rbp ; +0xf0, 0x180006ad0 pop rbx ; +0xf1, 0x180006ad1 retn ; +0xf2, 0x180006ad2