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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x260
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1401a2e90]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], rdx
xor r12d, r12d
mov dword [rsp + 0x48], r12d
mov rcx, qword [rdx]
or r13, 0xffffffffffffffff
cmp dword [rcx - 0x10], r12d
jl 0x14003fd96
lea rdx, str.chrome
call fcn.1400be6e4
test rax, rax
je 0x14003fd96
sub rax, qword [rdi]
sar rax, 1
test eax, eax
jle 0x14003fd96
mov eax, dword [0x1401aad80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
cmp ecx, 1
jne 0x14003f9f6
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov edx, 0x5c
mov rcx, qword [rdi]
call fcn.1400c0294
test rax, rax
je 0x14003fd96
sub rax, qword [rdi]
sar rax, 1
test eax, eax
jle 0x14003fd96
lea r8d, [rax + 1]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140018f70
nop
lea r8, str.VisualElementsManifest.xml
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140019018
nop
mov rcx, qword [rsp + 0x40]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x14003fa68
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140002210
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], r12
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 r14, rax
mov eax, dword [0x1401aad80]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
mov ebx, 7
cmp ecx, 0xb
jne 0x14003fadc
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x1401aad80]
test rax, rax
cmove ecx, ebx
mov dword [0x1401aad80], ecx
test r14, r14
je 0x14003fd53
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
lea ecx, [rax + 0xa]
call fcn.1400be45c
mov r15, rax
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x4c]
mov r8d, ebx
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x4c]
mov byte [rax + r15], r12b
mov r14d, dword [0x1401aad80]
mov ecx, r14d
imul ecx, r14d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 7
jne 0x14003fb9d
mov r8d, 0xa9
mov ecx, r12d
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
test ebx, ebx
jle 0x14003fb96
mov eax, r14d
cdq
and edx, 3
lea r10d, [rdx + rax]
sar r10d, 2
mov edx, r12d
mov r11, rbx
test r10d, r10d
jle 0x14003fb8f
mov eax, edx
mov r9, r10
add r8d, eax
dec eax
dec r9
jne 0x14003fb85
add edx, ecx
dec r11
jne 0x14003fb7b
inc ecx
cmp ecx, r8d
jl 0x14003fb62
lea rdx, str.SplashScreen_Image
mov rcx, r15
call fcn.1400c13a0
mov rbx, rax
test rax, rax
je 0x14003fd53
mov edx, 0x5c
lea rcx, [rax + 0x14]
call fcn.1400c1024
mov r14, rax
mov r8d, dword [0x1401aad80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub ecx, eax
cmp ecx, 7
jne 0x14003fc37
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x7b
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400bcf98
mov rcx, rax
call fcn.1400be048
mov r8d, dword [0x1401aad80]
test r14, r14
je 0x14003fd08
mov byte [r14], r12b
lea rax, [rsp + 0x58]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], r12
mov byte [rsp + 0x58], r12b
cmp byte [rbx + 0x14], r12b
jne 0x14003fc6a
mov r8, r12
jmp 0x14003fc77
mov r8, r13
inc r8
cmp byte [rbx + r8 + 0x14], r12b
jne 0x14003fc6d
lea rdx, [rbx + 0x14]
lea rcx, [rsp + 0x58]
call fcn.1400013c8
nop
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14001d830
mov dword [rsp + 0x48], 1
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003fcbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003fcdf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rdi]
sub rdx, 0x18
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
add ecx, r13d
test ecx, ecx
jg 0x14003fdcc
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
jmp 0x14003fdcc
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xb
sub ecx, edx
cmp ecx, 7
jne 0x14003fd53
mov r9d, r12d
lea r10, [rbp - 0x60]
mov r11d, r8d
lea ecx, [r9 + r8]
mov eax, r11d
cdq
idiv ecx
mov dword [r10], edx
inc r9d
dec r11d
lea r10, [r10 + 4]
movsxd rax, r9d
cmp rax, 0x6c
jb 0x14003fd33
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003fd75
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003fd96
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [0x14013d330]
mov rcx, rsi
call fcn.140001f6c
mov dword [rsp + 0x48], 1
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14003fdcc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rsi
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1400bd920
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret