Function at 0x140050680
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 r12
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov r14, rdx
mov r15, rcx
xor r12d, r12d
mov dword [rsp + 0x40], r12d
call fcn.14004e740
test al, al
jne 0x140050733
mov r9d, r12d
mov r8d, dword [0x1401cbd80]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x3a
mov eax, r8d
sub eax, edx
cmp eax, 0xb9
je 0x14005072c
nop dword [rax]
mov eax, r8d
or eax, 0xffffffe3
add r8d, eax
inc r9d
mov eax, r8d
imul eax, r8d
cmp r9d, eax
jg 0x14005072c
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x3a
mov eax, r8d
sub eax, edx
cmp eax, 0xb9
jne 0x1400506f0
mov dword [0x1401cbd80], r9d
mov rcx, qword [r14]
or rsi, 0xffffffffffffffff
cmp dword [rcx - 0x10], 0
jl 0x140050ad1
lea rdx, str.chrome
call fcn.1400d243c
test rax, rax
je 0x140050ad1
mov rcx, qword [r14]
sub rax, rcx
sar rax, 1
test eax, eax
jle 0x140050ad1
lea edx, [rsi + 0x5d]
call fcn.1400d3ff4
mov r8, rax
test rax, rax
jne 0x14005077f
mov r8d, esi
jmp 0x140050785
sub r8, qword [r14]
sar r8, 1
mov r9d, dword [0x1401cbd80]
mov ecx, r9d
imul ecx, r9d
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 0x1400507db
mov ecx, r9d
test r9d, r9d
je 0x1400507d1
dec ecx
je 0x1400507c8
inc r9d
mov dword [0x1401cbd80], r9d
jmp 0x1400507db
mov dword [0x1401cbd80], r12d
jmp 0x1400507db
mov dword [0x1401cbd80], 2
test r8d, r8d
jle 0x140050ad1
inc r8d
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.14001c890
nop
lea r8, str.VisualElementsManifest.xml
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xd8]
call fcn.14001c930
nop
mov r8d, dword [0x1401cbd80]
mov ecx, r8d
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, 0xd
jne 0x140050878
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, 0x141
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, rsi
mov rcx, rax
call fcn.1400d0cc8
mov rcx, rax
call fcn.1400d272c
mov rcx, qword [rsp + 0xd8]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
or eax, edx
jge 0x1400508a6
xor edx, edx
lea rcx, [rsp + 0xd8]
call fcn.1400023b0
mov rcx, qword [rsp + 0xd8]
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 rbp, rax
test rax, rax
je 0x140050a9b
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
lea ecx, [rax + 0xa]
call fcn.1400d21b4
mov rdi, rax
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xd0]
mov r8d, ebx
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 + rdi], 0
lea rdx, str.SplashScreen_Image
mov rcx, rdi
call fcn.1400d5100
mov rbx, rax
test rax, rax
je 0x1400509fc
mov r8d, dword [0x1401cbd80]
imul r8d, r8d
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0xd
sub r8d, edx
mov eax, dword [0x1401cd518]
mov ecx, 0x81d5730c
cmp r8d, 7
cmove eax, ecx
mov dword [0x1401cd518], eax
mov edx, 0x5c
lea rcx, [rbx + 0x14]
call fcn.1400d4d84
test rax, rax
je 0x1400509fc
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, r15
call fcn.1400232c0
mov dword [rsp + 0x40], 1
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400509d5
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 0x1400509ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, r14
call fcn.1400021b0
jmp 0x140050aff
mov ecx, dword [0x1401cbd80]
lea r8d, [rcx + 2]
lea edx, [rcx + 1]
imul r8d, edx
imul r8d, ecx
mov eax, 0x38e38e39
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub r8d, eax
cmp r8d, 0xf
jne 0x140050a9b
test ecx, ecx
je 0x140050a9b
mov eax, ecx
and eax, 0x80000001
jge 0x140050a45
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140050a5a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [0x1401cbd80], eax
jmp 0x140050a67
lea ecx, [rcx*2 + 1]
mov dword [0x1401cbd80], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, ecx
sub edx, eax
je 0x140050a89
sub edx, 2
je 0x140050a8c
dec edx
je 0x140050a8e
jmp 0x140050a97
add ecx, 2
inc ecx
add ecx, 2
mov dword [0x1401cbd80], ecx
test ecx, ecx
jne 0x140050a35
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140050ab8
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 0x140050ad1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [0x140158fc0]
mov rcx, r15
call fcn.140002110
mov dword [rsp + 0x40], 1
mov rdx, qword [r14]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140050aff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, r15
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret