Function at 0x40cc6b
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb9c
mov eax, dword [0x4c3a60]
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.0040335a
pop ecx
pop ecx
cmp dword [esp + 0x10], ebx
jne 0x40ccbe
xor eax, eax
jmp 0x40d315
lea eax, [esp + 0x10]
push eax
mov edi, str.AppPusher
push edi
push esi
mov dword [esp + 0x1c], ebx
call fcn.0040c9ce
add esp, 0xc
cmp dword [esp + 0x10], ebx
je 0x40ccb7
lea eax, [esp + 0x20]
push eax
push str.count
push edi
push esi
mov dword [esp + 0x30], ebx
call fcn.0040c8a0
add esp, 0x10
cmp dword [esp + 0x20], 1
mov esi, 0x4b3140
jae 0x40cd1f
push 0xffffffffffffffff
push ebx
sub esp, 0x1c
mov ecx, esp
push esi
call fcn.004018f6
push 0x713
call fcn.004446a8
mov ecx, eax
call fcn.00444c20
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
cmp dword [esp + 0x20], eax
jb 0x40d2f1
jmp 0x40cd39
mov esi, 0x4b3140
xor ebx, ebx
push ebx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x124], 7
call fcn.00401d5a
lea ecx, [esp + 0x124]
call fcn.004018e1
lea ecx, [esp + 0x140]
call fcn.004018e1
lea ecx, [esp + 0x15c]
call fcn.004018e1
lea ecx, [esp + 0x178]
call fcn.004018e1
push 1
push 3
lea ecx, [esp + 0x50]
call fcn.00407bbf
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xec], 7
call fcn.00401d5a
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.0040b394
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push 0x4b3264
push eax
call fcn.00409c5b
add esp, 0xc
push eax
call fcn.00407a9e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409dad
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40ce0e
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x10c]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c65d
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.0040b394
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Name
push eax
call fcn.00409c5b
add esp, 0xc
push eax
call fcn.00407a9e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409dad
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40ce8f
lea eax, [esp + 0xd4]
push 0x800
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3a4]
push ebx
push eax
call fcn.00476cc0
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.00401aaf
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.0040b394
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push 0x4b3ce0
push eax
call fcn.00409c5b
add esp, 0xc
push eax
call fcn.00407a9e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409dad
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cf42
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x144]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c65d
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.0040b394
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Weight
push eax
call fcn.00409c5b
add esp, 0xc
push eax
call fcn.00407a9e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409dad
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cfc2
lea eax, [esp + 0xd4]
lea ecx, [esp + 0x194]
push ecx
push eax
push edi
push dword [esp + 0x28]
call fcn.0040c8a0
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.0040b394
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Param
push eax
call fcn.00409c5b
add esp, 0xc
push eax
call fcn.00407a9e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409dad
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40d041
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c65d
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.0040b394
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Version
push eax
call fcn.00409c5b
add esp, 0xc
push eax
call fcn.00407a9e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409dad
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40d0c1
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c65d
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.0040b394
push esi
lea ecx, [esp + 0xf0]
mov dword [esp + 0x108], 7
call fcn.00401d5a
lea eax, [esp + 0xec]
push eax
call fcn.00402fcd
mov dword [esp], 0x208
lea eax, [esp + 0x19c]
push esi
push eax
call fcn.00476cc0
mov eax, dword [esp + 0xfc]
add esp, 0xc
push 8
pop ebx
cmp dword [esp + 0x104], ebx
jae 0x40d150
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.0040335a
pop ecx
pop ecx
cmp dword [esp + 0x10], esi
je 0x40d29b
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], ebx
jae 0x40d19d
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x10]
push ecx
push eax
lea eax, [esp + 0x1a0]
push eax
call fcn.0040c9ce
add esp, 0xc
cmp dword [esp + 0x10], esi
je 0x40d29b
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], ebx
jae 0x40d1d4
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.0040c8bd
mov eax, dword [esp + 0x124]
add esp, 0x18
cmp dword [esp + 0x120], ebx
jae 0x40d208
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.0040c8bd
mov eax, dword [esp + 0x124]
add esp, 0x18
cmp dword [esp + 0x120], ebx
jae 0x40d23c
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.0040c8bd
mov eax, dword [esp + 0x40]
add esp, 0x18
or eax, dword [esp + 0x2c]
jne 0x40d274
cmp dword [esp + 0x3c], esi
ja 0x40d2ac
jb 0x40d29b
cmp dword [esp + 0x38], 2
jae 0x40d2ac
jmp 0x40d29b
cmp dword [esp + 0x28], 1
jne 0x40d2ac
cmp dword [esp + 0x2c], esi
jne 0x40d2ac
call fcn.00414859
sub eax, dword [esp + 0x40]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x14], edx
jne 0x40d29b
cmp eax, 0x278d00
jbe 0x40d2ac
lea eax, [esp + 0x108]
push eax
mov eax, dword [esp + 0x28]
call fcn.0040e094
push esi
push 1
lea ecx, [esp + 0xf4]
call fcn.00401ad3
push esi
push 1
lea ecx, [esp + 0xd8]
call fcn.00401ad3
lea ecx, [esp + 0x48]
call fcn.00405341
lea esi, [esp + 0x108]
call fcn.0040d32c
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x20]
jbe 0x40cd32
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 0x40d311
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.00476d3a
mov esp, ebp
pop ebp
ret 8