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

Disassembly:
push 0x78
mov eax, 0x42533b
call fcn.0042156f
mov ebx, ecx
and dword [ebx + 8], 0
lea esi, [ebx + 0x100]
mov byte [ebx + 0x28], 0
call fcn.00415a26
cmp byte [0x4a10c6], 0
je 0x418119
lea edi, [ebx + 0x118]
call fcn.00415336
lea edi, [ebx + 0x124]
call fcn.004064db
mov byte [0x4a10c6], 0
lea edi, [ebx + 0x130]
call fcn.004064db
lea edi, [ebx + 0x13c]
call fcn.004153fd
lea edi, [ebx + 0x148]
call fcn.00415449
lea edi, [ebx + 0x154]
call fcn.00415495
lea edi, [ebx + 0x160]
call fcn.00415495
lea edi, [ebx + 0x16c]
call fcn.00415594
xor esi, esi
mov byte [0x4a10cd], 0
mov byte [0x4a10ce], 0
mov byte [0x4a10cc], 0
mov byte [0x4a10cb], 0
mov dword [ebp - 4], esi
mov byte [ebx + 0x78], 0
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x18], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call sub.mfc90u.dll_CFile::CFile
push esi
push esi
mov byte [ebp - 4], 3
push dword [ebp + 8]
lea ecx, [ebp - 0x5c]
call sub.mfc90u.dll_CFile::Open
lea ecx, [ebp - 0x5c]
cmp eax, esi
je 0x418215
call sub.mfc90u.dll_CFile::GetLength
add eax, 0x800
push eax
push 2
mov dword [ebp - 0x48], edx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp + 8], eax
cmp eax, esi
je 0x41826a
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
lea ecx, [ebp - 0x5c]
cmp edi, esi
je 0x418215
call sub.mfc90u.dll_CFile::GetLength
add eax, 0x800
push eax
push esi
push edi
mov dword [ebp - 0x48], edx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x5c]
call sub.mfc90u.dll_CFile::GetLength
push eax
push edi
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], edx
call sub.mfc90u.dll_CFile::Read
lea ecx, [ebp - 0x5c]
cmp eax, esi
jne 0x418248
mov byte [ebp - 4], 2
call fcn.00420746
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, esi
je 0x41822f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x418240
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or eax, 0xffffffff
jmp 0x41889d
call sub.mfc90u.dll_CFile::GetLength
push eax
mov ecx, edi
mov dword [ebp - 0x48], edx
call fcn.0041fbb2
lea eax, [ebp - 0x18]
push eax
push esi
push dword [ebp + 8]
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
je 0x41826f
lea ecx, [ebp - 0x5c]
jmp 0x418215
push esi
lea eax, [ebp - 0x14]
push eax
push 0x43cde8
call sub.XmlLite.dll_CreateXmlReader
cmp eax, esi
jl 0x41826a
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push esi
push 4
push eax
call dword [ecx + 0x14]
cmp eax, esi
jl 0x41826a
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp eax, esi
jl 0x41826a
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x34]
push edx
push eax
call dword [ecx + 0x18]
xor esi, esi
cmp eax, esi
jne 0x418636
mov eax, dword [ebp - 0x34]
cmp eax, 8
jg 0x4184e7
je 0x4182f0
dec eax
je 0x4183d6
dec eax
dec eax
je 0x418300
dec eax
je 0x4182f0
sub eax, 3
jne 0x4182a2
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push esi
lea edx, [ebp - 0x1c]
push edx
push eax
call dword [ecx + 0x38]
cmp eax, esi
jl 0x41826a
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push esi
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0x40]
jmp 0x41829e
cmp byte [ebx + 0x1a0], 0
jne 0x4182a2
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push esi
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0x40]
cmp eax, esi
jl 0x41826a
cmp byte [ebx + 0x28], 0
je 0x4183b1
lea esi, [ebx + 0x24]
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
push dword [ebp - 0x20]
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Trim]
push eax
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push dword [0x4a14c8]
lea edi, [ebx + 0x1c]
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4183aa
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jle 0x4183aa
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push esi
call dword [0x436a20]
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x44], esp
push dword [ebp - 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push ecx
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x40], esp
push edi
call dword [0x436a20]
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.00418b8d
mov ecx, ebx
call fcn.00419711
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push dword [ebp - 0x1c]
lea edi, [ebx + 4]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
call fcn.0041894a
push dword [edi]
mov ecx, ebx
call fcn.004188b2
jmp 0x4182a2
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x3c]
cmp eax, esi
jl 0x41826a
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push esi
lea edx, [ebp - 0x1c]
push edx
push eax
call dword [ecx + 0x38]
cmp eax, esi
jl 0x41826a
lea edi, [ebx + 0x1c]
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
push dword [ebp - 0x1c]
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
push dword [0x4a14e4]
mov eax, dword [edi]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push eax
call esi
test eax, eax
jne 0x418435
push 0x29
pop eax
jmp 0x418445
push dword [0x4a1444]
mov eax, dword [edi]
push eax
call esi
test eax, eax
jne 0x41844d
inc eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
jmp 0x4184a0
push dword [0x4a14a0]
mov eax, dword [edi]
push eax
call esi
test eax, eax
jne 0x418465
mov dword [ebx + 0x14], 0x18
jmp 0x41847b
push dword [0x4a1488]
mov eax, dword [edi]
push eax
call esi
test eax, eax
jne 0x41848a
mov dword [ebx + 0x14], 0x12
cmp byte [ebx + 0x1a0], 0
jne 0x4182a2
jmp 0x4184a0
push dword [0x4a147c]
mov edi, dword [edi]
push edi
call esi
test eax, eax
jne 0x4184a0
mov dword [ebx + 0x14], 0xf
mov ecx, dword [ebp - 0x14]
mov edx, ebx
call fcn.00417eab
test eax, eax
jge 0x4184d9
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.00420746
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4184cb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
test eax, eax
jmp 0x418238
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
jmp 0x4182a2
sub eax, 0xd
je 0x4182f0
dec eax
dec eax
je 0x41850b
dec eax
dec eax
jne 0x4182a2
mov ecx, dword [ebp - 0x14]
mov edx, ebx
call fcn.00417eab
jmp 0x41829e
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x3c]
cmp eax, esi
jl 0x41826a
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push esi
lea edx, [ebp - 0x1c]
push edx
push eax
call dword [ecx + 0x38]
cmp eax, esi
jl 0x41826a
cmp byte [ebx + 0x28], 0
je 0x4185e0
lea edi, [ebx + 0x24]
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
push dword [ebp - 0x20]
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Trim]
push eax
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push dword [0x4a14c8]
lea esi, [ebx + 0x1c]
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4185de
mov eax, dword [ebx + 0xac]
cmp eax, 3
je 0x418591
cmp eax, 4
jne 0x4185de
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push edi
call dword [0x436a20]
push ecx
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x44], esp
push dword [ebp - 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push ecx
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x40], esp
push esi
call dword [0x436a20]
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.00418b8d
mov ecx, ebx
call fcn.00419711
push dword [ebx + 4]
mov ecx, ebx
call fcn.004188b2
xor esi, esi
push dword [0x4a1444]
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4182a2
cmp byte [ebx + 0x28], al
je 0x4182a2
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.00420746
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, esi
je 0x41861d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x41862e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
jmp 0x41889d
cmp byte [ebx + 0x1a0], 0
jne 0x418648
cmp byte [0x4a10c6], 0
je 0x418600
lea esi, [ebx + 0x100]
mov dword [ebp - 0x24], esi
call fcn.00415a26
lea ecx, [ebp + 8]
call dword [0x436ac8]
mov byte [ebp - 4], 8
mov eax, dword [ebx + 0x11c]
mov esi, dword [eax]
mov dword [ebp - 0x30], esi
cmp esi, dword [ebx + 0x11c]
je 0x41873a
lea eax, [ebp - 0x70]
push eax
call fcn.00401118
lea eax, [ebp - 0x84]
lea edi, [esi + 0x10]
push eax
mov byte [ebp - 4], 9
call fcn.00403b5e
mov edi, eax
lea esi, [ebp - 0x70]
mov byte [ebp - 4], 0xa
call fcn.00403ba5
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 9
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, [ebp - 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]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
push 0x438cc8
push str.IDS_CATEG_FORMAT
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x4a0f68
call dword [sym.imp.K9PCUhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CMainApp::LoadStringW_wchar_t_const___wchar_t_const__]
mov byte [ebp - 4], 0xb
push dword [ebp - 0x6c]
mov eax, dword [eax]
push dword [ebp - 0x68]
push eax
lea eax, [ebp + 8]
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0x10
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
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 [ebp - 0x24]
mov eax, dword [ecx + 4]
lea edx, [ebp + 8]
push edx
push eax
push ecx
call fcn.00419b76
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 8
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, [ebp - 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]
lea eax, [ebp - 0x30]
call fcn.00415984
mov esi, dword [ebp - 0x30]
jmp 0x41866e
mov eax, dword [ebp - 0x24]
call fcn.004199f8
mov ecx, dword [ebp - 0x24]
call fcn.00419a3b
lea edi, [ebx + 0x118]
call fcn.00415336
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], 1
call dword [0x436ac8]
mov byte [ebp - 4], 0xc
mov eax, dword [ebx + 0x104]
mov esi, dword [eax]
mov dword [ebp - 0x30], esi
cmp esi, dword [ebx + 0x104]
je 0x418874
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
add esi, 8
push esi
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
xor esi, esi
push esi
mov edi, 0x43cdc8
push edi
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
push eax
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid_1]
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xc
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
push edi
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Find]
inc eax
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid]
push dword [eax]
call dword [sym.imp.MSVCR90.dll__wtoi]
pop ecx
lea ecx, [ebp - 0x44]
mov esi, eax
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, [ebp - 0x70]
push eax
call fcn.00401118
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x6c], esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x48], esp
push eax
lea edi, [ebp - 0x70]
call fcn.00403b5e
push dword [ebp - 0x24]
call fcn.0041394d
mov esi, ebx
call fcn.00417a71
inc dword [ebp - 0x2c]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xc
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, [ebp - 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]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov esi, eax
jmp 0x418774
mov ecx, dword [ebp - 0x24]
call fcn.004150a3
lea ecx, [ebp - 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]
lea ecx, [ebp + 8]
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 esi, esi
jmp 0x418600
call fcn.004215db
ret 4