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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10c60]
mov eax, 0x10d60
call fcn.1400ccc90
sub rsp, rax
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x10db0], rbx
mov rax, qword [0x1401ace90]
xor rax, rsp
mov qword [rbp + 0x10c50], rax
mov r13, rdx
mov r15, rcx
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x70], rdx
xor edi, edi
mov dword [rsp + 0x50], edi
mov rcx, qword [rdx]
cmp dword [rcx - 0x10], edi
jl 0x14004997a
lea rdx, str.chrome
call fcn.1400c88d8
test rax, rax
je 0x14004997a
mov rcx, qword [r13]
sub rax, rcx
sar rax, 1
test eax, eax
jle 0x14004997a
lea edx, [rdi + 0x5c]
call fcn.1400ca4c8
mov r9, rax
test rax, rax
je 0x14004997a
sub r9, qword [r13]
sar r9, 1
test r9d, r9d
jle 0x14004997a
mov r10d, dword [0x1401b4d80]
lea ecx, [r10 + 1]
imul ecx, r10d
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 3
jne 0x140049625
mov r8d, edi
mov dword [rsp + 0x40], r10d
mov eax, r10d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x40], eax
mov eax, 0x55555556
imul r10d
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x40], edx
mov eax, r10d
cdq
and edx, ecx
add eax, edx
sar eax, 2
mov dword [rsp + 0x40], eax
mov eax, 0x66666667
imul r10d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x40], edx
mov eax, 0x2aaaaaab
imul r10d
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x40], edx
mov eax, 0x92492493
imul r10d
add edx, r10d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x40], edx
mov eax, r10d
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 0x40], eax
lea rcx, [rbp + 0x91]
nop dword [rax + rax]
mov qword [rcx - 1], 0
inc r8d
lea rcx, [rcx + 8]
cmp r8d, 9
jl 0x140049610
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.140019a30
nop
lea r8, str.VisualElementsManifest.xml
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.140019ad0
nop
mov rcx, qword [rsp + 0x48]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x140049673
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.1400024c0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rdi
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
test rax, rax
je 0x140049947
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
lea ecx, [rax + 0xa]
call fcn.1400c8650
mov r12, rax
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x40]
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 + 0x40]
mov byte [rax + r12], 0
mov r14d, dword [0x1401b4d80]
lea ecx, [r14 + 2]
lea eax, [r14 + 1]
imul ecx, eax
imul ecx, r14d
and ecx, 0x8000000f
jge 0x14004970d
dec ecx
or ecx, 0xfffffff0
inc ecx
cmp ecx, 9
jne 0x14004976a
lea r8d, [rcx + 0x1c]
mov r11d, edi
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
test ebx, ebx
jle 0x140049762
mov eax, r14d
cdq
and edx, 3
lea r9d, [rdx + rax]
sar r9d, 2
mov edx, edi
mov r10, rbx
nop dword [rax + rax]
test r9d, r9d
jle 0x14004975a
mov eax, edx
mov rcx, r9
nop word [rax + rax]
add r8d, eax
dec eax
dec rcx
jne 0x140049750
add edx, r11d
dec r10
jne 0x140049740
inc r11d
cmp r11d, r8d
jl 0x140049723
lea rdx, str.SplashScreen_Image
mov rcx, r12
call fcn.1400cb660
mov rbx, rax
mov r8d, dword [0x1401b4d80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub ecx, edx
cmp ecx, 6
jne 0x1400497d3
mov ecx, edi
lea rdx, [rbp - 0x60]
nop
mov eax, dword [rdx]
imul eax, eax, 0x8a
add r8d, eax
inc ecx
lea rdx, [rdx + 4]
movsxd rax, ecx
cmp rax, 0xe4
jb 0x1400497b0
mov dword [0x1401b4d80], r8d
test rbx, rbx
je 0x140049947
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xf
sub ecx, edx
cmp ecx, 0xe
jne 0x14004987d
mov word [rbp + 0xe0], di
xor edx, edx
mov r8d, 0x10b60
lea rcx, [rbp + 0xe2]
call fcn.1400cd020
mov r10, rdi
mov r9, rdi
mov r8, rdi
test r10, r10
je 0x140049851
test r8, r8
je 0x140049851
lea rax, [r9 + r8]
lea rdx, [rbp + 0xe0]
lea rdx, [rdx + rax*2]
lea rax, [r9 + r8]
movzx ecx, word [rsp + rax*2 + 0x6e]
inc cx
add cx, word [rdx - 2]
mov word [rdx], cx
inc r8
cmp r8, 0xb9
jl 0x140049825
inc r10
add r9, 0xb9
cmp r9, 0x85b1
jl 0x140049822
movsx eax, word [rbp + 0x10c40]
mov dword [0x1401b4d80], eax
mov edx, 0x5c
lea rcx, [rbx + 0x14]
call fcn.1400cb2e4
test rax, rax
je 0x140049947
mov byte [rax], 0
lea rax, [rsp + 0x60]
mov qword [rbp - 0x68], rax
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], rdi
mov byte [rsp + 0x60], 0
or rsi, 0xffffffffffffffff
cmp byte [rbx + 0x14], 0
je 0x1400498ca
mov rdi, rsi
inc rdi
cmp byte [rbx + rdi + 0x14], 0
jne 0x1400498c0
mov r8, rdi
lea rdx, [rbx + 0x14]
lea rcx, [rsp + 0x60]
call fcn.1400013f0
nop
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14001f270
mov dword [rsp + 0x50], 1
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004990b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140049925
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [r13]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400499f0
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
jmp 0x1400499f0
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140049961
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004997a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str._k_f_
mov rax, qword [str._k_f_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r15], rax
lea rdx, [0x140143140]
test rdx, 0xffffffffffff0000
jne 0x1400499c1
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x1400499d0
mov r8d, ebx
mov rdx, rax
mov rcx, r15
call fcn.1400026c0
jmp 0x1400499d0
mov r8d, 3
mov rcx, r15
call fcn.1400023d0
nop
mov dword [rsp + 0x50], 1
mov rdx, qword [r13]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400499f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r15
mov rcx, qword [rbp + 0x10c50]
xor rcx, rsp
call fcn.1400c7be0
mov rbx, qword [rsp + 0x10db0]
add rsp, 0x10d60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret