Function at 0x457b10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x616624]
test eax, eax
push ebx
push esi
push edi
je 0x457b30
fld qword [0x5d92f8]
jmp 0x457b36
fld qword [0x5d6130]
mov ebx, dword [ebp + 8]
fstp qword [esp + 0x58]
lea eax, [esp + 0x68]
push eax
push ebx
call fcn.00431d00
test eax, eax
je 0x457f8a
mov eax, dword [ebp + 0x18]
test byte [eax + 0x18], 1
jne 0x4580c1
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
push 0
push eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
call fcn.004191e0
lea ecx, [esp + 0x50]
push ecx
push ebx
call sym.vidcap60.exe__riff64_SaveLocation_8
lea edx, [esp + 0x40]
push edx
mov edx, dword [0x5d9c2c]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [0x5d9c30]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x5d9c34]
mov dword [ecx + 4], eax
mov eax, dword [0x5d9c38]
mov dword [ecx + 8], edx
push ebx
mov dword [ecx + 0xc], eax
call sym.vidcap60.exe__riff64_FindChunkHeader_28
test eax, eax
mov dword [esp + 0x10], eax
jl 0x457d59
lea ecx, [esp + 0x48]
push ecx
push ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
call sym.vidcap60.exe__riff64_SaveLocation_8
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push 1
push 1
call fcn.0044b000
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push 0
push ecx
call fcn.004572e0
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x28], eax
call fcn.0044b000
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
push ebx
call sym.vidcap60.exe__riff64_RestoreLocation_12
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ecx
push edx
push ebx
call sym.vidcap60.exe__riff64_SkipChunk_12
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x3c], edx
jl 0x457d59
mov eax, dword [ebp + 0x18]
test byte [eax + 0x18], 1
jne 0x4580c1
fld qword [0x5d6138]
mov ecx, dword [esp + 0x40]
fdiv qword [esp + 0x58]
mov edx, dword [esp + 0x44]
push 0
sub ecx, edi
push 0x64
sbb edx, esi
push edx
push ecx
fstp qword [esp + 0x28]
call fcn.005c45d0
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push ecx
push edx
push eax
call fcn.005c4520
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
fild qword [esp + 0x60]
fmul qword [esp + 0x18]
call fcn.005c4484
mov edx, dword [ebp + 0x18]
push eax
push edx
call fcn.004191e0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push ebx
call sym.vidcap60.exe__riff64_RestoreLocation_12
test esi, esi
jl 0x457cd5
jg 0x457d70
cmp edi, 0x18
jae 0x457d70
mov eax, dword [esp + 0x54]
fld qword [esp + 0x58]
mov ecx, dword [esp + 0x50]
fstp qword [esp + 0x60]
push eax
push ecx
push ebx
call sym.vidcap60.exe__riff64_RestoreLocation_12
mov eax, dword [0x616624]
test eax, eax
je 0x457d46
mov ebx, dword [ebp + 0x10]
push ebx
call fcn.00431cd0
xor edi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
call fcn.00479ff0
mov eax, dword [esp + 0x14]
xor esi, esi
test eax, eax
jle 0x457d34
push esi
push ebx
call fcn.00449130
push eax
call fcn.00448a10
add edi, eax
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jl 0x457d18
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x14]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x28], eax
jg 0x457fc0
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x457d59
mov ecx, dword [ebp + 0x18]
push 0x64
push ecx
call fcn.004191e0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, edi
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x84]
push eax
push ebx
call sym.vidcap60.exe__riff64_ReadChunkHeader_12
test eax, eax
mov dword [esp + 0x10], eax
jl 0x457d59
add edi, 0xffffffe8
adc esi, 0xffffffff
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov ecx, 4
lea edi, [esp + 0x80]
mov esi, 0x5d9c1c
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x457eb8
push edx
lea eax, [esp + 0x38]
push eax
push 0x10
lea ecx, [esp + 0x7c]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x457f8a
lea edx, [esp + 0x60]
push edx
push ebx
call sym.vidcap60.exe__riff64_SaveLocation_8
mov ecx, 4
lea edi, [esp + 0x70]
mov esi, 0x5d9bac
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x457e0e
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub ecx, 0x10
sbb edx, eax
mov eax, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push ebx
call fcn.00457650
jmp 0x457e7f
mov ecx, 4
lea edi, [esp + 0x70]
mov esi, 0x5d9bec
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x457e48
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
sub eax, 0x10
sbb ecx, edx
push ecx
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x2d4]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.004562f0
jmp 0x457e7f
mov ecx, 4
lea edi, [esp + 0x70]
mov esi, 0x5d9c3c
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x457e83
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
sub eax, 0x10
sbb ecx, edx
mov edx, dword [ebp + 0x10]
push ecx
push eax
mov eax, dword [ebp + 0xc]
add edx, 0x2c4
push edx
push eax
push ebx
call fcn.00457190
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x457d59
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push ecx
push edx
push ebx
call sym.vidcap60.exe__riff64_RestoreLocation_12
push 1
push 0
push 0xfffffffffffffff0
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push eax
push ecx
jmp 0x457ec2
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push edx
push eax
push ebx
call sym.vidcap60.exe__riff64_SkipChunk_12
mov esi, dword [esp + 0x2c]
cmp esi, edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
jg 0x457f0e
jl 0x457ee2
cmp ecx, eax
jae 0x457f0e
mov edx, ecx
xor edi, edi
and edx, 7
sub ecx, edx
sbb esi, edi
add ecx, 8
adc esi, edi
cmp ecx, eax
jne 0x457f9f
mov edx, dword [esp + 0x3c]
cmp esi, edx
jne 0x457f9f
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
sub ecx, eax
mov eax, dword [ebp + 0x18]
sbb esi, edx
test byte [eax + 0x18], 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
jne 0x4580c1
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
push 0
mov edx, edi
sub edx, ecx
push 0x64
sbb eax, esi
push eax
push edx
call fcn.005c45d0
mov ecx, dword [esp + 0x44]
push ecx
push edi
push edx
push eax
call fcn.005c4520
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
fild qword [esp + 0x20]
fmul qword [esp + 0x18]
call fcn.005c4484
mov edx, dword [ebp + 0x18]
push eax
push edx
call fcn.004191e0
test esi, esi
jg 0x457d66
jl 0x457cd5
cmp dword [esp + 0x28], 0x18
jae 0x457d66
jmp 0x457cd5
mov dword [esp + 0x10], 0x8004e008
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov dword [esp + 0x10], 0x80004005
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ebp + 0x10]
jmp 0x457fc0
mov edx, dword [ebp + 0x18]
test byte [edx + 0x18], 1
jne 0x4580c1
push eax
push ebx
call fcn.00449130
mov ebx, eax
push ebx
call fcn.00448a10
xor edi, edi
test eax, eax
mov dword [esp + 0x34], eax
jle 0x4580a7
lea ebx, [ebx]
mov eax, dword [ebp + 0x18]
test byte [eax + 0x18], 1
jne 0x45809f
push edi
push ebx
call fcn.00449170
mov esi, eax
test esi, esi
je 0x45806b
mov edx, dword [esi + 0x14]
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.0047a440
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x45806b
push 2
call fcn.0047c300
neg eax
sbb eax, eax
push 0x40
and eax, 0x40
push eax
push esi
call fcn.00448a30
mov ecx, dword [esp + 0x18]
push 1
call fcn.0047c300
neg eax
sbb eax, eax
push 0x80
and eax, 0x80
push eax
push esi
call fcn.00448a30
push 0x100
push 0x100
push esi
call fcn.00448a30
fld qword [0x5d6130]
fsub qword [esp + 0x58]
fidiv dword [esp + 0x20]
fadd qword [esp + 0x60]
fst qword [esp + 0x60]
call fcn.005c4484
push eax
mov eax, dword [ebp + 0x18]
push eax
call fcn.004191e0
mov eax, dword [esp + 0x34]
inc edi
cmp edi, eax
jl 0x457ff0
jmp 0x4580a7
mov dword [esp + 0x10], 0x8004e00c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x457fb4
jmp 0x457d46
pop edi
mov dword [esp + 0xc], 0x8004e00c
mov eax, dword [esp + 0xc]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14