Function at 0x421872
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
sub esp, 0x648
lea ebp, [esp - 4]
mov eax, dword [0x4f2720]
xor eax, ebp
mov dword [ebp + 0x648], eax
push 0x14
mov eax, 0x4be410
call fcn.004603b7
call fcn.00406689
mov edx, dword [eax]
push 0x32
mov ecx, eax
call dword [edx]
test eax, eax
je 0x421b2a
call fcn.00404dc4
mov ecx, eax
call fcn.0042a6e0
push eax
lea ecx, [ebp]
call fcn.00401130
xor esi, esi
push str.Config
lea ecx, [ebp]
mov dword [ebp - 4], esi
call fcn.00401f50
push 0x4df450
lea ecx, [ebp]
call fcn.00401f50
push str.UseVestige.ini
lea ecx, [ebp]
call fcn.00401f50
cmp dword [ebp + 0x18], 8
mov eax, dword [ebp + 4]
jae 0x4218f8
lea eax, [ebp + 4]
push eax
mov dword [ebp - 0x10], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x42190c
push esi
jmp 0x421b20
call fcn.0042d724
push dword [ebp - 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0xffffffffffffffff
push str.LastUserUserPageDay
push str.Setting
mov dword [ebp - 0x1c], eax
call edi
mov ebx, 0x206
push ebx
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x226]
push esi
push eax
mov word [ebp + 0x224], si
call fcn.0045fa70
push ebx
lea eax, [ebp + 0x1e]
push esi
push eax
mov word [ebp + 0x1c], si
call fcn.0045fa70
add esp, 0x18
push dword [ebp - 0x10]
mov esi, str.UserLogin
push 0xffffffffffffffff
push str.UserID
push esi
call edi
push dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
push 0xffffffffffffffff
push str.UserGrade
push esi
call edi
push dword [ebp - 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x104
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x224]
push eax
push 0x4df45c
push str.UserName
push esi
call edi
push dword [ebp - 0x10]
lea eax, [ebp + 0x1c]
push 0x104
push eax
push 0x4df45c
push str.UserNick
push esi
call edi
mov esi, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], esi
jne 0x421a5c
call fcn.00406689
mov edx, dword [eax]
mov esi, 0x99
push esi
mov ecx, eax
call dword [edx]
test eax, eax
jne 0x421b1e
lea eax, [ebp + 0x224]
push eax
call fcn.0045fe9a
cmp dword [ebp - 0x14], 0
pop ecx
je 0x421a4c
test eax, eax
je 0x421a4c
call fcn.00406689
push dword [ebp - 0x14]
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0xc]
call fcn.00406689
push dword [ebp - 0x18]
mov edx, dword [eax]
push 0x9b
mov ecx, eax
call dword [edx + 0xc]
call fcn.00406689
mov edx, dword [eax]
lea ecx, [ebp + 0x224]
push ecx
push 0x9c
mov ecx, eax
call dword [edx + 8]
call fcn.00406689
mov edx, dword [eax]
lea ecx, [ebp + 0x1c]
push ecx
push 0x9d
mov ecx, eax
call dword [edx + 8]
jmp 0x421b1e
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x421b1e
xor eax, eax
xor ecx, ecx
mov word [ebp + 0x634], cx
lea edi, [ebp + 0x636]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push ebx
stosw word es:[edi], ax
push ecx
lea eax, [ebp + 0x42e]
push eax
mov word [ebp + 0x42c], cx
call fcn.0045fa70
lea eax, [ebp + 0x42c]
push 0x4c6d40
push eax
call fcn.0045fd1a
add esp, 0x14
call fcn.00404dc4
mov ecx, eax
call fcn.0042a6b8
push eax
lea eax, [ebp + 0x42c]
push eax
call fcn.0045fd1a
lea eax, [ebp + 0x42c]
push str.SCUserPage.exe
push eax
call fcn.0045fd1a
lea eax, [ebp + 0x42c]
push str.__AutoLogin
push eax
call fcn.0045fd1a
push esi
lea eax, [ebp + 0x634]
push 0x4c4cf4
push eax
call fcn.00460936
add esp, 0x24
push dword [ebp - 0x10]
lea eax, [ebp + 0x634]
push eax
push str.LastUserUserPageDay
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + 0x42c]
push eax
call fcn.0042c6af
pop ecx
push 0
push 1
lea ecx, [ebp]
call fcn.00401330
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x648]
xor ecx, ebp
call fcn.0045fa14
add ebp, 0x64c
leave
ret