Function at 0x404066
Capabilities:
Read .ini file

Disassembly:
push ebp
sub esp, 0x58
mov eax, 0x42ffa5
call fcn.0042fda0
sub esp, 0x5bc
lea eax, [ebp - 0x108]
push ebx
push edi
xor ebx, ebx
mov edi, ecx
push ebx
push 0x28
push eax
call fcn.00404cb1
test eax, eax
jne 0x40409b
push 2
pop eax
jmp 0x4044a8
cmp dword [edi + 0x11b0], 1
push esi
lea esi, [edi + 0x834]
jne 0x4041c7
push esi
lea eax, [edi + 0x420]
lea ecx, [edi + 0x11c0]
push eax
call fcn.00406f79
mov ecx, edi
call fcn.00404e84
test eax, eax
jne 0x4041c7
cmp dword [ebp + 0x64], ebx
jne 0x4044a0
mov dword [ebp + 0x58], ebx
mov dword [ebp - 4], ebx
lea ecx, [edi + 0x11c0]
cmp dword [ecx], 0
mov ebx, 0x43ad64
mov eax, ebx
cmovne eax, dword [ecx]
lea ecx, [ebp + 0x64]
push eax
call fcn.00405f3f
push ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 1
call fcn.00406065
mov eax, dword [edi + 0x11e0]
mov edx, ebx
test eax, eax
mov ecx, ebx
cmovne edx, eax
mov eax, dword [edi + 0x11c4]
test eax, eax
push edx
cmovne ecx, eax
cmp dword [ebp + 0x64], 0
push ecx
mov eax, ebx
cmovne eax, dword [ebp + 0x64]
push eax
lea eax, [ebp + 0x58]
push str._s:___s_s
push eax
call fcn.00406011
mov eax, dword [ebp + 0x58]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
cmovne ebx, eax
push ecx
push ebx
lea eax, [ebp + 0x54]
push str.Le_serveur_HTTP_de_la_version_de_r
push eax
call fcn.00402a02
add esp, 0x24
mov ecx, eax
push 0x14
push esi
call fcn.0040ef3e
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x54]
mov esi, eax
call fcn.0040eeb5
cmp esi, 7
jne 0x4041a4
mov byte [ebp - 4], 2
mov ecx, dword [ebp + 0x64]
call fcn.00406672
mov dword [ebp + 0x64], ebx
mov dword [ebp - 4], 3
mov ecx, dword [ebp + 0x58]
call fcn.00406672
jmp 0x404256
mov byte [ebp - 4], 4
mov ecx, dword [ebp + 0x64]
call fcn.00406672
mov dword [ebp + 0x64], ebx
mov dword [ebp - 4], 5
mov ecx, dword [ebp + 0x58]
call fcn.00406672
jmp 0x4044a0
lea ebx, [edi + 0x62a]
mov ecx, ebx
call fcn.0040bc4c
test eax, eax
jne 0x40428a
and dword [edi + 0xf90], eax
cmp dword [ebp + 0x64], eax
jne 0x40425e
push ebx
push ebx
lea eax, [ebp + 0x64]
push str.Le_fichier_des_param
push eax
call fcn.00402a02
add esp, 0x10
mov ecx, eax
call fcn.0040ef3e
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x64]
mov esi, eax
call fcn.0040eeb5
cmp esi, 7
jne 0x40425e
cmp dword [edi + 0xc48], 0
je 0x404256
push ebx
push ebx
lea eax, [ebp + 0x64]
push str.127___Le_fichier_de_param
push eax
call fcn.00402a02
add esp, 0x10
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.0040ef3e
push eax
mov ecx, edi
call fcn.004032d3
lea ecx, [ebp + 0x64]
call fcn.0040eeb5
xor eax, eax
inc eax
jmp 0x4044a7
cmp dword [edi + 0xc48], 0
je 0x4044a0
push ebx
push ebx
lea eax, [ebp + 0x64]
push str.126___Le_fichier_de_param
push eax
call fcn.00402a02
add esp, 0x10
mov dword [ebp - 4], 7
jmp 0x404328
mov ecx, edi
call fcn.00405dc8
push ebx
push 0x28
lea eax, [ebp]
push eax
push 0x43ad64
push str.VERSION
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041fb71
pop ecx
pop ecx
test eax, eax
je 0x4044a0
cmp dword [edi + 0x11b0], 1
jne 0x4043c8
cmp word [ebp], 0
jne 0x404344
cmp dword [edi + 0xc48], 0
je 0x4044a0
push ecx
mov edx, 0x43c094
lea ecx, [ebp - 0x5c8]
call fcn.0040c400
pop ecx
test eax, eax
je 0x404309
push ecx
mov edx, ebx
lea ecx, [ebp - 0x5c8]
call fcn.0040bbc2
pop ecx
lea eax, [ebp - 0x5c8]
push eax
lea eax, [ebp + 0x64]
push str.140___Impossible_de_d
push eax
call fcn.00402a02
add esp, 0xc
mov dword [ebp - 4], 8
mov ecx, eax
call fcn.0040ef3e
push eax
mov ecx, edi
call fcn.004032d3
lea ecx, [ebp + 0x64]
call fcn.0040eeb5
jmp 0x4044a0
lea eax, [ebp - 0x3bc]
mov ecx, edi
push eax
call fcn.00404dda
test eax, eax
je 0x4043c8
lea ecx, [ebp - 0x3bc]
call fcn.0040be0b
lea eax, [ebp - 0x3bc]
push str.WDSetup.exe
push eax
call fcn.0041f738
pop ecx
pop ecx
lea eax, [ebp - 0x3bc]
push eax
push 0x28
lea eax, [ebp - 0x15c]
push eax
call fcn.00404cb1
test eax, eax
je 0x4043c8
push ebx
push 0x28
lea eax, [ebp - 0x1b0]
push eax
push 0x43ad64
push str.VERSIONWDSETUP
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.0041f7c7
pop ecx
pop ecx
test eax, eax
je 0x4043c8
mov ecx, edi
call fcn.004053a8
push ebx
push 0
push str.VERSION_OBLIGATOIRE
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x4044a4
lea eax, [edi + 0x420]
push eax
push 0x28
lea eax, [ebp - 0x60]
push eax
push 0x43ad64
push str.LIMITEMAJ
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x60], 0
je 0x40442a
lea eax, [ebp - 0x60]
push eax
call fcn.0041f769
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp]
push eax
call fcn.0041f769
pop ecx
mov edx, eax
lea ecx, [ebp]
call fcn.0040e31b
test eax, eax
jle 0x4044a0
push ebx
push 0x28
lea eax, [ebp - 0xb4]
push eax
push 0x43ad64
push str.DERNIERE_VERSION
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0xb4], 0
je 0x404481
lea eax, [ebp - 0xb4]
push eax
call fcn.0041f769
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f769
pop ecx
mov edx, eax
lea ecx, [ebp - 0x108]
call fcn.0040e31b
test eax, eax
js 0x4044a4
mov ecx, edi
call fcn.00405d25
test eax, eax
jne 0x4044a4
cmp dword [edi + 0xc48], eax
je 0x4044a0
push str.141___V
mov ecx, edi
call fcn.004032d3
xor eax, eax
jmp 0x4044a7
push 2
pop eax
pop esi
mov ecx, dword [ebp - 0xc]
pop edi
pop ebx
mov dword fs:[0], ecx
add ebp, 0x5c
leave
ret 4