Function at 0x4069ba
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov dword [ebp - 0x2c], ecx
cmp dword [ebp + 8], 0
jne 0x4069ff
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 2
mov ecx, eax
call dbg.TiXmlDocument::SetError(int, char const*, TiXmlParsingData*, TiXmlEncoding)
sub esp, 0x10
mov eax, 0
jmp 0x406c8c
mov eax, dword [ebp - 0x2c]
mov ecx, eax
call dbg.TiXmlNode::Clear()
mov eax, dword [ebp - 0x2c]
add eax, 4
mov ecx, eax
call dbg.TiXmlCursor::Clear()
mov dword [ebp - 0x14], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._fseek
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._ftell
mov dword [ebp - 0x14], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._fseek
cmp dword [ebp - 0x14], 0
jg 0x406a9d
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xc
mov ecx, eax
call dbg.TiXmlDocument::SetError(int, char const*, TiXmlParsingData*, TiXmlEncoding)
sub esp, 0x10
mov eax, 0
jmp 0x406c8c
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [esp], eax
call sym.operator_new___unsigned_int_
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym._fread
cmp eax, 1
setne al
test al, al
je 0x406b26
cmp dword [ebp - 0x18], 0
je 0x406af0
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 2
mov ecx, eax
call dbg.TiXmlDocument::SetError(int, char const*, TiXmlParsingData*, TiXmlEncoding)
sub esp, 0x10
mov eax, 0
jmp 0x406c8c
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x19], 0xd
mov byte [ebp - 0x1a], 0xa
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add eax, edx
mov byte [eax], 0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
je 0x406c16
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add eax, edx
cmp dword [ebp - 0xc], eax
jb 0x406b7c
mov dword [esp + 8], 0x423
mov dword [esp + 4], str.tinyxml_tinyxml.cpp
mov dword [esp], str.p____buflength_
call sym.__assert
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add eax, edx
cmp dword [ebp - 0x10], eax
jbe 0x406ba5
mov dword [esp + 8], 0x424
mov dword [esp + 4], str.tinyxml_tinyxml.cpp
mov dword [esp], str.q____buflength_
call sym.__assert
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jbe 0x406bc9
mov dword [esp + 8], 0x425
mov dword [esp + 4], str.tinyxml_tinyxml.cpp
mov dword [esp], str.q___p
call sym.__assert
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x406bfa
mov eax, dword [ebp - 0x10]
lea edx, [eax + 1]
mov dword [ebp - 0x10], edx
mov byte [eax], 0xa
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0xa
jne 0x406b45
add dword [ebp - 0xc], 1
jmp 0x406b45
mov edx, dword [ebp - 0xc]
lea eax, [edx + 1]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 1]
mov dword [ebp - 0x10], ecx
movzx edx, byte [edx]
mov byte [eax], dl
jmp 0x406b45
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add eax, edx
cmp dword [ebp - 0x10], eax
jbe 0x406c3f
mov dword [esp + 8], 0x432
mov dword [esp + 4], str.tinyxml_tinyxml.cpp
mov dword [esp], str.q____buflength_
call sym.__assert
mov eax, dword [ebp - 0x10]
mov byte [eax], 0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
add eax, 0xc
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x18]
mov dword [esp], ecx
mov ecx, eax
call edx
sub esp, 0xc
cmp dword [ebp - 0x18], 0
je 0x406c7f
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym.operator_delete___void_
mov eax, dword [ebp - 0x2c]
mov ecx, eax
call dbg.TiXmlDocument::Error() const
xor eax, 1
leave
ret 8