Function at 0x499610
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cb458
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x4faa80]
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 0x499664
push edi
push edi
push edi
push 2
call fcn.0049be10
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 0x49967f
jmp 0x499670
mov ecx, esi
mov esi, dword [esi + 0x28]
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x499670
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.004b3276
push edi
call fcn.004add88
push 0
push 0
push edi
mov ebx, eax
call fcn.004b3276
add esp, 0x1c
test ebx, ebx
jg 0x4996e4
mov ecx, dword [ebp - 0x14]
push 0
push 0
push 0
push 0xd
call fcn.0049be10
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], 0x500af4
push ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0
call fcn.00497d60
lea eax, [ebx + 1]
push eax
call fcn.004ade16
push edi
mov esi, eax
push 1
push ebx
push esi
mov dword [ebp - 0x18], esi
mov byte [esi], 0
call fcn.004ad94c
add esp, 0x14
cmp eax, 1
je 0x49973e
push esi
call fcn.004ade67
mov ecx, dword [ebp - 0x14]
add esp, 4
push 0
push 0
push 0
push 2
call fcn.0049be10
xor bl, bl
jmp 0x499836
mov eax, dword [ebp - 0x18]
mov edi, esi
add ebx, eax
mov byte [ebx], 0
cmp byte [eax], 0
je 0x4997fb
cmp esi, ebx
jb 0x49976c
push 0x40e
push str.tinyxml_tinyxml.cpp
push 0x4d35e0
call fcn.004b3651
add esp, 0xc
mov al, byte [esi]
cmp al, 0xa
jne 0x49978f
mov eax, esi
lea ecx, [ebp - 0x10]
sub eax, edi
inc eax
push eax
push edi
call fcn.00497c30
inc esi
mov edi, esi
cmp esi, ebx
jbe 0x4997f2
push 0x415
jmp 0x4997dd
cmp al, 0xd
jne 0x4997f1
mov eax, esi
sub eax, edi
test eax, eax
jle 0x4997a5
push eax
push edi
lea ecx, [ebp - 0x10]
call fcn.00497c30
push 1
lea eax, [ebp + 8]
mov byte [ebp + 8], 0xa
push eax
lea ecx, [ebp - 0x10]
call fcn.00497c30
cmp byte [esi + 1], 0xa
lea eax, [esi + 1]
jne 0x4997d0
add esi, 2
mov edi, esi
cmp esi, ebx
jbe 0x4997f2
push 0x423
jmp 0x4997dd
mov esi, eax
mov edi, esi
cmp esi, ebx
jbe 0x4997f2
push 0x429
push str.tinyxml_tinyxml.cpp
push str.p____buflength_
call fcn.004b3651
add esp, 0xc
jmp 0x4997f2
inc esi
cmp byte [esi], 0
jne 0x499751
sub esi, edi
je 0x499809
push esi
push edi
lea ecx, [ebp - 0x10]
call fcn.00497c30
push dword [ebp - 0x18]
call fcn.004ade67
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 0x499834
xor bl, bl
jmp 0x499836
mov bl, 1
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x500af4
je 0x49984a
push ecx
call fcn.004ade67
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