Function at 0x41ee73
Capabilities:
Accept command line arguments
Get common file path
Query or enumerate registry value

Disassembly:
push 0x8f8
mov eax, 0x4316d5
call fcn.00425d32
xor esi, esi
mov dword [ebp - 0x854], ecx
mov dword [ebp - 0x85c], esi
mov dword [ebp - 0x85c], ebp
push esi
push dword [ebp - 0x85c]
push str.void___thiscall_CBugReporter::Start_void_
call fcn.0041e3a5
mov edi, eax
add esp, 0xc
mov eax, 0x438da0
cmp edi, esi
jne 0x41eeb7
mov edi, eax
push esi
push esi
push esi
push dword [ebp - 0x854]
lea ecx, [ebp - 0x880]
push eax
push 0x438d70
push edi
call fcn.0041d60d
mov dword [ebp - 4], esi
cmp edi, esi
jne 0x41eedb
push ebp
pop ebp
xor eax, eax
mov edi, 0x206
push edi
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push esi
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
mov esi, 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x420]
push eax
call ebx
xor eax, eax
push edi
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x420]
push eax
call ebx
mov ebx, dword [ebp - 0x854]
mov eax, dword [ebx]
test eax, eax
je 0x41ef8c
lea ecx, [ebp - 0x420]
push ecx
call eax
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x41ef97
push 1
call eax
lea eax, [ebp - 0x84c]
push eax
call fcn.00419ca4
pop ecx
lea ecx, [ebp - 0x84c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea ecx, [ebp - 0x904]
call fcn.004196a4
mov eax, dword [eax]
mov dword [ebp - 0x854], eax
lea eax, [ebp - 0x900]
cmp dword [ebp - 0x904], eax
je 0x41efe3
push dword [ebp - 0x904]
call dword [sym.imp.MSVCR90.dll_free]
pop ecx
push dword [ebp - 0x854]
mov ecx, ebx
call fcn.00416315
push 0x438d48
call fcn.0041240d
pop ecx
test eax, eax
jne 0x41f02e
push 1
push dword [ebp - 0x854]
push str.szPeerID
push ebx
push 0x438d48
call fcn.00410c48
pop ecx
pop ecx
mov ecx, eax
call fcn.004138f2
mov ecx, eax
call fcn.004138f2
mov ecx, eax
call fcn.00413815
xor eax, eax
push edi
push eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
call sub.MSVCR90.dll_memset
and dword [ebp - 0x868], 0
and dword [ebp - 0x864], 0
add esp, 0xc
mov dword [ebp - 0x858], esi
mov dword [ebp - 0x860], 1
push 0x2001f
push str.SoftwareThunder_NetworkXmp
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 2
call fcn.0040bcbf
test eax, eax
jne 0x41f0b0
lea eax, [ebp - 0x858]
push eax
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x860]
push eax
push 0
push str.InstDir
push dword [ebp - 0x868]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor eax, eax
push edi
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call sub.MSVCR90.dll_memset
push esi
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.MSVCR90.dll_wcsncpy]
add esp, 0x18
push str.BinXLBugReport.exe
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x41f101
lea ecx, [ebp - 0x628]
push ecx
call eax
mov edi, 0x438d48
push edi
call fcn.0041240d
pop ecx
test eax, eax
jne 0x41f13d
push 1
lea eax, [ebp - 0x628]
push eax
push str.XL_SetReportPath
push ebx
push edi
call fcn.00410c48
pop ecx
pop ecx
mov ecx, eax
call fcn.004138f2
mov ecx, eax
call fcn.00416d4b
mov ecx, eax
call fcn.00413815
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x41f148
push 1
call eax
push esi
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
and dword [ebp - 0x850], 0
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
and dword [ebp - 0x854], 0
xor esi, esi
inc esi
cmp dword [ebp - 0x850], esi
mov edi, eax
jle 0x41f1d9
push str._sstartfrom
push dword [edi + esi*4]
call dword [sym.imp.MSVCR90.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41f1c7
inc esi
cmp esi, dword [ebp - 0x850]
jge 0x41f1c7
mov eax, dword [edi + esi*4]
test eax, eax
je 0x41f1c7
push str.BugReporter
push eax
call dword [sym.imp.MSVCR90.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41f1c7
mov dword [ebp - 0x854], 1
inc esi
cmp esi, dword [ebp - 0x850]
jl 0x41f187
cmp dword [ebp - 0x854], 0
jne 0x41f1f0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x41f1f0
push 0
push str._sstartfrom_BugReporter__embedding
lea ecx, [ebp - 0x218]
push ecx
call eax
call fcn.004161ec
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x41f212
push eax
push str.0x800
push 0
lea eax, [ebp - 0x218]
push eax
push 0x438c74
call ebx
lea ecx, [ebp - 0x868]
call fcn.0040bca4
lea ecx, [ebp - 0x84c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x880]
call fcn.0041ec5b
call fcn.00425db5
ret