Function at 0x46c7ab
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f68db
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x54b0c4]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push esi
push edi
mov eax, dword [0x54b0c4]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 4]
xor ebx, ebx
cmp eax, ebx
je 0x46cc30
cmp dword [esi + 8], ebx
je 0x46cc30
push eax
lea eax, [esi + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004c05cf
add esp, 0xc
push 0x6e
lea eax, [esp + 0x3a]
push ebx
mov dword [esp + 0xc0], ebx
push eax
mov word [esp + 0x40], bx
call sub.MSVCR80.dll_memset
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
add esp, 0xc
push dword [esp + 0x20]
lea edx, [esp + 0x38]
push 0x37
push edx
push 0x5031a8
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebx
mov word [esp + 0xa6], bx
call dword [sym.imp.MSVCR80.dll__time64]
mov edi, dword [sym.imp.MSVCR80.dll__wtoi]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x28]
pop ecx
mov ecx, dword [eax - 0xc]
cmp ecx, ebx
je 0x46c9ad
push eax
call edi
pop ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], vtable.KTime.0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0xbc], 1
call edi
cdq
pop ecx
push edx
push eax
lea eax, [esp + 0x2c]
call fcn.00497d91
push dword [esp + 0x30]
push dword [esp + 0x30]
push ebx
call dword [sym.imp.MSVCR80.dll__time64]
pop ecx
push edx
push eax
call fcn.0042404d
add esp, 0x10
cmp eax, dword [esp + 0x18]
jge 0x46c9a6
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:less_than_min_day_count
push eax
call fcn.00402d46
cmp dword [0x550bdc], ebx
je 0x46c995
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x18]
push eax
call fcn.00402d09
mov byte [esp + 0xb8], 2
cmp dword [esi + 8], ebx
jne 0x46c90c
or dword [esp + 0x18], 0xffffffff
jmp 0x46c917
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
lea edi, [esp + 0x1c]
call fcn.004c0aa3
push str.less_than_mini_value_in_days_count__return_false
mov byte [esp + 0xbc], 3
mov ecx, dword [eax]
mov eax, 0x509228
push eax
push ecx
push 0x5091f0
push eax
lea eax, [esp + 0x2c]
push eax
push str._pushtype
push ecx
call fcn.004022f5
add esp, 4
call fcn.0040233d
call fcn.00423894
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
mov esi, eax
call fcn.00402366
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004012f9
jmp 0x46cc3e
mov byte [esp + 0xb8], bl
mov eax, dword [esi + 0x2c]
cmp dword [eax - 0xc], ebx
je 0x46cadb
push eax
call edi
pop ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], vtable.KTime.0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0xbc], 4
call edi
cdq
pop ecx
push edx
push eax
lea eax, [esp + 0x2c]
call fcn.00497d91
push dword [esp + 0x30]
push dword [esp + 0x30]
push ebx
call dword [sym.imp.MSVCR80.dll__time64]
pop ecx
push edx
push eax
call fcn.0042404d
add esp, 0x10
cmp eax, dword [esp + 0x1c]
jle 0x46cad4
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:more_than_max_day_count
push eax
call fcn.00402d46
cmp dword [0x550bdc], ebx
je 0x46c995
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x1c]
push eax
call fcn.00402d09
mov byte [esp + 0xb8], 5
cmp dword [esi + 8], ebx
jne 0x46ca4e
or dword [esp + 0x14], 0xffffffff
jmp 0x46ca59
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
lea edi, [esp + 0x1c]
call fcn.004c0aa3
mov byte [esp + 0xb8], 6
push str.big_than_max_value_in_days_count__return_false
mov ecx, dword [eax]
mov eax, 0x509228
push eax
push ecx
push 0x5091f0
push eax
lea eax, [esp + 0x28]
push eax
push str._pushtype
push ecx
call fcn.004022f5
add esp, 4
call fcn.0040233d
call fcn.00423894
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
call fcn.0040233d
mov esi, eax
call fcn.00402366
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esp + 0x18]
jmp 0x46c98d
mov byte [esp + 0xb8], bl
mov eax, dword [esi + 0x30]
cmp dword [eax - 0xc], ebx
mov dword [esp + 0x1c], eax
je 0x46cb7d
lea eax, [esp + 0x34]
push eax
call edi
pop ecx
mov ecx, dword [esp + 0x14]
push dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x1c], ecx
call edi
imul eax, eax, 0x3c
pop ecx
xor ecx, ecx
cmp dword [esp + 0x18], eax
setg cl
mov eax, ecx
cmp eax, ebx
jne 0x46cb7d
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:less_than_min_minutes_count
push eax
call fcn.00402d46
cmp dword [0x550bdc], ebx
je 0x46c995
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x1c]
push eax
call fcn.00402d09
mov byte [esp + 0xb8], 7
cmp dword [esi + 8], ebx
jne 0x46cb53
or dword [esp + 0x14], 0xffffffff
jmp 0x46cb5e
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
lea edi, [esp + 0x1c]
call fcn.004c0aa3
mov byte [esp + 0xb8], 8
push str.less_than_mini_value_in_minutess_count__return_false
jmp 0x46ca73
mov eax, dword [esi + 0x34]
cmp dword [eax - 0xc], ebx
mov dword [esp + 0x1c], eax
je 0x46cc1f
lea eax, [esp + 0x34]
push eax
call edi
pop ecx
mov ecx, dword [esp + 0x14]
push dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x18], ecx
call edi
imul eax, eax, 0x3c
pop ecx
xor ecx, ecx
cmp dword [esp + 0x14], eax
setl cl
mov eax, ecx
cmp eax, ebx
jne 0x46cc1f
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:more_than_max_minutes_count
push eax
call fcn.00402d46
cmp dword [0x550bdc], ebx
je 0x46c995
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x1c]
push eax
call fcn.00402d09
mov byte [esp + 0xb8], 9
cmp dword [esi + 8], ebx
jne 0x46cbf5
or dword [esp + 0x14], 0xffffffff
jmp 0x46cc00
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
lea edi, [esp + 0x1c]
call fcn.004c0aa3
mov byte [esp + 0xb8], 0xa
push str.big_than_max_value_in_minutess_count__return_false
jmp 0x46ca73
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004012f9
xor eax, eax
inc eax
jmp 0x46cc40
push str.IniTimeLimitCondtion:_context_or_parent_is_null
add esi, 0xc
push esi
call fcn.00402d46
xor eax, eax
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.004d0736
mov esp, ebp
pop ebp
ret