; ; sub_1800196E0 from 0x1800196e0 to 0x18001977c (156 bytes) ; ; 2 xrefs: ; > cocos2d::extension::WebSocket::onSocketCallback @ 0x18001aada ; > @ 0x18004ac50 ; ; 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 [rsp+arg_0], rbx ; +0x0, 0x1800196e0 mov [rsp+arg_8], rbp ; +0x5, 0x1800196e5 mov [rsp+arg_10], rsi ; +0xa, 0x1800196ea push rdi ; +0xf, 0x1800196ef sub rsp, 30h ; +0x10, 0x1800196f0 mov rbp, rdx ; +0x14, 0x1800196f4 mov rbx, rcx ; +0x17, 0x1800196f7 lea rsi, [rcx+48h] ; +0x1a, 0x1800196fa mov rcx, rsi ; +0x1e, 0x1800196fe call cs:pthread_mutex_lock ; +0x21, 0x180019701 mov rbx, [rbx+38h] ; +0x27, 0x180019707 mov rdi, [rbx] ; +0x2b, 0x18001970b mov rax, 0AAAAAAAAAAAAAAAh ; +0x2e, 0x18001970e cmp [rbx+8], rax ; +0x38, 0x180019718 jnz short loc_18001972C ; +0x3c, 0x18001971c lea rcx, aListTooLong; "list too long" ; +0x3e, 0x18001971e call cs:?_Xlength_error@std@@YAXPEBD@Z; std::_Xlength_error(char const *) ; +0x45, 0x180019725 align 4 ; +0x4b, 0x18001972b mov [rsp+38h+var_18], rbx ; +0x4c, 0x18001972c mov [rsp+38h+var_10], 0 ; +0x51, 0x180019731 mov ecx, 18h; Size ; +0x5a, 0x18001973a call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0x5f, 0x18001973f mov [rax+10h], rbp ; +0x64, 0x180019744 inc qword ptr [rbx+8] ; +0x68, 0x180019748 mov rdx, [rdi+8] ; +0x6c, 0x18001974c mov [rax], rdi ; +0x70, 0x180019750 mov [rax+8], rdx ; +0x73, 0x180019753 mov [rdi+8], rax ; +0x77, 0x180019757 mov [rdx], rax ; +0x7b, 0x18001975b mov rcx, rsi ; +0x7e, 0x18001975e mov rbx, [rsp+38h+arg_0] ; +0x81, 0x180019761 mov rbp, [rsp+38h+arg_8] ; +0x86, 0x180019766 mov rsi, [rsp+38h+arg_10] ; +0x8b, 0x18001976b add rsp, 30h ; +0x90, 0x180019770 pop rdi ; +0x94, 0x180019774 jmp cs:pthread_mutex_unlock ; +0x95, 0x180019775