Function at 0x10005520
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100356cc
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x10048040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov ebx, ecx
call fcn.10002830
test al, al
je 0x10005564
cmp dword [0x1004b548], 2
je 0x10005572
push ebx
push str.VCR_Playback___s__:_not_playing_back_a_VCR_file
call fcn.10002020
add esp, 8
lea ecx, [ebp - 0x216]
call fcn.10002190
mov ecx, 0x14
mov dword [ebp - 4], 0
call fcn.10002400
cmp dword [0x1004b57c], 0
jne 0x100055b6
xor esi, esi
mov byte [ebp - 0x215], 0
push esi
lea eax, [ebp - 0x210]
push esi
push eax
call fcn.10016a00
add esp, 0xc
jmp 0x1000568e
push dword [0x1004b57c]
lea eax, [ebp - 0x215]
push 1
push 1
push eax
call fcn.1001e3c5
mov eax, dword [0x1004b560]
add esp, 0x10
mov ecx, dword [0x1004b558]
inc eax
mov dword [0x1004b560], eax
cmp eax, ecx
jle 0x10005603
push str.g_CurFilePos___g_FileLen
push str._VCR_ASSERT_FAILED:__s__n
call fcn.10002280
mov eax, dword [0x1004b560]
add esp, 8
mov ecx, dword [0x1004b558]
cmp eax, ecx
jl 0x1000560b
call dword [0x10048aec]
mov al, byte [ebp - 0x215]
cmp al, 0xff
je 0x100056db
cmp dword [0x1004b57c], 0
movzx esi, al
jne 0x10005639
push esi
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.10016a00
add esp, 0xc
jmp 0x1000568e
push dword [0x1004b57c]
lea eax, [ebp - 0x210]
push esi
push 1
push eax
call fcn.1001e3c5
mov eax, dword [0x1004b560]
add esp, 0x10
mov ecx, dword [0x1004b558]
add eax, esi
mov dword [0x1004b560], eax
cmp eax, ecx
jle 0x10005686
push str.g_CurFilePos___g_FileLen
push str._VCR_ASSERT_FAILED:__s__n
call fcn.10002280
mov eax, dword [0x1004b560]
add esp, 8
mov ecx, dword [0x1004b558]
cmp eax, ecx
jl 0x1000568e
call dword [0x10048aec]
lea ecx, [ebp - 0x210]
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100056b6
test dl, dl
je 0x100056b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100056b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x10005696
xor eax, eax
jmp 0x100056bb
sbb eax, eax
or eax, 1
test eax, eax
je 0x100056db
lea eax, [ebp - 0x210]
push eax
push ebx
push str.VCR_GenericPlayback___s_____event_name_does_not_match__s
call fcn.10002280
add esp, 0xc
xor esi, esi
jmp 0x100059dd
cmp dword [0x1004b57c], 0
jne 0x100056f0
mov dword [ebp - 0x214], 0
jmp 0x10005747
push dword [0x1004b57c]
lea eax, [ebp - 0x214]
push 4
push 1
push eax
call fcn.1001e3c5
mov eax, dword [0x1004b560]
add esp, 0x10
mov ecx, dword [0x1004b558]
add eax, 4
mov dword [0x1004b560], eax
cmp eax, ecx
jle 0x1000573f
push str.g_CurFilePos___g_FileLen
push str._VCR_ASSERT_FAILED:__s__n
call fcn.10002280
mov eax, dword [0x1004b560]
add esp, 8
mov ecx, dword [0x1004b558]
cmp eax, ecx
jl 0x10005747
call dword [0x10048aec]
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x214], eax
jle 0x10005768
push eax
push ebx
push str.VCR_GenericPlayback___s_____generic_data_too_long__greater_than_maxLen:__d_
call fcn.10002280
add esp, 0xc
xor esi, esi
jmp 0x100059dd
mov cl, byte [ebp + 0xc]
test cl, cl
je 0x10005790
mov edx, dword [ebp - 0x214]
cmp edx, eax
je 0x10005790
push eax
push edx
push ebx
push str.VCR_GenericPlayback___s_____data_size_in_file___d__different_than_desired___d_
call fcn.10002280
add esp, 0x10
xor esi, esi
jmp 0x100059dd
cmp byte [ebp + 0x10], 0
je 0x10005966
test cl, cl
jne 0x100057ab
push str.bForceSameContents_and__bForceSameLen_not_allowed.
call fcn.10002020
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1004ab58]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x1004b9a4]
cmp eax, dword [esi + 4]
jle 0x10005802
push 0x1004b9a4
call fcn.10013f0c
add esp, 4
cmp dword [0x1004b9a4], 0xffffffff
jne 0x10005802
mov byte [ebp - 4], 1
push dword [ebp - 0x214]
call fcn.100144ed
push 0x1004b9a4
mov dword [0x1004b998], eax
mov byte [ebp - 4], 0
call fcn.10013ebb
add esp, 8
mov eax, dword [0x1004b99c]
cmp eax, dword [esi + 4]
jle 0x1000583d
push 0x1004b99c
call fcn.10013f0c
add esp, 4
cmp dword [0x1004b99c], 0xffffffff
jne 0x1000583d
mov eax, dword [ebp - 0x214]
push 0x1004b99c
mov dword [0x1004b9a0], eax
call fcn.10013ebb
add esp, 4
mov eax, dword [0x1004b9a0]
cmp eax, dword [ebp - 0x214]
jge 0x10005878
push dword [0x1004b998]
call fcn.100144e8
push dword [ebp - 0x214]
call fcn.100144ed
mov esi, eax
add esp, 8
mov eax, dword [ebp - 0x214]
mov dword [0x1004b998], esi
mov dword [0x1004b9a0], eax
jmp 0x1000587e
mov esi, dword [0x1004b998]
cmp dword [0x1004b57c], 0
mov ebx, dword [ebp - 0x214]
jne 0x1000589b
push ebx
push 0
push esi
call fcn.10016a00
add esp, 0xc
jmp 0x100058f5
push dword [0x1004b57c]
push dword [ebp - 0x214]
push 1
push esi
call fcn.1001e3c5
mov eax, dword [0x1004b560]
add esp, 0x10
mov ecx, dword [0x1004b558]
add eax, ebx
mov dword [0x1004b560], eax
cmp eax, ecx
jle 0x100058e7
push str.g_CurFilePos___g_FileLen
push str._VCR_ASSERT_FAILED:__s__n
call fcn.10002280
mov eax, dword [0x1004b560]
add esp, 8
mov ecx, dword [0x1004b558]
cmp eax, ecx
jl 0x100058ef
call dword [0x10048aec]
mov esi, dword [0x1004b998]
mov ecx, dword [ebp - 0x214]
sub ecx, 4
jb 0x10005911
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x1000591a
add esi, 4
add edi, 4
sub ecx, 4
jae 0x10005900
cmp ecx, 0xfffffffc
je 0x100059d7
mov al, byte [esi]
cmp al, byte [edi]
jne 0x10005957
cmp ecx, 0xfffffffd
je 0x100059d7
mov al, byte [esi + 1]
cmp al, byte [edi + 1]
jne 0x10005957
cmp ecx, 0xfffffffe
je 0x100059d7
mov al, byte [esi + 2]
cmp al, byte [edi + 2]
jne 0x10005957
cmp ecx, 0xffffffff
je 0x100059d7
mov al, byte [esi + 3]
cmp al, byte [edi + 3]
je 0x100059d7
push str.VCR_GenericPlayback:_data_doesnt_match_on_playback.
call fcn.10002280
add esp, 4
jmp 0x100059d7
cmp dword [0x1004b57c], 0
mov esi, dword [ebp - 0x214]
jne 0x10005983
push esi
push 0
push edi
call fcn.10016a00
add esp, 0xc
jmp 0x100059d7
push dword [0x1004b57c]
push dword [ebp - 0x214]
push 1
push edi
call fcn.1001e3c5
mov eax, dword [0x1004b560]
add esp, 0x10
mov ecx, dword [0x1004b558]
add eax, esi
mov dword [0x1004b560], eax
cmp eax, ecx
jle 0x100059cf
push str.g_CurFilePos___g_FileLen
push str._VCR_ASSERT_FAILED:__s__n
call fcn.10002280
mov eax, dword [0x1004b560]
add esp, 8
mov ecx, dword [0x1004b558]
cmp eax, ecx
jl 0x100059d7
call dword [0x10048aec]
mov esi, dword [ebp - 0x214]
mov dword [ebp - 4], 2
mov eax, dword [0x1004b548]
cmp eax, 1
jne 0x100059fb
push 0x1004b564
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10005a0e
cmp eax, 2
jne 0x10005a0e
cmp byte [ebp - 0x216], 0
jne 0x10005a0e
call fcn.100022e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10013e82
mov esp, ebp
pop ebp
ret