Function at 0x4653b0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50ca48
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x567680]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
call fcn.00467dc0
test al, al
jne 0x46540d
push 4
call fcn.004e8d3a
mov esi, eax
call fcn.004e9fd1
mov dword [esi], eax
push esi
mov dword [0x568ad4], eax
call fcn.004e8c3e
add esp, 8
mov eax, dword [ebp + 0xc]
or ebx, 0xffffffff
cmp dword [eax - 0xc], 0
jl 0x4656d5
push str.chrome
push eax
call fcn.004ea1ea
add esp, 8
test eax, eax
je 0x4656d5
mov ecx, dword [ebp + 0xc]
sub eax, ecx
sar eax, 1
test eax, eax
jle 0x4656d5
push 0x5c
push ecx
call fcn.004eb6b9
mov esi, eax
add esp, 8
test esi, esi
jne 0x465457
or esi, ebx
jmp 0x46545c
sub esi, dword [ebp + 0xc]
sar esi, 1
call fcn.00467d90
mov edi, dword [0x568ad4]
test al, al
jne 0x4654c0
movsd xmm3, qword [0x51a718]
movsd xmm6, qword [0x51a720]
movsd xmm5, qword [0x51a710]
movd xmm4, edi
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
mov edi, edi
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x4654aa
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x465490
test esi, esi
jle 0x4656bc
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp + 0xc]
call fcn.00407f10
push str.VisualElementsManifest.xml
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 1
call fcn.00402b60
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
mov byte [ebp - 4], 2
jge 0x465514
push 0
lea ecx, [ebp - 0x10]
call fcn.004084d0
mov eax, dword [ebp - 0x10]
push 0
push 0x80
push 3
push 0
push 0
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
test edi, edi
je 0x465676
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea ecx, [esi + 0xa]
push ecx
call fcn.004ee86b
add esp, 4
mov ebx, eax
push 0
lea eax, [ebp - 0x18]
push eax
push esi
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.00467d00
test al, al
jne 0x4655bd
mov eax, dword [0x522fd4]
movq xmm0, qword [str.WyDUy13MweYf1U]
mov dword [ebp - 0x28], eax
mov ax, word [0x522fd8]
mov word [ebp - 0x24], ax
mov al, byte [0x522fda]
mov byte [ebp - 0x22], al
lea eax, [ebp - 0x30]
movq qword [ebp - 0x30], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x465595
sub eax, edx
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e8060
push eax
call fcn.004e8ec3
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
push str.SplashScreen_Image
push ebx
mov byte [eax + ebx], 0
call fcn.004efaa0
mov edi, eax
add esp, 8
test edi, edi
je 0x465664
add edi, 0x14
push 0x5c
push edi
call fcn.004ef970
add esp, 8
mov ebx, eax
call fcn.00467e80
test al, al
jne 0x46561a
push 4
call fcn.004e8d3a
mov esi, eax
call fcn.004e9fd1
mov dword [esi], eax
push esi
mov dword [0x568ad4], eax
call fcn.004e8c3e
add esp, 8
test ebx, ebx
je 0x465664
sub esp, 0x18
mov ecx, esp
push edi
mov byte [ebx], 0
call fcn.00401010
mov esi, dword [ebp + 8]
push esi
call fcn.00493440
add esp, 0x1c
lea ecx, [ebp - 0x10]
call fcn.004020a0
lea ecx, [ebp - 0x14]
call fcn.004020a0
lea ecx, [ebp + 0xc]
call fcn.004020a0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00467df0
test al, al
jne 0x465673
dec dword [0x568ad4]
or ebx, 0xffffffff
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x465696
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4656b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [0x568ad4]
call fcn.00467d30
test al, al
jne 0x4656d5
test edi, edi
mov eax, 1
cmove edi, eax
mov dword [0x568ad4], edi
mov edi, dword [ebp + 8]
push 0x522d64
mov ecx, edi
call fcn.00401c30
mov esi, dword [ebp + 0xc]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x465705
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret