Function at 0x4076f0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x288
push ebx
push ebp
mov ebp, ecx
push esi
push edi
push str.CompsVer.inf
lea eax, [ebp + 0x4b6]
lea esi, [ebp + 0x1120]
push eax
push str._s_s
push esi
call fcn.00426b7c
add esp, 0x10
lea eax, [ebp + 0x5ba]
lea edi, [ebp + 0x1224]
push str.CompsVer.inf
push eax
push str._s_s
push edi
call fcn.00426b7c
add esp, 0x10
lea ebx, [ebp + 0x1328]
push esi
push 0x20
push ebx
push 0x43965c
push str.Version
push str.UPDATE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea esi, [ebp + 0x1348]
push edi
push 0x20
push esi
push 0x43965c
push str.Version
push str.UPDATE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push ebx
call fcn.00427e70
add esp, 8
test eax, eax
je 0x407792
mov dword [ebp + 0x111c], 1
xor ebx, ebx
lea ecx, [esp + 0x158]
mov dword [esp + 0x1c], ebx
call fcn.00421c40
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x55]
mov byte [esp + 0x54], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp + 0x4b6]
push 0x4354d0
push eax
lea ecx, [esp + 0x5c]
or esi, 0xffffffff
push str._s_s
push ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], 0x4000
mov dword [esp + 0x40], ebx
call fcn.00426b7c
lea edi, [ebp + 0xace]
lea edx, [esp + 0x64]
push edi
push edx
call fcn.00427e70
add esp, 0x18
test eax, eax
je 0x407856
lea eax, [esp + 0x54]
push ebx
push eax
push edi
call fcn.00423550
add esp, 0xc
test eax, eax
jne 0x407832
lea ecx, [esp + 0x158]
call fcn.00421ca0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x288
ret
lea edi, [esp + 0x54]
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0xace]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.SaveConfig...
push 0x4396a0
call fcn.00404420
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 8
lea ebx, [ebp + 0x25c]
push ebx
call edi
test eax, eax
jne 0x4078e2
lea esi, [ebp + 0x285]
push esi
call edi
test eax, eax
je 0x4078e2
push esi
mov ecx, ebp
call fcn.00406610
test eax, eax
je 0x4078e2
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x278]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp + 0x2a1]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call edi
test eax, eax
jne 0x407942
push 0x43b07c
call edi
test eax, eax
je 0x407942
mov edi, 0x43b07c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp + 0x278]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x43b0b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
xor eax, eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
lea eax, [ebp + 0xace]
push eax
push ecx
push 0xffffffffffffffff
lea ecx, [esp + 0x164]
mov dword [esp + 0x24], 3
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x44], 2
mov dword [esp + 0x48], 1
call fcn.00421cf0
test eax, eax
jne 0x407b40
lea ecx, [esp + 0x158]
call fcn.00421f10
mov esi, eax
test esi, esi
je 0x407b25
mov edx, dword [esi]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x4c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4079fb
push ebx
call edi
test eax, eax
je 0x4079ea
push ebx
call edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
mov edx, dword [ecx]
push eax
push ebx
push 1
call dword [edx + 0x3c]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
call dword [edx + 8]
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x44], 3
mov eax, dword [esi]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call dword [eax + 0x4c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x407aa0
push ebx
call edi
test eax, eax
je 0x407a45
push ebx
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
push edx
mov eax, dword [ecx]
push ebx
push 0x52
call dword [eax + 0x3c]
lea ebx, [ebp + 0x278]
push ebx
call edi
test eax, eax
je 0x407a6a
push ebx
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
push edx
mov eax, dword [ecx]
push ebx
push 0x53
call dword [eax + 0x3c]
lea ebx, [ebp + 0x4b6]
push ebx
call edi
test eax, eax
je 0x407a8f
push ebx
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
push edx
mov eax, dword [ecx]
push ebx
push 0x51
call dword [eax + 0x3c]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x10], 0
xor eax, eax
mov edx, dword [esi]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x4c]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 3
call dword [edx + 0x4c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x407b25
lea ebx, [ebp + 0x4b6]
push ebx
call edi
test eax, eax
je 0x407b02
push ebx
call edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
mov edx, dword [ecx]
push eax
push ebx
push 3
call dword [edx + 0x3c]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x48]
mov ecx, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x158]
call fcn.00421ed0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x407b40
mov ecx, ebp
call fcn.00407b70
push str.SaveConfig_OK
push 0x4396a0
call fcn.00404420
add esp, 8
lea ecx, [esp + 0x158]
call fcn.00421ca0
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x288
ret