Function at 0x40dfae
Capabilities:
Read .ini file

Disassembly:
push 0x47c
mov eax, 0x48aac3
call fcn.0044c99a
mov esi, 0x208
lea eax, [ebp - 0x420]
push esi
push 0
push eax
call fcn.00465e50
push esi
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00465e50
add esp, 0x18
mov esi, 0x4be034
cmp dword [0x4be048], 8
mov eax, esi
mov edi, 0x104
cmovae eax, dword [0x4be034]
push eax
push edi
lea eax, [ebp - 0x420]
push eax
push 0x4948f0
push str.AppName_V
push str.Vista
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
sub esp, 0x18
lea eax, [ebp - 0x420]
mov ecx, esp
push eax
call fcn.00407faf
lea eax, [ebp - 0x450]
push eax
call fcn.0040ccc9
add esp, 0x1c
xor eax, eax
mov dword [ebp - 0x424], 0xf
mov dword [ebp - 4], eax
mov dword [ebp - 0x428], eax
mov byte [ebp - 0x438], al
push 0x495a98
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 1
call fcn.0040ebd4
test al, al
jne 0x40e148
push 0x494f60
lea ecx, [ebp - 0x450]
call fcn.0040ebd4
test al, al
jne 0x40e148
push 0x494f68
lea ecx, [ebp - 0x450]
call fcn.0040ebd4
test al, al
je 0x40e10a
cmp dword [0x4be048], 8
lea eax, [ebp - 0x218]
cmovae esi, dword [0x4be034]
push esi
push edi
push eax
push 0x4948f0
push str.ParmClientBuildVersion
push 0x495ac8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.0041944d
lea ecx, [ebp - 0x438]
add esp, 0xc
cmp ecx, eax
je 0x40e0ff
mov byte [ebp - 0x484], 0
push dword [ebp - 0x484]
push eax
call fcn.00404db0
lea ecx, [ebp - 0x468]
jmp 0x40e1cf
push 0x494f58
lea ecx, [ebp - 0x450]
call fcn.0040ebd4
test al, al
jne 0x40e2b0
cmp dword [0x4be048], 8
lea eax, [ebp - 0x218]
cmovae esi, dword [0x4be034]
push esi
push edi
push eax
push 0x4948f0
push 0x495aa0
jmp 0x40e0bf
cmp dword [0x4be048], 8
lea eax, [ebp - 0x218]
cmovae esi, dword [0x4be034]
push esi
push edi
push eax
push 0x4948f0
push 0x495aa0
push 0x495ac8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0041944d
push eax
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 2
push eax
call fcn.00415ac8
lea ecx, [ebp - 0x438]
add esp, 0x14
cmp ecx, eax
je 0x40e1ba
mov byte [ebp - 0x484], 0
push dword [ebp - 0x484]
push eax
call fcn.00404db0
lea ecx, [ebp - 0x468]
call fcn.00403060
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x480]
call fcn.00403060
cmp dword [ebp - 0x428], 0
je 0x40e261
mov esi, dword [0x4c1220]
test esi, esi
je 0x40e261
cmp dword [ebp - 0x424], 0x10
lea eax, [ebp - 0x438]
mov ecx, esi
cmovae eax, dword [ebp - 0x438]
push eax
push str.ClientBuildVersion
call dword [0x49356c]
call esi
push 0
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.004187c1
cmp dword [ebp - 0x43c], 8
lea edx, [ebp - 0x450]
mov esi, eax
mov byte [ebp - 4], 3
cmovae edx, dword [ebp - 0x450]
sub esp, 0xc
push 6
pop ecx
mov edi, esp
push edx
rep movsd dword es:[edi], dword [esi]
push str.SetClientBuildVersion.client_build_version:_s:_s
call fcn.0040ea07
add esp, 0x20
lea ecx, [ebp - 0x480]
call fcn.00406a00
mov eax, dword [ebp - 0x424]
cmp eax, 0x10
jb 0x40e2b0
mov ecx, dword [ebp - 0x438]
inc eax
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], ecx
cmp eax, 0x1000
jb 0x40e2a7
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.004017b0
mov eax, dword [ebp - 0x488]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x484]
push eax
push ecx
call fcn.0044c6c2
pop ecx
pop ecx
and dword [ebp - 0x428], 0
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
call fcn.00406a00
call fcn.0044c944
ret