Function at 0x486500
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f94c6
mov eax, dword fs:[0]
push eax
sub esp, 0x304
mov eax, dword [0x564610]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x2bc], ebx
call dword [sym.imp.tinyxml.dll_public:_void___thiscall_TiXmlDocument::constructor_void_]
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [ebp - 4], 2
call dword [0x564660]
lea eax, [ebp - 0x2a8]
push eax
call fcn.00486280
mov esi, eax
add esp, 4
cmp esi, ebx
mov dword [ebp - 0x2c0], esi
jne 0x486f1c
lea ecx, [ebp - 0x2a8]
push ecx
lea ecx, [ebp - 0x28c]
call dword [0x5096b8]
push str.pluginsPluginInfo.xml
lea ecx, [ebp - 0x28c]
call dword [0x509758]
push ebx
lea ecx, [ebp - 0x28c]
call dword [sym.imp.MSVCP80.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 - 0x310]
call dword [sym.imp.tinyxml.dll_public:_bool___thiscall_TiXmlDocument::LoadFile_wchar_t_const___enum_TiXmlEncoding_]
test al, al
jne 0x4865dd
lea esi, [ebx + 2]
jmp 0x486f1c
push str.Plugins
lea ecx, [ebp - 0x310]
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::FirstChildElement_char_const__]
test eax, eax
jne 0x4865fc
mov esi, 5
jmp 0x486f1c
mov edx, edi
lea ecx, [edx + 2]
mov si, word [edx]
add edx, 2
test si, si
jne 0x486601
sub edx, ecx
sar edx, 1
push str.plugin
mov ecx, eax
mov esi, edx
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::FirstChildElement_char_const__]
mov ebx, eax
test ebx, ebx
je 0x4865f2
mov edi, dword [sym.imp.tinyxml.dll_public:_char_const____thiscall_TiXmlElement::Attribute_char_const__const]
jmp 0x486630
push str.name
mov ecx, ebx
call edi
test eax, eax
je 0x4866ab
push eax
lea ecx, [ebp - 0x254]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0xfde9
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x238]
push eax
mov byte [ebp - 4], 3
call fcn.00486200
add esp, 0xc
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 5
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [ebp - 0x2c4]
push esi
push ecx
lea ecx, [ebp - 0x238]
call dword [sym.imp.MSVCP80.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
call dword [sym.imp.MSVCR80.dll_wcsncmp]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x238]
je 0x4866ca
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push str.plugin
mov ecx, ebx
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::NextSiblingElement_char_const__]
mov ebx, eax
test ebx, ebx
jne 0x486630
lea esi, [eax + 5]
jmp 0x486f1c
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
test ebx, ebx
je 0x4865f2
push str.Plugins
lea ecx, [ebp - 0x310]
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::FirstChildElement_char_const__]
push str.appclsid
mov ecx, ebx
mov dword [ebp - 0x2b0], eax
call edi
test eax, eax
je 0x4865f2
cmp byte [eax], 0
je 0x4865f2
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00486350
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x486723
mov eax, dword [eax]
jmp 0x486725
xor eax, eax
lea edx, [eax + 2]
jmp 0x486730
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x486730
sub eax, edx
sar eax, 1
xor edi, edi
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edi
mov ecx, dword [ebp - 0x2b0]
push str.plugin
mov byte [ebp - 4], 7
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::FirstChildElement_char_const__]
mov esi, eax
test esi, esi
je 0x4867e6
jmp 0x486770
push str.appclsid
mov ecx, esi
call dword [sym.imp.tinyxml.dll_public:_char_const____thiscall_TiXmlElement::Attribute_char_const__const]
test eax, eax
je 0x4867c7
push eax
lea ecx, [ebp - 0x2b4]
call fcn.004863e0
cmp esi, ebx
mov edi, dword [ebp - 0x2b4]
je 0x4867c7
test edi, edi
je 0x48679f
mov ecx, dword [edi]
jmp 0x4867a1
xor ecx, ecx
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x4867af
mov eax, dword [eax]
jmp 0x4867b1
xor eax, eax
mov edx, dword [ebp - 0x2b8]
push edx
push ecx
push eax
call dword [sym.imp.MSVCR80.dll_wcsncmp]
add esp, 0xc
test eax, eax
je 0x4867dc
push str.plugin
mov ecx, esi
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::NextSiblingElement_char_const__]
mov esi, eax
test esi, esi
jne 0x486770
jmp 0x4867e6
mov dword [ebp - 0x2bc], 1
mov ecx, dword [ebp - 0x2b0]
push ebx
call dword [sym.imp.tinyxml.dll_public:_bool___thiscall_TiXmlNode::RemoveChild_class_TiXmlNode__]
test al, al
jne 0x48688c
test edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov esi, 5
je 0x48683a
lea eax, [edi + 8]
push eax
call ebx
test eax, eax
jne 0x48683a
mov eax, dword [edi]
test eax, eax
je 0x486821
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
test eax, eax
je 0x486831
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push edi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
cmp dword [ebp - 0x2ac], 0
je 0x486f1c
mov ecx, dword [ebp - 0x2ac]
add ecx, 8
push ecx
call ebx
test eax, eax
jne 0x486f1c
mov edi, dword [ebp - 0x2ac]
mov eax, dword [edi]
test eax, eax
je 0x48686e
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
test eax, eax
je 0x48687e
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push edi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
jmp 0x486f1c
cmp dword [ebp - 0x2bc], 0
je 0x486912
test edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
je 0x4868cf
lea edx, [edi + 8]
push edx
call ebx
test eax, eax
jne 0x4868cf
mov eax, dword [edi]
test eax, eax
je 0x4868b6
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
test eax, eax
je 0x4868c6
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push edi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov esi, dword [ebp - 0x2ac]
test esi, esi
mov byte [ebp - 4], 2
je 0x486c71
lea eax, [esi + 8]
push eax
call ebx
test eax, eax
jne 0x486c71
mov eax, dword [esi]
test eax, eax
je 0x4868fc
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x48690c
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push esi
jmp 0x486c69
mov ecx, dword [ebp - 0x2b0]
push 0x529b8c
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::FirstChildElement_char_const__]
mov esi, eax
test esi, esi
je 0x48699f
lea esp, [esp]
push 0x529b90
mov ecx, esi
call dword [sym.imp.tinyxml.dll_public:_char_const____thiscall_TiXmlElement::Attribute_char_const__const]
test eax, eax
je 0x48698c
cmp byte [eax], 0
je 0x48698c
push eax
lea ecx, [ebp - 0x2b4]
call fcn.004863e0
mov ebx, dword [ebp - 0x2ac]
test ebx, ebx
je 0x486960
mov ecx, dword [ebx]
jmp 0x486962
xor ecx, ecx
mov edi, dword [ebp - 0x2b4]
test edi, edi
je 0x486970
mov eax, dword [edi]
jmp 0x486972
xor eax, eax
mov edx, dword [ebp - 0x2b8]
push edx
push ecx
push eax
call dword [sym.imp.MSVCR80.dll_wcsncmp]
add esp, 0xc
test eax, eax
je 0x486a1c
push 0x529b8c
mov ecx, esi
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::NextSiblingElement_char_const__]
mov esi, eax
test esi, esi
jne 0x486930
mov ebx, dword [ebp - 0x2ac]
test edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
je 0x4869df
lea eax, [edi + 8]
push eax
call esi
test eax, eax
jne 0x4869df
mov eax, dword [edi]
test eax, eax
je 0x4869c6
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
test eax, eax
je 0x4869d6
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push edi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
test ebx, ebx
mov byte [ebp - 4], 2
je 0x486c71
lea ecx, [ebx + 8]
push ecx
call esi
test eax, eax
jne 0x486c71
mov eax, dword [ebx]
test eax, eax
je 0x486a06
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 4]
test eax, eax
je 0x486a16
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push ebx
jmp 0x486c69
test esi, esi
je 0x4869a5
lea ecx, [ebp - 0x270]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
push 0x50e5d0
mov ecx, esi
mov byte [ebp - 4], 8
call dword [sym.imp.tinyxml.dll_public:_class_TiXmlElement____thiscall_TiXmlNode::FirstChildElement_char_const__]
test eax, eax
je 0x486ab4
push 0x50e5c8
mov ecx, eax
call dword [sym.imp.tinyxml.dll_public:_char_const____thiscall_TiXmlElement::Attribute_char_const__const]
test eax, eax
je 0x486ab4
cmp byte [eax], 0
je 0x486ab4
push eax
lea ecx, [ebp - 0x238]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0xfde9
lea edx, [ebp - 0x238]
push edx
lea eax, [ebp - 0x254]
mov bl, 9
push eax
mov byte [ebp - 4], bl
call fcn.00486200
add esp, 0xc
push eax
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xa
call dword [0x5096b8]
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 8
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [ebp - 0x2b0]
push esi
call dword [sym.imp.tinyxml.dll_public:_bool___thiscall_TiXmlNode::RemoveChild_class_TiXmlNode__]
call dword [0x564660]
lea ecx, [ebp - 0x28c]
call dword [sym.imp.MSVCP80.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 - 0x310]
call dword [sym.imp.tinyxml.dll_public:_bool___thiscall_TiXmlDocument::SaveFile_wchar_t_const__const]
xor ebx, ebx
cmp dword [ebp - 0x25c], ebx
je 0x486beb
push 0x206
lea ecx, [ebp - 0x216]
push ebx
push ecx
mov word [ebp - 0x218], bx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x2a8]
call dword [sym.imp.MSVCP80.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 edx, [ebp - 0x218]
push edx
call dword [sym.imp.MSVCR80.dll_wcsncpy]
mov esi, dword [sym.imp.MSVCR80.dll_wcsncat]
push 0x104
lea eax, [ebp - 0x218]
push str.plugins_
push eax
call esi
add esp, 0x18
push 0x104
lea ecx, [ebp - 0x270]
call dword [sym.imp.MSVCP80.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 - 0x218]
push ecx
call esi
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x486beb
xor eax, eax
push ebx
push ebx
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x218]
push ebx
mov ecx, eax
push 0x55505446
push ecx
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x234], 3
mov dword [ebp - 0x230], eax
mov word [ebp - 0x228], 0x414
call fcn.004f5c50
add esp, 0x14
test eax, eax
jl 0x486beb
lea edx, [ebp - 0x238]
push edx
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
test edi, edi
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
je 0x486c37
lea eax, [edi + 8]
push eax
call esi
test eax, eax
jne 0x486c37
mov eax, dword [edi]
test eax, eax
je 0x486c1e
push eax
call ebx
mov eax, dword [edi + 4]
test eax, eax
je 0x486c2e
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push edi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov edi, dword [ebp - 0x2ac]
test edi, edi
mov byte [ebp - 4], 2
je 0x486c71
lea ecx, [edi + 8]
push ecx
call esi
test eax, eax
jne 0x486c71
mov eax, dword [edi]
test eax, eax
je 0x486c58
push eax
call ebx
mov eax, dword [edi + 4]
test eax, eax
je 0x486c68
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push edi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
lea ecx, [ebp - 0x28c]
call dword [sym.imp.MSVCP80.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 - 0x310]
call dword [sym.imp.tinyxml.dll_public:_bool___thiscall_TiXmlDocument::SaveFile_wchar_t_const__const]
call fcn.0041b800
mov ecx, eax
call fcn.0041b850
mov esi, eax
mov ecx, esi
call fcn.004170b0
mov ecx, esi
mov edi, eax
call fcn.004170c0
mov edx, dword [0x523028]
mov ecx, dword [0x523024]
mov ebx, dword [0x52302c]
mov dword [ebp - 0x2b4], eax
mov eax, dword [0x523020]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x264], eax
xor eax, eax
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x25c], edx
lea edx, [ebp - 0x2b0]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b0], eax
push edx
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x260], ecx
mov ecx, dword [ebp - 0x2c4]
lea eax, [ebp - 0x2b8]
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x258], ebx
call fcn.00417c10
test eax, eax
je 0x486f16
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov edx, dword [edx + 0x60]
lea ecx, [ebp - 0x248]
push ecx
push eax
call edx
mov esi, dword [edi + 4]
cmp esi, dword [edi + 8]
jbe 0x486d50
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea ebx, [ebx]
mov ebx, dword [edi + 8]
cmp dword [edi + 4], ebx
jbe 0x486d5e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, ebx
je 0x486dff
cmp esi, dword [edi + 8]
mov eax, dword [0x523020]
mov ecx, dword [0x523024]
mov edx, dword [0x523028]
mov dword [ebp - 0x22c], eax
mov eax, dword [0x52302c]
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x220], eax
jb 0x486d9f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x60]
lea edx, [ebp - 0x22c]
push edx
push esi
call eax
mov ecx, dword [ebp - 0x248]
cmp ecx, dword [ebp - 0x22c]
jne 0x486ddc
mov dx, word [ebp - 0x244]
cmp dx, word [ebp - 0x228]
jne 0x486ddc
mov ax, word [ebp - 0x242]
cmp ax, word [ebp - 0x226]
je 0x486def
cmp esi, dword [edi + 8]
jb 0x486de7
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
add esi, 0x78
jmp 0x486d50
push esi
push edi
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, edi
call fcn.004864a0
cmp dword [ebp - 0x2bc], 0
jne 0x486f16
mov eax, dword [ebp - 0x2b0]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea ecx, [ebp - 0x264]
push ecx
push eax
call edx
mov ebx, dword [ebp - 0x2b4]
mov edi, dword [ebx + 4]
cmp edi, dword [ebx + 8]
jbe 0x486e35
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [ebx + 8]
cmp dword [ebx + 4], esi
jbe 0x486e43
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp edi, esi
je 0x486f16
cmp edi, dword [ebx + 8]
mov eax, dword [0x523020]
mov ecx, dword [0x523024]
mov edx, dword [0x523028]
mov dword [ebp - 0x22c], eax
mov eax, dword [0x52302c]
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x220], eax
jb 0x486e84
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [edi]
mov eax, dword [ecx + 0x10]
lea edx, [ebp - 0x22c]
push edx
push edi
call eax
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 0x22c]
jne 0x486ec1
mov dx, word [ebp - 0x260]
cmp dx, word [ebp - 0x228]
jne 0x486ec1
mov ax, word [ebp - 0x25e]
cmp ax, word [ebp - 0x226]
je 0x486ed4
cmp edi, dword [ebx + 8]
jb 0x486ecc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
add edi, 0x48
jmp 0x486e35
mov eax, dword [ebx + 8]
lea esi, [edi + 0x48]
cmp esi, eax
mov dword [ebp - 0x2c4], eax
je 0x486efa
sub edi, esi
push esi
lea ecx, [esi + edi]
call fcn.00433190
add esi, 0x48
cmp esi, dword [ebp - 0x2c4]
jne 0x486ee6
mov edi, dword [ebx + 8]
lea esi, [edi - 0x48]
cmp esi, edi
je 0x486f12
mov ecx, esi
call fcn.00424e80
add esi, 0x48
cmp esi, edi
jne 0x486f04
add dword [ebx + 8], 0xffffffb8
mov esi, dword [ebp - 0x2c0]
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x310]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.tinyxml.dll_public_virtual:_void___thiscall_TiXmlDocument::destructor_void_]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f019a
mov esp, ebp
pop ebp
ret