Code: Select all
ACOdyssey.exe+24537BD - 48 8B 8F 00010000 - mov rcx,[rdi+00000100]
ACOdyssey.exe+24537C4 - 48 85 C9 - test rcx,rcx
ACOdyssey.exe+24537C7 - 74 0E - je ACOdyssey.exe+24537D7
ACOdyssey.exe+24537C9 - FF 87 F0000000 - inc [rdi+000000F0] // increase quest kill counter
ACOdyssey.exe+24537CF - 48 8B D3 - mov rdx,rbx
ACOdyssey.exe+24537D2 - 48 8B 01 - mov rax,[rcx]
ACOdyssey.exe+24537D5 - FF 10 - call qword ptr [rax] <-- leaps to ACOdyssey.exe+2AB50A0
ACOdyssey.exe+24537D7 - 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACOdyssey.exe+24537DC - 48 8B 74 24 38 - mov rsi,[rsp+38]
ACOdyssey.exe+24537E1 - 48 83 C4 20 - add rsp,20 { 32 }
ACOdyssey.exe+24537E5 - 5F - pop rdi
ACOdyssey.exe+24537E6 - C3 - ret
ACOdyssey.exe+2AB50A0 - 48 89 5C 24 08 - mov [rsp+08],rbx
ACOdyssey.exe+2AB50A5 - 57 - push rdi
ACOdyssey.exe+2AB50A6 - 48 83 EC 20 - sub rsp,20 { 32 }
ACOdyssey.exe+2AB50AA - 48 8B 81 C0000000 - mov rax,[rcx+000000C0] // rax <- GameObjectDeathHandler
IStruct: 0x92D2DE780
IName: 0x144FAD670
ObjStr: GameObjectDeathHandler
ObjHash: 0xA94BC647
ACOdyssey.exe+2AB50B1 - 48 8D 99 68FEFFFF - lea rbx,[rcx-00000198] // rbx <-- QuestKillObjectiveData
IStruct: 0x92D2DDF20
IName: 0x145105FD0
ObjStr: QuestKillObjectiveData
ObjHash: 0xE1420C3D
ACOdyssey.exe+2AB50B8 - 8B 89 B4010000 - mov ecx,[rcx+000001B4]
ACOdyssey.exe+2AB50BE - 48 8B FA - mov rdi,rdx
ACOdyssey.exe+2AB50C1 - 44 8B 93 58030000 - mov r10d,[rbx+00000358]
ACOdyssey.exe+2AB50C8 - 44 8B 8B 3C030000 - mov r9d,[rbx+0000033C] // max to achieve in the challenge
ACOdyssey.exe+2AB50CF - 44 8B 80 F4000000 - mov r8d,[rax+000000F4] // ?
ACOdyssey.exe+2AB50D6 - 44 03 80 F0000000 - add r8d,[rax+000000F0] // current counter
ACOdyssey.exe+2AB50DD - 41 C1 EA 11 - shr r10d,11 { 17 }
ACOdyssey.exe+2AB50E1 - 44 03 C1 - add r8d,ecx
ACOdyssey.exe+2AB50E4 - 83 BB C0020000 00 - cmp dword ptr [rbx+000002C0],00 { 0 }
ACOdyssey.exe+2AB50EB - 46 8D 1C 11 - lea r11d,[rcx+r10]
ACOdyssey.exe+2AB50EF - 75 10 - jne ACOdyssey.exe+2AB5101
ACOdyssey.exe+2AB50F1 - 33 C0 - xor eax,eax
ACOdyssey.exe+2AB50F3 - 45 85 C9 - test r9d,r9d
ACOdyssey.exe+2AB50F6 - 44 0F44 C8 - cmove r9d,eax
ACOdyssey.exe+2AB50FA - 45 3B D1 - cmp r10d,r9d
ACOdyssey.exe+2AB50FD - 45 0F46 CA - cmovbe r9d,r10d
ACOdyssey.exe+2AB5101 - 8B 8B 38030000 - mov ecx,[rbx+00000338] // 2
ACOdyssey.exe+2AB5107 - 85 C9 - test ecx,ecx
ACOdyssey.exe+2AB5109 - 74 17 - je ACOdyssey.exe+2AB5122
ACOdyssey.exe+2AB510B - 83 E9 01 - sub ecx,01 { 1 }
ACOdyssey.exe+2AB510E - 74 0A - je ACOdyssey.exe+2AB511A
ACOdyssey.exe+2AB5110 - 83 F9 01 - cmp ecx,01 { 1 }
ACOdyssey.exe+2AB5113 - 75 19 - jne ACOdyssey.exe+2AB512E
ACOdyssey.exe+2AB5115 - 45 3B C1 - cmp r8d,r9d // check if current == max
ACOdyssey.exe+2AB5118 - EB 0B - jmp ACOdyssey.exe+2AB5125
ACOdyssey.exe+2AB511A - 45 85 C0 - test r8d,r8d
ACOdyssey.exe+2AB511D - 0F95 C0 - setne al
ACOdyssey.exe+2AB5120 - EB 06 - jmp ACOdyssey.exe+2AB5128
ACOdyssey.exe+2AB5122 - 45 3B C3 - cmp r8d,r11d
ACOdyssey.exe+2AB5125 - 0F93 C0 - setae al // set flag (if above or equal; current >= max?) -- (al==0 if not equal; al==1 if equal)
ACOdyssey.exe+2AB5128 - 88 83 99030000 - mov [rbx+00000399],al // flag
ACOdyssey.exe+2AB512E - 48 8B CB - mov rcx,rbx // QuestKillObjectiveData
ACOdyssey.exe+2AB5131 - E8 7AD8F4FE - call ACOdyssey.exe+1A029B0 // set state? [1] continue down
ACOdyssey.exe+2AB5136 - 48 8B D7 - mov rdx,rdi
ACOdyssey.exe+2AB5139 - 48 8B CB - mov rcx,rbx
ACOdyssey.exe+2AB513C - 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACOdyssey.exe+2AB5141 - 48 83 C4 20 - add rsp,20 { 32 }
ACOdyssey.exe+2AB5145 - 5F - pop rdi
ACOdyssey.exe+2AB5146 - E9 E57F0100 - jmp ACOdyssey.exe+2ACD130 [4] continue down
[1]
ACOdyssey.exe+1A029B0 - 48 89 5C 24 08 - mov [rsp+08],rbx
ACOdyssey.exe+1A029B5 - 57 - push rdi
ACOdyssey.exe+1A029B6 - 48 83 EC 20 - sub rsp,20 { 32 }
ACOdyssey.exe+1A029BA - 48 8B 01 - mov rax,[rcx]
ACOdyssey.exe+1A029BD - 48 8B F9 - mov rdi,rcx
ACOdyssey.exe+1A029C0 - FF 90 C0000000 - call qword ptr [rax+000000C0] [2] continue down
ACOdyssey.exe+1A029C6 - 48 8B 17 - mov rdx,[rdi]
ACOdyssey.exe+1A029C9 - 48 8B CF - mov rcx,rdi
ACOdyssey.exe+1A029CC - 8B D8 - mov ebx,eax
ACOdyssey.exe+1A029CE - FF 92 B8000000 - call qword ptr [rdx+000000B8] [3] continue down
ACOdyssey.exe+1A029D4 - 48 8D 8F 98000000 - lea rcx,[rdi+00000098]
ACOdyssey.exe+1A029DB - 44 8B C3 - mov r8d,ebx
ACOdyssey.exe+1A029DE - 8B D0 - mov edx,eax
ACOdyssey.exe+1A029E0 - 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACOdyssey.exe+1A029E5 - 48 83 C4 20 - add rsp,20 { 32 }
ACOdyssey.exe+1A029E9 - 5F - pop rdi
ACOdyssey.exe+1A029EA - E9 F122D9FF - jmp ACOdyssey.exe+1794CE0
[2]
ACOdyssey.exe+2AA9310 - 8B 81 38030000 - mov eax,[rcx+00000338]
ACOdyssey.exe+2AA9316 - 85 C0 - test eax,eax
ACOdyssey.exe+2AA9318 - 75 10 - jne ACOdyssey.exe+2AA932A
ACOdyssey.exe+2AA931A - 8B 81 58030000 - mov eax,[rcx+00000358]
ACOdyssey.exe+2AA9320 - C1 E8 11 - shr eax,11 { 17 }
ACOdyssey.exe+2AA9323 - 03 81 4C030000 - add eax,[rcx+0000034C]
ACOdyssey.exe+2AA9329 - C3 - ret
ACOdyssey.exe+2AA932A - 83 F8 02 - cmp eax,02 { 2 }
ACOdyssey.exe+2AA932D - 75 25 - jne ACOdyssey.exe+2AA9354
ACOdyssey.exe+2AA932F - 83 B9 C0020000 00 - cmp dword ptr [rcx+000002C0],00 { 0 }
ACOdyssey.exe+2AA9336 - 8B 81 3C030000 - mov eax,[rcx+0000033C]
ACOdyssey.exe+2AA933C - 75 1B - jne ACOdyssey.exe+2AA9359
ACOdyssey.exe+2AA933E - 8B 89 58030000 - mov ecx,[rcx+00000358]
ACOdyssey.exe+2AA9344 - 33 D2 - xor edx,edx
ACOdyssey.exe+2AA9346 - 85 C0 - test eax,eax
ACOdyssey.exe+2AA9348 - 0F44 C2 - cmove eax,edx
ACOdyssey.exe+2AA934B - C1 E9 11 - shr ecx,11 { 17 }
ACOdyssey.exe+2AA934E - 3B C8 - cmp ecx,eax
ACOdyssey.exe+2AA9350 - 0F46 C1 - cmovbe eax,ecx
ACOdyssey.exe+2AA9353 - C3 - ret
ACOdyssey.exe+2AA9354 - B8 01000000 - mov eax,00000001 { 1 }
ACOdyssey.exe+2AA9359 - C3 - ret
[3]
ACOdyssey.exe+2AA5EF0 - 83 B9 C0020000 01 - cmp dword ptr [rcx+000002C0],01 { 1 }
ACOdyssey.exe+2AA5EF7 - 48 8B D1 - mov rdx,rcx
ACOdyssey.exe+2AA5EFA - 48 8B 89 58020000 - mov rcx,[rcx+00000258]
ACOdyssey.exe+2AA5F01 - 8B 81 F4000000 - mov eax,[rcx+000000F4]
ACOdyssey.exe+2AA5F07 - 75 07 - jne ACOdyssey.exe+2AA5F10
ACOdyssey.exe+2AA5F09 - 03 81 F0000000 - add eax,[rcx+000000F0]
ACOdyssey.exe+2AA5F0F - C3 - ret
ACOdyssey.exe+2AA5F10 - 03 81 F0000000 - add eax,[rcx+000000F0]
ACOdyssey.exe+2AA5F16 - 03 82 4C030000 - add eax,[rdx+0000034C]
ACOdyssey.exe+2AA5F1C - C3 - ret
[4]
ACOdyssey.exe+2ACD130 - 48 89 5C 24 08 - mov [rsp+08],rbx
ACOdyssey.exe+2ACD135 - 57 - push rdi
ACOdyssey.exe+2ACD136 - 48 83 EC 20 - sub rsp,20 { 32 }
ACOdyssey.exe+2ACD13A - 80 B9 99030000 00 - cmp byte ptr [rcx+00000399],00 { 0 }
ACOdyssey.exe+2ACD141 - 48 8B FA - mov rdi,rdx
ACOdyssey.exe+2ACD144 - 48 8B D9 - mov rbx,rcx
ACOdyssey.exe+2ACD147 - 74 34 - je ACOdyssey.exe+2ACD17D
ACOdyssey.exe+2ACD149 - 48 8D 05 B8DD8602 - lea rax,[ACOdyssey.exe+533AF08] { [00000000] }
ACOdyssey.exe+2ACD150 - 48 39 81 68030000 - cmp [rcx+00000368],rax
ACOdyssey.exe+2ACD157 - 75 24 - jne ACOdyssey.exe+2ACD17D
ACOdyssey.exe+2ACD159 - 48 8B 0A - mov rcx,[rdx]
ACOdyssey.exe+2ACD15C - 48 3B C8 - cmp rcx,rax
ACOdyssey.exe+2ACD15F - 74 10 - je ACOdyssey.exe+2ACD171
ACOdyssey.exe+2ACD161 - 48 B8 0000000001000000 - mov rax,0000000100000000 { [00000000] }
ACOdyssey.exe+2ACD16B - F0 48 0FC1 41 08 - lock xadd [rcx+08],rax
ACOdyssey.exe+2ACD171 - 48 87 8B 68030000 - xchg [rbx+00000368],rcx
ACOdyssey.exe+2ACD178 - E8 536FEAFD - call ACOdyssey.exe+9740D0
ACOdyssey.exe+2ACD17D - 48 8B D7 - mov rdx,rdi
ACOdyssey.exe+2ACD180 - 48 8B CB - mov rcx,rbx
ACOdyssey.exe+2ACD183 - E8 78FEFFFF - call ACOdyssey.exe+2ACD000
ACOdyssey.exe+2ACD188 - 48 8B 8B 80000000 - mov rcx,[rbx+00000080]
ACOdyssey.exe+2ACD18F - E8 CC65ACFE - call ACOdyssey.exe+1593760
ACOdyssey.exe+2ACD194 - 48 8D 8B 60020000 - lea rcx,[rbx+00000260]
ACOdyssey.exe+2ACD19B - 45 33 C9 - xor r9d,r9d
ACOdyssey.exe+2ACD19E - 48 8B D7 - mov rdx,rdi
ACOdyssey.exe+2ACD1A1 - 4C 8D 80 602F0000 - lea r8,[rax+00002F60]
ACOdyssey.exe+2ACD1A8 - 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACOdyssey.exe+2ACD1AD - 48 83 C4 20 - add rsp,20 { 32 }
ACOdyssey.exe+2ACD1B1 - 5F - pop rdi
ACOdyssey.exe+2ACD1B2 - E9 E9BA79FF - jmp ACOdyssey.exe+2268CA0