Function at 0x6a3c90
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x754fa3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov eax, dword [ebp + 8]
cmp eax, 0xd
push ebx
push esi
push edi
mov esi, ecx
ja case.default.0x6a4039
jmp dword [eax*4 + 0x6a467c]
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x912e94]
push eax
call fcn.004668b0
xor ebx, ebx
cmp eax, ebx
je 0x6a3ceb
lea ecx, [eax - 0x18]
cmp ecx, ebx
je 0x6a3ceb
mov edx, dword [ecx]
call dword [edx + 0x28]
mov edi, eax
jmp 0x6a3ced
xor edi, edi
mov eax, dword [0x912e94]
mov cx, word [edi + 0x80]
mov ax, word [eax + 0x1ac]
cmp cx, ax
jne 0x6a3d13
mov cx, word [edi + 0x82]
mov word [esp + 0xc], cx
jmp 0x6a3d24
cmp word [edi + 0x82], ax
jne case.default.0x6a4039
mov dword [esp + 0xc], ecx
add esi, 0x10
push str.Battles
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
mov dx, word [edi + 0x9c]
cmp dx, word [esp + 0xc]
je 0x6a3d59
push str.BattlesWon
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
cmp dword [edi + 0x60], ebx
je 0x6a3db8
push str.BattlesClose
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
mov eax, dword [0x912e94]
mov ax, word [eax + 0x1ac]
cmp word [edi + 0x80], ax
mov ecx, dword [edi + 0xa4]
je 0x6a3d8d
neg ecx
mov dx, word [edi + 0x9c]
cmp dx, ax
jne 0x6a3da2
cmp ecx, ebx
jl 0x6a3da6
cmp dx, ax
je 0x6a3db8
cmp ecx, ebx
jle 0x6a3db8
push str.BattlesTurned
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
cmp dword [edi + 0x40], 2
jne 0x6a3de6
mov cx, word [edi + 0x80]
mov edx, dword [0x912e94]
cmp cx, word [edx + 0x1ac]
jne 0x6a3de6
push str.BattlesPlunder
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
mov eax, dword [edi + 0x40]
cmp eax, 1
je 0x6a3dfc
cmp eax, 4
je 0x6a3dfc
cmp eax, 5
jne case.default.0x6a4039
mov eax, dword [0x912e94]
mov ax, word [eax + 0x1ac]
cmp word [edi + 0x80], ax
jne 0x6a3e2c
cmp word [edi + 0x9c], ax
jne 0x6a3e2c
push str.BattlesConquest
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
mov cx, word [edi + 0x82]
mov edx, dword [0x912e94]
cmp cx, word [edx + 0x1ac]
jne case.default.0x6a4039
mov ax, word [esp + 0xc]
cmp word [edi + 0x9c], ax
jne case.default.0x6a4039
push str.BattlesCitiesLost
mov ecx, esi
jmp 0x6a465c
mov edi, dword [ebp + 0xc]
test edi, edi
lea ecx, [esi + 0x10]
jl 0x6a3e96
push str.GoldEarned
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.GoldSpent
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebp + 0xc]
test edi, edi
lea ecx, [esi + 0x10]
jl 0x6a3ef0
push str.PietyEarned
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.PietySpent
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebp + 0xc]
test edi, edi
lea ecx, [esi + 0x10]
jl 0x6a3f4a
push str.BooksEarned
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.BooksSpent
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
sub eax, 1
jne case.default.0x6a4039
push str.SpySuccInfiltrated
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx + 4]
mov eax, dword [0x912e94]
cmp dx, word [eax + 0x1ac]
jne case.default.0x6a4039
add esi, 0x10
push str.DiplProps
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
mov ebx, 0
adc dword [eax + 4], ebx
cmp dword [ebp + 0x10], ebx
je case.default.0x6a4039
push str.DiplPropsAccepted
mov ecx, esi
jmp 0x6a465c
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx + 2]
mov eax, dword [0x912e94]
cmp dx, word [eax + 0x1ac]
jne case.default.0x6a4039
mov eax, dword [ebp + 0x10]
xor ebx, ebx
sub eax, ebx
je 0x6a4023
sub eax, 1
jne case.default.0x6a4039
push str.DiplPropsRcvdAccepted
jmp 0x6a4659
push str.DiplPropsRcvd
jmp 0x6a4659
mov eax, dword [ebp + 0xc]
cmp eax, 8
ja case.default.0x6a4039
jmp dword [eax*4 + 0x6a46b4]
push str.DiplWars
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.DiplPeaces
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
lea ecx, [esi + 0x10]
je 0x6a40a4
push str.DiplTrades
jmp 0x6a465c
push str.DiplBreakTrades
jmp 0x6a465c
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
lea ecx, [esi + 0x10]
je 0x6a40c2
push str.DiplPacts
jmp 0x6a465c
push str.DiplBreakPacts
jmp 0x6a465c
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
lea ecx, [esi + 0x10]
je 0x6a40e0
push str.DiplVassalsGot
jmp 0x6a465c
push str.DiplVassalsLost
jmp 0x6a465c
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
lea ecx, [esi + 0x10]
je 0x6a40fe
push str.DiplBecameVassal
jmp 0x6a465c
push str.DiplCeasedVassal
jmp 0x6a465c
mov edi, dword [ebp + 0x10]
test edi, edi
lea ecx, [esi + 0x10]
jle 0x6a413a
push str.DiplVassalInc
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.DiplVassalExp
call fcn.006a24f0
mov ecx, eax
mov eax, edi
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.DiplMarriages
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.DiplDishonorAlliance
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
xor ebx, ebx
sub eax, ebx
je 0x6a41ce
sub eax, 1
jne case.default.0x6a4039
push str.HapRebels
jmp 0x6a4659
push str.HapDisorders
jmp 0x6a4659
mov eax, dword [ebp + 0x10]
cmp eax, 6
ja case.default.0x6a4039
jmp dword [eax*4 + 0x6a46d8]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + 0x14]
push ecx
lea ecx, [esp + 0x24]
call fcn.00413ef0
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
xor ebx, ebx
push str.Nobles
lea ecx, [esp + 0x20]
mov dword [esp + 0x6c], ebx
call fcn.00413870
mov edx, dword [esp + 0xc]
push edx
push eax
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x70], 1
call fcn.00413970
add esp, 0xc
mov eax, dword [eax]
add esi, 0x10
push eax
mov ecx, esi
mov byte [esp + 0x68], 2
call fcn.006a24f0
add dword [eax], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 1
adc dword [eax + 4], ebx
call fcn.00412de0
lea ecx, [esp + 0x18]
mov byte [esp + 0x64], bl
call fcn.00412de0
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], 0xffffffff
call fcn.00412de0
cmp dword [edi + 0x74], ebx
je case.default.0x6a4039
push str.SpiedSuccInfiltrated
mov ecx, esi
jmp 0x6a465c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x14]
push edx
lea ecx, [esp + 0x3c]
call fcn.00413ef0
mov edi, eax
push 0xffffffffffffffff
mov ebx, 3
push str.NoblesLost
lea ecx, [esp + 0x38]
mov dword [esp + 0x6c], ebx
call fcn.00413870
push edi
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x70], 4
call fcn.00413970
add esp, 0xc
mov eax, dword [eax]
push eax
lea ecx, [esi + 0x10]
mov byte [esp + 0x68], 5
call fcn.006a24f0
add dword [eax], 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 4
adc dword [eax + 4], 0
call fcn.00412de0
lea ecx, [esp + 0x30]
mov byte [esp + 0x64], bl
call fcn.00412de0
lea ecx, [esp + 0x38]
mov dword [esp + 0x64], 0xffffffff
call fcn.00412de0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.NoblesKingsDied
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.NoblesPrincesDied
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
add esi, 0x10
push str.NoblesFamilyHired
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
mov ecx, dword [ebp + 0xc]
mov ebx, 0
adc dword [eax + 4], ebx
mov edx, dword [ecx + 0x14]
push edx
lea ecx, [esp + 0x54]
call fcn.00413ef0
mov edi, eax
push 0xffffffffffffffff
push str.Nobles
lea ecx, [esp + 0x50]
mov dword [esp + 0x6c], 6
call fcn.00413870
push edi
push eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x70], 7
call fcn.00413970
add esp, 0xc
mov eax, dword [eax]
push eax
mov ecx, esi
mov byte [esp + 0x68], 8
call fcn.006a24f0
add dword [eax], 1
lea ecx, [esp + 0x40]
mov byte [esp + 0x64], 7
adc dword [eax + 4], ebx
call fcn.00412de0
lea ecx, [esp + 0x48]
mov byte [esp + 0x64], 6
call fcn.00412de0
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 0xffffffff
call fcn.00412de0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x912e94]
mov ax, word [ecx + 0x1ac]
mov ecx, dword [ebp + 0xc]
cmp word [ecx + 0x1c], ax
jne 0x6a4458
push str.SpyInfiltrated
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp word [ecx + 0x6e], ax
jne case.default.0x6a4039
push str.SpiedInfiltrated
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x912e94]
mov ax, word [edx + 0x1ac]
mov edi, dword [ebp + 0xc]
cmp word [edi + 0x1c], ax
jne 0x6a44d5
add esi, 0x10
push str.DiplImprisoned
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
mov ebx, 0
mov ecx, edi
adc dword [eax + 4], ebx
call fcn.0062b9e0
test eax, eax
je case.default.0x6a4039
push str.SpiedImprison
mov ecx, esi
jmp 0x6a465c
cmp word [edi + 0xac], ax
jne case.default.0x6a4039
add esi, 0x10
push str.DiplImprison
mov ecx, esi
call fcn.006a24f0
add dword [eax], 1
mov ebx, 0
mov ecx, edi
adc dword [eax + 4], ebx
call fcn.0062b9e0
test eax, eax
je case.default.0x6a4039
push str.SpyImprison
mov ecx, esi
jmp 0x6a465c
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
lea ecx, [esi + 0x10]
je 0x6a452b
push str.QuestsSucceeded
jmp 0x6a465c
push str.Quests
jmp 0x6a465c
push 0x18
call fcn.0040fa60
add esp, 4
mov dword [esp + 0xc], eax
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x64], 9
je 0x6a455c
push 1
mov ecx, eax
call fcn.006a3740
jmp 0x6a455e
xor eax, eax
mov cx, word [ebp + 0xc]
mov dx, word [ebp + 0x10]
mov word [eax + 0xc], cx
lea ecx, [esi + 0x24]
mov dword [eax + 8], 0xb
mov word [eax + 0xe], dx
mov edx, dword [ecx]
push eax
mov dword [esp + 0x68], 0xffffffff
call dword [edx + 8]
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
cmp eax, 3
ja case.default.0x6a4039
jmp dword [eax*4 + 0x6a46f4]
push str.RelRealmsConverted
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.RelKingdomReligionChanged
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.RelPopes
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.RelCrusades
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
jne case.default.0x6a4039
push str.EconBuildingsFinished
lea ecx, [esi + 0x10]
call fcn.006a24f0
add dword [eax], 1
adc dword [eax + 4], ebx
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc