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

Disassembly:
push 0xffffffffffffffff
push 0x545d42
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov eax, dword [0x5c7000]
add eax, 0x30
push eax
lea ecx, [esp + 0x28]
push ecx
mov edi, str.contactFilters.xml
call fcn.0040f2b0
add esp, 8
mov dword [esp + 0x6c], 0
lea esi, [esp + 0x24]
call fcn.0051b150
lea ecx, [esp + 0x1c]
call dword [0x55a6c4]
mov byte [esp + 0x6c], 1
mov ebx, dword [esp + 0x74]
xor esi, esi
cmp dword [ebx + 0x20], esi
jbe 0x4aa414
lea ebp, [ebx + 4]
lea ecx, [esp + 0x18]
call dword [0x55a6c4]
mov byte [esp + 0x6c], 2
push esi
mov eax, ebp
call fcn.00487e90
add eax, 0xc
cmp dword [eax + 0x1c], 0
je 0x4aa0fb
push esi
mov eax, ebp
xor edi, edi
call fcn.00487e90
add eax, 0xc
cmp dword [eax + 0x1c], edi
jbe 0x4aa0fb
mov edi, edi
push 0x55ae9c
lea ecx, [esp + 0x30]
call dword [0x55a504]
mov byte [esp + 0x6c], 3
push str.filter
lea ecx, [esp + 0x2c]
call dword [0x55a504]
mov byte [esp + 0x6c], 4
push edi
push ecx
push esi
mov eax, ebp
call fcn.00487e90
add esp, 4
add eax, 0xc
call fcn.00437690
mov edx, dword [eax]
push edx
push str.value
push str.group
push str.type
push 2
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x60]
push edx
call dword [sym.imp.libUtils.module_lutCPW]
add esp, 0x20
mov byte [esp + 0x6c], 5
push eax
lea ecx, [esp + 0x1c]
call dword [0x55a4e8]
mov byte [esp + 0x6c], 4
lea ecx, [esp + 0x44]
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 + 0x6c], 3
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 + 0x6c], 2
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]
push esi
mov eax, ebp
inc edi
call fcn.00487e90
add eax, 0xc
cmp edi, dword [eax + 0x1c]
jb 0x4aa040
push esi
mov eax, ebp
call fcn.00487e90
add eax, 4
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x4aa1ac
push 0x55ae9c
lea ecx, [esp + 0x38]
call dword [0x55a504]
mov byte [esp + 0x6c], 6
push str.filter
lea ecx, [esp + 0x34]
call dword [0x55a504]
mov byte [esp + 0x6c], 7
push esi
mov eax, ebp
call fcn.00487e90
mov ecx, dword [eax + 4]
push ecx
push str.value
push str.netType
push str.type
push 2
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.libUtils.module_lutCPW]
add esp, 0x20
mov byte [esp + 0x6c], 8
push eax
lea ecx, [esp + 0x1c]
call dword [0x55a4e8]
mov byte [esp + 0x6c], 7
lea ecx, [esp + 0x48]
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 + 0x6c], 6
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 + 0x6c], 2
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 esi
mov eax, ebp
call fcn.00487e90
add eax, 0x2c
cmp dword [eax + 0x1c], 0
je 0x4aa34e
lea ecx, [esp + 0x20]
call dword [0x55a6c4]
mov byte [esp + 0x6c], 9
push esi
mov eax, ebp
call fcn.00487e90
mov edi, eax
mov ebx, dword [edi + 0x44]
mov edx, dword [edi + 0x48]
add edi, 0x2c
add edx, ebx
cmp ebx, edx
jbe 0x4aa1ef
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [edi]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
lea esp, [esp]
push esi
mov eax, ebp
call fcn.00487e90
mov edi, eax
mov eax, dword [edi + 0x44]
mov ebx, dword [edi + 0x48]
add edi, 0x2c
add ebx, eax
cmp eax, ebx
jbe 0x4aa21f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [edi]
mov edi, dword [esp + 0x58]
test edi, edi
je 0x4aa22d
cmp edi, eax
je 0x4aa233
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esp + 0x5c], ebx
je 0x4aa2cb
push str.guid
lea ecx, [esp + 0x3c]
call dword [0x55a504]
mov byte [esp + 0x6c], 0xa
lea eax, [esp + 0x58]
call fcn.004a8ec0
push 0
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x58]
push edx
call dword [sym.imp.libUtils.module_lutCPW]
add esp, 0x10
mov byte [esp + 0x6c], 0xb
push eax
lea ecx, [esp + 0x24]
call dword [0x55a4e8]
mov byte [esp + 0x6c], 0xa
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 + 0x6c], 9
lea ecx, [esp + 0x38]
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 0x4aa2c5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov eax, dword [eax + 0x1c]
add eax, dword [edi + 0x18]
cmp dword [esp + 0x5c], eax
jb 0x4aa2bc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
inc dword [esp + 0x5c]
jmp 0x4aa200
mov edi, dword [edi]
mov eax, edi
jmp 0x4aa2aa
mov ecx, dword [esp + 0x20]
cmp dword [ecx - 0xc], 0
je 0x4aa33b
push str.filter
lea ecx, [esp + 0x40]
call dword [0x55a504]
mov byte [esp + 0x6c], 0xc
push str.nets
push str.type
push 1
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.libUtils.module_lutCPW]
add esp, 0x18
mov byte [esp + 0x6c], 0xd
push eax
lea ecx, [esp + 0x1c]
call dword [0x55a4e8]
mov byte [esp + 0x6c], 0xc
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]
mov byte [esp + 0x6c], 9
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 byte [esp + 0x6c], 2
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 ebx, dword [esp + 0x74]
push esi
mov eax, ebp
call fcn.00487e90
cmp dword [eax + 8], 0
mov edi, 0x55d9b0
jne 0x4aa366
mov edi, 0x55be70
push 0x5618f0
lea ecx, [esp + 0x44]
call dword [0x55a504]
mov byte [esp + 0x6c], 0xe
push esi
mov eax, ebp
call fcn.00487e90
mov edx, dword [eax]
push 0x55d9b0
xor eax, eax
cmp dword [ebx + 0x24], esi
push str.selected
push edi
sete al
push str.groupFilter
push edx
push str.name
lea ecx, [esp + 0x30]
lea edx, [esp + 0x58]
add eax, 2
push eax
push ecx
push edx
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.libUtils.module_lutCPW]
add esp, 0x28
mov byte [esp + 0x6c], 0xf
push eax
lea ecx, [esp + 0x1c]
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 + 0x6c], 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 + 0x6c], 2
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]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x20]
call dword [0x55a4e8]
mov byte [esp + 0x6c], 1
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]
inc esi
cmp esi, dword [ebx + 0x20]
jb 0x4aa004
push str.root
lea ecx, [esp + 0x78]
call dword [0x55a504]
mov bl, 0x10
mov byte [esp + 0x6c], bl
push 0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x60]
push ecx
call dword [sym.imp.libUtils.module_lutCPW]
add esp, 0x10
mov byte [esp + 0x6c], 0x11
push eax
lea ecx, [esp + 0x20]
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 + 0x6c], 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 + 0x6c], 1
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 ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
call fcn.0051e6a0
mov byte [esp + 0x6c], 0
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 dword [esp + 0x6c], 0xffffffff
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 ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 4