Function at 0x401000
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40f35c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x105c
call fcn.004080d0
push ebx
push esi
push edi
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x10], esp
call fcn.00402130
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 4], edi
push esi
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 1
call fcn.00402670
mov ecx, dword [str.ClnExtor.ini]
lea eax, [ebp - 0x320]
push eax
push ecx
push esi
mov dword [ebp - 4], edi
call fcn.00401680
mov eax, dword [str.Install]
mov ecx, dword [str.Common]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add esp, 0xc
lea edx, [ebp - 0x320]
push edx
push 1
push eax
push ecx
call esi
mov ebx, eax
mov dword [ebp - 0x18], 1
cmp ebx, edi
mov dword [ebp - 0x14], ebx
je 0x4010af
mov eax, dword [str.DeleteTemp]
mov ecx, dword [str.Common]
lea edx, [ebp - 0x320]
push edx
push 1
push eax
push ecx
call esi
mov dword [ebp - 0x18], eax
mov eax, dword [str.Platform]
mov ecx, dword [str.Common]
lea edx, [ebp - 0x320]
push edx
push edi
push eax
push ecx
call esi
mov edi, eax
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1c], edi
call fcn.00401840
mov eax, dword [ebp - 0x1a8]
mov byte [ebp - 4], 3
test edi, edi
jne 0x4010f7
cmp eax, 1
je 0x401142
push 0x10
push str.Error
push str.This_package_is_for_95_client
jmp 0x401108
cmp eax, 2
je 0x401142
push 0x10
push str.Error
push str.This_package_is_for_NT_client
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0
call fcn.00401890
lea ecx, [ebp - 0x444]
mov dword [ebp - 4], 0xffffffff
call fcn.004021a0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x401456
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x124]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x1c]
test eax, eax
mov eax, dword [str.Setup95]
je 0x40116b
mov eax, dword [str.SetupNT]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x320]
push edx
mov edx, dword [str.Common]
lea ecx, [ebp - 0x124]
push 0x104
push ecx
push 0x41600c
push eax
push edx
call ebx
lea edi, [ebp - 0x124]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x401110
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x75c]
lea ecx, [ebp - 0x124]
push eax
push ecx
push edi
call fcn.00401680
mov eax, dword [ebp - 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [str.Check95]
je 0x4011d4
mov eax, dword [str.CheckNT]
lea edx, [ebp - 0x320]
lea ecx, [ebp - 0x124]
push edx
mov edx, dword [str.Common]
push 0x104
push ecx
push 0x41600c
push eax
push edx
call ebx
lea eax, [ebp - 0x864]
lea ecx, [ebp - 0x124]
push eax
push ecx
push edi
call fcn.00401680
mov eax, dword [str.EnableNoPrescan]
mov ecx, dword [str.Common]
add esp, 0xc
lea edx, [ebp - 0x320]
push edx
push 0
push eax
push ecx
call esi
test eax, eax
je 0x4012ce
mov ecx, dword [str.NoPrescan]
lea edx, [ebp - 0x320]
push edx
mov edx, dword [str.Common]
lea eax, [ebp - 0x124]
push 0x104
push eax
push 0x41600c
push ecx
push edx
call ebx
lea edi, [ebp - 0x124]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x401110
mov edi, 0x412180
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x75c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x75c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x124]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [str.EnableSilent]
mov edx, dword [str.Common]
lea eax, [ebp - 0x320]
push eax
push 0
push ecx
push edx
call esi
test eax, eax
je 0x401389
mov edx, dword [str.SilentInstall]
lea eax, [ebp - 0x320]
push eax
mov eax, dword [str.Common]
lea ecx, [ebp - 0x124]
push 0x104
push ecx
push 0x41600c
push edx
push eax
call ebx
lea edi, [ebp - 0x124]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x401110
mov edi, 0x412180
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x75c]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [ebp - 0x75c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x124]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x554]
call fcn.00403620
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 4
call fcn.00401e40
mov ecx, dword [str.OfcZip.Zip]
lea eax, [ebp - 0x124]
push eax
push ecx
push esi
mov byte [ebp - 4], 6
call fcn.00401680
add esp, 0xc
lea edx, [ebp - 0x124]
lea ecx, [ebp - 0x554]
push edx
call fcn.00403660
push 0
push 0
push 1
push 1
push esi
lea ecx, [ebp - 0x554]
call fcn.00403730
lea ecx, [ebp - 0x554]
call fcn.00403710
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x75c]
push 0
push eax
lea ecx, [ebp - 0x218]
call fcn.00401ed0
push 0xffffffffffffffff
lea ecx, [ebp - 0x218]
call fcn.00401f90
test ebx, ebx
je 0x4014b6
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4014c6
lea ecx, [ebp - 0x864]
push ecx
call fcn.00401d50
add esp, 4
cmp eax, 5
jne 0x4014b6
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x401435
mov edx, dword [str.Update]
lea eax, [ebp - 0x320]
push eax
mov eax, dword [str.Common]
lea ecx, [ebp - 0x124]
push 0x104
push ecx
push 0x41600c
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [ebp - 0x124]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x401110
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x75c]
lea edx, [ebp - 0x124]
push ecx
push edx
push esi
call fcn.00401680
add esp, 0xc
jmp 0x40138f
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4014c6
push esi
call fcn.00401a10
add esp, 4
lea ecx, [ebp - 0x218]
mov dword [ebp - 4], 4
call fcn.00401ea0
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 3
call fcn.00403650
jmp 0x401110