Function at 0x4e7d50
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
cmp dword [esp + 0x1c], 0x135
push ebx
push ebp
push esi
push edi
jne 0x4e7d75
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
mov dword [esp + 0xc], 0x135
jmp 0x4ebcf0
mov edi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, edi
mov esi, ecx
call fcn.004eb8c0
xor edx, edx
cmp eax, edx
jne 0x4e7f32
mov ebp, dword [edi + 4]
xor ebx, ebx
cmp ebp, 0xfffffff
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
ja 0x4e7e47
cmp ebp, edx
je 0x4e7e47
lea esi, [edx + 1]
cmp ebp, esi
jb 0x4e7dc6
lea ebx, [ebx]
add esi, esi
cmp esi, ebp
jbe 0x4e7dc0
fldz
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
shr ecx, 0x17
and ecx, 0xff
sub ecx, 0x7f
js 0x4e7de7
mov eax, 1
shl eax, cl
jmp 0x4e7de9
xor eax, eax
cmp eax, esi
je 0x4e7e32
xor eax, eax
test esi, esi
je 0x4e7e26
xor ecx, ecx
mov eax, esi
mov edx, 8
mul edx
seto cl
neg ecx
or eax, ecx
call fcn.00457920
mov edi, eax
test edi, edi
je 0x4e7e47
push 8
mov ebx, 0x4e73e0
mov eax, esi
mov ecx, edi
call fcn.00401380
mov eax, edi
mov edi, dword [esp + 0x28]
test eax, eax
mov dword [esp + 0x18], eax
mov edx, eax
je 0x4e7e47
mov ebx, eax
add ebp, ebp
test edx, edx
mov dword [esp + 0x1c], ebp
jne 0x4e7e56
test ebx, ebx
je 0x4e7e47
mov eax, ebx
call fcn.00457930
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
xor esi, esi
cmp dword [edi + 4], esi
jbe 0x4e7eda
lea ecx, [ecx]
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x10]
cmp dword [edi + 0x14], 0
je 0x4e7e9a
mov eax, 8
call fcn.00410220
cmp eax, 8
je 0x4e7ecb
mov edi, 2
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e7e8e
call fcn.00457930
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
mov eax, dword [edi + 4]
test eax, eax
je 0x4e7eb7
push eax
push 1
push 8
push ebx
call fcn.0060860a
add esp, 0x10
test eax, eax
je 0x4e7eb7
xor edi, edi
jmp 0x4e7ec7
cmp dword [edi + 4], 0
je 0x4e7ec4
mov edi, 2
jmp 0x4e7ec7
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x4e7e81
mov ecx, dword [esp + 0x28]
add esi, 1
add ebx, 8
cmp esi, dword [ecx + 4]
jb 0x4e7e60
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x14]
mov esi, dword [eax]
mov edi, dword [esp + 0x2c]
call fcn.004dabf0
test al, al
jne 0x4e7f23
test ebp, 0xfffffffe
je 0x4e7f23
lea eax, [esp + 0x18]
push eax
push edi
push esi
call fcn.004dbf90
mov esi, eax
test esi, esi
je 0x4e7f23
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e7f17
call fcn.00457930
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e7f30
call fcn.00457930
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov eax, ebp
mov esi, edi
call fcn.004eb8c0
test eax, eax
jne 0x4ebe2b
mov eax, 0x14
call fcn.00457920
mov esi, eax
test esi, esi
je 0x4ebd80
mov edx, dword [edi]
mov dword [esp + 0x18], edx
call fcn.00495bc0
lea ebx, [esi + 8]
xor edi, edi
mov eax, ebx
mov dword [esi], vtable.BinaryMetadata.0
call fcn.00487150
mov eax, dword [esp + 0x18]
mov dword [esi + 0x10], eax
mov dword [esi], vtable.ytEXIFMetadata.0
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov eax, dword [ebp + 4]
push edi
lea eax, [eax*8 + 8]
mov ecx, ebx
call fcn.00487200
mov edi, eax
test edi, edi
jne 0x4ebe20
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x4ebd8c
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
ret 0xc
mov ecx, dword [ebp]
mov eax, dword [esp + 0x14]
mov dword [ebx], ecx
mov edx, dword [ebp + 4]
mov dword [ebx + 4], edx
mov ebp, dword [ebp + 4]
mov edi, dword [eax + 0x10]
add ebp, ebp
add ebp, ebp
add ebx, 8
add ebp, ebp
cmp dword [edi + 0x14], 0
je 0x4ebdd2
mov eax, ebp
call fcn.00410220
cmp eax, ebp
je 0x4ebe02
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
mov edi, 2
call eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret 0xc
mov eax, dword [edi + 4]
test eax, eax
je 0x4ebdee
push eax
push 1
push ebp
push ebx
call fcn.0060860a
add esp, 0x10
test eax, eax
je 0x4ebdee
xor edi, edi
jmp 0x4ebdfe
cmp dword [edi + 4], 0
je 0x4ebdfb
mov edi, 2
jmp 0x4ebdfe
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x4ebe20
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
push edx
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
call fcn.004f07b0
mov edi, eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret 0xc