Function at 0x4131f7
Capabilities:
Accept command line arguments
Read .ini file
Read file on windows
Read from mailslot

Disassembly:
mov eax, 0x42f457
call fcn.0042ef64
mov eax, 0x4648
call fcn.0042d240
push ebx
push esi
push edi
mov edi, ecx
lea eax, [edi + 0x420]
push eax
push 0
push str.SILENTCHECKVERSION
lea esi, [edi + 0x834]
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor ebx, ebx
mov ecx, edi
cmp dword [edi + 0x11b0], 1
push eax
sete bl
call fcn.00413c09
xor ecx, ecx
sub eax, ecx
je 0x413655
sub eax, 1
je 0x41363d
sub eax, 1
je 0x41326d
cmp dword [edi + 0xc48], ecx
je 0x413651
push str.La_version_de_WDUpdate_nest_pas_compatible_avec_cet_ex
jmp 0x41364a
mov ecx, edi
call fcn.004145a4
test eax, eax
jne 0x413651
mov ecx, edi
call fcn.004144eb
test eax, eax
jne 0x41328e
mov eax, ebx
jmp 0x41366c
lea eax, [ebp - 0x238]
mov ecx, edi
push eax
call fcn.00414ad7
test eax, eax
je 0x413287
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x650]
push str.__sWDSETUP.EXE_
push eax
call fcn.00405699
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea eax, [edi + 0xc]
push eax
push 0x17
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
lea eax, [ebp - 0x2650]
push str.__CHECK__s____PID_d___VERSION_PARENT_d__PATHCLT__s____CMD__s_
push eax
call fcn.00405699
add esp, 0x1c
mov esi, eax
cmp dword [edi + 0xc48], 0
je 0x413327
push esi
lea eax, [ebp - 0x2650]
push eax
lea eax, [ebp - 0x10]
push str.101___Ligne_de_commande_de_v
push eax
call fcn.00402d4f
add esp, 0x10
and dword [ebp - 4], 0
mov ecx, eax
call fcn.0040b37e
push eax
mov ecx, edi
call fcn.00412ee3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0040b313
test esi, esi
jns 0x413355
push dword [edi + 0xf9c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [edi + 0xc48], 0
je 0x413287
push str.151___Ligne_de_commande_trop_longue
mov ecx, edi
call fcn.00412ee3
jmp 0x413287
cmp dword [edi + 0xc48], 0
je 0x4133da
push str.102___Lancement_du_controleur_de_version
mov ecx, edi
call fcn.00412ee3
lea eax, [ebp - 0x2650]
push eax
lea eax, [ebp - 0x10]
push str.103___Ligne_de_commande_:__s
push eax
call fcn.00402d4f
add esp, 0xc
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.0040b37e
push eax
mov ecx, edi
call fcn.00412ee3
lea ecx, [ebp - 0x10]
call fcn.0040b313
lea eax, [edi + 0x216]
push eax
lea eax, [ebp - 0x10]
push str.104___R
push eax
call fcn.00402d4f
add esp, 0xc
mov ecx, eax
mov dword [ebp - 4], 2
call fcn.0040b37e
push eax
mov ecx, edi
call fcn.00412ee3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0040b313
mov esi, dword [edi + 0x11b0]
mov eax, esi
sub eax, 0
je 0x413408
sub eax, 1
jne 0x413425
xor ecx, ecx
movzx eax, word [ebp + ecx - 0x238]
mov word [ebp + ecx - 0x444], ax
add ecx, 2
test ax, ax
jne 0x4133ee
jmp 0x413425
lea ecx, [edi + 0x216]
lea edx, [ebp - 0x444]
sub edx, ecx
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x413416
cmp esi, 1
jne 0x413435
lea ecx, [edi + 0x11b8]
call fcn.00417441
push ecx
xor esi, esi
lea eax, [ebp - 0x444]
push esi
push eax
lea edx, [ebp - 0x2650]
lea ecx, [ebp - 0x650]
call fcn.00417b9f
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4135bd
mov ecx, dword [edi + 0xf94]
test ecx, ecx
je 0x413472
push dword [edi + 0xf98]
call ecx
pop ecx
or dword [ebp - 0x14], 0xffffffff
cmp dword [edi + 0xc48], esi
je 0x41348a
push str.105___Attente_de_la_terminaison
mov ecx, edi
call fcn.00412ee3
push 0x2001
lea eax, [ebp - 0x4654]
push esi
push eax
call fcn.0041b200
add esp, 0xc
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push esi
lea eax, [ebp - 0x14]
push eax
push esi
push dword [edi + 0xf9c]
call dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
cmp dword [ebp - 0x14], 0xffffffff
je 0x41349f
lea eax, [edi + 0x834]
push eax
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
xor ebx, ebx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x24], ebx
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], ebx
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x4654]
mov dword [ebp - 0x1c], esi
push eax
push dword [edi + 0xf9c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x10]
call esi
lea ecx, [edi + 0x11b8]
call fcn.00417541
push dword [edi + 0xf9c]
call esi
cmp dword [edi + 0xc48], ebx
je 0x41359c
mov dword [ebp - 0x10], ebx
push ecx
mov dword [ebp - 4], 3
mov esi, dword [ebp - 0x14]
push ecx
mov ecx, dword [0x4421d8]
mov eax, dword [ecx]
call dword [eax + 0xc]
push eax
push ecx
push esi
lea eax, [ebp - 0x4654]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040c7a1
cmp dword [ebp - 0x10], ebx
mov eax, 0x4368b0
cmovne eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push str.106___Code_de_retour_de_WDUpdate_:__s
push eax
call fcn.00402d4f
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0040b37e
push eax
mov ecx, edi
call fcn.00412ee3
lea ecx, [ebp - 0x18]
call fcn.0040b313
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x41359c
call fcn.00405ca7
push dword [ebp - 0x14]
lea eax, [ebp - 0x4654]
push 0x43a0b4
push eax
call fcn.0041c420
add esp, 0xc
neg eax
sbb eax, eax
inc eax
jmp 0x41366c
lea ecx, [edi + 0x11b8]
call fcn.00417541
push esi
push esi
lea eax, [ebp - 0x10]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
cmp dword [edi + 0xc48], esi
je 0x413623
push dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push dword [ebp - 0x10]
push 0x43a0b8
push eax
call fcn.00402d4f
add esp, 0x10
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.0040b37e
push eax
mov ecx, edi
call fcn.00412ee3
lea ecx, [ebp - 0x18]
call fcn.0040b313
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [edi + 0xf9c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x413287
cmp dword [edi + 0xc48], ecx
je 0x413651
push str.108___Version_obsol
mov ecx, edi
call fcn.00412ee3
xor eax, eax
jmp 0x41366c
cmp dword [edi + 0xc48], ecx
je 0x413669
push str.107___Version
mov ecx, edi
call fcn.00412ee3
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret