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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x88
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
mov dword [rsp + 0x40], 0
mov rcx, qword [rdx]
cmp dword [rcx - 0x10], 0
jl 0x14004e596
lea rdx, str.chrome
call fcn.1400cd6fc
test rax, rax
je 0x14004e596
mov rcx, qword [r14]
sub rax, rcx
sar rax, 1
test eax, eax
jle 0x14004e596
mov edx, 0x5c
call fcn.1400cf2b4
test rax, rax
je 0x14004e596
sub rax, qword [r14]
sar rax, 1
test eax, eax
jle 0x14004e596
lea r8d, [rax + 1]
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.14001b570
nop
lea r8, [0x14014fb88]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xd8]
call fcn.14001b610
nop
mov rcx, qword [rsp + 0xd8]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x14004e3ee
xor edx, edx
lea rcx, [rsp + 0xd8]
call fcn.1400024e0
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
test rax, rax
je 0x14004e560
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r15d, eax
mov ecx, dword [0x1401c6d80]
lea r8d, [rcx + 1]
imul r8d, ecx
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x16
sub r8d, edx
cmp r8d, 0x10
jne 0x14004e47f
lea ecx, [r8 - 0xc]
call fcn.1400cd068
mov rbx, rax
call fcn.1400cd268
mov dword [rbx], eax
mov dword [0x1401c6d80], eax
mov rcx, rbx
call fcn.1400cc890
lea ecx, [r15 + 0xa]
call fcn.1400cd474
mov rbx, rax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xd0]
mov r8d, r15d
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [rsp + 0xd0]
mov byte [rcx + rbx], 0
lea rdx, str.SplashScreen_Image
mov rcx, rbx
call fcn.1400d0330
mov rbx, rax
test rax, rax
je 0x14004e560
mov edx, 0x5c
lea rcx, [rax + 0x14]
call fcn.1400cffb4
test rax, rax
je 0x14004e560
mov byte [rax], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
lea rdx, [rbx + 0x14]
lea rcx, [rsp + 0x60]
call fcn.140001370
nop
mov rdx, rax
mov rcx, rsi
call fcn.1400225b0
mov dword [rsp + 0x40], 1
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004e539
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004e553
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, r14
call fcn.1400022e0
jmp 0x14004e60b
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004e57d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004e596
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [0x1401be9a8]
mov rax, qword [0x1401be9a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
lea rdx, [0x14014fb18]
test rdx, 0xffffffffffff0000
jne 0x14004e5dd
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14004e5ec
mov r8d, ebx
mov rdx, rax
mov rcx, rsi
call fcn.1400026e0
jmp 0x14004e5ec
mov r8d, 3
mov rcx, rsi
call fcn.1400023f0
nop
mov dword [rsp + 0x40], 1
mov rdx, qword [r14]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004e60b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rsi
add rsp, 0x88
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret