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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e391e
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
mov eax, dword [0x53132c]
xor eax, esp
mov dword [esp + 0xf0], eax
push ebx
push esi
push edi
mov eax, dword [0x53132c]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esi]
lea ecx, [esp + 0x38]
push ecx
mov edi, edx
mov edx, dword [eax + 0x44]
push esi
mov dword [esp + 0x2c], esi
call edx
cmp eax, ebx
jl 0x41c858
mov dword [esp + 0x1c], ebx
cmp dword [ebp + 8], ebx
jle 0x41c856
add edi, 5
mov dword [esp + 0x20], edi
jmp 0x41c3e0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
mov edx, dword [edi - 5]
mov edx, dword [edx]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
mov dword [esp + 0x30], eax
cmp eax, ebx
je 0x41c747
cmp byte [edi - 1], 1
jne 0x41c83d
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x110], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x88]
lea eax, [esp + 0x1c]
push eax
push esi
call ecx
push 0x9c40
mov ecx, 0x536e48
call fcn.0044af00
test al, al
je 0x41c733
mov dword [esp + 0x3c], 0x513850
mov byte [esp + 0x110], 1
lea ecx, [esp + 0x8c]
mov dword [esp + 0x20], 1
mov dword [esp + 0x8c], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
call fcn.004016a0
lea eax, [esp + 0x24]
lea edx, [esp + 0x40]
push eax
lea ecx, [esp + 0x90]
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ebx
call fcn.00401660
push eax
mov dword [esp + 0x114], 3
call fcn.00404a20
mov dword [esp + 0x30], eax
mov byte [esp + 0x114], 2
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, ebx
je 0x41c4f8
push 0
lea ecx, [esp + 0x2c]
mov ebx, eax
call fcn.0044752e
mov eax, dword [ebx + 4]
test eax, eax
je 0x41c4d6
cmp eax, 0xffffffff
jae 0x41c4d6
dec eax
mov dword [ebx + 4], eax
mov esi, dword [ebx + 4]
neg esi
sbb esi, esi
lea ecx, [esp + 0x28]
not esi
call fcn.00447556
and esi, ebx
je 0x41c4f6
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
xor ebx, ebx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0x20
call eax
mov byte [esp + 0xcc], al
mov esi, 4
cmp dword [esp + 0xc4], ebx
jne 0x41c533
mov eax, dword [esp + 0x98]
or eax, esi
or eax, esi
push ebx
push eax
lea ecx, [esp + 0x94]
call fcn.00401560
mov dword [esp + 0x110], esi
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x40]
mov dword [esp + edx + 0x3c], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.004045c0
mov dword [esp + 0x40], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], esi
mov byte [esp + 0x110], 6
mov eax, dword [esp + 0x1c]
push eax
call fcn.00458480
push eax
push ecx
push 0x513f88
push ecx
push str._not_found_in_element:
push ecx
mov ecx, dword [edi - 5]
mov edx, dword [ecx]
push edx
call fcn.00458480
push eax
push ecx
lea eax, [esp + 0x5c]
push str.Required_attribute_
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 8
lea ecx, [esp + 0xe4]
push ecx
lea ecx, [esp + 0x40]
call fcn.004031f0
push 0x6c
push str.XmlUtil.cpp
push eax
push 0x9c40
mov ecx, 0x536e48
mov byte [esp + 0x120], 7
call fcn.0044af10
cmp dword [esp + 0xf8], 0x10
jb 0x41c612
mov edx, dword [esp + 0xe4]
push edx
call fcn.00458691
add esp, 4
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x8c]
mov dword [esp + 0x24], eax
mov dword [esp + edx + 0x3c], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
test byte [esp + 0x80], 1
lea eax, [esp + 0x40]
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
je 0x41c655
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
push eax
call fcn.00458691
add esp, 4
mov edx, dword [esp + 0x50]
mov dword [edx], ebx
mov eax, dword [esp + 0x60]
mov dword [eax], ebx
mov ecx, dword [esp + 0x70]
mov dword [ecx], ebx
mov edx, dword [esp + 0x54]
mov dword [edx], ebx
mov eax, dword [esp + 0x64]
mov dword [eax], ebx
mov ecx, dword [esp + 0x74]
mov dword [ecx], ebx
and dword [esp + 0x80], 0xfffffffe
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x40], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov byte [esp + 0x110], 9
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x41c6f0
mov edi, dword [eax]
cmp edi, ebx
je 0x41c6e3
push ebx
lea ecx, [esp + 0x30]
call fcn.0044752e
mov eax, dword [edi + 4]
cmp eax, ebx
jbe 0x41c6c1
cmp eax, 0xffffffff
jae 0x41c6c1
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [esp + 0x2c]
and esi, edi
call fcn.00447556
cmp esi, ebx
je 0x41c6e3
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00458691
add esp, 4
lea ecx, [esp + 0x44]
mov byte [esp + 0x110], 8
call fcn.00447beb
mov byte [esp + 0x110], 0
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x8c]
mov dword [esp + eax + 0x3c], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push ecx
mov dword [esp + 0x90], vtable.std::ios_base.0
call fcn.00447a81
add esp, 4
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x30]
jmp 0x41c858
lea ecx, [esp + 0xd4]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [esp + 0x110], 0xa
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
lea ecx, [esp + 0xd4]
push ecx
push eax
call edx
mov esi, dword [esp + 0xdc]
push 0xc
call fcn.004597dd
add esp, 4
cmp eax, ebx
je 0x41c799
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], 1
mov esi, eax
jmp 0x41c79b
xor esi, esi
mov byte [esp + 0x110], 0xa
mov dword [esp + 0x30], esi
cmp esi, ebx
je 0x41c87c
mov byte [esp + 0x110], 0xc
mov ecx, dword [edi + 3]
mov byte [edi], 1
mov edx, dword [esi]
mov eax, edx
lea ebx, [eax + 2]
mov di, word [eax]
add eax, 2
test di, di
jne 0x41c7c4
sub eax, ebx
sar eax, 1
push eax
push edx
call fcn.004089d0
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41c81a
mov eax, dword [esi]
test eax, eax
je 0x41c801
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x41c811
push eax
call fcn.004587ff
add esp, 4
push esi
call fcn.00458691
add esp, 4
lea ecx, [esp + 0xd4]
push ecx
mov dword [esp + 0x114], 0xffffffff
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
xor ebx, ebx
mov eax, dword [esp + 0x1c]
inc eax
add edi, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edi
cmp eax, dword [ebp + 8]
jl 0x41c3e0
xor eax, eax
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.004587b6
mov esp, ebp
pop ebp
ret
push 0x8007000e
call fcn.00458460
int3