; ; cocos2d::extension::CCControlButton::initWithTitleAndFontNameAndFontSize from 0x180005e20 to 0x180005f22 (258 bytes) ; ; 4 xrefs: ; > @ 0x180024188 ; > @ 0x180027fd0 ; > @ 0x18002fdf8 ; > @ 0x180049564 ; ; 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, 0x180005e20 push rbp ; +0x2, 0x180005e22 push rsi ; +0x3, 0x180005e23 push rdi ; +0x4, 0x180005e24 sub rsp, 48h ; +0x5, 0x180005e25 mov rax, cs:__security_cookie ; +0x9, 0x180005e29 xor rax, rsp ; +0x10, 0x180005e30 mov [rsp+68h+var_38], rax ; +0x13, 0x180005e33 mov rbx, rdx ; +0x18, 0x180005e38 mov rsi, rcx ; +0x1b, 0x180005e3b mov [rsp+68h+var_40], rdx ; +0x1e, 0x180005e3e mov rcx, rdx ; +0x23, 0x180005e43 cmp qword ptr [rdx+18h], 0Fh ; +0x26, 0x180005e46 jbe short loc_180005E50 ; +0x2b, 0x180005e4b mov rcx, [rdx] ; +0x2d, 0x180005e4d movaps xmm2, xmm3 ; +0x30, 0x180005e50 mov rdx, r8 ; +0x33, 0x180005e53 call cs:?create@CCLabelTTF@cocos2d@@SAPEAV12@PEBD0M@Z; cocos2d::CCLabelTTF::create(char const *,char const *,float) ; +0x36, 0x180005e56 mov rbp, rax ; +0x3c, 0x180005e5c mov ecx, 210h; Size ; +0x3f, 0x180005e5f call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0x44, 0x180005e64 mov [rsp+68h+var_48], rax ; +0x49, 0x180005e69 mov rcx, rax; this ; +0x4e, 0x180005e6e call ??0CCScale9Sprite@extension@cocos2d@@QEAA@XZ; cocos2d::extension::CCScale9Sprite::CCScale9Sprite(void) ; +0x51, 0x180005e71 mov rdi, rax ; +0x56, 0x180005e76 test rax, rax ; +0x59, 0x180005e79 jz short loc_180005EA1 ; +0x5c, 0x180005e7c mov rax, [rax] ; +0x5e, 0x180005e7e mov rcx, rdi ; +0x61, 0x180005e81 call qword ptr [rax+48h] ; +0x64, 0x180005e84 mov rcx, rdi ; +0x67, 0x180005e87 test al, al ; +0x6a, 0x180005e8a jz short loc_180005E96 ; +0x6c, 0x180005e8c call cs:?autorelease@CCObject@cocos2d@@QEAAPEAV12@XZ; cocos2d::CCObject::autorelease(void) ; +0x6e, 0x180005e8e jmp short loc_180005EA3 ; +0x74, 0x180005e94 mov rax, [rdi] ; +0x76, 0x180005e96 mov edx, 1 ; +0x79, 0x180005e99 call qword ptr [rax+8] ; +0x7e, 0x180005e9e xor edi, edi ; +0x81, 0x180005ea1 mov rax, [rsi] ; +0x83, 0x180005ea3 mov r8, rdi ; +0x86, 0x180005ea6 mov rdx, rbp ; +0x89, 0x180005ea9 mov rcx, rsi ; +0x8c, 0x180005eac call qword ptr [rax+490h] ; +0x8f, 0x180005eaf movzx edi, al ; +0x95, 0x180005eb5 mov rdx, [rbx+18h] ; +0x98, 0x180005eb8 cmp rdx, 0Fh ; +0x9c, 0x180005ebc jbe short loc_180005EEE ; +0xa0, 0x180005ec0 inc rdx ; +0xa2, 0x180005ec2 mov rcx, [rbx] ; +0xa5, 0x180005ec5 cmp rdx, 1000h ; +0xa8, 0x180005ec8 jb short loc_180005EE9 ; +0xaf, 0x180005ecf add rdx, 27h ; ''' ; +0xb1, 0x180005ed1 mov r8, [rcx-8] ; +0xb5, 0x180005ed5 sub rcx, r8 ; +0xb9, 0x180005ed9 lea rax, [rcx-8] ; +0xbc, 0x180005edc cmp rax, 1Fh ; +0xc0, 0x180005ee0 ja short loc_180005F1B ; +0xc4, 0x180005ee4 mov rcx, r8; Block ; +0xc6, 0x180005ee6 call j_j_free ; +0xc9, 0x180005ee9 mov qword ptr [rbx+10h], 0 ; +0xce, 0x180005eee mov qword ptr [rbx+18h], 0Fh ; +0xd6, 0x180005ef6 mov byte ptr [rbx], 0 ; +0xde, 0x180005efe movzx eax, dil ; +0xe1, 0x180005f01 mov rcx, [rsp+68h+var_38] ; +0xe5, 0x180005f05 xor rcx, rsp; StackCookie ; +0xea, 0x180005f0a call __security_check_cookie ; +0xed, 0x180005f0d add rsp, 48h ; +0xf2, 0x180005f12 pop rdi ; +0xf6, 0x180005f16 pop rsi ; +0xf7, 0x180005f17 pop rbp ; +0xf8, 0x180005f18 pop rbx ; +0xf9, 0x180005f19 retn ; +0xfa, 0x180005f1a call cs:_invalid_parameter_noinfo_noreturn ; +0xfb, 0x180005f1b db 0CCh ; +0x101, 0x180005f21