Function at 0x409ed6
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, 0x4302ac
call fcn.0042fda0
push ecx
push ecx
push ebx
push esi
xor ebx, ebx
mov esi, 0x447238
push edi
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedExchange]
inc ebx
jmp 0x409efc
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
call edi
test eax, eax
jne 0x409ef5
mov eax, dword [0x44723c]
inc eax
mov dword [0x44723c], eax
cmp eax, ebx
jne 0x40a178
cmp dword [0x447240], 0
jne 0x40a178
push ecx
lea ecx, [ebp - 0x10]
call fcn.0040eea2
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ebx
call fcn.0040ef3e
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x447240], eax
test eax, eax
jne 0x409f86
push esi
lea eax, [ebp - 0x14]
push str.Chargement_de_la_biblioth
push eax
call fcn.00402a02
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0040ef3e
push eax
xor ecx, ecx
call fcn.004104e3
lea ecx, [ebp - 0x14]
call fcn.0040eeb5
push ebx
push 0x447238
call edi
jmp 0x40a16c
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.FtpCommandW
push eax
call esi
push str.InternetWriteFile
push dword [0x447240]
call esi
push str.FtpOpenFileW
push dword [0x447240]
mov dword [0x4471e0], eax
call esi
push str.InternetReadFile
push dword [0x447240]
mov dword [0x4471e8], eax
call esi
push str.FtpSetCurrentDirectoryW
push dword [0x447240]
mov dword [0x4471e4], eax
call esi
push str.FtpGetCurrentDirectoryW
push dword [0x447240]
mov dword [0x4471f4], eax
call esi
push str.FtpRemoveDirectoryW
push dword [0x447240]
mov dword [0x4471f8], eax
call esi
push str.FtpCreateDirectoryW
push dword [0x447240]
mov dword [0x4471fc], eax
call esi
push str.FtpRenameFileW
push dword [0x447240]
mov dword [0x447200], eax
call esi
push str.FtpDeleteFileW
push dword [0x447240]
mov dword [0x447204], eax
call esi
push str.InternetFindNextFileW
push dword [0x447240]
mov dword [0x447208], eax
call esi
push str.FtpFindFirstFileW
push dword [0x447240]
mov dword [0x4471ec], eax
call esi
push str.InternetSetOptionW
push dword [0x447240]
mov dword [0x4471f0], eax
call esi
push str.InternetOpenW
push dword [0x447240]
mov dword [0x447210], eax
call esi
push str.InternetCloseHandle
push dword [0x447240]
mov dword [0x44721c], eax
call esi
push str.InternetConnectW
push dword [0x447240]
mov dword [0x447218], eax
call esi
push str.InternetGetLastResponseInfoW
push dword [0x447240]
mov dword [0x44720c], eax
call esi
push str.HttpOpenRequestW
push dword [0x447240]
mov dword [0x447214], eax
call esi
push str.HttpSendRequestW
push dword [0x447240]
mov dword [0x447234], eax
call esi
push str.InternetQueryOptionW
push dword [0x447240]
mov dword [0x44722c], eax
call esi
mov dword [0x447220], eax
push str.InternetErrorDlg
push dword [0x447240]
call esi
push str.HttpAddRequestHeadersW
push dword [0x447240]
mov dword [0x447228], eax
call esi
push str.InternetGetConnectedState
push dword [0x447240]
mov dword [0x447230], eax
call esi
push str.HttpQueryInfoW
push dword [0x447240]
call esi
push str.FtpGetFileSize
push dword [0x447240]
mov dword [0x447224], eax
call esi
push str.FtpPutFileW
push dword [0x447240]
call esi
push str.HttpSendRequestExW
push dword [0x447240]
call esi
push str.HttpEndRequestW
push dword [0x447240]
call esi
push ebx
push 0x447238
call edi
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x10]
call fcn.0040eeb5
mov eax, ebx
jmp 0x40a188
push 0
push esi
call edi
xor eax, eax
cmp dword [0x447240], eax
setne al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret