<?xml version="1.0" encoding="utf-8" ?>
<!-- DON'T ENABLE THIS FILE!!!!!!!!!!!!!!! -->
<!-- DON'T ENABLE THIS FILE!!!!!!!!!!!!!!! -->
<!-- DON'T ENABLE THIS FILE!!!!!!!!!!!!!!! -->
<EternityPatchFile name="Jungle" enabled="false" comment="experiments">	
	
	<!--<Patch name="jun20" type="write" search_start="0x1AF27F" >
		<Instruction code="48 81 C2 A8 05 00 00 41  83 C9 FF" />
		<Instruction code="41 B8 E5 00 00" />
		
		<Write inst_index="1" value="XX XX F0" />
	</Patch>-->
	
	<!--<Patch name="jun19" type="write" search_start="0x63FE40" >
		<Instruction code="81 FA A0 00 00 00" comment="cmp edx, 0A0h" />
		<Instruction code="72 03" />
		<Instruction code="33 C0" />
		<Instruction code="C3" />
		<Instruction code="41 83 F8 20" />
		<Instruction code="73 F7" />
		
		<Write value="81 FA 00 0A" />
	</Patch>-->
	
	<!--<Patch name="limit_check" type="log" search_start="0x63FE40" >
		<Instruction code="81 FA A0 00 00 00" comment="cmp edx, 0A0h" />
		<Instruction code="72 03" />
		<Instruction code="33 C0" />
		<Instruction code="C3" />
		<Instruction code="41 83 F8 20" />
		<Instruction code="73 F7" />
		
		<Log function="limit_check" when="before" ra="true" value="obj,chara_or_slot_idx,costume" types="ptr,u32,u32" select="011" extra="?,h,h" />
	</Patch>-->
	
	<!--Patch name="create_save_peek" type="log" search_start="0x120150" >
		<Instruction code="48 8B C4 55 41 54 41 55  41 56 41 57 48 8D A8 F8 F4 FF FF 48 81 EC E0 0B  00 00 48 C7 44 24 60 FE FF FF FF" />
		
		<Log function="create_save" when="before" ra="true" value="obj,unk2,unk3,unk4" types="u64:0:0x38,u64,u64,u64" select="1000" extra="h,?,?,?" />
	</Patch>-->	
	
	<!--<Patch name="bac_bcm_test" type="write" search_start="0x2C9C01" >
		<Instruction code="FF 50 28" />
		<Instruction code="48 8B C8" />
		<Instruction code="44 8B 43 10" />
		<Instruction code="48 8B 53 18" />
		<Instruction code="E8 XXXXXXXX" />
		<Instruction code="84 C0" />
		<Instruction code="0F 84 45 03 00 00" />
		
		<Write inst_index="3" value="48C7C001000000  9090" comment="mov rax, 1; nop; nop" />
	</Patch>-->
	
	<!--<Patch name="ohzaruu_test" type="write" search_start="0xB70588" >
		<Instruction code="4F 42 42 00 4F 53 47 00 4F 53 4E 00 33 33 B3 3F" />
		
		<Write value="42 39 35" />
	</Patch>-->
	
	
	
	<!--<Patch name="jun18" type="log" search_start="0x50AA74" >
		<Instruction code="48 89 4C 24 08 53 48 83 EC 30 48 C7 44 24 20 FE FF FF FF 48 8B D9 E8 XXXXXXXX 90 48 8D 05 XXXXXXXX 48 89 03 C6 83 60 01 00 00 01" />
		<Instruction code="C7 83 64 01 00 00 00 00  00 00 48 8D 8B 68 01 00 00 BA 01 00 00 00 E8 XXXXXXXX 90 48 8B 0D XXXXXXXX E8 XXXXXXXX 90 48 8D 05 XXXXXXXX" />
		<Instruction code="48 89 03 48 C7 83 90 01  00 00 00 00 00 00 33 D2" />
		
		<Log function="iggy_base_ctor" when="before" ra="true" value="a,b,size" types="u64,u64,u64"  select="001" extra="?,?,h" />
	</Patch>-->
	
	
	<!--<Patch name="jun17" type="log" search_start="0x291AC0" >
		<Instruction code="4057" />
		<Instruction code="48 83 EC 30" />
		<Instruction code="48 C7 44 24 20 FE FF FF FF" />
		<Instruction code="48 89 5C 24 40" />
		<Instruction code="48 89 74 24 48" />
		<Instruction code="48 63 DA" />
		
		<Log function="psc_func2" when="after" value="buf,num_specs" types="ptr,u64" select="11" extra="?,h" />
	</Patch>-->
	
	<!-- Crash better located here -->
	<!--<Patch name="jun16" type="log" search_start="0x292FD0" >
		<Instruction code="48 89 5C 24 10" />
		<Instruction code="48 89 6C 24 18" />
		<Instruction code="56 57 4156" />
		<Instruction code="48 83 EC 20" />
		<Instruction code="48 8B 41 08" />
		<Instruction code="45 33 F6" />
		
		<Log function="psc_func1" when="after" value="obj" types="ptr" select="0" extra="?" />
	</Patch>-->

	<!-- Ok, the crash happens somewhere in this function or its subfunctions -->
	<!--<Patch name="jun15" type="log" search_start="0x292C10" >	
		<Instruction code="4154 4155 4156" />
		<Instruction code="48 83 EC 70" />
		<Instruction code="4C 8B F1" />
		<Instruction code="BA 01 00 00 00" />
		<Instruction code="48 8B 09" />
		<Instruction code="E8 XXXXXXXX" />
		
		<Log function="mmm" when="before" value="unk" types="u64" select="0" extra="?" />
	</Patch>-->
	
	
	<!--<Patch name="jun14" type="write" search_start="0x293049" >
		<Instruction code="B8 10 00 00 00" />
		<Instruction code="48 F7 E3" />
		<Instruction code="48 0F 40 C1" />
		<Instruction code="45 33 C9" />
		<Instruction code="48 8B C8" />
		<Instruction code="33 D2" />
		<Instruction code="FF 15 XXXXXXXX" />
		
		<Write inst_index="0" inst_offset="1" value="00 01" />
	</Patch>-->
	
	<!--<Patch name="jun13" type="log" search_start="0x293049" >
		<Instruction code="B8 10 00 00 00" />
		<Instruction code="48 F7 E3" />
		<Instruction code="48 0F 40 C1" />
		<Instruction code="45 33 C9" />
		<Instruction code="48 8B C8" />
		<Instruction code="33 D2" />
		<Instruction code="FF 15 XXXXXXXX" />
		
		<Log inst_index="6" function="mmm" when="before" value="size" types="u64" select="1" extra="h" />
	</Patch>-->
	
	<!--<Patch name="jun9" type="log" search_start="0x2CFF70" >	
		<Instruction code="40 55 56 57 41 54 41 55 41 56 41 57" />
		<Instruction code="48 8D AC 24 00 FE FF FF" />
		<Instruction code="48 81 EC 00 03 00 00" />
		<Instruction code="48 C7 45 20 FE FF FF FF" />
		
		<Log function="mmm" when="after" value="file,unk2,size" types="cstr,ptr,u32" select="111" extra="?,h,h" />		
	</Patch>-->
	
	<!--<Patch name="jun11" type="hook" search_start="0x2CB5E0" >
		<Instruction code="48 89 5C 24 18" />
		<Instruction code="48 89 54 24 10" />
		<Instruction code="55 56 57 4154 4155 4156 4157" />
		<Instruction code="48 83 EC 20" />
		<Instruction code="4C 8B 29" />
		<Instruction code="49 8B F0" />
		<Instruction code="49 8B 5D 08" />
		<Instruction code="49 8D 45 08" />
		<Instruction code="4C 8B E2" />
		
		<Hook value="mmm2" setup="mmm2_setup"  />
	</Patch>-->
	
	<!--<Patch name="jun12" type="log" search_start="0x2CB654" >
		<Instruction code="E8 XXXXXXXX" />
		<Instruction code="85 C0" />
		<Instruction code="74 51" />
		<Instruction code="79 54" />
		<Instruction code="48 8B 5B 10" />
		<Instruction code="80 7B 19 00" />
		
		<Log hook_type="call" function="mmm3" when="before" value="dst,src,size" types="cstr,cstr,u64" select="111" extra="?,?,h" />
	</Patch>-->
	
	<!--<Patch name="jun10" type="write" search_start="0x2D0075" >
		<Instruction code="E8 XX XX XX XX" />
		<Instruction code="48 8B 5C 24 48" />
		<Instruction code="48 3B 5C 24 50" />
		<Instruction code="0F 84 D2 04 00 00" />
		
		<Write inst_index="3" value="90 90 90 90 90 90" />
	</Patch>-->
	
	<!--<Patch name="jun8" type="write" search_start="0x2C9F5A" >
		<Instruction code="E9 XX XX XX XX" />
		<Instruction code="45 33 C9" />
		<Instruction code="4C 8D 05 XX XX XX XX" />
		<Instruction code="48 8D 15 XX XX XX XX" />
		<Instruction code="33 C9" />
		<Instruction code="FF 15 XX XX XX XX" />
		<Instruction code="B9 01 00 00 00" />
		
		<Write inst_index="3" value="48 31 D2  90 90 90 90" />
	</Patch>-->
	
	
	<!--<Patch name="unlock_log" type="log" search_start="0x4D8B00" >
		<Instruction code="48 8B C4" />
		<Instruction code="55 4154 4155 4156 4157" />
		<Instruction code="48 8B EC" />
		<Instruction code="48 83 EC 60" />
		<Instruction code="48 C7 45 D0 FE FF FF FF" />
		<Instruction code="48 89 58 08" />
		<Instruction code="48 89 70 18" />
		
		<Log function="unlock_check" when="before" value="this,id,costume" types="ptr,u32,u32" select="011" extra="?,h,h" />
	
	</Patch>-->
	
	
	<!--<Patch name="unlock_test" type="write" search_start="0x4DA1AC" >
		<Instruction code="E8 XX XX XX XX" />
		<Instruction code="44 8B C0" />
		<Instruction code="8D 53 71" />
		
		<Write value="41 B8 01 00 00 00    9090" comment="mov r8d, 1; nop; nop;" />
	</Patch>-->
	
	
	<!--<Patch name="jun5" type="log" search_start="0x4D7976" >
		<Instruction code="41 B8 66 0D 00 00" />
		<Instruction code="E8 XX XX XX XX" />		
		
		<Log inst_index="1" hook_type="call" function="mmm" when="after" ra="true" value="unk1,unk2,unk3,unk4" types="u64,u64,u64,u64" select="1111" extra="h,h,h,h" />
	</Patch>
	
	<Patch name="jun6" type="write" search_start="0x4D7976" >
		<Instruction code="41 B8 66 0D 00 00" />
		<Instruction code="E8 XX XX XX XX" />		
		
		<Write value=" XX XX 44 0D 00 00" />
	</Patch>
	
	<Patch name="jun7" type="write" search_start="0x4D7AB9" >
		<Instruction code="44 8D 42 43" />
		<Instruction code="E8 XX XX XX XX" />	
		<Instruction code="90" />
		<Instruction code="48 8D 8F E8 0F 00 00" />
		
		<Write value="XX XX XX 42" />	
	</Patch>-->
	
	<Patch name="jun1" type="log" search_start="0x671B4" enabled="false" >
		<Instruction code="48 89 5C 24 08" />
		<Instruction code="48 89 6C 24 10" />
		<Instruction code="48 89 74 24 18" />
		<Instruction code="57" />
		<Instruction code="48 83 EC 40" />
		
		<Log function="CpkGetFileInfo" when="before" ra="true" value="cpk_object,file,ret_info,ret_bool" types="ptr,cstr,ptr,u32:0" select="0100" extra="0x30,?,0x40,d" />
	</Patch>
	
	<!--<Patch name="jun2" type="write" search_start="0x67231" >
		<Instruction code="48 83 23 00" />
		
		<Write value="90 90 90 90" />
	</Patch>-->
	
	<!--<Patch name="jun3" type="log" search_start="0x6BFBC" >
		<Instruction code="48 89 5C 24 08" />
		<Instruction code="57" />
		<Instruction code="48 83 EC 30" />
				
		<Log function="maybe_read" when="after" ra="true" value="unk1,unk2,path,offset,size,buf,size_too" types="ptr,ptr,cstr,u32,u64,ptr,u64" select="0011111" extra="?,?,?,h,h,?,h" />
	</Patch>-->
	
	<!--<Patch name="jun4" type="log" search_start="0x6A23C" >
		<Instruction code="48 8B C4" />
		<Instruction code="48 89 58 08" />
		<Instruction code="48 89 70 10" />
				
		<Log function="cpk_do_open_file" when="before" ra="true" value="unk1,path,unk3,unk4,unk5,unk6,unk7" types="ptr,cstr,ptr,ptr,ptr,ptr,ptr" select="0100000" extra="?,?,?,h,h,?,h" />
	</Patch>-->
	
	<!--<Patch name="igg1" type="log" enabled="false" module="iggy_w64.dll" search_start="0x5E6A0" >
		<Instruction code="48 83 EC 38" />
		<Instruction code="8B 44 24 60" />
		<Instruction code="89 44 24 28" />
		
		<Log function="iggy_log_func" when="before" value="unk1,unk2,unk3,source_file,line" types="u64,u64,u64,cstr,u64" select="11111" extra="ha,ha,ha,?,d" />
	</Patch>
	
	<Patch name="igg2" type="log" enabled="false" module="iggy_w64.dll" search_start="0x58B9E" >
		<Instruction code="E8 XX XX XX XX" />
		<Instruction code="EB 1F" />
		<Instruction code="48 8B 84 24 98 00 00 00" />
		
		<Log function="iggy_memmove_section" hook_type="call" when="before" value="dst,src,size" types="ptr,ptr,u64" select="011" extra="?,?,h" />
	</Patch>-->
	
	<!--<Patch name="LogEncryption2" type="log" search_start="0x1013C0" enabled="log_encryption" >
		<Instruction code="48 89 5C 24 20" comment="mov [rsp+020h], rbx" />
		<Instruction code="48 89 54 24 10" comment="mov [rsp+010h], rdx" />
		<Instruction code="55" comment="push rbp" />
		<Instruction code="56" comment="push rsi" />
		<Instruction code="57" comment="push rdi" />
		<Instruction code="41 54" comment="push r12" />
		<Instruction code="41 55" comment="push r13" />
		<Instruction code="41 56" comment="push r14" />
		<Instruction code="41 57" comment="push r15" />
		<Instruction code="8B 02" comment="mov eax, [rdx]" />
		<Instruction code="48 8D 1D XX XX XX XX" comment="lea rbx, XXXXXXXX" />
		<Instruction code="31 41 30" comment="xor [rcx+30h], eax" />
				
		<Log function="aes_decrypt2" ra="true" when="before" value="unk1,unk2" types="ptr,ptr" select="11" extra="32:32,32:32" />
	</Patch>-->
	
	<!--<Patch name="LogEncryption3" type="log" search_start="0x69FE60" enabled="log_encryption" >
		<Instruction code="48 89 5C 24 08" comment="mov [rsp+020h], rbx" />
		<Instruction code="48 89 6C 24 10" comment="mov [rsp+010h], rdx" />
		<Instruction code="48 89 74 24 18" comment="push rbp" />
		<Instruction code="57" comment="push rdi" />
		<Instruction code="41 54" comment="push r12" />
		<Instruction code="41 55" comment="push r13" />
		<Instruction code="41 56" comment="push r14" />
		<Instruction code="41 57" comment="push r15" />
		
				
		<Log function="aes_decrypt2" ra="true" when="before" value="unk1,unk2,unk3,unk4" types="u64,u64,u64,u64" select="1111" extra="h,h,h,h" />
	</Patch> -->
	
	<!--<Patch name="igg3" type="log" module="iggy_w64.dll" search_start="0x232F0" >
		<Instruction code="48 89 5C 24 18" />
		<Instruction code="57" />
		
		<Log function="iggy_as3name" ra="true" when="after" value="unk1,unk2,name" types="ptr,ptr,cstr" select="111" extra="0x80,0x80,?" />	
	</Patch>-->
	
	<!--<Patch name="igg4" type="log" search_start="0xCF8B2" >
		<Instruction code="C2 00 00" />
		<Instruction code="CC CC CC CC CC CC CC CC CC CC CC CC CC" />
		<Instruction code="48 83 EC 28" />
		
		<Log function="iggy_trace" ra="true" when="after" value="unk1,unk2,unk3,unk4" types="u64,u64,u64,u64" select="1111" extra="?,?,?,?" />	
	</Patch>-->
	
	<!-- Deleted release patches -->
	
	<!--<Patch name="NotifyLFFunc1" type="notify" search_start="0x73288" >
		<Instruction code="48 8B C4" comment="mov rax, rsp"/>
		<Instruction code="48 89 58 08" comment="mov [rax+8], rbx" />
		<Instruction code="48 89 68 10" comment="mov [rax+10h], rbp" />
		<Instruction code="48 89 70 18" comment="mov [rax+18h], rsi" />
		<Instruction code="48 89 78 20" comment="mov [rax+20h], rdi" />
		<Instruction code="41 56" comment="push r14" />
		<Instruction code="48 83 EC 20" comment="sub rsp, 20h" />
		<Instruction code="33 DB" comment="xor ebx, ebx" />
		<Instruction code="49 8B F9" comment="mov rdi, r9" />
		<Instruction code="49 8B E8" comment="mov rbp, r8" />
		<Instruction code="48 8B F2" comment="mov  rsi, rdx" />
		
		<Notify value="NotifyLFFunc1" />
	</Patch>
	
	<Patch name="NotifyLFFunc2" type="notify" search_start="0x6A738" >
		<Instruction code="48 8B C4" comment="mov rax, rsp" />
		<Instruction code="48 89 58 08" comment="mov [rax+8], rbx" />
		<Instruction code="48 89 70 20" comment="mov [rax+20h], rsi" />
		<Instruction code="57 " comment="push rdi" />
		<Instruction code="48 83 EC 20" comment="sub rsp, 20h" />
		<Instruction code="48 83 60 10 00" comment="and qword ptr [rax+10h], 0" />
		<Instruction code="48 8B F9" comment="mov rdi, rcx" />
		<Instruction code="48 8D 48 10" comment="lea  rcx, [rax+10h]" />
		<Instruction code="48 83 CE FF" comment="or rsi, 0FFFFFFFFFFFFFFFFh" />
		<Instruction code="48 8B DA" comment="mov rbx, rdx" />
		<Instruction code="48 89 32" comment="mov [rdx], rsi" />
		
		<Notify value="NotifyLFFunc2" />
	</Patch>-->

</EternityPatchFile>
