Function at 0x493f44
Capabilities:
Print debug messages
Write file on windows

Disassembly:
mov eax, 0x4f0d40
call fcn.004e1580
sub esp, 0x34
push ebx
push esi
lea eax, [ebp - 0x2c]
push edi
mov dword [ebp - 0x14], ecx
push eax
call fcn.004d14df
mov dword [esp], str.UninitAddin.log
push eax
lea eax, [ebp - 0x28]
xor esi, esi
push eax
mov dword [ebp - 4], esi
call sub.MFC42.DLL_operator_2
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
push esi
push 0x80
push 2
push esi
push 1
push 0x40000000
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
lea ecx, [ebp - 0x10]
mov ebx, eax
call sub.MFC42.DLL_CString::CString_3
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_Begin_r_n
push eax
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::Format_1
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp ebx, 0xffffffff
mov dword [ebp - 0x24], eax
je 0x493fe9
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x30]
push 0
push ecx
push eax
push dword [ebp - 0x24]
push ebx
call edi
mov ecx, dword [ebp - 0x14]
and dword [ecx + 0x34], 0
call fcn.00495f28
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_StopLoadThread_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x24], eax
je 0x494029
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x30]
push 0
push ecx
push eax
push dword [ebp - 0x24]
push ebx
call edi
mov ecx, dword [ebp - 0x14]
call fcn.00495f75
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_StopDelayLoadTimer_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x24], eax
je 0x494065
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x30]
push 0
push ecx
push eax
push dword [ebp - 0x24]
push ebx
call edi
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_DisConnect_Begin_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x24], eax
je 0x494099
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x30]
push 0
push ecx
push eax
push dword [ebp - 0x24]
push ebx
call edi
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x494288
jmp 0x4940ac
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
mov dword [ebp - 0x1c], ecx
je 0x494270
cmp dword [ecx + 4], 0
je 0x494262
cmp dword [ecx + 0x1c], 0
je 0x494262
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString_3
push 0x104
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::GetBuffer
push 0x104
push eax
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xffffffffffffffff
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::ReleaseBuffer
push dword [ebp - 0x20]
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit__s_Begin_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0xc
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x494144
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x34]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
add eax, 8
push eax
call fcn.004958e3
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_FireBeforeAddinDisConnected_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x494187
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x38]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
push dword [eax + 4]
call fcn.00493f32
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_DisConnectAddin_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x4941c9
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x3c]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x1c]
push 0x10
add eax, 8
push 0x5061f0
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x49420e
mov eax, dword [ebp - 0x1c]
push 0x10
add eax, 8
push 0x506210
push eax
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
je 0x49420e
mov ecx, dword [ebp - 0x1c]
call fcn.00492b7d
push dword [ebp - 0x1c]
call sub.MFC42.DLL_operatordelete
pop ecx
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x24]
lea ecx, [eax + 0x54]
call fcn.004967a8
push dword [ebp - 0x20]
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit__s_End_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0xc
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x494254
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
jmp 0x49427e
call fcn.00492b7d
push dword [ebp - 0x1c]
call sub.MFC42.DLL_operatordelete
pop ecx
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x24]
lea ecx, [eax + 0x54]
call fcn.004967a8
cmp dword [ebp - 0x18], 0
jne 0x4940a9
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_DisConnect_End_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x4942bc
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x54]
call fcn.0049677d
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4942ea
jmp 0x4942d6
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp - 0x18], 0
jne 0x4942d3
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x38]
call fcn.00496659
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_CXLAddinCmdInfo_RemoveAll_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x494329
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov ecx, dword [ebp - 0x14]
call fcn.00494504
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_SaveCustomAddinConfig_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x494365
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x74]
test eax, eax
je 0x494397
jmp 0x494374
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
mov dword [ebp - 0x30], ecx
je 0x494391
call fcn.004944b4
push dword [ebp - 0x30]
call sub.MFC42.DLL_operatordelete
pop ecx
cmp dword [ebp - 0x18], 0
jne 0x494371
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x70]
call fcn.004968a1
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_m_AddinConfigList_RemoveAll_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x4943d6
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x90]
test eax, eax
je 0x49440b
jmp 0x4943e8
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
mov dword [ebp - 0x30], ecx
je 0x494405
call fcn.004944b4
push dword [ebp - 0x30]
call sub.MFC42.DLL_operatordelete
pop ecx
cmp dword [ebp - 0x18], 0
jne 0x4943e5
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x8c]
call fcn.004968a1
lea eax, [ebp - 0x10]
push str.CXLAddinManager::Uninit_m_StndExtAddinConfigList_RemoveAll_Ok_r_n
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 0x10]
cmp ebx, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x49444d
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push dword [ebp - 0x30]
push ebx
call edi
mov eax, dword [ebp - 0x14]
push str.CXLAddinManager::Uninit_End_r_n
and dword [eax + 0x30], 0
lea eax, [ebp - 0x10]
push eax
call sub.MFC42.DLL_CString::Format_1
pop ecx
pop ecx
push dword [ebp - 0x10]
call esi
mov esi, dword [ebp - 0x10]
cmp ebx, 0xffffffff
je 0x49448a
push esi
call sub.MSVCRT.dll_strlen
pop ecx
lea ecx, [ebp - 0x40]
push 0
push ecx
push eax
push esi
push ebx
call edi
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
push 1
pop eax
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret