Function at 0x40d160
Capabilities:
Check if file exists
Delete file
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480ae9
mov eax, dword fs:[0]
push eax
sub esp, 0x8f4
mov eax, dword [0x4c33d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8fc], edx
mov ebx, ecx
mov dword [ebp - 0x900], 0
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x48fcb8
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8ac], 7
mov dword [ebp - 0x8b0], 0
mov word [ebp - 0x8c0], ax
call fcn.00401d60
push 3
push 0
push 0x491ab8
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.0040e050
mov edi, eax
mov eax, 0xfffffffd
cmp edi, 0xffffffff
cmove edi, eax
push 1
lea esi, [edi + 3]
push esi
lea eax, [ebp - 0x8f4]
push eax
lea ecx, [ebp + 8]
mov dword [ebp - 0x8f4], 0x2f
call fcn.0040e050
cmp eax, 0xffffffff
cmove eax, dword [ebp + 0x18]
sub eax, edi
sub eax, 3
push eax
push esi
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp + 8]
call fcn.0040e010
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
mov edi, eax
lea eax, [ebp - 0x8c0]
cmp eax, edi
je 0x40d282
cmp dword [ebp - 0x8ac], 8
jb 0x40d259
push dword [ebp - 0x8c0]
call esi
add esp, 4
xor eax, eax
push edi
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8ac], 7
mov dword [ebp - 0x8b0], 0
mov word [ebp - 0x8c0], ax
call fcn.0040bcc0
cmp dword [ebp - 0x8c4], 8
jb 0x40d296
push dword [ebp - 0x8d8]
call esi
add esp, 4
cmp dword [ebp - 0x8fc], 0
je 0x40d5e5
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x6a0], ax
lea eax, [ebp - 0x69e]
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [0x4c9770]
add esp, 0xc
test al, 1
jne 0x40d2df
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
sub esp, 8
lea eax, [ebp - 0x6a0]
push eax
call fcn.0045a650
push 0x491ac0
lea eax, [ebp - 0x6a0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov eax, dword [0x4c9770]
test al, 1
jne 0x40d31e
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
lea ecx, [ebp - 0x6a0]
call fcn.0045aad0
xor eax, eax
push 0x76
push eax
mov word [ebp - 0x88], ax
lea eax, [ebp - 0x86]
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [0x4c9770]
add esp, 0xc
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
cmovae edi, dword [ebp + 8]
test al, 1
jne 0x40d36d
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
mov edx, edi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40d372
sub edx, ecx
sar edx, 1
je 0x40d391
lea eax, [ebp - 0x88]
push eax
mov ecx, edi
call fcn.0045a740
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x8a8], ax
lea eax, [ebp - 0x8a6]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x6a0]
push eax
lea eax, [ebp - 0x8a8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x498], ax
lea eax, [ebp - 0x496]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x8a8]
push eax
lea eax, [ebp - 0x498]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0x498]
push 0x491ac8
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscat_s]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0xc
lea eax, [ebp - 0x498]
push eax
call edi
test eax, eax
jne 0x40d5bb
push 1
push eax
lea eax, [ebp - 0x8f4]
push eax
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8f4], 0x2e
call fcn.0040e050
cmp eax, 0xffffffff
je 0x40d5bb
push str.http:__
lea ecx, [ebp - 0x8d8]
call fcn.00401e60
push str._favicon.ico
lea edx, [ebp - 0x8c0]
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 4], 2
call fcn.0040e140
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x8d8]
mov byte [ebp - 4], 3
call fcn.0040bba0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x8dc], 8
jb 0x40d4b6
push dword [ebp - 0x8f0]
call esi
add esp, 4
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x290], ax
lea eax, [ebp - 0x28e]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x8a8]
push eax
lea eax, [ebp - 0x290]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0x290]
push str..ico
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscat_s]
add esp, 0xc
lea eax, [ebp - 0x290]
push 0
push 0
push 1
push 0
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x40d52f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x8c4], 8
push 0
push 0
lea ecx, [ebp - 0x290]
lea eax, [ebp - 0x8d8]
cmovae eax, dword [ebp - 0x8d8]
push ecx
push eax
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileW]
test eax, eax
jne 0x40d596
lea eax, [ebp - 0x8f8]
push eax
push 2
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x290]
push eax
mov dword [ebp - 0x8f8], 0x18
mov dword [ebp - 0x8f4], 0x18
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::COUIManager::SaveImageFromFile_wchar_t_const___wchar_t_const___enum_OUI::OIMAGE_FORMAT__struct_tagSIZE__]
jmp 0x40d5a3
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x8c4], 8
jb 0x40d5bb
push dword [ebp - 0x8d8]
call esi
add esp, 4
lea eax, [ebp - 0x498]
push eax
call edi
test eax, eax
je 0x40d5e5
push 0
push dword [ebp - 0x8fc]
lea eax, [ebp - 0x498]
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::ORES_TABLE____cdecl_OUI::ORES_TABLE::GetResTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::ORES_TABLE::LoadImageFromFile_wchar_t_const___struct_OUI::IImage____bool_]
push 4
push 0
push str.www.
lea ecx, [ebp - 0x8c0]
call fcn.0040e050
test eax, eax
jne 0x40d613
push dword [ebp - 0x8b0]
lea ecx, [ebp - 0x8c0]
push 4
push ebx
call fcn.0040e010
jmp 0x40d621
lea eax, [ebp - 0x8c0]
push eax
mov ecx, ebx
call fcn.0040e240
cmp dword [ebp - 0x8ac], 8
jb 0x40d635
push dword [ebp - 0x8c0]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp + 0x1c], 8
mov word [ebp - 0x8c0], ax
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x8ac], 7
jb 0x40d65c
push dword [ebp + 8]
call esi
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047cd06
mov esp, ebp
pop ebp
ret