Function at 0x41b84d
Capabilities:
Check if file exists
Get common file path
Read .ini file

Disassembly:
mov eax, 0x4dc879
call fcn.004d1d50
mov eax, 0x1250
call fcn.004d1f10
mov eax, dword [0x52e400]
and word [ebp - 0x628], 0
push ebx
xor eax, ebp
push esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1240], ecx
mov esi, 0x81
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x626]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x628]
push eax
mov ebx, 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.Thunder_Networkxl7_
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x628]
push eax
call sub.XLBugHandler.dll__XL_SetBugReportRootDir_4
and word [ebp - 0x218], 0
xor eax, eax
mov ecx, esi
lea edi, [ebp - 0x216]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebx
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_PathRemoveFileSpecW]
xor eax, eax
xor ebx, ebx
mov word [ebp - 0x420], bx
mov ecx, esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edi, [ebp - 0x41e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str...XLDoctorxldoctorname.ini
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x420]
push eax
push 0x400
lea eax, [ebp - 0x1238]
push eax
push 0x4ec264
push 0x4ec550
push str.xldoctor
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x1238]
push eax
call dword [sym.imp.MSVCR71.dll_wcslen]
xor edi, edi
inc edi
test eax, eax
pop ecx
je 0x41ba17
lea ecx, [ebp - 0x123c]
call fcn.004020b8
lea eax, [ebp - 0x1238]
push eax
lea eax, [ebp - 0x123c]
push str..._sProgramXLDCOnLine.exe
push eax
mov dword [ebp - 4], ebx
call fcn.00405f4e
add esp, 0xc
push dword [ebp - 0x123c]
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x830]
push eax
call esi
push str...XLDoctorUI.exe
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0xa38]
push eax
call esi
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
push ebx
push str._starttype:crash
je 0x41b9e6
lea eax, [ebp - 0xa38]
push eax
push edi
call sub.XLBugHandler.dll__XL_EnableXLDoctor_16
lea eax, [ebp - 0xa38]
jmp 0x41b9f9
lea eax, [ebp - 0x830]
push eax
push edi
call sub.XLBugHandler.dll__XL_EnableXLDoctor_16
lea eax, [ebp - 0x830]
push edi
push str.__crash:_dir_
push eax
call sub.XLBugHandler.dll__XL_AddCrashProcess_12
mov ecx, dword [ebp - 0x123c]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.00401572
mov ecx, dword [ebp - 0x1240]
lea eax, [ebp - 0x125c]
push eax
call fcn.0041a3e1
mov ebx, eax
mov dword [ebp - 4], edi
call dword [sym.imp.MSVCR71.dll___p___wargv]
mov ecx, ebx
mov esi, eax
call dword [sym.imp.MSVCP71.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
mov eax, dword [esi]
push str.thunder7
push 0x4f083c
push dword [eax]
push 0x4f0834
call sub.XLBugHandler.dll__XL_InitBugHandler_20
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x125c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push edi
call sub.XLBugHandler.dll__XL_SetReportShowMode_4
push edi
call sub.XLBugHandler.dll__XL_SetAlwaysSendReport_4
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
xor ecx, ebp
pop ebx
call fcn.004d1da7
leave
ret