http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/100-32-bit_PowerPC_Function_Calling_Conventions/32bitPowerPC.html http://developer.apple.com/documentation/DeveloperTools/Conceptual/LowLevelABI/130-IA-32_Function_Calling_Conventions/IA32.html 0x928d2aa4 : mflr r0 // save linkage 0x928d2aa8 : stmw r30,-8(r1) // stash r30, r31 0x928d2aac : mr r30,r4 // save r4 (new title) 0x928d2ab0 : stw r0,8(r1) // make stack frame 0x928d2ab4 : stwu r1,-80(r1) // make stack frame 0x928d2ab8 : bl 0x92881384 <_Z13GetWindowDataP15OpaqueWindowPtr> 0x928d2abc : li r0,-5600 // errInvalidWindowRef 0x928d2ac0 : cmpwi cr7,r3,0 // if no window data, bail 0x928d2ac4 : beq- cr7,0x928d2ae0 0x928d2ac8 : cmpwi cr7,r30,0 // if no string to set, bail 0x928d2acc : li r0,-50 // paramErr 0x928d2ad0 : beq- cr7,0x928d2ae0 0x928d2ad4 : mr r4,r30 0x928d2ad8 : bl 0x928d2af8 <_ZN10WindowData14SetTitleCommonEPK10__CFString> 0x928d2adc : li r0,0 // return noErr 0x928d2ae0 : addi r1,r1,80 // tear down stack frame and return 0x928d2ae4 : mr r3,r0 0x928d2ae8 : lwz r0,8(r1) 0x928d2aec : lmw r30,-8(r1) 0x928d2af0 : mtlr r0 0x928d2af4 : blr 0x92e4bace : push %ebp // make stack frame 0x92e4bacf : mov %esp,%ebp // make stack frame 0x92e4bad1 : push %esi // stash %esi 0x92e4bad2 : sub $0x14,%esp // make stack frame 0x92e4bad5 : mov 0x8(%ebp),%eax // get WindowRef in %eax 0x92e4bad8 : mov 0xc(%ebp),%esi // get new title in %esi 0x92e4badb : mov %eax,(%esp) // put WindowRef on the stack 0x92e4bade : call 0x92dfb8f6 <_Z13GetWindowDataP15OpaqueWindowPtr> 0x92e4bae3 : mov %eax,%edx // stick WindowData into %edx 0x92e4bae5 : mov $0xffffea20,%eax // errInvalidWindowRef 0x92e4baea : test %edx,%edx // if no window data, bail 0x92e4baec : je 0x92e4bb04 0x92e4baee : test %esi,%esi // if no string to set, bail 0x92e4baf0 : mov $0xffce,%ax // paramErr 0x92e4baf4 : je 0x92e4bb04 0x92e4baf6 : mov %esi,0x4(%esp) // load new title as param 2 0x92e4bafa : mov %edx,(%esp) // load WindowData as param 1 0x92e4bafd : call 0x92e4bb0c <_ZN10WindowData14SetTitleCommonEPK10__CFString> 0x92e4bb02 : xor %eax,%eax // return noErr 0x92e4bb04 : add $0x14,%esp // tear down stack frame and return 0x92e4bb07 : pop %esi 0x92e4bb08 : leave 0x92e4bb09 : ret 0x92e4bb0a : nop 0x92e4bb0b : nop 0x928d2af8 <_ZN10WindowData14SetTitleCommonEPK10__CFString+0>: mflr r0 // save linkage 0x928d2afc <_ZN10WindowData14SetTitleCommonEPK10__CFString+4>: stmw r29,-12(r1) // stash r29, r30, r31 0x928d2b00 <_ZN10WindowData14SetTitleCommonEPK10__CFString+8>: mr r30,r3 // save r3 (WindowData) 0x928d2b04 <_ZN10WindowData14SetTitleCommonEPK10__CFString+12>: li r3,0 // use kCFAllocatorDefault 0x928d2b08 <_ZN10WindowData14SetTitleCommonEPK10__CFString+16>: stw r0,8(r1) 0x928d2b0c <_ZN10WindowData14SetTitleCommonEPK10__CFString+20>: stwu r1,-96(r1) // make stack frame 0x928d2b10 <_ZN10WindowData14SetTitleCommonEPK10__CFString+24>: bl 0x92b54d84 // copy new title string 0x928d2b14 <_ZN10WindowData14SetTitleCommonEPK10__CFString+28>: lwz r29,96(r30) // get old title string (WindowData + 96), move to r29 0x928d2b18 <_ZN10WindowData14SetTitleCommonEPK10__CFString+32>: stw r3,96(r30) // put new title string (WindowData + 96) 0x928d2b1c <_ZN10WindowData14SetTitleCommonEPK10__CFString+36>: mr r3,r30 // Move WindowData back into r3 for call to UpdateDockTile 0x928d2b20 <_ZN10WindowData14SetTitleCommonEPK10__CFString+40>: bl 0x928d2bc4 0x928d2b24 <_ZN10WindowData14SetTitleCommonEPK10__CFString+44>: lwz r0,144(r30) 0x928d2b28 <_ZN10WindowData14SetTitleCommonEPK10__CFString+48>: li r2,0 0x928d2b2c <_ZN10WindowData14SetTitleCommonEPK10__CFString+52>: rlwinm r3,r0,0,4,4 0x928d2b30 <_ZN10WindowData14SetTitleCommonEPK10__CFString+56>: or. r0,r2,r3 0x928d2b34 <_ZN10WindowData14SetTitleCommonEPK10__CFString+60>: beq- 0x928d2b4c <_ZN10WindowData14SetTitleCommonEPK10__CFString+84> 0x928d2b38 <_ZN10WindowData14SetTitleCommonEPK10__CFString+64>: lwz r0,104(r30) 0x928d2b3c <_ZN10WindowData14SetTitleCommonEPK10__CFString+68>: cmpwi cr7,r0,0 0x928d2b40 <_ZN10WindowData14SetTitleCommonEPK10__CFString+72>: bne- cr7,0x928d2b4c <_ZN10WindowData14SetTitleCommonEPK10__CFString+84> 0x928d2b44 <_ZN10WindowData14SetTitleCommonEPK10__CFString+76>: mr r3,r30 0x928d2b48 <_ZN10WindowData14SetTitleCommonEPK10__CFString+80>: bl 0x928faea8 <_Z29UpdateWindowTitleInWindowMenuP10WindowData> 0x928d2b4c <_ZN10WindowData14SetTitleCommonEPK10__CFString+84>: cmpwi cr7,r29,0 0x928d2b50 <_ZN10WindowData14SetTitleCommonEPK10__CFString+88>: beq- cr7,0x928d2b5c <_ZN10WindowData14SetTitleCommonEPK10__CFString+100> 0x928d2b54 <_ZN10WindowData14SetTitleCommonEPK10__CFString+92>: mr r3,r29 // release old title 0x928d2b58 <_ZN10WindowData14SetTitleCommonEPK10__CFString+96>: bl 0x92b547c4 0x928d2b5c <_ZN10WindowData14SetTitleCommonEPK10__CFString+100>: li r4,1020 0x928d2b60 <_ZN10WindowData14SetTitleCommonEPK10__CFString+104>: li r5,3 0x928d2b64 <_ZN10WindowData14SetTitleCommonEPK10__CFString+108>: mr r3,r30 0x928d2b68 <_ZN10WindowData14SetTitleCommonEPK10__CFString+112>: bl 0x928c4850 0x928d2b6c <_ZN10WindowData14SetTitleCommonEPK10__CFString+116>: mr r3,r30 0x928d2b70 <_ZN10WindowData14SetTitleCommonEPK10__CFString+120>: bl 0x9287f3e8 <_ZN10WindowData21UpdateEventTargetNameEv> 0x928d2b74 <_ZN10WindowData14SetTitleCommonEPK10__CFString+124>: lwz r0,344(r30) 0x928d2b78 <_ZN10WindowData14SetTitleCommonEPK10__CFString+128>: andi. r2,r0,512 0x928d2b7c <_ZN10WindowData14SetTitleCommonEPK10__CFString+132>: bne- 0x928d2bb0 <_ZN10WindowData14SetTitleCommonEPK10__CFString+184> 0x928d2b80 <_ZN10WindowData14SetTitleCommonEPK10__CFString+136>: mr r3,r30 0x928d2b84 <_ZN10WindowData14SetTitleCommonEPK10__CFString+140>: li r4,1 0x928d2b88 <_ZN10WindowData14SetTitleCommonEPK10__CFString+144>: bl 0x928845fc <_Z28StateChangedWindowDefinitionP10WindowDatam> 0x928d2b8c <_ZN10WindowData14SetTitleCommonEPK10__CFString+148>: lwz r3,64(r30) 0x928d2b90 <_ZN10WindowData14SetTitleCommonEPK10__CFString+152>: addi r4,r1,56 0x928d2b94 <_ZN10WindowData14SetTitleCommonEPK10__CFString+156>: bl 0x92b5ce64 0x928d2b98 <_ZN10WindowData14SetTitleCommonEPK10__CFString+160>: mr r3,r30 0x928d2b9c <_ZN10WindowData14SetTitleCommonEPK10__CFString+164>: bl 0x92920c60 <_Z25CalculateWindowTitleWidthP10WindowData> 0x928d2ba0 <_ZN10WindowData14SetTitleCommonEPK10__CFString+168>: mr r3,r30 0x928d2ba4 <_ZN10WindowData14SetTitleCommonEPK10__CFString+172>: bl 0x929caa58 <_Z31RedrawWindowAfterModifyingTitleP10WindowData> 0x928d2ba8 <_ZN10WindowData14SetTitleCommonEPK10__CFString+176>: lwz r3,56(r1) 0x928d2bac <_ZN10WindowData14SetTitleCommonEPK10__CFString+180>: bl 0x92b5d6c4 0x928d2bb0 <_ZN10WindowData14SetTitleCommonEPK10__CFString+184>: addi r1,r1,96 0x928d2bb4 <_ZN10WindowData14SetTitleCommonEPK10__CFString+188>: lwz r0,8(r1) 0x928d2bb8 <_ZN10WindowData14SetTitleCommonEPK10__CFString+192>: lmw r29,-12(r1) 0x928d2bbc <_ZN10WindowData14SetTitleCommonEPK10__CFString+196>: mtlr r0 0x928d2bc0 <_ZN10WindowData14SetTitleCommonEPK10__CFString+200>: blr 0x92e4bb0c <_ZN10WindowData14SetTitleCommonEPK10__CFString+0>: push %ebp // make stack frame 0x92e4bb0d <_ZN10WindowData14SetTitleCommonEPK10__CFString+1>: mov %esp,%ebp 0x92e4bb0f <_ZN10WindowData14SetTitleCommonEPK10__CFString+3>: push %edi // save %edi, %esi 0x92e4bb10 <_ZN10WindowData14SetTitleCommonEPK10__CFString+4>: push %esi 0x92e4bb11 <_ZN10WindowData14SetTitleCommonEPK10__CFString+5>: sub $0x20,%esp // make stack frame 0x92e4bb14 <_ZN10WindowData14SetTitleCommonEPK10__CFString+8>: mov 0xc(%ebp),%eax // param 2 (title) > %eax 0x92e4bb17 <_ZN10WindowData14SetTitleCommonEPK10__CFString+11>: mov 0x8(%ebp),%esi // param 1 (WindowData) > %esi 0x92e4bb1a <_ZN10WindowData14SetTitleCommonEPK10__CFString+14>: movl $0x0,(%esp) // use kCFAllocatorDefault 0x92e4bb21 <_ZN10WindowData14SetTitleCommonEPK10__CFString+21>: mov %eax,0x4(%esp) 0x92e4bb25 <_ZN10WindowData14SetTitleCommonEPK10__CFString+25>: call 0xa0a52040 // copy new title string 0x92e4bb2a <_ZN10WindowData14SetTitleCommonEPK10__CFString+30>: mov 0x60(%esi),%edi // get old title string (WindowData + 0x60), move to %edi 0x92e4bb2d <_ZN10WindowData14SetTitleCommonEPK10__CFString+33>: mov %eax,0x60(%esi) // put new title string (WindowData + 0x60) 0x92e4bb30 <_ZN10WindowData14SetTitleCommonEPK10__CFString+36>: mov %esi,(%esp) // WindowData, param 1 0x92e4bb33 <_ZN10WindowData14SetTitleCommonEPK10__CFString+39>: call 0x92e4bbd6 0x92e4bb38 <_ZN10WindowData14SetTitleCommonEPK10__CFString+44>: mov 0x8c(%esi),%eax 0x92e4bb3e <_ZN10WindowData14SetTitleCommonEPK10__CFString+50>: xor %edx,%edx 0x92e4bb40 <_ZN10WindowData14SetTitleCommonEPK10__CFString+52>: mov %edx,%ecx 0x92e4bb42 <_ZN10WindowData14SetTitleCommonEPK10__CFString+54>: and $0x8000000,%eax 0x92e4bb47 <_ZN10WindowData14SetTitleCommonEPK10__CFString+59>: or %eax,%ecx 0x92e4bb49 <_ZN10WindowData14SetTitleCommonEPK10__CFString+61>: je 0x92e4bb5a <_ZN10WindowData14SetTitleCommonEPK10__CFString+78> 0x92e4bb4b <_ZN10WindowData14SetTitleCommonEPK10__CFString+63>: mov 0x68(%esi),%eax 0x92e4bb4e <_ZN10WindowData14SetTitleCommonEPK10__CFString+66>: test %eax,%eax 0x92e4bb50 <_ZN10WindowData14SetTitleCommonEPK10__CFString+68>: jne 0x92e4bb5a <_ZN10WindowData14SetTitleCommonEPK10__CFString+78> 0x92e4bb52 <_ZN10WindowData14SetTitleCommonEPK10__CFString+70>: mov %esi,(%esp) 0x92e4bb55 <_ZN10WindowData14SetTitleCommonEPK10__CFString+73>: call 0x92e73c88 <_Z29UpdateWindowTitleInWindowMenuP10WindowData> 0x92e4bb5a <_ZN10WindowData14SetTitleCommonEPK10__CFString+78>: test %edi,%edi 0x92e4bb5c <_ZN10WindowData14SetTitleCommonEPK10__CFString+80>: je 0x92e4bb66 <_ZN10WindowData14SetTitleCommonEPK10__CFString+90> 0x92e4bb5e <_ZN10WindowData14SetTitleCommonEPK10__CFString+82>: mov %edi,(%esp) // release old title 0x92e4bb61 <_ZN10WindowData14SetTitleCommonEPK10__CFString+85>: call 0xa0a51f4b 0x92e4bb66 <_ZN10WindowData14SetTitleCommonEPK10__CFString+90>: movl $0x3,0x8(%esp) 0x92e4bb6e <_ZN10WindowData14SetTitleCommonEPK10__CFString+98>: movl $0x3fc,0x4(%esp) 0x92e4bb76 <_ZN10WindowData14SetTitleCommonEPK10__CFString+106>: mov %esi,(%esp) 0x92e4bb79 <_ZN10WindowData14SetTitleCommonEPK10__CFString+109>: call 0x92e3cf9a 0x92e4bb7e <_ZN10WindowData14SetTitleCommonEPK10__CFString+114>: mov %esi,(%esp) 0x92e4bb81 <_ZN10WindowData14SetTitleCommonEPK10__CFString+117>: call 0x92df9bb4 <_ZN10WindowData21UpdateEventTargetNameEv> 0x92e4bb86 <_ZN10WindowData14SetTitleCommonEPK10__CFString+122>: testb $0x40,0x15a(%esi) 0x92e4bb8d <_ZN10WindowData14SetTitleCommonEPK10__CFString+129>: jne 0x92e4bbcc <_ZN10WindowData14SetTitleCommonEPK10__CFString+192> 0x92e4bb8f <_ZN10WindowData14SetTitleCommonEPK10__CFString+131>: movl $0x1,0x4(%esp) 0x92e4bb97 <_ZN10WindowData14SetTitleCommonEPK10__CFString+139>: mov %esi,(%esp) 0x92e4bb9a <_ZN10WindowData14SetTitleCommonEPK10__CFString+142>: call 0x92dfeab6 <_Z28StateChangedWindowDefinitionP10WindowDatam> 0x92e4bb9f <_ZN10WindowData14SetTitleCommonEPK10__CFString+147>: lea -0xc(%ebp),%eax 0x92e4bba2 <_ZN10WindowData14SetTitleCommonEPK10__CFString+150>: mov %eax,0x4(%esp) 0x92e4bba6 <_ZN10WindowData14SetTitleCommonEPK10__CFString+154>: mov 0x40(%esi),%eax 0x92e4bba9 <_ZN10WindowData14SetTitleCommonEPK10__CFString+157>: mov %eax,(%esp) 0x92e4bbac <_ZN10WindowData14SetTitleCommonEPK10__CFString+160>: call 0xa0a535b7 0x92e4bbb1 <_ZN10WindowData14SetTitleCommonEPK10__CFString+165>: mov %esi,(%esp) 0x92e4bbb4 <_ZN10WindowData14SetTitleCommonEPK10__CFString+168>: call 0x92e97480 <_Z25CalculateWindowTitleWidthP10WindowData> 0x92e4bbb9 <_ZN10WindowData14SetTitleCommonEPK10__CFString+173>: mov %esi,(%esp) 0x92e4bbbc <_ZN10WindowData14SetTitleCommonEPK10__CFString+176>: call 0x92f3ed3c <_Z31RedrawWindowAfterModifyingTitleP10WindowData> 0x92e4bbc1 <_ZN10WindowData14SetTitleCommonEPK10__CFString+181>: mov -0xc(%ebp),%eax 0x92e4bbc4 <_ZN10WindowData14SetTitleCommonEPK10__CFString+184>: mov %eax,(%esp) 0x92e4bbc7 <_ZN10WindowData14SetTitleCommonEPK10__CFString+187>: call 0xa0a5371f 0x92e4bbcc <_ZN10WindowData14SetTitleCommonEPK10__CFString+192>: add $0x20,%esp 0x92e4bbcf <_ZN10WindowData14SetTitleCommonEPK10__CFString+195>: pop %esi 0x92e4bbd0 <_ZN10WindowData14SetTitleCommonEPK10__CFString+196>: pop %edi 0x92e4bbd1 <_ZN10WindowData14SetTitleCommonEPK10__CFString+197>: leave 0x92e4bbd2 <_ZN10WindowData14SetTitleCommonEPK10__CFString+198>: ret 0x92e4bbd3 <_ZN10WindowData14SetTitleCommonEPK10__CFString+199>: nop 0x92e4bbd4 <_ZN10WindowData14SetTitleCommonEPK10__CFString+200>: nop 0x92e4bbd5 <_ZN10WindowData14SetTitleCommonEPK10__CFString+201>: nop 0x928d2bc4 : mflr r0 // save linkage 0x928d2bc8 : stmw r28,-16(r1) // stash r28, r29, r30, r31 0x928d2bcc : mr r30,r3 // save r3 (WindowData) 0x928d2bd0 : bcl- 20,4*cr7+so,0x928d2bd4 0x928d2bd4 : mflr r31 // get ip in r31 0x928d2bd8 : stw r0,8(r1) 0x928d2bdc : stwu r1,-80(r1) // make stack frame 0x928d2be0 : addis r28,r31,3533 0x928d2be4 : bl 0x928d2c50 <_Z15GetTitleForDockP10WindowData> 0x928d2be8 : lbz r0,-3364(r28) // haul initialization boolean into r0 0x928d2bec : mr r29,r3 // stash new title into r29 0x928d2bf0 : cmpwi cr7,r0,0 // was initialized? 0x928d2bf4 : bne- cr7,0x928d2c04 // if so, skip 0x928d2bf8 : bl 0x9287f864 <_Z24RegisterAsDockClientPrivv> // else initialize 0x928d2bfc : li r0,1 // and set flag 0x928d2c00 : stb r0,-3364(r28) // as being intialized 0x928d2c04 : mr r3,r30 0x928d2c08 : mr r4,r29 0x928d2c0c : bl 0x928d2c68 // call with (WindowData, new title) 0x928d2c10 : lwz r0,344(r30) // pull (WindowData + 344) 0x928d2c14 : andis. r2,r0,64 // and pull a flag bit out of it (minimized?) 0x928d2c18 : beq- 0x928d2c38 // if not minimized, skip this step 0x928d2c1c : addi r1,r1,80 0x928d2c20 : lwz r3,196(r30) // load WID 0x928d2c24 : mr r4,r29 // load new title 0x928d2c28 : lwz r0,8(r1) 0x928d2c2c : lmw r28,-16(r1) // tear down stack frame 0x928d2c30 : mtlr r0 0x928d2c34 : b 0x92b58ce4 0x928d2c38 : addi r1,r1,80 0x928d2c3c : li r3,0 0x928d2c40 : lwz r0,8(r1) 0x928d2c44 : lmw r28,-16(r1) 0x928d2c48 : mtlr r0 0x928d2c4c : blr 0x92e4bbd6 : push %ebp // make stack frame 0x92e4bbd7 : mov %esp,%ebp 0x92e4bbd9 : sub $0x28,%esp 0x92e4bbdc : mov %ebx,-0xc(%ebp) // save %ebx 0x92e4bbdf : call 0x92e4bbe4 0x92e4bbe4 : pop %ebx // IP > %ebx 0x92e4bbe5 : mov %esi,-0x8(%ebp) // save %esi 0x92e4bbe8 : mov 0x8(%ebp),%esi // WindowData > %esi 0x92e4bbeb : mov %edi,-0x4(%ebp) // save %edi 0x92e4bbee : mov %esi,%eax // %esi (WindowData) > %eax 0x92e4bbf0 : call 0x92e4bc40 <_Z15GetTitleForDockP10WindowData> 0x92e4bbf5 : cmpb $0x0,0xd51a36c(%ebx) // test initialization boolean 0x92e4bbfc : mov %eax,%edi // window title > %edi 0x92e4bbfe : jne 0x92e4bc0c // if initialized, skip 0x92e4bc00 : call 0x92df9fe0 <_Z24RegisterAsDockClientPrivv> // else initialize 0x92e4bc05 : movb $0x1,0xd51a36c(%ebx) // and set flag as being initialized 0x92e4bc0c : mov %edi,0x4(%esp) // new title (param 2) 0x92e4bc10 : mov %esi,(%esp) // WindowData (param 1) 0x92e4bc13 : call 0x92e4bc52 0x92e4bc18 : xor %eax,%eax // clear %eax (noErr?) 0x92e4bc1a : testb $0x2,0x159(%esi) // test flag (WindowData + 0x159) (minimized?) 0x92e4bc21 : je 0x92e4bc35 // if not minimized, skip this step 0x92e4bc23 : mov %edi,0x4(%esp) // new title (param 2) 0x92e4bc27 : mov 0xc4(%esi),%eax // (WindowData + 0xC4) WID 0x92e4bc2d : mov %eax,(%esp) // (param 1) 0x92e4bc30 : call 0xa0a52ad1 0x92e4bc35 : mov -0xc(%ebp),%ebx 0x92e4bc38 : mov -0x8(%ebp),%esi 0x92e4bc3b : mov -0x4(%ebp),%edi 0x92e4bc3e : leave 0x92e4bc3f : ret 0x92e4bc40 <_Z15GetTitleForDockP10WindowData+0>: push %ebp // make stack frame 0x92e4bc41 <_Z15GetTitleForDockP10WindowData+1>: mov %eax,%edx // WindowData > %edx 0x92e4bc43 <_Z15GetTitleForDockP10WindowData+3>: mov 0x68(%eax),%eax // (WindowData + 0x68) > %eax 0x92e4bc46 <_Z15GetTitleForDockP10WindowData+6>: mov %esp,%ebp // make stack frame 0x92e4bc48 <_Z15GetTitleForDockP10WindowData+8>: test %eax,%eax // (WindowData + 0x68 == 0?) 0x92e4bc4a <_Z15GetTitleForDockP10WindowData+10>: jne 0x92e4bc4f <_Z15GetTitleForDockP10WindowData+15> // return it if so 0x92e4bc4c <_Z15GetTitleForDockP10WindowData+12>: mov 0x60(%edx),%eax // else use (WindowData + 0x60) 0x92e4bc4f <_Z15GetTitleForDockP10WindowData+15>: leave 0x92e4bc50 <_Z15GetTitleForDockP10WindowData+16>: ret 0x92e4bc51 <_Z15GetTitleForDockP10WindowData+17>: nop SyncPlatformWindowTitle: 0x928d2c68 <+0000> mflr r0 // save linkage 0x928d2c6c <+0004> stmw r29,-12(r1) // stash r29, r30, r31 0x928d2c70 <+0008> mr. r30,r3 // save r3 (WindowData) 0x928d2c74 <+0012> mr r29,r4 // save r4 (new title) 0x928d2c78 <+0016> stw r0,8(r1) 0x928d2c7c <+0020> stwu r1,-80(r1) // make stack frame 0x928d2c80 <+0024> beq- 0x928d2ca4 // was WindowData nil? 0x928d2c84 <+0028> bl 0x92b5a164 0x928d2c88 <+0032> addi r1,r1,80 // tear down frame 0x928d2c8c <+0036> lwz r4,196(r30) // get CGS WID (WindowData + 196) 0x928d2c90 <+0040> mr r5,r29 // put new title in third param 0x928d2c94 <+0044> lwz r0,8(r1) 0x928d2c98 <+0048> lmw r29,-12(r1) 0x928d2c9c <+0052> mtlr r0 0x928d2ca0 <+0056> b 0x92b57ca4 (cid, wid, CFString) 0x928d2ca4 <+0060> addi r1,r1,80 0x928d2ca8 <+0064> lwz r0,8(r1) 0x928d2cac <+0068> lmw r29,-12(r1) 0x928d2cb0 <+0072> mtlr r0 0x928d2cb4 <+0076> blr 0x92e4bc52 : push %ebp 0x92e4bc53 : mov %esp,%ebp 0x92e4bc55 : push %esi 0x92e4bc56 : sub $0x14,%esp 0x92e4bc59 : mov 0x8(%ebp),%eax 0x92e4bc5c : test %eax,%eax 0x92e4bc5e : je 0x92e4bc7e 0x92e4bc60 : mov 0xc4(%eax),%esi 0x92e4bc66 : call 0xa0a52e37 0x92e4bc6b : mov 0xc(%ebp),%edx 0x92e4bc6e : mov %esi,0x4(%esp) 0x92e4bc72 : mov %edx,0x8(%esp) 0x92e4bc76 : mov %eax,(%esp) 0x92e4bc79 : call 0xa0a5281a 0x92e4bc7e : add $0x14,%esp 0x92e4bc81 : pop %esi 0x92e4bc82 : leave 0x92e4bc83 : ret 0x929b1eec : mflr r0 0x929b1ef0 : stmw r29,-12(r1) 0x929b1ef4 : mr r30,r3 0x929b1ef8 : bcl- 20,4*cr7+so,0x929b1efc 0x929b1efc : mflr r31 0x929b1f00 : stw r0,8(r1) 0x929b1f04 : stwu r1,-80(r1) 0x929b1f08 : addis r29,r31,3519 0x929b1f0c : lbz r0,-76(r29) 0x929b1f10 : cmpwi cr7,r0,0 0x929b1f14 : bne- cr7,0x929b1f24 0x929b1f18 : bl 0x9287f864 <_Z24RegisterAsDockClientPrivv> 0x929b1f1c : li r0,1 0x929b1f20 : stb r0,-76(r29) 0x929b1f24 : li r4,0 0x929b1f28 : mr r3,r30 0x929b1f2c : bl 0x928d3104 0x929b1f30 : lwz r29,196(r30) 0x929b1f34 : mr r3,r30 0x929b1f38 : bl 0x928d2c50 <_Z15GetTitleForDockP10WindowData> 0x929b1f3c : mr r4,r3 0x929b1f40 : mr r3,r29 0x929b1f44 : bl 0x92b58b84 0x929b1f48 : mr. r29,r3 0x929b1f4c : beq- 0x929b1f5c 0x929b1f50 : mr r3,r30 0x929b1f54 : li r4,1 0x929b1f58 : bl 0x928d3104 0x929b1f5c : addi r1,r1,80 0x929b1f60 : mr r3,r29 0x929b1f64 : lwz r0,8(r1) 0x929b1f68 : lmw r29,-12(r1) 0x929b1f6c : mtlr r0 0x929b1f70 : blr 0x92f27554 : push %ebp 0x92f27555 : mov %esp,%ebp 0x92f27557 : sub $0x28,%esp 0x92f2755a : mov %ebx,-0xc(%ebp) 0x92f2755d : call 0x92f27562 0x92f27562 : pop %ebx 0x92f27563 : mov %edi,-0x4(%ebp) 0x92f27566 : mov 0x8(%ebp),%edi 0x92f27569 : mov %esi,-0x8(%ebp) 0x92f2756c : cmpb $0x0,0xd43e9ee(%ebx) 0x92f27573 : jne 0x92f27581 0x92f27575 : call 0x92df9fe0 <_Z24RegisterAsDockClientPrivv> 0x92f2757a : movb $0x1,0xd43e9ee(%ebx) 0x92f27581 : movl $0x0,0x4(%esp) 0x92f27589 : mov %edi,(%esp) 0x92f2758c : call 0x92e4c07a 0x92f27591 : mov %edi,%eax 0x92f27593 : call 0x92e4bc40 <_Z15GetTitleForDockP10WindowData> 0x92f27598 : mov %eax,0x4(%esp) 0x92f2759c : mov 0xc4(%edi),%eax 0x92f275a2 : mov %eax,(%esp) 0x92f275a5 : call 0xa0a52a95 0x92f275aa : test %eax,%eax 0x92f275ac : mov %eax,%esi 0x92f275ae : je 0x92f275c0 0x92f275b0 : movl $0x1,0x4(%esp) 0x92f275b8 : mov %edi,(%esp) 0x92f275bb : call 0x92e4c07a 0x92f275c0 : mov %esi,%eax 0x92f275c2 : mov -0xc(%ebp),%ebx 0x92f275c5 : mov -0x8(%ebp),%esi 0x92f275c8 : mov -0x4(%ebp),%edi 0x92f275cb : leave 0x92f275cc : ret 0x92f275cd : nop HIServices.framework: 0x95ea33cc : mflr r0 0x95ea33d0 : stmw r28,-16(r1) 0x95ea33d4 : mr r28,r3 0x95ea33d8 : mr r29,r4 0x95ea33dc : stw r0,8(r1) 0x95ea33e0 : stwu r1,-96(r1) 0x95ea33e4 : addi r3,r1,64 0x95ea33e8 : bl 0x95e7fe9c 0x95ea33ec : mr. r30,r3 0x95ea33f0 : bne+ 0x95ea3438 0x95ea33f4 : mr r3,r29 0x95ea33f8 : addi r4,r1,56 0x95ea33fc : addi r5,r1,60 0x95ea3400 : bl 0x95e93480 0x95ea3404 : cmpwi cr7,r3,0 0x95ea3408 : beq- cr7,0x95ea3414 0x95ea340c : li r30,-50 0x95ea3410 : b 0x95ea3438 0x95ea3414 : lwz r3,64(r1) 0x95ea3418 : mr r5,r28 0x95ea341c : li r4,1000 0x95ea3420 : lwz r6,56(r1) 0x95ea3424 : lwz r7,60(r1) 0x95ea3428 : bl 0x95ec3df4 <_DSSetItemTitle> 0x95ea342c : cmpwi cr7,r3,0 0x95ea3430 : beq+ cr7,0x95ea3438 0x95ea3434 : li r30,-4956 0x95ea3438 : addi r1,r1,96 0x95ea343c : mr r3,r30 0x95ea3440 : lwz r0,8(r1) 0x95ea3444 : lmw r28,-16(r1) 0x95ea3448 : mtlr r0 0x95ea344c : blr 0x95b63070 : push %ebp 0x95b63071 : mov %esp,%ebp 0x95b63073 : push %esi 0x95b63074 : sub $0x34,%esp 0x95b63077 : lea -0x14(%ebp),%eax 0x95b6307a : call 0x95b40e81 0x95b6307f : test %eax,%eax 0x95b63081 : mov %eax,%esi 0x95b63083 : jne 0x95b630db 0x95b63085 : lea -0x10(%ebp),%eax 0x95b63088 : mov %eax,0x8(%esp) 0x95b6308c : lea -0xc(%ebp),%eax 0x95b6308f : mov %eax,0x4(%esp) 0x95b63093 : mov 0xc(%ebp),%eax 0x95b63096 : mov %eax,(%esp) 0x95b63099 : call 0x95b53da5 0x95b6309e : test %eax,%eax 0x95b630a0 : je 0x95b630a9 0x95b630a2 : mov $0xffffffce,%esi 0x95b630a7 : jmp 0x95b630db 0x95b630a9 : mov -0x10(%ebp),%eax 0x95b630ac : movl $0x3e8,0x4(%esp) 0x95b630b4 : mov %eax,0x10(%esp) 0x95b630b8 : mov -0xc(%ebp),%eax 0x95b630bb : mov %eax,0xc(%esp) 0x95b630bf : mov 0x8(%ebp),%eax 0x95b630c2 : mov %eax,0x8(%esp) 0x95b630c6 : mov -0x14(%ebp),%eax 0x95b630c9 : mov %eax,(%esp) 0x95b630cc : call 0x95b836a1 <_DSSetItemTitle> 0x95b630d1 : test %eax,%eax 0x95b630d3 : mov $0xffffeca4,%eax 0x95b630d8 : cmovne %eax,%esi 0x95b630db : mov %esi,%eax 0x95b630dd : add $0x34,%esp 0x95b630e0 : pop %esi 0x95b630e1 : leave 0x95b630e2 : ret