Function at 0x4448c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54711c
mov eax, dword fs:[0]
push eax
sub esp, 0x130
mov eax, dword [0x5c403c]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
push edi
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0x140]
mov dword fs:[0], eax
lea ecx, [esp + 0x40]
call dword [0x55a6c4]
xor edi, edi
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x3c]
call dword [0x55a6c4]
mov byte [esp + 0x148], 1
push 0x55b448
lea ecx, [esp + 0x44]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
push str.Tahoma
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
mov eax, 8
push 0x55bbbc
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], edi
call dword [0x55a504]
mov byte [esp + 0x148], 2
push str.userTheme_
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov bl, 3
mov byte [esp + 0x148], bl
push str.notifyTheme.xml
lea ecx, [esp + 0x2c]
call dword [0x55a504]
mov byte [esp + 0x148], 4
mov eax, dword [0x5c7000]
lea edx, [esp + 0x44]
push edx
lea ecx, [eax + 0x10]
lea edx, [esp + 0x18]
push edx
push ecx
lea ecx, [esp + 0x24]
push ecx
add eax, 0x30
push eax
lea ecx, [esp + 0x3c]
call fcn.0051cbb0
add esp, 0x14
mov esi, eax
mov byte [esp + 0x148], bl
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 2
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 1
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
cmp esi, edi
je 0x445273
lea ecx, [esp + 0x8c]
call dword [sym.imp.libUtils.module_public:_void___thiscall_xmlElement::constructor_void_]
mov byte [esp + 0x148], 5
mov esi, dword [esp + 0x44]
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x94]
push esi
push edx
call dword [sym.imp.libUtils.module_lutXMLStandardParseA]
push esi
call sub.mfc90u.dll_delete__
add esp, 0x14
cmp byte [esp + 0xcc], 0
je 0x44525e
mov ebx, dword [esp + 0xa4]
mov esi, dword [esp + 0xa8]
cmp ebx, esi
jbe 0x444a6e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebx
cmp dword [esp + 0xa4], esi
jbe 0x444a8c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
je 0x444a99
cmp edi, dword [esp + 0x98]
je 0x444a9f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, esi
je 0x44525e
push 0x55ae9c
lea ecx, [esp + 0x8c]
call dword [0x55a504]
mov byte [esp + 0x148], 6
push str.type
lea ecx, [esp + 0x78]
call dword [0x55a504]
mov byte [esp + 0x148], 7
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x444d3e
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444af1
call esi
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x78]
push ecx
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
push eax
lea ecx, [esp + 0x18]
call dword [0x55a520]
mov byte [esp + 0x148], 9
lea ecx, [esp + 0x74]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x88]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
test edi, edi
jne 0x444d45
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444b4b
call esi
lea esi, [ebx + 4]
push str.font
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x444ecd
push 0x55ae9c
lea ecx, [esp + 0x5c]
call dword [0x55a504]
mov byte [esp + 0x148], 0xb
push str.value
lea ecx, [esp + 0x58]
call dword [0x55a504]
mov byte [esp + 0x148], 0xc
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x444d4c
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444baa
call esi
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
push eax
lea ecx, [esp + 0x2c]
call dword [0x55a520]
mov byte [esp + 0x148], 0xe
lea ecx, [esp + 0x54]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xf
lea ecx, [esp + 0x58]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.primary
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x444d61
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x44]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push 0x55bca0
lea ecx, [esp + 0x6c]
call dword [0x55a504]
mov byte [esp + 0x148], 0x10
push 0x55bca4
lea ecx, [esp + 0x64]
call dword [0x55a504]
mov byte [esp + 0x148], 0x11
test edi, edi
jne 0x444d53
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444c52
call esi
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x64]
push eax
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCR90.dll_wcstol]
push 0xa
push 0
push eax
call esi
add esp, 0xc
mov dword [esp + 0x34], eax
mov byte [esp + 0x148], 0x10
lea ecx, [esp + 0x60]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xf
lea ecx, [esp + 0x68]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x55d9b0
lea ecx, [esp + 0x7c]
call dword [0x55a504]
mov byte [esp + 0x148], 0x12
push 0x55d8a8
lea ecx, [esp + 0x74]
call dword [0x55a504]
mov byte [esp + 0x148], 0x13
test edi, edi
jne 0x444d5a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444ce7
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x74]
push edx
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0xa
push 0
push eax
call esi
add esp, 0xc
mov dword [esp + 0x24], eax
mov byte [esp + 0x148], 0x12
lea ecx, [esp + 0x70]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xf
lea ecx, [esp + 0x78]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x28]
jmp 0x44521c
mov eax, dword [edi]
jmp 0x444aea
mov eax, dword [edi]
jmp 0x444b44
mov eax, dword [edi]
jmp 0x444ba3
mov eax, dword [edi]
jmp 0x444c4b
mov eax, dword [edi]
jmp 0x444cdc
push str.secondary
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x444eb1
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push 0x55bca0
lea ecx, [esp + 0x54]
call dword [0x55a504]
mov byte [esp + 0x148], 0x14
push 0x55bca4
lea ecx, [esp + 0x84]
call dword [0x55a504]
mov byte [esp + 0x148], 0x15
test edi, edi
jne 0x444ec2
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444dcb
call esi
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x84]
push edx
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCR90.dll_wcstol]
push 0xa
push 0
push eax
call esi
add esp, 0xc
mov dword [esp + 0x20], eax
mov byte [esp + 0x148], 0x14
lea ecx, [esp + 0x80]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xf
lea ecx, [esp + 0x50]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x55be70
lea ecx, [esp + 0x88]
call dword [0x55a504]
mov byte [esp + 0x148], 0x16
push 0x55d8a8
lea ecx, [esp + 0x60]
call dword [0x55a504]
mov byte [esp + 0x148], 0x17
test edi, edi
jne 0x444ec9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444e65
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0xa
push 0
push eax
call esi
add esp, 0xc
mov dword [esp + 0x1c], eax
mov byte [esp + 0x148], 0x16
lea ecx, [esp + 0x5c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xf
lea ecx, [esp + 0x84]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x28]
jmp 0x44521c
mov eax, dword [edi]
jmp 0x444dc4
mov eax, dword [edi]
jmp 0x444e5a
test edi, edi
jne 0x444fc4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444ee8
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
push str.color
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x4450ba
push 0x55ae9c
lea ecx, [esp + 0x80]
call dword [0x55a504]
mov byte [esp + 0x148], 0x18
push str.value
lea ecx, [esp + 0x68]
call dword [0x55a504]
mov byte [esp + 0x148], 0x19
test edi, edi
jne 0x444fcb
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x444f49
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
push eax
lea ecx, [esp + 0x1c]
call dword [0x55a520]
mov byte [esp + 0x148], 0x1b
lea ecx, [esp + 0x64]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0x1c
lea ecx, [esp + 0x7c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.backStart
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x444fd2
mov ecx, dword [esp + 0x18]
push 0x10
push eax
push ecx
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov dword [0x5c4954], eax
add esp, 0xc
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x18]
jmp 0x44521c
mov eax, dword [edi]
jmp 0x444edd
mov eax, dword [edi]
jmp 0x444f3e
push str.backEnd
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x44500c
mov edx, dword [esp + 0x18]
push 0x10
push eax
push edx
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov dword [0x5c4958], eax
add esp, 0xc
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x18]
jmp 0x44521c
push str.border
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x445046
push 0x10
push eax
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov dword [0x5c4964], eax
add esp, 0xc
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x18]
jmp 0x44521c
push str.textPrimary
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x445080
mov ecx, dword [esp + 0x18]
push 0x10
push eax
push ecx
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov dword [0x5c495c], eax
add esp, 0xc
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x18]
jmp 0x44521c
push str.textSecondary
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x4450a9
mov edx, dword [esp + 0x18]
push 0x10
push eax
push edx
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov dword [0x5c4960], eax
add esp, 0xc
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x18]
jmp 0x44521c
test edi, edi
jne 0x445182
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4450d5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
push str.attribute
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x445222
push 0x55d99c
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x445189
push 0x55be20
lea ecx, [esp + 0x3c]
call dword [0x55a504]
mov byte [esp + 0x148], 0x1d
push str.value
lea ecx, [esp + 0x70]
call dword [0x55a504]
mov byte [esp + 0x148], 0x1e
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x70]
push ecx
lea esi, [esp + 0x50]
call fcn.0040a7a0
mov ecx, eax
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0xa
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [0x5c494c], eax
mov byte [esp + 0x148], 0x1d
lea ecx, [esp + 0x6c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x38]
jmp 0x44521c
mov eax, dword [edi]
jmp 0x4450ca
push str.avatarSize
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x445222
push 0x55db20
lea ecx, [esp + 0x34]
call dword [0x55a504]
mov byte [esp + 0x148], 0x1f
push str.value
lea ecx, [esp + 0x30]
call dword [0x55a504]
mov byte [esp + 0x148], 0x20
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x30]
push eax
lea esi, [esp + 0x50]
call fcn.0040a7a0
mov ecx, eax
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0xa
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [0x5c4950], eax
mov byte [esp + 0x148], 0x1f
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0xa
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 5
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
test edi, edi
jne 0x44525a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x44524b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0xa8]
add ebx, 0x44
jmp 0x444a79
mov eax, dword [edi]
jmp 0x445240
mov byte [esp + 0x148], 1
lea ecx, [esp + 0x8c]
call dword [sym.imp.libUtils.module_public_virtual:_void___thiscall_xmlElement::destructor_void_]
push 0x58
lea ecx, [esp + 0xdc]
push 0
push ecx
mov dword [esp + 0xe0], 0
call sub.MSVCR90.dll_memset
mov esi, dword [sym.imp.USER32.dll_GetDC]
add esp, 0xc
push 0x48
push 0x5a
push 0
call esi
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
call ebx
mov edx, dword [esp + 0x38]
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push edx
call edi
neg eax
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x24]
neg eax
sbb eax, eax
and eax, 0x2bc
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xf0]
mov byte [esp + 0xe8], 0
mov byte [esp + 0xe9], 0
mov byte [esp + 0xea], 0
mov byte [esp + 0xeb], 1
mov byte [esp + 0xec], 0
mov byte [esp + 0xed], 0
mov byte [esp + 0xee], 0
mov byte [esp + 0xef], 0
sub ecx, eax
jmp 0x445340
movzx edx, word [eax]
mov word [eax + ecx], dx
add eax, 2
test dx, dx
jne 0x445340
lea eax, [esp + 0xd4]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
mov ecx, 0x5c4a0c
call sub.mfc90u.dll_CGdiObject::Attach
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0xf0]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x445375
mov eax, dword [esp + 0x1c]
neg eax
push 0x48
sbb eax, eax
push 0x5a
and eax, 0x2bc
push 0
mov dword [esp + 0xf0], eax
call esi
push eax
call ebx
mov ecx, dword [esp + 0x24]
push eax
push ecx
call edi
lea edx, [esp + 0xd4]
neg eax
push edx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe8], 0
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
mov ecx, 0x5c4a14
call sub.mfc90u.dll_CGdiObject::Attach
mov ecx, dword [0x5c4964]
movzx eax, word [0x5c4966]
movzx edx, cl
and eax, 0xff
shl edx, 0x10
or eax, edx
and ecx, 0xff00
or eax, ecx
push eax
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
mov ecx, 0x5c4a1c
call sub.mfc90u.dll_CGdiObject::Attach
push 0x55bbbc
lea ecx, [esp + 0x28]
call dword [0x55a504]
mov byte [esp + 0x148], 0x21
push str.userTheme_
lea ecx, [esp + 0x20]
call dword [0x55a504]
mov bl, 0x22
mov byte [esp + 0x148], bl
push str.notifyThemeClasses.xml
lea ecx, [esp + 0x24]
call dword [0x55a504]
mov byte [esp + 0x148], 0x23
mov eax, dword [0x5c7000]
lea edx, [esp + 0x44]
push edx
lea ecx, [eax + 0x10]
lea edx, [esp + 0x28]
push edx
push ecx
lea ecx, [esp + 0x28]
push ecx
add eax, 0x30
push eax
lea ecx, [esp + 0x34]
call fcn.0051cbb0
add esp, 0x14
mov esi, eax
mov byte [esp + 0x148], bl
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0x21
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 1
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
test esi, esi
je 0x4457c3
lea ecx, [esp + 0x8c]
call dword [sym.imp.libUtils.module_public:_void___thiscall_xmlElement::constructor_void_]
mov byte [esp + 0x148], 0x24
mov esi, dword [esp + 0x44]
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x94]
push esi
push edx
call dword [sym.imp.libUtils.module_lutXMLStandardParseA]
push esi
call sub.mfc90u.dll_delete__
add esp, 0x14
cmp byte [esp + 0xcc], 0
je 0x4457ae
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
cmp ebx, eax
jbe 0x44551f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x48], edi
lea ebx, [ebx]
mov esi, eax
cmp dword [esp + 0xa4], eax
jbe 0x445541
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
je 0x44554e
cmp edi, dword [esp + 0x98]
je 0x445554
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, esi
je 0x4457ae
push 0x55ae9c
lea ecx, [esp + 0x20]
call dword [0x55a504]
mov byte [esp + 0x148], 0x25
push str.type
lea ecx, [esp + 0x24]
call dword [0x55a504]
mov byte [esp + 0x148], 0x26
test edi, edi
jne 0x44578e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4455a5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0xa
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstol]
mov esi, eax
add esp, 0xc
mov dword [esp + 0x38], esi
mov byte [esp + 0x148], 0x25
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0x24
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
test edi, edi
jne 0x445795
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x44560c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
push str.class
lea ecx, [ebx + 4]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x445768
test esi, esi
je 0x445768
push 0x55ae9c
lea ecx, [esp + 0x38]
call dword [0x55a504]
mov byte [esp + 0x148], 0x27
push str.crStart
lea ecx, [esp + 0x28]
call dword [0x55a504]
mov byte [esp + 0x148], 0x28
test edi, edi
jne 0x44579c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x445673
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0x10
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov esi, eax
add esp, 0xc
or esi, 0xff000000
mov byte [esp + 0x148], 0x27
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0x24
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x55ae9c
lea ecx, [esp + 0x30]
call dword [0x55a504]
mov byte [esp + 0x148], 0x29
push str.crEnd
lea ecx, [esp + 0x34]
call dword [0x55a504]
mov byte [esp + 0x148], 0x2a
test edi, edi
jne 0x4457a3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [edi + 0x10]
jb 0x445708
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, ebx
call dword [sym.imp.libUtils.module_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____thiscall_xmlElement::GetAttribute_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov eax, dword [eax]
push 0x10
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
mov edi, eax
add esp, 0xc
or edi, 0xff000000
mov byte [esp + 0x148], 0x29
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x148], 0x24
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea eax, [esp + 0x38]
call fcn.00445fe0
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x4457aa
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x44577f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0xa8]
add ebx, 0x44
jmp 0x445530
mov eax, dword [edi]
jmp 0x44559a
mov eax, dword [edi]
jmp 0x445601
mov eax, dword [edi]
jmp 0x445668
mov edi, dword [edi]
jmp 0x4456fd
mov eax, dword [edi]
jmp 0x445774
mov byte [esp + 0x148], 1
lea ecx, [esp + 0x8c]
call dword [sym.imp.libUtils.module_public_virtual:_void___thiscall_xmlElement::destructor_void_]
mov byte [esp + 0x148], 0
lea ecx, [esp + 0x3c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov dword [esp + 0x148], 0xffffffff
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.00532776
mov esp, ebp
pop ebp
ret