Function at 0x40b571
Capabilities:
Print debug messages

Disassembly:
mov eax, 0x40d557
call fcn.00407bd0
mov eax, 0x21a0
call fcn.00407c70
push esi
push edi
push str.GTools32___InstallMIME._n
call dword [sym.imp.KERNEL32.DLL_OutputDebugStringA]
xor edi, edi
cmp dword [ebp + 8], edi
je 0x40bbb5
push dword [ebp + 8]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40bbb5
push dword [ebp + 8]
call sub.MSVCRT.dll_strlen
mov esi, 0x104
pop ecx
cmp eax, esi
ja 0x40bbb5
cmp dword [ebp + 0xc], edi
je 0x40bbae
push dword [ebp + 0xc]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40bbae
push dword [ebp + 0xc]
call sub.MSVCRT.dll_strlen
cmp eax, esi
pop ecx
ja 0x40bbae
push ebx
push 1
push 0x20019
push edi
lea ecx, [ebp - 0x428]
call fcn.004087f4
and byte [ebp - 0x11ac], 0
add esi, 0xfffffffb
mov dword [ebp - 4], edi
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x11ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ebx, 0x400
stosb byte es:[edi], al
push ebx
lea eax, [ebp - 0x11ac]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x9ac], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x9ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
lea eax, [ebp - 0x9ac]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0xdac], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0xdab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
lea eax, [ebp - 0xdac]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x15ac], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x15ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
lea eax, [ebp - 0x15ac]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x21ac], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x21ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
lea eax, [ebp - 0x21ac]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x19ac], 0
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x19ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edi, edi
push ebx
push edi
lea eax, [ebp - 0x19ac]
push eax
call sub.MSVCRT.dll_memset
mov esi, dword [ebp + 0xc]
add esp, 0x48
cmp byte [esi], 0x2e
jne 0x40b6fc
inc esi
mov dword [ebp + 0xc], esi
push esi
lea eax, [ebp - 0x11ac]
push 0x41462c
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
cmp dword [ebp + 0x10], edi
je 0x40b736
push dword [ebp + 0x10]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40b736
push dword [ebp + 0x10]
lea eax, [ebp - 0x9ac]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x40b74b
push esi
lea eax, [ebp - 0x9ac]
push str.application_x__s
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
cmp dword [ebp + 0x14], edi
je 0x40b770
push dword [ebp + 0x14]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40b770
push dword [ebp + 0x14]
lea eax, [ebp - 0xdac]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x40b785
push esi
lea eax, [ebp - 0xdac]
push str._s_File
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
cmp dword [ebp + 0x18], edi
je 0x40b7aa
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40b7aa
push dword [ebp + 0x18]
lea eax, [ebp - 0x15ac]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x40b7bf
push esi
lea eax, [ebp - 0x15ac]
push str._s_Data
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [ebp - 0x9ac]
push eax
lea eax, [ebp - 0x21ac]
push str.mimedatabasecontent_type_s
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [ebp - 0xdac]
push eax
lea eax, [ebp - 0x19ac]
push str._s_shellopencommand
push eax
call sub.MSVCRT.dll_sprintf
and byte [ebp - 0x5ac], 0
push 0x60
pop ecx
xor eax, eax
lea edi, [ebp - 0x5ab]
push 0x184
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x5ac]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
lea eax, [ebp - 0x5ac]
push dword [ebp + 8]
push str._s___1
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
mov esi, 0x2001f
lea eax, [ebp - 0x11ac]
mov edi, SysReAllocString
push 1
push esi
push eax
push edi
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bba7
lea eax, [ebp - 0xdac]
push 1
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0xdac]
push eax
push 0x414778
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea eax, [ebp - 0x9ac]
push 1
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x9ac]
push eax
push str.Content_Type
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
push 1
lea eax, [ebp - 0xdac]
push esi
push eax
push edi
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bba0
lea eax, [ebp - 0x15ac]
push 1
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x15ac]
push eax
push 0x414778
lea ecx, [ebp - 0x428]
call fcn.00408b6b
push 3
push 0x4145b0
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push 0x4145b0
push str.EditFlags
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
push 1
lea eax, [ebp - 0x21ac]
push esi
push eax
push edi
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bb99
lea eax, [ebp - 0x11ac]
push 1
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x11ac]
push eax
push str.Extension
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
push 1
lea eax, [ebp - 0x19ac]
push esi
push eax
push edi
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bb92
lea eax, [ebp - 0x5ac]
push 1
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x5ac]
push eax
push 0x414778
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
push 1
push esi
push str..default_software_netscape_netscape_navigator_viewers
push SysStringLen
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bb8b
lea eax, [ebp - 0x5ac]
push 1
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0x9ac]
push eax
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
lea eax, [ebp - 0x9ac]
push 0
push eax
call fcn.0040c111
and byte [ebp - 0x1dac], 0
mov dword [ebp + 0x10], eax
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x1dab]
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1dac]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x14
cmp dword [ebp + 0x10], 0xffffffff
je 0x40bb84
push dword [ebp + 0x10]
lea eax, [ebp - 0x1dac]
push str.TYPE_d
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
mov edi, SysStringLen
lea ecx, [ebp - 0x428]
push 1
pop ebx
push ebx
push esi
push str..default_software_netscape_netscape_navigator_viewers
push edi
call fcn.004089a6
cmp eax, 2
je 0x40bb84
lea eax, [ebp - 0x9ac]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x9ac]
push eax
lea eax, [ebp - 0x1dac]
push eax
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
push ebx
push esi
push str..default_software_netscape_netscape_navigatoruser_trusted_external_applications
push edi
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bb7d
push ebx
mov ebx, 0x414500
push ebx
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push ebx
push dword [ebp + 8]
lea ecx, [ebp - 0x428]
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
push 1
push esi
push str..default_software_netscape_netscape_navigator_suffixes
push edi
lea ecx, [ebp - 0x428]
call fcn.004089a6
cmp eax, 2
je 0x40bb76
push 1
push dword [ebp + 0xc]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x9ac]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x428]
push eax
call fcn.00408b6b
lea ecx, [ebp - 0x428]
call fcn.004089d9
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00408825
mov eax, esi
pop ebx
jmp 0x40bbba
mov esi, 0xfffffba9
jmp 0x40bb62
mov esi, 0xfffffbaa
jmp 0x40bb62
mov esi, 0xfffffbab
jmp 0x40bb62
mov esi, 0xfffffbac
jmp 0x40bb62
mov esi, 0xfffffbad
jmp 0x40bb62
mov esi, 0xfffffbae
jmp 0x40bb62
mov esi, 0xfffffbaf
jmp 0x40bb62
mov esi, 0xfffffbb0
jmp 0x40bb62
mov eax, 0xfffffbb2
jmp 0x40bbba
mov eax, 0xfffffbb3
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret