Function at 0x404055
Capabilities:
Read .ini file

Disassembly:
push ebp
sub esp, 0x58
mov eax, 0x431f03
call fcn.00431d00
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.00404cac
test eax, eax
jne 0x40408a
push 2
pop eax
jmp 0x4044a3
cmp dword [edi + 0x11b0], 1
push esi
lea esi, [edi + 0x834]
jne 0x4041b0
push esi
lea eax, [edi + 0x420]
lea ecx, [edi + 0x11c0]
push eax
call fcn.00406fec
mov ecx, edi
call fcn.00404e7f
test eax, eax
jne 0x4041b0
cmp dword [ebp + 0x64], ebx
jne 0x40449b
mov dword [ebp + 0x58], ebx
mov dword [ebp - 4], ebx
lea ecx, [edi + 0x11c0]
cmp dword [ecx], 0
mov ebx, 0x43cc84
mov eax, ebx
cmovne eax, dword [ecx]
push ecx
push eax
lea ecx, [ebp + 0x64]
call fcn.00405f14
push ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 1
call fcn.0040603a
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.00405fe6
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.004029fb
add esp, 0x24
mov ecx, eax
push 0x14
push esi
call fcn.0040f58a
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x54]
mov esi, eax
call fcn.0040f501
cmp esi, 7
jne 0x404190
mov byte [ebp - 4], 2
mov ecx, dword [ebp + 0x64]
call fcn.004066dc
mov dword [ebp - 4], 3
mov ecx, dword [ebp + 0x58]
call fcn.004066dc
jmp 0x40423f
mov byte [ebp - 4], 4
mov ecx, dword [ebp + 0x64]
call fcn.004066dc
mov dword [ebp - 4], 5
mov ecx, dword [ebp + 0x58]
call fcn.004066dc
jmp 0x40449b
lea ebx, [edi + 0x62a]
mov ecx, ebx
call fcn.0040c1e9
test eax, eax
jne 0x404273
and dword [edi + 0xf90], eax
cmp dword [ebp + 0x64], eax
jne 0x404247
push ebx
push ebx
lea eax, [ebp + 0x64]
push str.Le_fichier_des_param
push eax
call fcn.004029fb
add esp, 0x10
mov ecx, eax
call fcn.0040f58a
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp + 0x64]
mov esi, eax
call fcn.0040f501
cmp esi, 7
jne 0x404247
cmp dword [edi + 0xc48], 0
je 0x40423f
push ebx
push ebx
lea eax, [ebp + 0x64]
push str.127___Le_fichier_de_param
push eax
call fcn.004029fb
add esp, 0x10
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.0040f58a
push eax
mov ecx, edi
call fcn.004032a6
lea ecx, [ebp + 0x64]
call fcn.0040f501
xor eax, eax
inc eax
jmp 0x4044a2
cmp dword [edi + 0xc48], 0
je 0x40449b
push ebx
push ebx
lea eax, [ebp + 0x64]
push str.126___Le_fichier_de_param
push eax
call fcn.004029fb
add esp, 0x10
mov dword [ebp - 4], 7
jmp 0x404311
mov ecx, edi
call fcn.00405dce
push ebx
push 0x28
lea eax, [ebp]
push eax
push 0x43cc84
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.00421326
pop ecx
pop ecx
test eax, eax
je 0x40449b
cmp dword [edi + 0x11b0], 1
jne 0x4043b1
cmp word [ebp], 0
jne 0x40432d
cmp dword [edi + 0xc48], 0
je 0x40449b
push ecx
mov edx, 0x43dfb4
lea ecx, [ebp - 0x5c8]
call fcn.0040cbbf
pop ecx
test eax, eax
je 0x4042f2
push ecx
mov edx, ebx
lea ecx, [ebp - 0x5c8]
call fcn.0040c0bb
pop ecx
lea eax, [ebp - 0x5c8]
push eax
lea eax, [ebp + 0x64]
push str.140___Impossible_de_d
push eax
call fcn.004029fb
add esp, 0xc
mov dword [ebp - 4], 8
mov ecx, eax
call fcn.0040f58a
push eax
mov ecx, edi
call fcn.004032a6
lea ecx, [ebp + 0x64]
call fcn.0040f501
jmp 0x40449b
lea eax, [ebp - 0x3bc]
mov ecx, edi
push eax
call fcn.00404dd5
test eax, eax
je 0x4043b1
lea ecx, [ebp - 0x3bc]
call fcn.0040c44f
lea eax, [ebp - 0x3bc]
push str.WDSetup.exe
push eax
call fcn.00420b23
pop ecx
pop ecx
lea eax, [ebp - 0x3bc]
push eax
push 0x28
lea eax, [ebp - 0x15c]
push eax
call fcn.00404cac
test eax, eax
je 0x4043b1
push ebx
push 0x28
lea eax, [ebp - 0x1b0]
push eax
push 0x43cc84
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.00420f91
pop ecx
pop ecx
test eax, eax
je 0x4043b1
mov ecx, edi
call fcn.0040539d
push ebx
push 0
push str.VERSION_OBLIGATOIRE
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x40449f
call fcn.0040e934
lea ecx, [edi + 0x420]
mov dword [ebp + 0x64], eax
push ecx
push 0x28
lea eax, [ebp - 0x60]
push eax
push 0x43cc84
push str.LIMITEMAJ
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x60], 0
je 0x404420
lea eax, [ebp - 0x60]
push eax
call fcn.00420c76
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp]
push eax
call fcn.00420c76
pop ecx
mov ecx, dword [ebp + 0x64]
lea edx, [ebp]
push eax
call fcn.0040e93f
add esp, 0x10
test eax, eax
jle 0x40449b
push ebx
push 0x28
lea eax, [ebp - 0xb4]
push eax
push 0x43cc84
push str.DERNIERE_VERSION
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0xb4], 0
je 0x40447c
lea eax, [ebp - 0xb4]
push eax
call fcn.00420c76
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00420c76
pop ecx
mov ecx, dword [ebp + 0x64]
lea edx, [ebp - 0x108]
push eax
call fcn.0040e93f
add esp, 0x10
test eax, eax
js 0x40449f
mov ecx, edi
call fcn.00405d2b
test eax, eax
jne 0x40449f
cmp dword [edi + 0xc48], eax
je 0x40449b
push str.141___V
mov ecx, edi
call fcn.004032a6
xor eax, eax
jmp 0x4044a2
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