Function at 0x1400526d0
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 - 0xf7e0]
mov eax, 0xf8e0
call fcn.1400d9eb0
sub rsp, rax
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0xf930], rbx
mov rax, qword [0x1401cee90]
xor rax, rsp
mov qword [rbp + 0xf7d0], rax
mov r13, rdx
mov r15, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x78], rdx
xor edi, edi
mov dword [rsp + 0x48], edi
mov rcx, qword [rdx]
cmp dword [rcx - 0x10], edi
jl 0x140052adf
lea rdx, str.chrome
call fcn.1400d5c54
test rax, rax
je 0x140052adf
mov r10, qword [r13]
sub rax, r10
sar rax, 1
test eax, eax
jle 0x140052adf
mov ecx, dword [0x1401d6d80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x78787879
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x11
sub r8d, edx
cmp r8d, 3
jne 0x1400527b4
mov eax, 1
mov r9d, eax
mov r8d, 0x77
nop dword [rax + rax]
lea edx, [rax + r9]
lea r9d, [rax]
mov eax, edx
dec r8d
jns 0x1400527a0
mov dword [0x1401d6d80], edx
mov edx, 0x5c
mov rcx, r10
call fcn.1400d7948
test rax, rax
je 0x140052a36
sub rax, qword [r13]
sar rax, 1
test eax, eax
jle 0x140052a36
lea r8d, [rax + 1]
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14001b4e0
nop
lea r8, str.VisualElementsManifest.xml
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.14001b580
nop
mov rcx, qword [rsp + 0x40]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x140052827
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140002760
mov rcx, qword [rsp + 0x40]
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 0x140052a03
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
lea ecx, [rax + 0xa]
call fcn.1400d59cc
mov r12, rax
mov qword [rsp + 0x20], rdi
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 + r12], 0
mov r11d, dword [0x1401d6d80]
lea ecx, [r11 + 1]
imul ecx, r11d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 5
jne 0x1400528f4
mov r8d, edi
lea r9, [rbp - 0x60]
mov r10d, r11d
lea ecx, [r11 + r8]
mov eax, r10d
cdq
idiv ecx
mov dword [r9], edx
inc r8d
dec r10d
lea r9, [r9 + 4]
movsxd rax, r8d
cmp rax, 0xd5
jb 0x1400528d2
lea rdx, str.SplashScreen_Image
mov rcx, r12
call fcn.1400d8880
mov rbx, rax
test rax, rax
je 0x140052a03
mov edx, 0x5c
lea rcx, [rax + 0x14]
call fcn.1400d8504
test rax, rax
je 0x1400529d9
mov byte [rax], 0
lea rax, [rsp + 0x58]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x70], 0xf
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x58], 0
or rsi, 0xffffffffffffffff
cmp byte [rbx + 0x14], 0
je 0x14005295c
mov rdi, rsi
inc rdi
cmp byte [rbx + rdi + 0x14], 0
jne 0x140052952
mov r8, rdi
lea rdx, [rbx + 0x14]
lea rcx, [rsp + 0x58]
call fcn.1400013f0
nop
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.1400225e0
mov dword [rsp + 0x48], 1
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005299d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400529b7
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 0x140052b55
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
jmp 0x140052b55
call fcn.14004fe20
test al, al
jne 0x140052a03
mov eax, 1
lea edx, [rax + 0x27]
mov r8d, eax
nop dword [rax]
lea ecx, [rax + r8]
lea r8d, [rax]
mov eax, ecx
dec edx
jns 0x1400529f0
mov dword [0x1401d6d80], ecx
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140052a1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140052a36
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov ecx, dword [0x1401d6d80]
imul ecx, ecx
mov eax, 0x30c30c31
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x15
sub ecx, edx
cmp ecx, 0x13
jne 0x140052adf
mov word [rbp + 0x300], di
xor edx, edx
mov r8d, 0xf4c0
lea rcx, [rbp + 0x302]
call fcn.1400da240
mov r10, rdi
mov r9, rdi
nop
mov rax, rdi
test r10, r10
je 0x140052ab4
test rax, rax
je 0x140052ab4
lea rcx, [rax + r9]
lea r8, [rbp + 0x300]
lea r8, [r8 + rcx*2]
lea rcx, [rax + r9]
movzx edx, word [rbp + rcx*2 + 0x19e]
inc dx
add dx, word [r8 - 2]
mov word [r8], dx
inc rax
cmp rax, 0xb1
jl 0x140052a83
inc r10
add r9, 0xb1
cmp r9, 0x7a61
jl 0x140052a80
movsx eax, word [rbp + 0xf7c0]
mov dword [0x1401d6d80], eax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r15], rax
lea rdx, [0x14015fab8]
test rdx, 0xffffffffffff0000
jne 0x140052b26
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x140052b35
mov r8d, ebx
mov rdx, rax
mov rcx, r15
call fcn.140002960
jmp 0x140052b35
mov r8d, 3
mov rcx, r15
call fcn.140002670
nop
mov dword [rsp + 0x48], 1
mov rdx, qword [r13]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140052b55
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r15
mov rcx, qword [rbp + 0xf7d0]
xor rcx, rsp
call fcn.1400d4e00
mov rbx, qword [rsp + 0xf930]
add rsp, 0xf8e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret