Function at 0x406e00
Capabilities:
Delete file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa44
mov eax, dword [0x446214]
push ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0xa4c], eax
xor eax, eax
xor edx, edx
mov word [esp + 0x840], dx
mov ecx, 0x81
lea edi, [esp + 0x842]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [esp + 0x430], dx
mov ecx, 0x81
lea edi, [esp + 0x432]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov word [esp + 0x638], dx
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x63a]
rep stosd dword es:[edi], eax
lea ebx, [esi + 0x7c0]
push ebx
push 0x104
stosw word es:[edi], ax
lea edi, [esi + 0xbd0]
push edi
push 0x438630
push str.NewVer
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebx
push 0x104
lea eax, [esi + 0xdd8]
push eax
push 0x438630
push str.NewMinVer
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebx
push 0x104
lea eax, [esp + 0x848]
push eax
push 0x438630
push str.Default
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edi
call fcn.0041b815
fstp dword [esp + 0x14]
lea eax, [esi + 0xdd8]
push eax
call fcn.0041b815
fstp dword [esp + 0x24]
lea eax, [esi + 0x4f0]
push eax
call fcn.0041b815
fstp dword [esp + 0x24]
lea eax, [esi + 0x554]
push eax
call fcn.0041b815
fstp dword [esp + 0x24]
fld dword [esp + 0x20]
add esp, 0x10
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jnp 0x406f46
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fucompp
fnstsw ax
test ah, 0x44
jp 0x406f5e
fld dword [esp + 0x1c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jp 0x406f5e
mov eax, 0xffffffff
mov ecx, dword [esp + 0xa4c]
call fcn.0041a963
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov word [esp + 0x228], dx
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x22a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edi, [esi + 0x4f0]
push edi
lea ecx, [esp + 0x22c]
push str.Ver_s
push ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
call fcn.0041ad49
add esp, 0xc
push ebx
push 0x104
lea edx, [esp + 0x438]
push edx
push 0x438630
lea eax, [esp + 0x238]
push eax
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [esp + 0x430]
push ecx
call fcn.0041ad33
add esp, 4
test eax, eax
jle 0x406fe0
mov dword [esp + 0x10], 1
lea eax, [esi + 0x554]
push eax
push edi
lea edx, [esp + 0x230]
push str.Ver_s__s
push edx
call fcn.0041ad49
add esp, 0x10
push ebx
push 0x104
lea eax, [esp + 0x640]
push eax
push 0x438630
lea ecx, [esp + 0x238]
push ecx
push str.Globals
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [esp + 0x638]
push edx
call fcn.0041ad33
add esp, 4
test eax, eax
mov edi, 1
jg 0x407040
mov edi, dword [esp + 0x14]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call ebx
mov ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, eax
jne 0x4070be
cmp edi, eax
jne 0x4070c2
mov word [esp + 0x20], ax
mov ecx, 0x81
lea edi, [esp + 0x22]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esi + 0x5b8]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.0041ace7
lea edx, [esp + 0x28]
push str.default.ini
push edx
call fcn.0041acbd
add esp, 0x10
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x844]
push ecx
mov ecx, esi
call fcn.00406810
lea edx, [esp + 0x20]
push edx
mov esi, eax
call ebx
mov eax, esi
mov ecx, dword [esp + 0xa4c]
call fcn.0041a963
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, eax
je 0x40712f
mov word [esp + 0x20], ax
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x22]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esi + 0x554]
push eax
lea eax, [esi + 0x4f0]
push eax
lea eax, [esi + 0x5b8]
push eax
lea ecx, [esp + 0x2c]
push str._sVer_s__s.ini
push ecx
call fcn.0041ad49
add esp, 0x14
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x63c]
push eax
mov ecx, esi
call fcn.00406810
lea ecx, [esp + 0x20]
push ecx
mov esi, eax
call ebx
mov eax, esi
mov ecx, dword [esp + 0xa4c]
call fcn.0041a963
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esp + 0x20], ax
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x22]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esi + 0x4f0]
push eax
lea edx, [esi + 0x5b8]
push edx
lea eax, [esp + 0x28]
push str._sVer_s.ini
push eax
call fcn.0041ad49
add esp, 0x10
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x434]
push edx
mov ecx, esi
call fcn.00406810
mov esi, eax
lea eax, [esp + 0x20]
push eax
call ebx
mov ecx, dword [esp + 0xa4c]
mov eax, esi
call fcn.0041a963
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret