Function at 0x40405f
Capabilities:
Read .ini file

Disassembly:
push ebp
sub esp, 0x58
mov eax, 0x430495
call fcn.00430290
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.00404caa
test eax, eax
jne 0x404094
push 2
pop eax
jmp 0x4044a1
cmp dword [edi + 0x11b0], 1
push esi
lea esi, [edi + 0x834]
jne 0x4041c0
push esi
lea eax, [edi + 0x420]
lea ecx, [edi + 0x11c0]
push eax
call fcn.00406f90
mov ecx, edi
call fcn.00404e7d
test eax, eax
jne 0x4041c0
cmp dword [ebp + 0x64], ebx
jne 0x404499
mov dword [ebp + 0x58], ebx
mov dword [ebp - 4], ebx
lea ecx, [edi + 0x11c0]
cmp dword [ecx], 0
mov ebx, 0x43ace4
mov eax, ebx
cmovne eax, dword [ecx]
lea ecx, [ebp + 0x64]
push eax
call fcn.00405f56
push ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 1
call fcn.0040607c
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.00406028
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.0040ef32
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x54]
mov esi, eax
call fcn.0040eea9
cmp esi, 7
jne 0x40419d
mov byte [ebp - 4], 2
mov ecx, dword [ebp + 0x64]
call fcn.00406689
mov dword [ebp + 0x64], ebx
mov dword [ebp - 4], 3
mov ecx, dword [ebp + 0x58]
call fcn.00406689
jmp 0x40424f
mov byte [ebp - 4], 4
mov ecx, dword [ebp + 0x64]
call fcn.00406689
mov dword [ebp + 0x64], ebx
mov dword [ebp - 4], 5
mov ecx, dword [ebp + 0x58]
call fcn.00406689
jmp 0x404499
lea ebx, [edi + 0x62a]
mov ecx, ebx
call fcn.0040bb6c
test eax, eax
jne 0x404283
and dword [edi + 0xf90], eax
cmp dword [ebp + 0x64], eax
jne 0x404257
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.0040ef32
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x64]
mov esi, eax
call fcn.0040eea9
cmp esi, 7
jne 0x404257
cmp dword [edi + 0xc48], 0
je 0x40424f
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.0040ef32
push eax
mov ecx, edi
call fcn.004032cc
lea ecx, [ebp + 0x64]
call fcn.0040eea9
xor eax, eax
inc eax
jmp 0x4044a0
cmp dword [edi + 0xc48], 0
je 0x404499
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 0x404321
mov ecx, edi
call fcn.00405db9
push ebx
push 0x28
lea eax, [ebp]
push eax
push 0x43ace4
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.0041ff41
pop ecx
pop ecx
test eax, eax
je 0x404499
cmp dword [edi + 0x11b0], 1
jne 0x4043c1
cmp word [ebp], 0
jne 0x40433d
cmp dword [edi + 0xc48], 0
je 0x404499
push ecx
mov edx, 0x43c014
lea ecx, [ebp - 0x5c8]
call fcn.0040c3b0
pop ecx
test eax, eax
je 0x404302
push ecx
mov edx, ebx
lea ecx, [ebp - 0x5c8]
call fcn.0040bae2
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.0040ef32
push eax
mov ecx, edi
call fcn.004032cc
lea ecx, [ebp + 0x64]
call fcn.0040eea9
jmp 0x404499
lea eax, [ebp - 0x3bc]
mov ecx, edi
push eax
call fcn.00404dd3
test eax, eax
je 0x4043c1
lea ecx, [ebp - 0x3bc]
call fcn.0040bd2b
lea eax, [ebp - 0x3bc]
push str.WDSetup.exe
push eax
call fcn.0041fb08
pop ecx
pop ecx
lea eax, [ebp - 0x3bc]
push eax
push 0x28
lea eax, [ebp - 0x15c]
push eax
call fcn.00404caa
test eax, eax
je 0x4043c1
push ebx
push 0x28
lea eax, [ebp - 0x1b0]
push eax
push 0x43ace4
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.0041fb97
pop ecx
pop ecx
test eax, eax
je 0x4043c1
mov ecx, edi
call fcn.00405393
push ebx
push 0
push str.VERSION_OBLIGATOIRE
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x40449d
lea eax, [edi + 0x420]
push eax
push 0x28
lea eax, [ebp - 0x60]
push eax
push 0x43ace4
push str.LIMITEMAJ
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x60], 0
je 0x404423
lea eax, [ebp - 0x60]
push eax
call fcn.0041fb39
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp]
push eax
call fcn.0041fb39
pop ecx
mov edx, eax
lea ecx, [ebp]
call fcn.0040e2f7
test eax, eax
jle 0x404499
push ebx
push 0x28
lea eax, [ebp - 0xb4]
push eax
push 0x43ace4
push str.DERNIERE_VERSION
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0xb4], 0
je 0x40447a
lea eax, [ebp - 0xb4]
push eax
call fcn.0041fb39
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041fb39
pop ecx
mov edx, eax
lea ecx, [ebp - 0x108]
call fcn.0040e2f7
test eax, eax
js 0x40449d
mov ecx, edi
call fcn.00405d16
test eax, eax
jne 0x40449d
cmp dword [edi + 0xc48], eax
je 0x404499
push str.141___V
mov ecx, edi
call fcn.004032cc
xor eax, eax
jmp 0x4044a0
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