Function at 0x4b7250
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63087c
mov eax, dword fs:[0]
push eax
sub esp, 0x648
mov eax, dword [0x6e4770]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x6ee738]
test eax, eax
jne 0x4b72bb
push 0x154
call fcn.0052d905
add esp, 4
mov dword [ebp - 0x654], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x4b72ad
mov ecx, eax
call fcn.0047b690
jmp 0x4b72af
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x6ee738], eax
mov ecx, eax
call fcn.00497e70
mov edi, eax
lea eax, [ebp - 0x64c]
push eax
mov dword [ebp - 0x650], edi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [0x6f0680]
test ecx, ecx
jne 0x4b7316
push 4
call fcn.0052d905
add esp, 4
mov dword [ebp - 0x654], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x4b7307
mov ecx, eax
call fcn.004a3e90
mov ecx, eax
jmp 0x4b7309
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x6f0680], ecx
mov eax, dword [ecx]
push 0x34
mov eax, dword [eax]
call eax
test eax, eax
je 0x4b765b
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push edi
push 0xffffffffffffffff
push str.LastMainUpdDay
push str.Setting
call esi
push edi
push 0xffffffffffffffff
push str.SoftMainUpdHour
push str.Setting
mov dword [ebp - 0x654], eax
call esi
push dword [ebp - 0x650]
mov edi, eax
push 0xffffffffffffffff
push str.SoftMainUpdMinute
push str.Setting
call esi
mov esi, eax
cmp edi, 0xffffffff
je 0x4b7376
cmp esi, 0xffffffff
jne 0x4b7426
push 0x11
push 8
call fcn.0049a6e0
mov edi, eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x22c], ax
lea eax, [ebp - 0x22a]
push eax
call fcn.0052f1e0
push edi
lea eax, [ebp - 0x22c]
push 0x644938
push eax
call fcn.00530563
add esp, 0x20
lea eax, [ebp - 0x22c]
push dword [ebp - 0x650]
push eax
push str.SoftMainUpdHour
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0x3c
push 0
call fcn.0049a6e0
mov esi, eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x434], ax
lea eax, [ebp - 0x432]
push eax
call fcn.0052f1e0
push esi
lea eax, [ebp - 0x434]
push 0x644938
push eax
call fcn.00530563
add esp, 0x20
lea eax, [ebp - 0x434]
push dword [ebp - 0x650]
push eax
push str.SoftMainUpdMinute
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
movzx eax, word [ebp - 0x646]
mov ecx, dword [ebp - 0x654]
cmp ecx, eax
je 0x4b765b
dec eax
cmp eax, ecx
jne 0x4b7462
movzx eax, word [ebp - 0x644]
cmp eax, edi
jne 0x4b745c
movzx eax, word [ebp - 0x642]
cmp eax, esi
jl 0x4b765b
jmp 0x4b7462
jle 0x4b765b
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x63c], ax
lea eax, [ebp - 0x63a]
push eax
call fcn.0052f1e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x434], ax
lea eax, [ebp - 0x432]
push eax
call fcn.0052f1e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x22c], ax
lea eax, [ebp - 0x22a]
push eax
call fcn.0052f1e0
add esp, 0x24
call fcn.004763c0
mov ecx, eax
call fcn.00497e40
lea edx, [ebp - 0x22c]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
lea eax, [eax + 2]
mov word [edx + eax - 2], cx
test cx, cx
jne 0x4b74d0
lea edi, [ebp - 0x22c]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b74f0
mov ecx, 8
mov esi, 0x6466a4
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x63c]
add edi, 0xfffffffe
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4b7511
mov eax, dword [0x6429a4]
lea edx, [ebp - 0x22c]
mov dword [edi], eax
mov esi, edx
lea esp, [esp]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4b7530
lea edi, [ebp - 0x63c]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b7546
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x63c]
add ecx, 0xfffffffe
lea esp, [esp]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4b7570
mov eax, dword [0x6429a8]
mov dword [ecx], eax
mov ax, word [0x6429ac]
mov word [ecx + 4], ax
xor ecx, ecx
nop
movzx eax, word [ecx + str.OpenUpdate]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x436], ax
test ax, ax
jne 0x4b7590
lea edx, [ebp - 0x434]
mov esi, edx
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4b75b0
lea edi, [ebp - 0x63c]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b75c6
mov ecx, edx
xor eax, eax
shr ecx, 2
xorps xmm0, xmm0
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0x24], ax
mov ecx, edx
mov word [ebp - 0x12], ax
and ecx, 3
movzx eax, word [ebp - 0x646]
push eax
lea eax, [ebp - 0x24]
push 0x644938
rep movsb byte es:[edi], byte [esi]
push eax
movdqu xmmword [ebp - 0x22], xmm0
call fcn.00530563
mov esi, dword [ebp - 0x650]
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push esi
push 0x6475a4
push str.SoftMainUpdHour
push str.Setting
call edi
push esi
push 0x6475a4
push str.SoftMainUpdMinute
push str.Setting
call edi
push esi
lea eax, [ebp - 0x24]
push eax
push str.LastMainUpdDay
push str.Setting
call edi
lea eax, [ebp - 0x63c]
push eax
call fcn.00499ee0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052dfa4
mov esp, ebp
pop ebp
ret