Function at 0x414050
Capabilities:
Read .ini file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506654
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 8
push esi
push edi
mov eax, dword [0x54c39c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 8]
mov dword [ecx], 1
cmp eax, 0x42e
ja 0x414212
je 0x4140f0
sub eax, 0x2a1
je 0x4140e4
sub eax, 2
jne 0x41421e
push dword [edi + 0x354]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41430d
push 0
push 0
push 0x10
push dword [edi + 0x354]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x41430d
mov ecx, edi
call fcn.00415c60
jmp 0x41430d
cmp dword [edi + 0x34c], 0
jne 0x414207
cmp dword [edi + 0x350], 0
jne 0x414207
call fcn.00407240
push dword [eax]
push 1
push str.protect_days
push str.general
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0x324
mov edi, eax
call fcn.0049a49a
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
push 0x324
push 0
push esi
mov dword [ebp - 4], 1
call fcn.004dbe40
add esp, 0xc
mov ecx, esi
call fcn.0040e100
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x536f20]
push 0
mov dword [esi], vtable.CBlockRecordWnd.4.0
sub esp, 0x10
mov dword [esi + 0x14], vtable.CBlockRecordWnd.3.0
mov dword [esi + 0x24], vtable.CBlockRecordWnd.2.0
mov dword [esi + 0x28], vtable.CBlockRecordWnd.1.0
mov dword [esi + 0x2c], vtable.CBlockRecordWnd.0
mov dword [esi + 0x314], 0
mov dword [esi + 0x318], 0
mov dword [esi + 0x31c], 0
mov dword [esi + 0x320], ecx
mov dword [ecx + 0x34c], esi
mov dword [esi + 0x314], eax
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x318], eax
mov eax, esp
push 0x88
push SysReAllocStringLen
push str.block_record
mov dword [esi + 0x31c], edi
mov ecx, dword [ecx + 0x34c]
push 0
movups xmmword [eax], xmm0
call fcn.0042bf00
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x354], eax
mov ecx, dword [ecx + 0x34c]
call fcn.0042c430
mov ecx, dword [ebx + 0x14]
mov dword [ecx], 1
jmp 0x41430d
sub eax, 0x42f
je 0x414254
sub eax, 0x36
je 0x414229
mov dword [ecx], 0
jmp 0x41430d
lea esi, [edi + 0x320]
push ecx
mov ecx, esi
call fcn.004164c0
lea eax, [edi + 0x318]
neg edi
sbb edi, edi
and edi, eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0xc], edi
mov dword [eax], 1
jmp 0x41430d
cmp dword [edi + 0x350], 0
jne 0x41430d
push 0x324
call fcn.0049a49a
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
push 0x324
push 0
push esi
mov dword [ebp - 4], 0
call fcn.004dbe40
add esp, 0xc
mov ecx, esi
call fcn.0040e100
push 0
sub esp, 0x10
mov dword [esi], vtable.CRightMenuWnd.3.0
mov eax, esp
mov dword [esi + 0x14], vtable.CRightMenuWnd.1.0
mov dword [esi + 0x24], vtable.CRightMenuWnd.4.0
mov ecx, esi
mov dword [esi + 0x28], vtable.CRightMenuWnd.2.0
push 0x88
push SysReAllocStringLen
mov dword [esi + 0x2c], vtable.CRightMenuWnd.0
mov dword [esi + 0x318], 0
mov dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x536f30]
mov dword [esi + 0x31c], 0
mov dword [esi + 0x320], 0
push str.tray_menu
mov dword [esi + 0x314], edi
push 0
mov dword [edi + 0x350], esi
movups xmmword [eax], xmm0
call fcn.0042bf00
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10