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

Disassembly:
push 0xffffffffffffffff
push 0x54b208
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0x1d0]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x1e0]
lea ecx, [esp + 0x20]
call dword [0x55a6c4]
mov dword [esp + 0x1d8], 0
lea eax, [ebp + 4]
push eax
mov dword [esp + 0x38], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [esp + 0xd4]
call dword [sym.imp.libUtils.module_public:_void___thiscall_xmlElement::constructor_void_]
mov byte [esp + 0x1d8], 1
lea esi, [ebp + 0x24]
lea eax, [esp + 0x1c]
push esi
lea ecx, [ebp + 0x1c]
push eax
call fcn.0040e540
mov byte [esp + 0x1e0], 2
push eax
lea ecx, [esp + 0x20]
push ecx
mov edi, 0x56152c
call fcn.0040f2b0
mov byte [esp + 0x1e8], 3
mov edx, dword [esp + 0x1f4]
push edx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.0040e540
mov bl, 4
mov byte [esp + 0x1f0], bl
push eax
lea edx, [esp + 0x40]
push edx
mov edi, str..xml
call fcn.0040f2b0
add esp, 0x20
mov byte [esp + 0x1d8], 5
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0x1d8], bl
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 + 0x1d8], 3
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 + 0x1d8], 2
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]
mov byte [esp + 0x1d8], 1
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 ebx, dword [sym.imp.libUtils.module_lutXMLStandardParseF]
push 0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xdc]
push ecx
call ebx
add esp, 0xc
cmp byte [esp + 0x114], 0
jne 0x5036c1
lea edx, [esp + 0x1c]
push esi
lea ecx, [ebp + 0x20]
push edx
call fcn.0040e540
mov byte [esp + 0x1e0], 6
push eax
lea eax, [esp + 0x20]
push eax
mov edi, 0x56152c
call fcn.0040f2b0
mov byte [esp + 0x1e8], 7
mov ecx, dword [esp + 0x1f4]
push ecx
lea edx, [esp + 0x2c]
push edx
mov ecx, eax
call fcn.0040e540
mov byte [esp + 0x1f0], 8
push eax
lea eax, [esp + 0x40]
push eax
mov edi, str..xml
call fcn.0040f2b0
add esp, 0x20
mov byte [esp + 0x1d8], 9
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0x1d8], 8
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 + 0x1d8], 7
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 + 0x1d8], 6
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]
mov byte [esp + 0x1d8], 1
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]
push 0
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0xdc]
push edx
call ebx
add esp, 0xc
cmp byte [esp + 0x114], 0
jne 0x5036c1
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esp + 0x1d8], 0
lea ecx, [esp + 0xd4]
call dword [sym.imp.libUtils.module_public_virtual:_void___thiscall_xmlElement::destructor_void_]
mov dword [esp + 0x1d8], 0xffffffff
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]
xor eax, eax
jmp 0x5042e1
push 0x70
call sub.mfc90u.dll_new
add esp, 4
mov dword [esp + 0x50], eax
mov byte [esp + 0x1d8], 0xa
test eax, eax
je 0x5036e3
push eax
call fcn.00504300
jmp 0x5036e5
xor eax, eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x1d8], 1
mov ecx, dword [esp + 0x1e4]
push ecx
mov ecx, eax
mov dword [esp + 0x54], eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov esi, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
cmp esi, eax
jbe 0x503724
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x28], edi
mov ebp, esi
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov dword [esp + 0x2c], ebp
mov esi, eax
cmp dword [esp + 0xec], eax
jbe 0x503748
call ebx
test edi, edi
je 0x503755
cmp edi, dword [esp + 0xe0]
je 0x503757
call ebx
cmp ebp, esi
je 0x504286
test edi, edi
jne 0x50384d
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503772
call ebx
lea esi, [ebp + 4]
push str.message
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 0x5039da
lea edx, [esp + 0x40]
push edx
call fcn.004ed720
mov byte [esp + 0x1d8], 0xb
push 0x55be70
lea ecx, [esp + 0x74]
call dword [0x55a504]
mov bl, 0xc
mov byte [esp + 0x1d8], bl
push 0x55d634
lea ecx, [esp + 0x50]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0xd
test edi, edi
jne 0x503854
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5037e6
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, ebp
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 0
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [esp + 0x48], eax
mov byte [esp + 0x1d8], bl
lea ecx, [esp + 0x4c]
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 + 0x1d8], 0xb
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]
cmp dword [esp + 0x48], 0
jne 0x503858
mov byte [esp + 0x1d8], 1
lea edx, [esp + 0x40]
push edx
call fcn.0051bb10
jmp 0x504255
mov eax, dword [edi]
jmp 0x50376b
mov eax, dword [edi]
jmp 0x5037db
push str.text
lea ecx, [esp + 0x60]
call dword [0x55a504]
mov bl, 0xe
mov byte [esp + 0x1d8], bl
test edi, edi
jne 0x503ac5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50388b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x14c]
push ecx
mov ecx, ebp
call dword [sym.imp.libUtils.module_public:_class_xmlElement___thiscall_xmlElement::GetChild_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov byte [esp + 0x1d8], 0xf
add eax, 0x3c
push eax
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]
mov byte [esp + 0x1d8], bl
lea ecx, [esp + 0x148]
call dword [sym.imp.libUtils.module_public_virtual:_void___thiscall_xmlElement::destructor_void_]
mov byte [esp + 0x1d8], 0xb
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]
push 0x5617a0
push 0x580288
lea ecx, [esp + 0x48]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push 0x561da4
push 0x580290
lea ecx, [esp + 0x48]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push str.title
lea ecx, [esp + 0x68]
call dword [0x55a504]
mov bl, 0x10
mov byte [esp + 0x1d8], bl
test edi, edi
jne 0x503acc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503937
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x190]
push eax
mov ecx, ebp
call dword [sym.imp.libUtils.module_public:_class_xmlElement___thiscall_xmlElement::GetChild_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
mov byte [esp + 0x1d8], 0x11
add eax, 0x3c
push eax
lea ecx, [esp + 0x48]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0x1d8], bl
lea ecx, [esp + 0x18c]
call dword [sym.imp.libUtils.module_public_virtual:_void___thiscall_xmlElement::destructor_void_]
mov byte [esp + 0x1d8], 0xb
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]
push 0x5617a0
push 0x580288
lea ecx, [esp + 0x4c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push 0x561da4
push 0x580290
lea ecx, [esp + 0x4c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov eax, dword [esp + 0x30]
add eax, 0x50
lea edi, [esp + 0x40]
call fcn.00504b70
mov byte [esp + 0x1d8], 1
mov ecx, edi
push ecx
call fcn.0051bb10
mov edi, dword [esp + 0x28]
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x503ad3
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5039ed
call ebx
push str.text
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 0x503b5b
lea ecx, [esp + 0x38]
call dword [0x55a6c4]
mov bl, 0x13
mov byte [esp + 0x1d8], bl
push 0x55be70
lea ecx, [esp + 0x5c]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x14
push 0x55d634
lea ecx, [esp + 0x64]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x15
test edi, edi
jne 0x503ada
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503a5e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x64]
push eax
mov ecx, ebp
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 0
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [esp + 0x3c], eax
mov byte [esp + 0x1d8], 0x14
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 + 0x1d8], bl
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]
cmp dword [esp + 0x3c], 0
jne 0x503ae1
mov byte [esp + 0x1d8], 1
lea ecx, [esp + 0x38]
push ecx
call fcn.0052a1f0
jmp 0x504255
mov eax, dword [edi]
jmp 0x503880
mov eax, dword [edi]
jmp 0x50392c
mov eax, dword [edi]
jmp 0x5039e6
mov eax, dword [edi]
jmp 0x503a53
test edi, edi
jne 0x503c44
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503afc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [ebp + 0x3c]
push edx
lea ecx, [esp + 0x3c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push 0x5617a0
push 0x580288
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push 0x561da4
push 0x580290
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x34]
add eax, 0x10
call fcn.00504a90
mov byte [esp + 0x1d8], 1
lea ecx, [esp + 0x38]
push ecx
call fcn.0052a1f0
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x503c4b
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503b6e
call ebx
push str.window
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 0x504255
lea edx, [esp + 0x74]
push edx
call fcn.00504380
mov byte [esp + 0x1d8], 0x16
push 0x55be70
lea ecx, [esp + 0x6c]
call dword [0x55a504]
mov bl, 0x17
mov byte [esp + 0x1d8], bl
push 0x55d634
lea ecx, [esp + 0x58]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x18
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x503c52
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503bdd
call esi
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x58]
push ecx
mov ecx, ebp
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 0
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [esp + 0x78], eax
mov byte [esp + 0x1d8], bl
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 + 0x1d8], 0x16
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]
cmp dword [esp + 0x78], 0
jne 0x503c56
mov byte [esp + 0x1d8], 1
lea edx, [esp + 0x74]
push edx
call fcn.005043e0
jmp 0x504255
mov eax, dword [edi]
jmp 0x503af1
mov eax, dword [edi]
jmp 0x503b67
mov eax, dword [edi]
jmp 0x503bd6
test edi, edi
jne 0x503cc1
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503c65
call esi
mov esi, dword [ebp + 0x18]
cmp esi, dword [ebp + 0x1c]
jbe 0x503c73
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, dword [esp + 0x2c]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x9c], edi
mov ebp, esi
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x503cc5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x503c9e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x18], esi
jbe 0x503cac
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebx + 0xc]
test edi, edi
je 0x503cb7
cmp edi, eax
je 0x503cc9
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
call ebx
jmp 0x503ccf
mov eax, dword [edi]
jmp 0x503c5e
mov eax, dword [eax]
jmp 0x503c93
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, esi
je 0x50412f
test edi, edi
jne 0x503e1b
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503cea
call ebx
lea esi, [ebp + 4]
push str.text
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 0x503e2d
lea eax, [esp + 0x11c]
push eax
call fcn.00504440
mov bl, 0x19
mov byte [esp + 0x1d8], bl
push 0x55be70
lea ecx, [esp + 0x38]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x1a
push 0x55d634
lea ecx, [esp + 0x70]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x1b
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x503e22
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503d5f
call esi
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x70]
push edx
mov ecx, ebp
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 0
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [esp + 0x124], eax
mov byte [esp + 0x1d8], 0x1a
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 + 0x1d8], bl
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]
test edi, edi
jne 0x503e29
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503dba
call esi
lea eax, [ebp + 0x3c]
push eax
lea ecx, [esp + 0x120]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push 0x5617a0
push 0x580288
lea ecx, [esp + 0x124]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
lea ecx, [esp + 0x11c]
push ecx
lea eax, [esp + 0x80]
mov dword [esp + 0x124], 0
call fcn.005049d0
mov byte [esp + 0x1d8], 0x16
lea edx, [esp + 0x11c]
push edx
call fcn.005044a0
jmp 0x504110
mov eax, dword [edi]
jmp 0x503ce3
mov eax, dword [edi]
jmp 0x503d58
mov eax, dword [edi]
jmp 0x503db3
test edi, edi
jne 0x503fec
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503e40
call ebx
push str.combo
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 0x50410a
lea eax, [esp + 0xa8]
push eax
call fcn.00504440
mov byte [esp + 0x1d8], 0x1c
push 0x55be70
lea ecx, [esp + 0x18]
call dword [0x55a504]
mov bl, 0x1d
mov byte [esp + 0x1d8], bl
push 0x55d634
lea ecx, [esp + 0x20]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x1e
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x503ff3
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503eb2
call esi
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, ebp
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 0
push 0
push eax
call dword [sym.imp.MSVCR90.dll_wcstoul]
add esp, 0xc
mov dword [esp + 0xb0], eax
mov byte [esp + 0x1d8], bl
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 + 0x1d8], 0x1c
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]
mov dword [esp + 0xac], 1
test edi, edi
jne 0x503ffa
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503f1c
call esi
mov esi, dword [ebp + 0x18]
cmp esi, dword [ebp + 0x1c]
jbe 0x503f2a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, dword [ebp + 0xc]
lea ecx, [ecx]
test edi, edi
jne 0x504001
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x503f4b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [ebp + 0x1c]
cmp dword [ebp + 0x18], edi
jbe 0x503f59
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebp + 0xc]
test ebx, ebx
je 0x503f64
cmp ebx, eax
je 0x503f6a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp esi, edi
je 0x504017
test ebx, ebx
jne 0x504008
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x503f8d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edi, [esi + 0x3c]
push str.entry
lea ecx, [edi - 0x38]
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 0x503fc6
test ebx, ebx
jne 0x50400f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x503fb9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
push edi
lea eax, [esp + 0xb8]
call fcn.0042cd90
test ebx, ebx
jne 0x504013
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x503fdd
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [esp + 0x9c]
add esi, 0x44
jmp 0x503f30
mov eax, dword [edi]
jmp 0x503e39
mov eax, dword [edi]
jmp 0x503eab
mov eax, dword [edi]
jmp 0x503f15
mov eax, dword [edi]
jmp 0x503f40
mov eax, dword [ebx]
jmp 0x503f82
mov eax, dword [ebx]
jmp 0x503fae
mov eax, dword [ebx]
jmp 0x503fd2
mov eax, dword [esp + 0x98]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x90]
mov dword [esp + 0xac], 1
cmp eax, ecx
ja 0x504047
lea ebx, [esp + 0x7c]
call fcn.00504d30
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
lea esi, [ecx + edx]
cmp eax, esi
ja 0x50405e
sub esi, eax
mov edx, dword [esp + 0x8c]
cmp dword [edx + esi*4], 0
jne 0x50407f
push 0x2c
call sub.mfc90u.dll_new
mov ecx, dword [esp + 0x90]
add esp, 4
mov dword [ecx + esi*4], eax
mov edx, dword [esp + 0x8c]
mov esi, dword [edx + esi*4]
mov byte [esp + 0x1d8], 0x1f
test esi, esi
je 0x5040a2
push esi
lea ecx, [esp + 0xac]
call fcn.00505d90
mov byte [esp + 0x1d8], 0x1c
inc dword [esp + 0x98]
mov bl, 0x20
mov byte [esp + 0x1d8], bl
lea eax, [esp + 0xb4]
mov dword [esp + 0xa4], eax
mov byte [esp + 0x1d8], 0x22
mov esi, eax
call fcn.0042cff0
mov byte [esp + 0x1d8], bl
mov ecx, dword [esp + 0xb4]
push ecx
call sub.mfc90u.dll_delete
add esp, 4
mov byte [esp + 0x1d8], 0x16
lea ecx, [esp + 0xa8]
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 edi, dword [esp + 0x9c]
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x50412b
call esi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50411f
call esi
mov ebx, dword [esp + 0x2c]
add ebp, 0x44
jmp 0x503c83
mov eax, dword [edi]
jmp 0x504118
push 0x55ae9c
lea ecx, [esp + 0x28]
call dword [0x55a504]
mov bl, 0x25
mov byte [esp + 0x1d8], bl
push str.title
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov byte [esp + 0x1d8], 0x26
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x50427b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov esi, dword [esp + 0x2c]
cmp esi, dword [eax + 0x10]
jb 0x504181
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
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 + 0x78]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0x1d8], bl
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 + 0x1d8], 0x16
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]
push 0x5617a0
push 0x580288
lea ecx, [esp + 0x7c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0x4c]
add esi, 0x30
inc ecx
cmp dword [esi + 0x14], ecx
ja 0x5041ec
mov ebx, esi
call fcn.005051a0
mov edi, dword [esi + 0x18]
add edi, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
cmp eax, edi
ja 0x5041fb
sub edi, eax
mov edx, dword [esi + 0x10]
cmp dword [edx + edi*4], 0
jne 0x504214
push 0x28
call sub.mfc90u.dll_new
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ecx + edi*4], eax
mov edx, dword [esi + 0x10]
mov edi, dword [edx + edi*4]
mov byte [esp + 0x1d8], 0x27
test edi, edi
je 0x504230
push edi
lea edi, [esp + 0x78]
call fcn.00505e60
mov byte [esp + 0x1d8], 0x16
inc dword [esi + 0x1c]
mov byte [esp + 0x1d8], 1
lea eax, [esp + 0x74]
push eax
call fcn.005043e0
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x504282
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50426c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0xf0]
add ebp, 0x44
jmp 0x503731
mov eax, dword [eax]
jmp 0x504172
mov eax, dword [edi]
jmp 0x504261
mov esi, dword [esp + 0x1e0]
lea ecx, [esp + 0x50]
push ecx
lea eax, [esi + 0x28]
call fcn.004c8c40
lea eax, [esi + 4]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [esp + 0x1e4]
push edx
mov eax, esi
call fcn.00503260
mov esi, eax
mov byte [esp + 0x1d8], 0
lea ecx, [esp + 0xd4]
call dword [sym.imp.libUtils.module_public_virtual:_void___thiscall_xmlElement::destructor_void_]
mov dword [esp + 0x1d8], 0xffffffff
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 eax, esi
mov ecx, dword [esp + 0x1d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8