2019-04-07 14:34:38 +02:00
|
|
|
[BotwFenceV208]
|
|
|
|
moduleMatches = 0x6267BFD0
|
|
|
|
|
|
|
|
# Code Cave
|
2019-04-07 16:52:06 +02:00
|
|
|
#codeCaveSize = 0x50
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
# Fence Method Value
|
2019-04-07 16:52:06 +02:00
|
|
|
#_fenceMethod = 0x0000000
|
|
|
|
#0x0000000 = .int $fenceMethod
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
# Performance Fence method
|
|
|
|
|
2019-04-07 16:52:06 +02:00
|
|
|
#_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
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
# Accuracy and Skip Fence methods
|
|
|
|
|
2019-04-07 16:52:06 +02:00
|
|
|
#_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
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
[BotwFenceV176V192]
|
|
|
|
moduleMatches = 0xFD091F9F, 0xD472D8A5
|
|
|
|
|
|
|
|
# Code Cave
|
2019-04-07 16:52:06 +02:00
|
|
|
#codeCaveSize = 0x50
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
# Fence Method Value
|
2019-04-07 16:52:06 +02:00
|
|
|
#_fenceMethod = 0x0000000
|
|
|
|
#0x0000000 = .int $fenceMethod
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
# Performance Fence method
|
|
|
|
|
2019-04-07 16:52:06 +02:00
|
|
|
#_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
|
2019-04-07 14:34:38 +02:00
|
|
|
|
|
|
|
# Accuracy and Skip Fence methods
|
|
|
|
|
2019-04-07 16:52:06 +02:00
|
|
|
#_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
|