Function at 0x140051710
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 - 0x5c0]
sub rsp, 0x6c0
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x710], rbx
mov rax, qword [0x1401cde90]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
mov r12, rdx
mov qword [rsp + 0x58], rdx
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x60], rdx
xor r15d, r15d
mov dword [rsp + 0x48], r15d
mov r8d, dword [0x1401d5d60]
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
mov eax, ecx
sub eax, edx
cmp eax, 0x13
jne 0x1400517bc
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 0xd
jne 0x1400517bc
inc r8d
mov dword [0x1401d5d60], r8d
mov rcx, qword [r12]
or r13, 0xffffffffffffffff
cmp dword [rcx - 0x10], 0
jl 0x140051b5c
lea rdx, str.chrome
call fcn.1400d4634
test rax, rax
je 0x140051b5c
mov rcx, qword [r12]
sub rax, rcx
sar rax, 1
test eax, eax
jle 0x140051b5c
lea edx, [r13 + 0x5d]
call fcn.1400d6158
test rax, rax
je 0x140051b5c
sub rax, qword [r12]
sar rax, 1
test eax, eax
jle 0x140051b5c
lea r8d, [rax + 1]
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.14001b280
nop
mov ecx, dword [0x1401d5d60]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub r8d, edx
cmp r8d, 7
jne 0x140051883
lea eax, [r13 + 0x57]
mov r8d, 0xb8
test r8d, r8d
je 0x14005187a
mov ecx, r8d
cdq
idiv r8d
mov r8d, edx
mov eax, ecx
test ecx, ecx
jne 0x140051865
add eax, r8d
mov dword [0x1401d5d60], eax
lea r8, str.VisualElementsManifest.xml
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.14001b320
nop
mov ecx, dword [0x1401d5d60]
lea edx, [rcx + 2]
lea eax, [rcx + 1]
imul edx, eax
imul edx, ecx
and edx, 0x80000007
jge 0x1400518bb
dec edx
or edx, 0xfffffff8
inc edx
cmp edx, 1
jne 0x1400518c6
inc dword [0x1401d7200]
mov rcx, qword [rsp + 0x40]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x1400518eb
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140002560
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], r15
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 rsi, rax
test rax, rax
je 0x140051b29
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
lea ecx, [rax + 0xa]
call fcn.1400d43ac
mov rdi, rax
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x4c]
mov r8d, ebx
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x4c]
mov byte [rax + rdi], 0
lea rdx, str.SplashScreen_Image
mov rcx, rdi
call fcn.1400d7260
mov rdi, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140051b29
call fcn.14004f830
mov ebx, dword [0x1401d5d60]
test al, al
jne 0x140051a10
mov r12d, r15d
lea r10, [rbp - 0x50]
nop dword [rax]
movzx esi, bl
sub sil, r12b
mov r11d, 1
lea r14d, [r11 + 0xc]
mov rcx, r15
mov eax, ebx
cdq
idiv r11d
mov edi, edx
mov r9d, 1
mov eax, ebx
cdq
idiv r9d
mov r8d, eax
movzx eax, dil
imul r8b
movzx r8d, al
movzx eax, sil
imul r8b
mov byte [rcx + r10], al
inc r9d
inc rcx
cmp rcx, 0xd
jl 0x1400519c1
inc r11d
add r10, 0xd
dec r14
jne 0x1400519b0
inc r12d
cmp r12d, 9
jl 0x1400519a0
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
mov eax, ebx
imul eax, ebx
and eax, 0x8000000f
jge 0x140051a23
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 3
jne 0x140051a63
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ebx, edx
add ebx, 0x2f4
movsxd rcx, ebx
mov eax, 4
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400d2e28
mov rcx, rax
call fcn.1400d3f08
mov edx, 0x5c
lea rcx, [rdi + 0x14]
call fcn.1400d6ee4
test rax, rax
je 0x140051b29
mov byte [rax], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x78], 0xf
mov qword [rbp - 0x80], r15
mov byte [rsp + 0x70], 0
cmp byte [rdi + 0x14], 0
je 0x140051aac
mov r15, r13
inc r15
cmp byte [rdi + r15 + 0x14], 0
jne 0x140051aa1
mov r8, r15
lea rdx, [rdi + 0x14]
lea rcx, [rsp + 0x70]
call fcn.1400013f0
nop
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.140022b50
mov dword [rsp + 0x48], 1
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140051aed
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 0x140051b07
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [r12]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140051bd2
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
jmp 0x140051bd2
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140051b43
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 0x140051b5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
lea rdx, [0x14015ead8]
test rdx, 0xffffffffffff0000
jne 0x140051ba3
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x140051bb2
mov r8d, ebx
mov rdx, rax
mov rcx, r14
call fcn.140002760
jmp 0x140051bb2
mov r8d, 3
mov rcx, r14
call fcn.140002470
nop
mov dword [rsp + 0x48], 1
mov rdx, qword [r12]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140051bd2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r14
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.1400d37e0
mov rbx, qword [rsp + 0x710]
add rsp, 0x6c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret