Function at 0x40405f
Capabilities:
Read .ini file

Disassembly:
push ebp
sub esp, 0x58
mov eax, 0x430353
call fcn.00430150
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.00404cbc
test eax, eax
jne 0x404094
push 2
pop eax
jmp 0x4044b3
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.00406fb3
mov ecx, edi
call fcn.00404e8f
test eax, eax
jne 0x4041c0
cmp dword [ebp + 0x64], ebx
jne 0x4044ab
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.00405f68
push ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 1
call fcn.0040608e
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.0040603a
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.0040ef7e
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x54]
mov esi, eax
call fcn.0040eef5
cmp esi, 7
jne 0x40419d
mov byte [ebp - 4], 2
mov ecx, dword [ebp + 0x64]
call fcn.004066ac
mov dword [ebp + 0x64], ebx
mov dword [ebp - 4], 3
mov ecx, dword [ebp + 0x58]
call fcn.004066ac
jmp 0x40424f
mov byte [ebp - 4], 4
mov ecx, dword [ebp + 0x64]
call fcn.004066ac
mov dword [ebp + 0x64], ebx
mov dword [ebp - 4], 5
mov ecx, dword [ebp + 0x58]
call fcn.004066ac
jmp 0x4044ab
lea ebx, [edi + 0x62a]
mov ecx, ebx
call fcn.0040bbe5
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.0040ef7e
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x64]
mov esi, eax
call fcn.0040eef5
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.0040ef7e
push eax
mov ecx, edi
call fcn.004032cc
lea ecx, [ebp + 0x64]
call fcn.0040eef5
xor eax, eax
inc eax
jmp 0x4044b2
cmp dword [edi + 0xc48], 0
je 0x4044ab
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.00405dcb
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.0041fe01
pop ecx
pop ecx
test eax, eax
je 0x4044ab
cmp dword [edi + 0x11b0], 1
jne 0x4043c1
cmp word [ebp], 0
jne 0x40433d
cmp dword [edi + 0xc48], 0
je 0x4044ab
push ecx
mov edx, 0x43c014
lea ecx, [ebp - 0x5c8]
call fcn.0040c427
pop ecx
test eax, eax
je 0x404302
push ecx
mov edx, ebx
lea ecx, [ebp - 0x5c8]
call fcn.0040bb3b
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.0040ef7e
push eax
mov ecx, edi
call fcn.004032cc
lea ecx, [ebp + 0x64]
call fcn.0040eef5
jmp 0x4044ab
lea eax, [ebp - 0x3bc]
mov ecx, edi
push eax
call fcn.00404de5
test eax, eax
je 0x4043c1
lea ecx, [ebp - 0x3bc]
call fcn.0040bda4
lea eax, [ebp - 0x3bc]
push str.WDSetup.exe
push eax
call fcn.0041f9c8
pop ecx
pop ecx
lea eax, [ebp - 0x3bc]
push eax
push 0x28
lea eax, [ebp - 0x15c]
push eax
call fcn.00404cbc
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.0041fa57
pop ecx
pop ecx
test eax, eax
je 0x4043c1
mov ecx, edi
call fcn.004053a5
push ebx
push 0
push str.VERSION_OBLIGATOIRE
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x4044af
call fcn.0040e2ec
lea ecx, [edi + 0x420]
mov dword [ebp + 0x64], eax
push ecx
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 0x404430
lea eax, [ebp - 0x60]
push eax
call fcn.0041f9f9
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp]
push eax
call fcn.0041f9f9
pop ecx
mov ecx, dword [ebp + 0x64]
lea edx, [ebp]
push eax
call fcn.0040e2f7
add esp, 0x10
test eax, eax
jle 0x4044ab
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 0x40448c
lea eax, [ebp - 0xb4]
push eax
call fcn.0041f9f9
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0041f9f9
pop ecx
mov ecx, dword [ebp + 0x64]
lea edx, [ebp - 0x108]
push eax
call fcn.0040e2f7
add esp, 0x10
test eax, eax
js 0x4044af
mov ecx, edi
call fcn.00405d28
test eax, eax
jne 0x4044af
cmp dword [edi + 0xc48], eax
je 0x4044ab
push str.141___V
mov ecx, edi
call fcn.004032cc
xor eax, eax
jmp 0x4044b2
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