Function at 0x40cae4
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb9c
mov eax, dword [0x4c3a10]
xor eax, esp
mov dword [esp + 0xb98], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
push esi
xor ebx, ebx
mov dword [esp + 0x30], eax
mov dword [eax], ebx
push edi
lea eax, [esp + 0x10]
mov esi, ecx
push eax
push esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], ebx
call fcn.004032e3
pop ecx
pop ecx
cmp dword [esp + 0x10], ebx
jne 0x40cb37
xor eax, eax
jmp 0x40d18e
lea eax, [esp + 0x10]
push eax
mov edi, str.AppPusher
push edi
push esi
mov dword [esp + 0x1c], ebx
call fcn.0040c67c
add esp, 0xc
cmp dword [esp + 0x10], ebx
je 0x40cb30
lea eax, [esp + 0x20]
push eax
push str.count
push edi
push esi
mov dword [esp + 0x30], ebx
call fcn.0040c54e
add esp, 0x10
cmp dword [esp + 0x20], 1
mov esi, 0x4b31c8
jae 0x40cb98
push 0xffffffffffffffff
push ebx
sub esp, 0x1c
mov ecx, esp
push esi
call fcn.00401900
push 0x713
call fcn.0044481d
mov ecx, eax
call fcn.0044546b
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
cmp dword [esp + 0x20], eax
jb 0x40d16a
jmp 0x40cbb2
mov esi, 0x4b31c8
xor ebx, ebx
push ebx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x124], 7
call fcn.00401ce9
lea ecx, [esp + 0x124]
call fcn.004018eb
lea ecx, [esp + 0x140]
call fcn.004018eb
lea ecx, [esp + 0x15c]
call fcn.004018eb
lea ecx, [esp + 0x178]
call fcn.004018eb
push 1
push 3
lea ecx, [esp + 0x50]
call fcn.00407abb
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xec], 7
call fcn.00401ce9
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x48]
mov eax, dword [ecx + 0x28]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.0040b272
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push 0x4b32ec
push eax
call fcn.00409b19
add esp, 0xc
push eax
call fcn.0040799a
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c6b
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cc87
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x10c]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c30b
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
xor ebx, ebx
add eax, 4
push ebx
push eax
call fcn.0040b272
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Name
push eax
call fcn.00409b19
add esp, 0xc
push eax
call fcn.0040799a
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c6b
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cd08
lea eax, [esp + 0xd4]
push 0x800
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3a4]
push ebx
push eax
call fcn.004766d0
add esp, 0xc
push dword [esp + 0x1c]
lea eax, [esp + 0x3a4]
push 0x3ff
push eax
push esi
push dword [esp + 0x20]
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x3a0]
push eax
lea ecx, [esp + 0x128]
call fcn.00401a3e
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x48]
mov eax, dword [ecx + 0x28]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.0040b272
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push 0x4b3d58
push eax
call fcn.00409b19
add esp, 0xc
push eax
call fcn.0040799a
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c6b
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cdbb
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x144]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c30b
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.0040b272
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Weight
push eax
call fcn.00409b19
add esp, 0xc
push eax
call fcn.0040799a
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c6b
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40ce3b
lea eax, [esp + 0xd4]
lea ecx, [esp + 0x194]
push ecx
push eax
push edi
push dword [esp + 0x28]
call fcn.0040c54e
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x58]
mov eax, dword [ecx + 0x28]
add esp, 0x10
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.0040b272
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Param
push eax
call fcn.00409b19
add esp, 0xc
push eax
call fcn.0040799a
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c6b
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40ceba
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c30b
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.0040b272
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Version
push eax
call fcn.00409b19
add esp, 0xc
push eax
call fcn.0040799a
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c6b
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cf3a
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c30b
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
xor esi, esi
add eax, 4
push esi
push eax
call fcn.0040b272
push esi
lea ecx, [esp + 0xf0]
mov dword [esp + 0x108], 7
call fcn.00401ce9
lea eax, [esp + 0xec]
push eax
call fcn.00402f56
mov dword [esp], 0x208
lea eax, [esp + 0x19c]
push esi
push eax
call fcn.004766d0
mov eax, dword [esp + 0xfc]
add esp, 0xc
push 8
pop ebx
cmp dword [esp + 0x104], ebx
jae 0x40cfc9
lea eax, [esp + 0xf0]
push str.ProfilesNewFeatureRecommendation.ini
push eax
lea eax, [esp + 0x1a0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x19c]
push eax
mov dword [esp + 0x18], esi
call fcn.004032e3
pop ecx
pop ecx
cmp dword [esp + 0x10], esi
je 0x40d114
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], ebx
jae 0x40d016
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x10]
push ecx
push eax
lea eax, [esp + 0x1a0]
push eax
call fcn.0040c67c
add esp, 0xc
cmp dword [esp + 0x10], esi
je 0x40d114
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], ebx
jae 0x40d04d
lea eax, [esp + 0x10c]
push esi
push esi
lea ecx, [esp + 0x30]
push ecx
push str.IsUsing
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.0040c56b
mov eax, dword [esp + 0x124]
add esp, 0x18
cmp dword [esp + 0x120], ebx
jae 0x40d081
lea eax, [esp + 0x10c]
push esi
push esi
lea ecx, [esp + 0x40]
push ecx
push str.ShowTime
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.0040c56b
mov eax, dword [esp + 0x124]
add esp, 0x18
cmp dword [esp + 0x120], ebx
jae 0x40d0b5
lea eax, [esp + 0x10c]
push esi
push esi
lea ecx, [esp + 0x48]
push ecx
push str.LatestTime
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.0040c56b
mov eax, dword [esp + 0x40]
add esp, 0x18
or eax, dword [esp + 0x2c]
jne 0x40d0ed
cmp dword [esp + 0x3c], esi
ja 0x40d125
jb 0x40d114
cmp dword [esp + 0x38], 2
jae 0x40d125
jmp 0x40d114
cmp dword [esp + 0x28], 1
jne 0x40d125
cmp dword [esp + 0x2c], esi
jne 0x40d125
call fcn.0040c845
sub eax, dword [esp + 0x40]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x14], edx
jne 0x40d114
cmp eax, 0x278d00
jbe 0x40d125
lea eax, [esp + 0x108]
push eax
mov eax, dword [esp + 0x28]
call fcn.0040db29
push esi
push 1
lea ecx, [esp + 0xf4]
call fcn.00401a62
push esi
push 1
lea ecx, [esp + 0xd8]
call fcn.00401a62
lea ecx, [esp + 0x48]
call fcn.0040523d
lea esi, [esp + 0x108]
call fcn.0040d1a5
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x20]
jbe 0x40cbab
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 0xc]
mov ecx, 0x90
cdq
idiv ecx
test eax, eax
jbe 0x40d18a
mov eax, dword [esp + 0x34]
mov dword [eax], 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xba4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047674a
mov esp, ebp
pop ebp
ret 8