Function at 0x404460
Capabilities:
Check http status code
Create http request
Delete file
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa14
mov eax, dword [0x41e024]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, ecx
push esi
lea ecx, [ebx + 0x800]
push ecx
lea edx, [ebp - 0x104]
push str._s_s
push edx
mov dword [ebp - 0xa14], esi
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], 0
mov dword [ebp - 0xa10], 4
call fcn.004093d0
push 0xff
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.004094c0
mov eax, esi
add esp, 0x1c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4044d2
sub eax, edx
dec eax
push eax
lea ecx, [ebp - 0x204]
push esi
push ecx
call fcn.004091d3
lea edi, [ebp - 0x204]
add esp, 0xc
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4044f4
mov dx, word [0x4187a0]
mov word [edi], dx
push esi
lea edi, [ebx + 0x400]
push edi
lea eax, [ebp - 0x404]
push str._s__s
push eax
call fcn.004093d0
lea ecx, [ebp - 0x204]
push ecx
push edi
lea edx, [ebp - 0x604]
push str._s__s
push edx
call fcn.004093d0
mov eax, dword [ebp - 0xa0c]
add esp, 0x20
push eax
lea ecx, [ebp - 0x104]
push ecx
mov ecx, ebx
call fcn.00404190
test al, al
je 0x40471f
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xa0c], eax
cmp eax, 0xffffffff
jne 0x4045cd
lea eax, [ebp - 0x104]
push eax
push str.ERROR_creating:__s
lea ecx, [ebp - 0xa04]
push 0x400
push ecx
call fcn.00409454
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edx, [ebp - 0xa04]
push edx
call fcn.00404070
add esp, 8
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409472
mov esp, ebp
pop ebp
ret 8
push 0
push 0
push 0
push 0
push str.CF1WebLaunchAfx
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
test edi, edi
je 0x4045b8
push 0
push 0x100
push 0
push 0
lea eax, [ebp - 0x404]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov esi, eax
test esi, esi
je 0x4045b8
push 0
lea ecx, [ebp - 0xa10]
push ecx
lea edx, [ebp - 0xa08]
push edx
push 0x20000013
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x404631
cmp dword [ebp - 0xa08], 0xc8
je 0x404685
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x604]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov esi, eax
test esi, esi
je 0x4045b8
push 0
lea ecx, [ebp - 0xa10]
push ecx
lea edx, [ebp - 0xa08]
push edx
push 0x20000013
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x4045b8
cmp dword [ebp - 0xa08], 0xc8
jne 0x4045b8
mov eax, dword [ebp - 0xa0c]
push eax
push esi
mov ecx, ebx
call fcn.004039a0
test al, al
je 0x4045b8
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push edi
call esi
mov ecx, dword [ebp - 0xa0c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x104]
push edx
mov ecx, ebx
call fcn.00403f70
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.verify_signature_of_file
call esi
lea eax, [ebp - 0x104]
push eax
call esi
mov ecx, dword [ebp - 0xa14]
push ecx
mov ecx, ebx
call fcn.00403960
test al, al
jne 0x404725
lea edx, [ebp - 0x104]
push edx
mov ecx, ebx
call fcn.00404100
test al, al
jne 0x404725
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409472
mov esp, ebp
pop ebp
ret 8
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.DownloadWidget::doFile_returned_success
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov al, 1
pop ebx
call fcn.00409472
mov esp, ebp
pop ebp
ret 8