[BotwFenceV208] moduleMatches = 0x6267BFD0 # Code Cave #codeCaveSize = 0x50 # Fence Method Value #_fenceMethod = 0x0000000 #0x0000000 = .int $fenceMethod # Performance Fence method #_conditionalPerformanceFence = 0x0000004 #0x0000004 = lis r11, _fenceMethod@ha #0x0000008 = lwz r11, _fenceMethod@l(r11) #0x000000C = cmpwi r11, 1 #0x0000010 = beq .+0x0C #0x0000014 = li r0, 1 #0x0000018 = blr #0x000001C = lwz r0, 0x388(r31) #0x0000020 = blr # Accuracy and Skip Fence methods #_conditionalAccuracyAndSkipFence = 0x0000024 #0x0000024 = lis r5, _fenceMethod@ha #0x0000028 = lwz r11, _fenceMethod@l(r5) #0x000002C = cmpwi r11, 2 #0x0000030 = li r5, 6 #0x0000034 = add r6, r12, r0 #0x0000038 = bne .+0x10 #0x000003C = cmpwi r6, 500 #0x0000040 = blt .+0x08 #0x0000044 = subi r6, r6, 1 #0x0000048 = cmpwi r11, 3 #0x000004C = blr #0x31FAAE8 = bla _conditionalPerformanceFence #0x31FAAF8 = bla _conditionalAccuracyAndSkipFence #0x31FAAFC = beq .+0x08 0x031FAAE8 = li r0, 1 [BotwFenceV176V192] moduleMatches = 0xFD091F9F, 0xD472D8A5 # Code Cave #codeCaveSize = 0x50 # Fence Method Value #_fenceMethod = 0x0000000 #0x0000000 = .int $fenceMethod # Performance Fence method #_conditionalPerformanceFence = 0x0000004 #0x0000004 = lis r11, _fenceMethod@ha #0x0000008 = lwz r11, _fenceMethod@l(r11) #0x000000C = cmpwi r11, 1 #0x0000010 = beq .+0x0C #0x0000014 = li r0, 1 #0x0000018 = blr #0x000001C = lwz r0, 0x388(r31) #0x0000020 = blr # Accuracy and Skip Fence methods #_conditionalAccuracyAndSkipFence = 0x0000024 #0x0000024 = lis r5, _fenceMethod@ha #0x0000028 = lwz r11, _fenceMethod@l(r5) #0x000002C = cmpwi r11, 2 #0x0000030 = li r5, 6 #0x0000034 = add r6, r12, r0 #0x0000038 = bne .+0x10 #0x000003C = cmpwi r6, 500 #0x0000040 = blt .+0x08 #0x0000044 = subi r6, r6, 1 #0x0000048 = cmpwi r11, 3 #0x000004C = blr #0x31F9FEC = bla _conditionalPerformanceFence #0x31F9FFC = bla _conditionalAccuracyAndSkipFence #0x31FA000 = beq .+0x08 0x031F9FEC = li r0, 1