Function at 0x418ff0
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e3ec0
mov eax, dword fs:[0]
push eax
sub esp, 0x1d8
mov eax, dword [0x53132c]
xor eax, esp
mov dword [esp + 0x1d0], eax
push ebx
push esi
push edi
mov eax, dword [0x53132c]
xor eax, esp
push eax
lea eax, [esp + 0x1e8]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x28], ebx
push 0x17
mov dword [esp + 0xd0], ecx
mov esi, 0xf
push str.XmlDomDoc::loadFromFile
lea ecx, [esp + 0x118]
mov dword [esp + 0x34], edi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebx
mov byte [esp + 0x118], bl
call fcn.00404270
push 0x20
push str.XmlDomDoc.cpp
lea eax, [esp + 0x118]
push eax
push 0x536e48
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x200], ebx
call fcn.004119e0
mov byte [esp + 0x1f0], 2
cmp dword [esp + 0x124], 0x10
jb 0x4190ba
mov ecx, dword [esp + 0x110]
push ecx
call fcn.00458691
add esp, 4
push 0x4e20
mov ecx, 0x536e48
mov dword [esp + 0x128], esi
mov dword [esp + 0x124], ebx
mov byte [esp + 0x114], bl
call fcn.0044af00
test al, al
je 0x4193ef
mov dword [esp + 0x34], 0x513850
mov byte [esp + 0x1f0], 3
lea ecx, [esp + 0x84]
mov dword [esp + 0x28], 1
mov dword [esp + 0x84], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
call fcn.004016a0
lea eax, [esp + 0x30]
lea edx, [esp + 0x38]
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebx
call fcn.00401660
push eax
mov dword [esp + 0x1f4], 5
call fcn.00404a20
mov dword [esp + 0x20], eax
mov byte [esp + 0x1f4], 4
mov eax, dword [esp + 0x34]
add esp, 4
cmp eax, ebx
je 0x4191a4
mov esi, eax
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], esi
call fcn.0044752e
mov eax, dword [esi + 4]
cmp eax, ebx
jbe 0x419180
cmp eax, 0xffffffff
jae 0x419180
dec eax
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
neg esi
sbb esi, esi
not esi
and esi, dword [esp + 0x24]
lea ecx, [esp + 0x20]
call fcn.00447556
cmp esi, ebx
je 0x4191a4
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0x20
call eax
mov byte [esp + 0xc4], al
cmp dword [esp + 0xbc], ebx
jne 0x4191d9
mov eax, dword [esp + 0x90]
or eax, 4
push ebx
push eax
lea ecx, [esp + 0x8c]
call fcn.00401560
mov dword [esp + 0x1f0], 6
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x38]
mov dword [esp + edx + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.004045c0
mov esi, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], 4
push 3
lea eax, [esp + 0x134]
mov byte [esp + 0x1f4], 8
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], eax
call fcn.00409340
mov byte [esp + 0x1f0], 9
mov ecx, dword [esp + 0x12c]
push ecx
push ecx
lea edx, [esp + 0x3c]
push str.__File:
push edx
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
mov byte [esp + 0x1f8], 8
mov eax, dword [esp + 0x134]
lea ecx, [esp + 0x138]
add esp, 8
cmp eax, ecx
je 0x419285
push eax
call fcn.004587c5
add esp, 4
lea edx, [esp + 0xf4]
push edx
lea ecx, [esp + 0x38]
call fcn.004031f0
push 0x21
push str.XmlDomDoc.cpp
push eax
push 0x4e20
mov ecx, 0x536e48
mov byte [esp + 0x200], 0xa
call fcn.0044af10
cmp dword [esp + 0x108], 0x10
jb 0x4192cf
mov eax, dword [esp + 0xf4]
push eax
call fcn.00458691
add esp, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], ecx
mov dword [esp + eax + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
test byte [esp + 0x78], 1
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], esi
je 0x41930b
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
push eax
call fcn.00458691
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [eax], ebx
mov ecx, dword [esp + 0x58]
mov dword [ecx], ebx
mov edx, dword [esp + 0x68]
mov dword [edx], ebx
mov eax, dword [esp + 0x4c]
mov dword [eax], ebx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], ebx
mov edx, dword [esp + 0x6c]
mov dword [edx], ebx
and dword [esp + 0x78], 0xfffffffe
mov dword [esp + 0x74], ebx
mov dword [esp + 0x38], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov byte [esp + 0x1f0], 0xc
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4193a7
mov edi, dword [eax]
cmp edi, ebx
je 0x419396
push ebx
lea ecx, [esp + 0x20]
call fcn.0044752e
mov eax, dword [edi + 4]
cmp eax, ebx
jbe 0x419374
cmp eax, 0xffffffff
jae 0x419374
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [esp + 0x1c]
and esi, edi
call fcn.00447556
cmp esi, ebx
je 0x419396
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
mov eax, dword [esp + 0x20]
push eax
call fcn.00458691
mov edi, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1f0], 0xb
call fcn.00447beb
mov byte [esp + 0x1f0], 2
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x84]
mov dword [esp + edx + 0x34], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push eax
mov dword [esp + 0x88], vtable.std::ios_base.0
call fcn.00447a81
add esp, 4
mov esi, 0xf
lea ecx, [esp + 0xd0]
push ecx
push edi
call fcn.0045cd6d
add esp, 8
test eax, eax
je 0x419759
push 0x9c40
mov ecx, 0x536e48
call fcn.0044af00
test al, al
je 0x419738
mov dword [esp + 0x34], 0x513850
mov byte [esp + 0x1f0], 0xd
or dword [esp + 0x28], 4
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
call fcn.004016a0
lea eax, [esp + 0x1c]
lea edx, [esp + 0x38]
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebx
call fcn.00401660
push eax
mov dword [esp + 0x1f4], esi
call fcn.00404a20
mov dword [esp + 0x28], eax
mov byte [esp + 0x1f4], 0xe
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, ebx
je 0x4194d4
push ebx
lea ecx, [esp + 0x24]
mov edi, eax
call fcn.0044752e
mov eax, dword [edi + 4]
cmp eax, ebx
jbe 0x4194ae
cmp eax, 0xffffffff
jae 0x4194ae
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [esp + 0x20]
and esi, edi
call fcn.00447556
cmp esi, ebx
je 0x4194d0
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 0x20
call eax
mov byte [esp + 0xc4], al
cmp dword [esp + 0xbc], ebx
jne 0x419509
mov eax, dword [esp + 0x90]
or eax, 4
push ebx
push eax
lea ecx, [esp + 0x8c]
call fcn.00401560
mov dword [esp + 0x1f0], 0x10
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x38]
mov dword [esp + edx + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.004045c0
mov dword [esp + 0x38], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], 4
push 3
lea eax, [esp + 0x134]
mov byte [esp + 0x1f4], 0x12
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], eax
call fcn.00409340
mov byte [esp + 0x1f0], 0x13
mov esi, dword [esp + 0x12c]
call fcn.0045c584
mov ecx, dword [eax]
push ecx
push ecx
push str._failed_with:
push ecx
push esi
push ecx
lea edx, [esp + 0x4c]
push str._wstat32_on:
push edx
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
mov ecx, eax
call fcn.00414820
mov byte [esp + 0x1f0], 0x12
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x130]
cmp eax, ecx
je 0x4195d3
push eax
call fcn.004587c5
add esp, 4
lea edx, [esp + 0xf4]
push edx
lea ecx, [esp + 0x38]
call fcn.004031f0
push 0x26
push str.XmlDomDoc.cpp
push eax
push 0x9c40
mov ecx, 0x536e48
mov byte [esp + 0x200], 0x14
call fcn.0044af10
cmp dword [esp + 0x108], 0x10
jb 0x41961d
mov eax, dword [esp + 0xf4]
push eax
call fcn.00458691
add esp, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], ecx
mov dword [esp + eax + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
test byte [esp + 0x78], 1
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
je 0x41965d
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
push eax
call fcn.00458691
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [eax], ebx
mov ecx, dword [esp + 0x58]
mov dword [ecx], ebx
mov edx, dword [esp + 0x68]
mov dword [edx], ebx
mov eax, dword [esp + 0x4c]
mov dword [eax], ebx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], ebx
mov edx, dword [esp + 0x6c]
mov dword [edx], ebx
and dword [esp + 0x78], 0xfffffffe
mov dword [esp + 0x74], ebx
mov dword [esp + 0x38], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov byte [esp + 0x1f0], 0x16
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4196f5
mov edi, dword [eax]
cmp edi, ebx
je 0x4196e8
push ebx
lea ecx, [esp + 0x20]
call fcn.0044752e
mov eax, dword [edi + 4]
cmp eax, ebx
jbe 0x4196c6
cmp eax, 0xffffffff
jae 0x4196c6
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [esp + 0x1c]
and esi, edi
call fcn.00447556
cmp esi, ebx
je 0x4196e8
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
mov eax, dword [esp + 0x20]
push eax
call fcn.00458691
add esp, 4
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1f0], 0x15
call fcn.00447beb
mov byte [esp + 0x1f0], 2
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x84]
mov dword [esp + edx + 0x34], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push eax
mov dword [esp + 0x88], vtable.std::ios_base.0
call fcn.00447a81
add esp, 4
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x1f0], 0xffffffff
call fcn.00411ac0
mov eax, 0x80004005
jmp 0x419c98
mov eax, edi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x419760
mov ecx, dword [esp + 0xcc]
sub eax, edx
sar eax, 1
push eax
push edi
add ecx, 8
call fcn.004089d0
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocStringLen
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [esp + 0x20], esi
cmp esi, 0xffffffff
je 0x419b02
push ebx
push ebx
push ebx
push 2
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [esp + 0x1c], eax
cmp eax, ebx
je 0x419992
mov ecx, dword [esp + 0xe4]
push ecx
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
cmp esi, ebx
je 0x419813
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xe4]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
push esi
call edx
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x419c7f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x9c40
mov ecx, 0x536e48
mov esi, eax
call fcn.0044af00
test al, al
je 0x419972
push 1
push 2
lea ecx, [esp + 0x3c]
call fcn.004030f0
push 3
lea eax, [esp + 0x134]
mov byte [esp + 0x1f4], 0x17
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], eax
call fcn.00409340
push esi
push ecx
push str._failed_with:
push ecx
mov byte [esp + 0x200], 0x18
mov ecx, dword [esp + 0x13c]
push ecx
push ecx
lea edx, [esp + 0x4c]
push str.CreateFileMappingW_on:
push edx
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
mov ecx, eax
call fcn.0040d470
mov byte [esp + 0x1f0], 0x17
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x130]
cmp eax, ecx
je 0x4198cb
push eax
call fcn.004587c5
add esp, 4
lea edx, [esp + 0xf4]
push edx
lea ecx, [esp + 0x38]
call fcn.004031f0
push 0x3e
push str.XmlDomDoc.cpp
push eax
push 0x9c40
mov ecx, 0x536e48
mov byte [esp + 0x200], 0x19
call fcn.0044af10
cmp dword [esp + 0x108], 0x10
jb 0x419915
mov eax, dword [esp + 0xf4]
push eax
call fcn.00458691
add esp, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], ecx
mov dword [esp + eax + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea ecx, [esp + 0x38]
mov byte [esp + 0x1f0], 0x1a
call fcn.00403220
mov byte [esp + 0x1f0], 2
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 4]
lea eax, [esp + 0x84]
mov dword [esp + edx + 0x34], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push eax
mov dword [esp + 0x88], vtable.std::ios_base.0
call fcn.00447a81
add esp, 4
mov ecx, dword [esp + 0x1c]
push ecx
mov edi, 0x80004005
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x419c7f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x9c40
mov ecx, 0x536e48
mov ebx, eax
call fcn.0044af00
test al, al
je 0x419af1
push 1
push 2
lea ecx, [esp + 0x3c]
call fcn.004030f0
push 3
lea edx, [esp + 0x134]
mov byte [esp + 0x1f4], 0x1b
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], edx
call fcn.00409340
push ebx
push ecx
push str._failed_with:
push ecx
mov byte [esp + 0x200], 0x1c
mov eax, dword [esp + 0x13c]
push eax
push ecx
lea ecx, [esp + 0x4c]
push str.CreateFileMappingW_on:
push ecx
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
mov ecx, eax
call fcn.0040d470
mov byte [esp + 0x1f0], 0x1b
mov eax, dword [esp + 0x12c]
lea edx, [esp + 0x130]
cmp eax, edx
je 0x419a4a
push eax
call fcn.004587c5
add esp, 4
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x38]
call fcn.004031f0
push 0x47
push str.XmlDomDoc.cpp
push eax
push 0x9c40
mov ecx, 0x536e48
mov byte [esp + 0x200], 0x1d
call fcn.0044af10
cmp dword [esp + 0x108], 0x10
jb 0x419a94
mov ecx, dword [esp + 0xf4]
push ecx
call fcn.00458691
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x84]
mov dword [esp + 0x1c], edx
mov dword [esp + ecx + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea ecx, [esp + 0x38]
mov byte [esp + 0x1f0], 0x1e
call fcn.00403220
mov byte [esp + 0x1f0], 2
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x84]
mov dword [esp + eax + 0x34], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push ecx
mov dword [esp + 0x88], vtable.std::ios_base.0
call fcn.00447a81
add esp, 4
push esi
mov edi, 0x80004005
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x419c7f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x9c40
mov ecx, 0x536e48
mov esi, eax
call fcn.0044af00
test al, al
je 0x419c7a
push 1
push 2
lea ecx, [esp + 0x3c]
call fcn.004030f0
push 3
lea edx, [esp + 0x134]
mov byte [esp + 0x1f4], 0x1f
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], edx
call fcn.00409340
push esi
push ecx
push str._failed_with:
push ecx
mov byte [esp + 0x200], 0x20
mov eax, dword [esp + 0x13c]
push eax
push ecx
lea ecx, [esp + 0x4c]
push str.CreateFile_open_on:
push ecx
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
push eax
call fcn.00404c20
add esp, 0xc
mov ecx, eax
call fcn.0040d470
mov byte [esp + 0x1f0], 0x1f
mov eax, dword [esp + 0x12c]
lea edx, [esp + 0x130]
cmp eax, edx
je 0x419bba
push eax
call fcn.004587c5
add esp, 4
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x38]
call fcn.004031f0
push 0x50
push str.XmlDomDoc.cpp
push eax
push 0x9c40
mov ecx, 0x536e48
mov byte [esp + 0x200], 0x21
call fcn.0044af10
cmp dword [esp + 0x108], 0x10
jb 0x419c04
mov ecx, dword [esp + 0xf4]
push ecx
call fcn.00458691
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x84]
mov dword [esp + 0x108], 0xf
mov dword [esp + 0x104], ebx
mov byte [esp + 0xf4], bl
mov dword [esp + 0x1c], edx
mov dword [esp + ecx + 0x34], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea ecx, [esp + 0x38]
mov byte [esp + 0x1f0], 0x22
call fcn.00403220
mov byte [esp + 0x1f0], 2
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x84]
mov dword [esp + eax + 0x34], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
push ecx
mov dword [esp + 0x88], vtable.std::ios_base.0
call fcn.00447a81
add esp, 4
mov edi, 0x80004005
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x1f0], 0xffffffff
call fcn.00411ac0
mov eax, edi
mov ecx, dword [esp + 0x1e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1d0]
xor ecx, esp
call fcn.004587b6
mov esp, ebp
pop ebp
ret 4