Function at 0x4a76c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e1fe8
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x515de0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x14], ebx
mov edi, dword [ebp + 8]
test edi, edi
jne 0x4a7714
push edi
push edi
push edi
push 2
call fcn.004a9ec0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [ebx + 0x18]
test esi, esi
je 0x4a772f
jmp 0x4a7720
mov ecx, esi
mov esi, dword [esi + 0x28]
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x4a7720
push 2
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
push 0
push edi
mov dword [ebx + 8], 0xffffffff
mov dword [ebx + 4], 0xffffffff
call fcn.004c9556
push edi
call fcn.004c3bac
push 0
push 0
push edi
mov ebx, eax
call fcn.004c9556
add esp, 0x1c
test ebx, ebx
jg 0x4a7794
mov ecx, dword [ebp - 0x14]
push 0
push 0
push 0
push 0xd
call fcn.004a9ec0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x10], 0x51db9c
push ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0
call fcn.004a5e10
lea eax, [ebx + 1]
push eax
call fcn.004c3c3a
push edi
mov esi, eax
push 1
push ebx
push esi
mov dword [ebp - 0x18], esi
mov byte [esi], 0
call fcn.004c3770
add esp, 0x14
cmp eax, 1
je 0x4a77ee
push esi
call fcn.004c3c8b
mov ecx, dword [ebp - 0x14]
add esp, 4
push 0
push 0
push 0
push 2
call fcn.004a9ec0
xor bl, bl
jmp 0x4a78e6
mov eax, dword [ebp - 0x18]
mov edi, esi
add ebx, eax
mov byte [ebx], 0
cmp byte [eax], 0
je 0x4a78ab
cmp esi, ebx
jb 0x4a781c
push 0x40e
push str.tinyxml_tinyxml.cpp
push 0x4eb738
call fcn.004c9931
add esp, 0xc
mov al, byte [esi]
cmp al, 0xa
jne 0x4a783f
mov eax, esi
lea ecx, [ebp - 0x10]
sub eax, edi
inc eax
push eax
push edi
call fcn.004a5ce0
inc esi
mov edi, esi
cmp esi, ebx
jbe 0x4a78a2
push 0x415
jmp 0x4a788d
cmp al, 0xd
jne 0x4a78a1
mov eax, esi
sub eax, edi
test eax, eax
jle 0x4a7855
push eax
push edi
lea ecx, [ebp - 0x10]
call fcn.004a5ce0
push 1
lea eax, [ebp + 8]
mov byte [ebp + 8], 0xa
push eax
lea ecx, [ebp - 0x10]
call fcn.004a5ce0
cmp byte [esi + 1], 0xa
lea eax, [esi + 1]
jne 0x4a7880
add esi, 2
mov edi, esi
cmp esi, ebx
jbe 0x4a78a2
push 0x423
jmp 0x4a788d
mov esi, eax
mov edi, esi
cmp esi, ebx
jbe 0x4a78a2
push 0x429
push str.tinyxml_tinyxml.cpp
push str.p____buflength_
call fcn.004c9931
add esp, 0xc
jmp 0x4a78a2
inc esi
cmp byte [esi], 0
jne 0x4a7801
sub esi, edi
je 0x4a78b9
push esi
push edi
lea ecx, [ebp - 0x10]
call fcn.004a5ce0
push dword [ebp - 0x18]
call fcn.004c3c8b
mov esi, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, esi
add eax, 8
push dword [ebp + 0xc]
mov edx, dword [esi]
push 0
push eax
call dword [edx + 8]
cmp byte [esi + 0x2c], 0
je 0x4a78e4
xor bl, bl
jmp 0x4a78e6
mov bl, 1
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x51db9c
je 0x4a78fa
push ecx
call fcn.004c3c8b
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8