Function at 0x40bbc8
Capabilities:
Print debug messages

Disassembly:
mov eax, 0x40d56f
call fcn.00407bd0
mov eax, 0x2524
call fcn.00407c70
push esi
push str.GTools32___UnInstallMIME._n
call dword [sym.imp.KERNEL32.DLL_OutputDebugStringA]
xor esi, esi
cmp dword [ebp + 8], esi
je 0x40c0ff
push dword [ebp + 8]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40c0ff
push dword [ebp + 8]
call sub.MSVCRT.dll_strlen
cmp eax, 0x104
pop ecx
ja 0x40c0ff
push ebx
push edi
push 1
push 0x20019
push esi
lea ecx, [ebp - 0x530]
call fcn.004087f4
and byte [ebp - 0x2130], 0
mov ebx, 0xff
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x212f]
mov dword [ebp - 4], esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, 0x400
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x2130]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0xd30], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0xd2f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0xd30]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x930], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x92f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x930]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x2530], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x252f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x2530]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x1930], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x192f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x1930]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x1530], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x152f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
push 0
lea eax, [ebp - 0x1530]
push eax
call sub.MSVCRT.dll_memset
mov edi, dword [ebp + 8]
add esp, 0x48
cmp byte [edi], 0x2e
jne 0x40bd24
inc edi
push edi
lea eax, [ebp - 0x2130]
push 0x41462c
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x40bd5f
push dword [ebp + 0xc]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40bd5f
push dword [ebp + 0xc]
lea eax, [ebp - 0xd30]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x40bd74
push edi
lea eax, [ebp - 0xd30]
push str.application_x__s
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
cmp dword [ebp + 0x10], 0
je 0x40bd9a
push dword [ebp + 0x10]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40bd9a
push dword [ebp + 0x10]
lea eax, [ebp - 0x930]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x40bdaf
push edi
lea eax, [ebp - 0x930]
push str._s_File
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
cmp dword [ebp + 0x14], 0
je 0x40bdd5
push dword [ebp + 0x14]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x40bdd5
push dword [ebp + 0x14]
lea eax, [ebp - 0x2530]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x40bdea
push edi
lea eax, [ebp - 0x2530]
push str._s_Data
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [ebp - 0xd30]
push eax
lea eax, [ebp - 0x1930]
push str.mimedatabasecontent_type_s
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [ebp - 0x930]
push eax
lea eax, [ebp - 0x1530]
push str._s_shellopencommand
push eax
call sub.MSVCRT.dll_sprintf
and byte [ebp - 0x1130], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x112f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x1130]
push 0
push eax
call sub.MSVCRT.dll_memset
and byte [ebp - 0x114], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x113]
push 4
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x114]
push 0
push eax
mov dword [ebp + 8], 1
call sub.MSVCRT.dll_memset
add esp, 0x24
lea eax, [ebp - 0x1530]
mov edi, SysReAllocString
lea ecx, [ebp - 0x530]
push 1
push 0x2001f
push eax
push edi
call fcn.004089a6
cmp eax, 2
je 0x40bec0
push 1
lea eax, [ebp - 0x114]
push 0x104
push eax
push 0x414778
lea ecx, [ebp - 0x530]
call fcn.00408a7a
lea ecx, [ebp - 0x530]
call fcn.004089d9
lea eax, [ebp - 0x114]
push eax
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
je 0x40bef0
lea eax, [ebp - 0x114]
push 0x414668
push eax
call sub.MSVCRT.dll_strcspn
pop ecx
test eax, eax
pop ecx
jle 0x40bef0
and byte [ebp + eax - 0x114], 0
lea eax, [ebp - 0x2130]
lea ecx, [ebp - 0x530]
push eax
push edi
call fcn.00408cf9
test eax, eax
jne 0x40bf0a
and dword [ebp + 8], eax
lea eax, [ebp - 0x1930]
lea ecx, [ebp - 0x530]
push eax
push edi
call fcn.00408cf9
test eax, eax
jne 0x40bf24
and dword [ebp + 8], eax
lea eax, [ebp - 0x1530]
lea ecx, [ebp - 0x530]
push eax
push edi
call fcn.00408cf9
test eax, eax
jne 0x40bf3e
and dword [ebp + 8], eax
lea eax, [ebp - 0x930]
push eax
lea eax, [ebp - 0x1130]
push str._s_shellopen
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [ebp - 0x1130]
lea ecx, [ebp - 0x530]
push eax
push edi
call fcn.00408cf9
test eax, eax
jne 0x40bf73
and dword [ebp + 8], eax
lea eax, [ebp - 0x930]
push eax
lea eax, [ebp - 0x1130]
push str._s_shell
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [ebp - 0x1130]
lea ecx, [ebp - 0x530]
push eax
push edi
call fcn.00408cf9
test eax, eax
jne 0x40bfa8
and dword [ebp + 8], eax
lea eax, [ebp - 0x930]
lea ecx, [ebp - 0x530]
push eax
push edi
call fcn.00408cf9
test eax, eax
jne 0x40bfc2
and dword [ebp + 8], eax
and byte [ebp - 0x1d30], 0
mov ecx, ebx
xor eax, eax
lea edi, [ebp - 0x1d2f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x1d30]
push 0
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xd30]
push eax
call fcn.0040c111
add esp, 0x14
cmp eax, 0xffffffff
mov edi, SysStringLen
jne 0x40c06a
push dword [ebp - 0x10]
lea eax, [ebp - 0x1d30]
push str.TYPE_d
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
mov esi, 0x2001f
lea ecx, [ebp - 0x530]
push 1
push esi
push str..default_software_netscape_netscape_navigator_viewers
push edi
call fcn.004089a6
cmp eax, 2
je 0x40c06f
lea eax, [ebp - 0x1d30]
lea ecx, [ebp - 0x530]
push eax
call fcn.00408c99
lea eax, [ebp - 0xd30]
lea ecx, [ebp - 0x530]
push eax
call fcn.00408c99
lea ecx, [ebp - 0x530]
call fcn.004089d9
jmp 0x40c06f
mov esi, 0x2001f
push 1
push esi
push str..default_software_netscape_netscape_navigatoruser_trusted_external_applications
push edi
lea ecx, [ebp - 0x530]
call fcn.004089a6
cmp eax, 2
je 0x40c0a5
lea eax, [ebp - 0x114]
lea ecx, [ebp - 0x530]
push eax
call fcn.00408c99
lea ecx, [ebp - 0x530]
call fcn.004089d9
push 1
push esi
push str..default_software_netscape_netscape_navigator_suffixes
push edi
lea ecx, [ebp - 0x530]
call fcn.004089a6
pop edi
cmp eax, 2
pop ebx
je 0x40c0dd
lea eax, [ebp - 0xd30]
lea ecx, [ebp - 0x530]
push eax
call fcn.00408c99
lea ecx, [ebp - 0x530]
call fcn.004089d9
cmp dword [ebp + 8], 0
jne 0x40c0ea
mov esi, 0xfffffba8
jmp 0x40c0ec
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x530]
call fcn.00408825
mov eax, esi
jmp 0x40c104
mov eax, 0xfffffbb2
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
leave
ret