Function at 0x470878
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4fd765
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x5550ec]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push esi
push edi
mov eax, dword [0x5550ec]
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 0x470cfd
cmp dword [esi + 8], ebx
je 0x470cfd
push eax
lea eax, [esi + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004c7c7c
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 0x50b288
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 0x470a7a
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.0049ce82
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.00425177
add esp, 0x10
cmp eax, dword [esp + 0x18]
jge 0x470a73
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:less_than_min_day_count
push eax
call fcn.00402d02
cmp dword [0x55ac14], ebx
je 0x470a62
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x18]
push eax
call fcn.00402cc5
mov byte [esp + 0xb8], 2
cmp dword [esi + 8], ebx
jne 0x4709d9
or dword [esp + 0x18], 0xffffffff
jmp 0x4709e4
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.004c8150
push str.less_than_mini_value_in_days_count__return_false
mov byte [esp + 0xbc], 3
mov ecx, dword [eax]
mov eax, 0x511610
push eax
push ecx
push 0x5115d8
push eax
lea eax, [esp + 0x2c]
push eax
push str._pushtype
push ecx
call fcn.004022da
add esp, 4
call fcn.00402322
call fcn.00423ea4
call fcn.00402322
call fcn.00402322
call fcn.00402322
call fcn.00402322
call fcn.00402322
mov esi, eax
call fcn.0040234b
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 0x470d0b
mov byte [esp + 0xb8], bl
mov eax, dword [esi + 0x2c]
cmp dword [eax - 0xc], ebx
je 0x470ba8
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.0049ce82
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.00425177
add esp, 0x10
cmp eax, dword [esp + 0x1c]
jle 0x470ba1
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:more_than_max_day_count
push eax
call fcn.00402d02
cmp dword [0x55ac14], ebx
je 0x470a62
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x1c]
push eax
call fcn.00402cc5
mov byte [esp + 0xb8], 5
cmp dword [esi + 8], ebx
jne 0x470b1b
or dword [esp + 0x14], 0xffffffff
jmp 0x470b26
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.004c8150
mov byte [esp + 0xb8], 6
push str.big_than_max_value_in_days_count__return_false
mov ecx, dword [eax]
mov eax, 0x511610
push eax
push ecx
push 0x5115d8
push eax
lea eax, [esp + 0x28]
push eax
push str._pushtype
push ecx
call fcn.004022da
add esp, 4
call fcn.00402322
call fcn.00423ea4
call fcn.00402322
call fcn.00402322
call fcn.00402322
call fcn.00402322
call fcn.00402322
mov esi, eax
call fcn.0040234b
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
call fcn.004012f9
mov eax, dword [esp + 0x18]
jmp 0x470a5a
mov byte [esp + 0xb8], bl
mov eax, dword [esi + 0x30]
cmp dword [eax - 0xc], ebx
mov dword [esp + 0x1c], eax
je 0x470c4a
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 0x470c4a
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:less_than_min_minutes_count
push eax
call fcn.00402d02
cmp dword [0x55ac14], ebx
je 0x470a62
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x1c]
push eax
call fcn.00402cc5
mov byte [esp + 0xb8], 7
cmp dword [esi + 8], ebx
jne 0x470c20
or dword [esp + 0x14], 0xffffffff
jmp 0x470c2b
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.004c8150
mov byte [esp + 0xb8], 8
push str.less_than_mini_value_in_minutess_count__return_false
jmp 0x470b40
mov eax, dword [esi + 0x34]
cmp dword [eax - 0xc], ebx
mov dword [esp + 0x1c], eax
je 0x470cec
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 0x470cec
lea eax, [esi + 0xc]
push str.IniTimeLimitCondtion:more_than_max_minutes_count
push eax
call fcn.00402d02
cmp dword [0x55ac14], ebx
je 0x470a62
push str.IniTimeLimitCondtion::IsRecommanded
lea eax, [esp + 0x1c]
push eax
call fcn.00402cc5
mov byte [esp + 0xb8], 9
cmp dword [esi + 8], ebx
jne 0x470cc2
or dword [esp + 0x14], 0xffffffff
jmp 0x470ccd
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.004c8150
mov byte [esp + 0xb8], 0xa
push str.big_than_max_value_in_minutess_count__return_false
jmp 0x470b40
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004012f9
xor eax, eax
inc eax
jmp 0x470d0d
push str.IniTimeLimitCondtion:_context_or_parent_is_null
add esi, 0xc
push esi
call fcn.00402d02
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.004d6e66
mov esp, ebp
pop ebp
ret