Function at 0x402d6b
Capabilities:
Accept command line arguments
Create process on windows
Read file on windows
Read from mailslot

Disassembly:
mov eax, 0x410378
call fcn.00407a20
mov eax, 0x3090
call fcn.00408510
push ebx
push esi
push edi
mov esi, ecx
call fcn.00403550
xor edi, edi
sub eax, edi
je 0x4030d4
dec eax
je 0x4030be
dec eax
je 0x402db8
cmp dword [esi + 0x41c], edi
je 0x402db1
push str.La_version_de_WDUpdate_nest_pas_compatible_avec_cet_ex
mov ecx, esi
call fcn.00402a1a
xor eax, eax
jmp 0x4030eb
mov ecx, esi
call fcn.00403b94
test eax, eax
jne 0x402db1
mov ecx, esi
call fcn.00403ad2
test eax, eax
je 0x402db1
lea ebx, [esi + 0x10d]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esi + 0x212]
push eax
push ebx
lea eax, [ebp - 0x1098]
push str._sWDSETUP8.DAT__CHECK__s____PID_d__PATHCLT__s____CMD__s_
push eax
call fcn.004084af
add esp, 0x1c
cmp dword [esi + 0x41c], edi
mov dword [ebp - 0x10], eax
je 0x402e44
push eax
lea eax, [ebp - 0x1098]
push eax
lea eax, [ebp - 0x24]
push str.101___Ligne_de_commande_de_v
push eax
call fcn.00406066
add esp, 0x10
mov ecx, eax
mov dword [ebp - 4], edi
call fcn.00405c30
push eax
mov ecx, esi
call fcn.00402a1a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00405bfb
cmp dword [ebp - 0x10], edi
jge 0x402e5f
cmp dword [esi + 0x41c], edi
je 0x402db1
push str.151___Ligne_de_commande_trop_longue
jmp 0x402daa
push 0x44
lea eax, [ebp - 0x98]
push edi
push eax
call fcn.00407d00
push 0x10
lea eax, [ebp - 0x54]
push edi
push eax
mov dword [ebp - 0x98], 0x44
call fcn.00407d00
add esp, 0x18
cmp dword [esi + 0x41c], edi
je 0x402f09
push str.102___Lancement_du_controleur_de_version
mov ecx, esi
call fcn.00402a1a
lea eax, [ebp - 0x1098]
push eax
lea eax, [ebp - 0x28]
push str.103___Ligne_de_commande_:__s
push eax
call fcn.00406066
add esp, 0xc
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.00405c30
push eax
mov ecx, esi
call fcn.00402a1a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00405bfb
push ebx
lea eax, [ebp - 0x20]
push str.104___R
push eax
call fcn.00406066
add esp, 0xc
mov ecx, eax
mov dword [ebp - 4], 2
call fcn.00405c30
push eax
mov ecx, esi
call fcn.00402a1a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00405bfb
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x98]
push eax
push ebx
push edi
push 0x20
push edi
push edi
lea eax, [ebp - 0x1098]
push edi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ebx, eax
mov eax, dword [esi + 0x5c8]
cmp eax, edi
je 0x402f3e
push dword [esi + 0x5cc]
call eax
pop ecx
cmp ebx, edi
jne 0x402faf
push edi
lea eax, [ebp - 0x10]
push edi
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
cmp dword [esi + 0x41c], edi
je 0x402fa1
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x10]
push str.Impossible_de_lancer_lapplication_de_contr
push eax
call fcn.00406066
add esp, 0x10
mov ecx, eax
mov dword [ebp - 4], 3
call fcn.00405c30
push eax
mov ecx, esi
call fcn.00402a1a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00405bfb
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x402db1
or dword [ebp - 0x18], 0xffffffff
cmp dword [esi + 0x41c], edi
mov ebx, 0x103
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ebx
je 0x402fdb
push str.105___Attente_de_la_terminaison
mov ecx, esi
call fcn.00402a1a
cmp dword [ebp - 0x14], ebx
jne 0x402db1
cmp dword [ebp - 0x10], edi
jne 0x403019
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push edi
lea eax, [ebp - 0x18]
push edi
push eax
push edi
push dword [esi + 0x5d0]
call dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
xor eax, eax
cmp dword [ebp - 0x18], 0xffffffff
setne al
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], eax
je 0x402fdb
cmp dword [ebp - 0x14], ebx
jne 0x402db1
lea eax, [esi + 0x212]
push eax
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ebx, eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x309c]
push dword [ebp - 0x18]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
push eax
push dword [esi + 0x5d0]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi + 0x41c], edi
je 0x4030a4
lea eax, [ebp - 0x309c]
push eax
lea eax, [ebp - 0x2c]
push str.106___Code_de_retour_de_WDUpdate_:__s
push eax
call fcn.00406066
add esp, 0xc
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.00405c30
push eax
mov ecx, esi
call fcn.00402a1a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00405bfb
lea eax, [ebp - 0x309c]
push 0x4145e4
push eax
call fcn.00408400
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x4030eb
cmp dword [esi + 0x41c], edi
je 0x402db1
push str.108___Version_obsol
jmp 0x402daa
cmp dword [esi + 0x41c], edi
je 0x4030e8
push str.107___Version
mov ecx, esi
call fcn.00402a1a
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret