Function at 0x563a06
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
mov ecx, dword [ebp + 8]
mov eax, dword [0x640100]
xor eax, ebp
mov dword [esp + 0x58], eax
lea esi, [esp + 0x18]
xor edi, edi
mov edx, 4
sub edx, edi
cmp dword [ecx + 0xc], 1
cmovne edx, edi
cmp byte [ecx + 0x11], 0
je 0x563a46
mov eax, dword [ecx + 0x14]
bt eax, edx
jae 0x563ca7
mov dword [esp + 0x14], edi
test edx, edx
sete bl
and bl, byte [ecx + 0x10]
mov dword [esp + 0x30], str.Microsoft.WebView2Runtime.Stable_8wekyb3d8bbwe
mov dword [esp + 0x34], str.Microsoft.WebView2Runtime.Beta_8wekyb3d8bbwe
mov dword [esp + 0x38], str.Microsoft.WebView2Runtime.Dev_8wekyb3d8bbwe
mov dword [esp + 0x3c], str.Microsoft.WebView2Runtime.Canary_8wekyb3d8bbwe
mov dword [esp + 0x40], str.Microsoft.WebView2Runtime.Internal_8wekyb3d8bbwe
mov eax, dword [esp + edx*4 + 0x30]
mov dword [esp], eax
xor eax, eax
dec eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ecx, esi
mov edi, edx
call fcn.005643dc
movzx ebx, bl
push esi
push ebx
mov dword [esp + 0x18], edi
push edi
call fcn.00563331
add esp, 0xc
mov ecx, esi
call fcn.00564686
mov ecx, eax
mov edx, ebx
push dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
push edi
push 0
call fcn.005641db
add esp, 0xc
test al, al
jne 0x563eca
mov ecx, esi
call fcn.00564686
mov ecx, eax
mov edx, ebx
push dword [ebp + 0xc]
push edi
push 1
call fcn.005641db
add esp, 0xc
test al, al
jne 0x563eca
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x48], xmm0
mov eax, dword [0x640dac]
mov ecx, dword [0x640e00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x563df2
cmp dword [0x640da8], 0
je 0x563c95
mov eax, dword [0x640db4]
mov ecx, dword [0x640e00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x563e3a
cmp dword [0x640db0], 0
je 0x563c95
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov ecx, dword [0x640da8]
call dword [0x57d34c]
sub esp, 0x24
lea eax, [esp + 0x48]
mov dword [esp + 0x20], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0x10], xmm0
pxor xmm0, xmm0
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ebx
call ecx
test eax, eax
js 0x563bce
mov dword [esp + 0x30], ebx
mov ecx, dword [0x640db0]
mov esi, dword [esp + 0x24]
call dword [0x57d34c]
push ebx
lea eax, [esp + 0x34]
push eax
push ebx
push ebx
push esi
call ecx
mov esi, dword [esp + 0x24]
call dword [sym.imp.kernel32.dll_GetProcessHeap]
push esi
push ebx
push eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0x24], ebx
mov eax, dword [0x640dbc]
mov ecx, dword [0x640e00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x563e82
mov ecx, dword [0x640db8]
test ecx, ecx
mov eax, 0
je 0x563c95
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x28], eax
xor ebx, ebx
call dword [0x57d34c]
lea eax, [esp + 0x2c]
push eax
push ebx
lea eax, [esp + 0x30]
push eax
push 0x180001
call ecx
cmp eax, 0x7a
jne 0x563c95
cmp dword [esp + 0x28], 0
je 0x563c95
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
lea esi, [esp + 0x30]
mov ecx, esi
call fcn.005643dc
mov ecx, esi
push dword [esp + 0x28]
call fcn.00564622
test al, al
je 0x563c8c
mov ebx, dword [0x640db8]
lea ecx, [esp + 0x30]
call fcn.00564686
mov esi, eax
mov ecx, ebx
call dword [0x57d34c]
lea eax, [esp + 0x2c]
push eax
push esi
lea eax, [esp + 0x30]
push eax
push 0x180001
call ebx
test eax, eax
je 0x563cb6
lea ecx, [esp + 0x30]
call fcn.005643ee
lea esi, [esp + 0x18]
mov ecx, esi
call fcn.005643ee
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x14]
inc edi
cmp edi, 5
jne 0x563a26
jmp 0x563f13
lea ecx, [esp + 0x30]
call fcn.00564686
cmp dword [esp + 0x2c], 0
je 0x563c8c
mov ebx, eax
add ebx, 0x1c
xor esi, esi
push dword [esp]
push dword [ebx - 0xc]
call fcn.0056aa69
add esp, 8
test eax, eax
je 0x563ceb
inc esi
add ebx, 0x34
cmp esi, dword [esp + 0x2c]
jb 0x563ccd
jmp 0x563c8c
movq xmm0, qword [ebx]
punpcklwd xmm0, xmmword [0x630b90]
movdqa xmmword [esp], xmm0
pshufd xmm0, xmm0, 0x1b
movdqu xmmword [esp + 0x48], xmm0
mov esi, dword [ebp + 0xc]
mov ecx, esi
push dword [ebx - 0x14]
call fcn.005644d2
lea ebx, [esp + 0x30]
mov ecx, ebx
call fcn.005643ee
lea ecx, [esp + 0x48]
mov edx, esi
call fcn.00564389
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x563de1
test al, al
je 0x563de1
mov ecx, edi
push 0xf
call fcn.0056444e
xor eax, eax
dec eax
mov dword [esp + 0x42], eax
mov dword [esp + 0x3e], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x30], xmm0
pshufd xmm0, xmmword [esp], 0xff
sub esp, 0x10
mov dword [esp + 4], ebx
movdqa xmmword [esp + 0x10], xmm0
movd dword [esp], xmm0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0xb
call fcn.0056ac98
add esp, 0x10
test eax, eax
jne 0x563c95
movdqa xmm0, xmmword [esp]
movd dword [esp], xmm0
mov ecx, edi
push ebx
call fcn.005644d2
mov esi, ebx
mov ebx, 3
push 0xa
push 0xb
push esi
push dword [esp + 0xc]
call fcn.0056ac98
add esp, 0x10
test eax, eax
jne 0x563c95
mov ecx, edi
push 0x6312d0
call fcn.0056459c
mov ecx, edi
push esi
call fcn.0056459c
dec ebx
jne 0x563dac
jmp 0x563eca
test al, al
lea esi, [esp + 0x18]
je 0x563c99
jmp 0x563eca
push 0x640dac
call fcn.005658b0
add esp, 4
cmp dword [0x640dac], 0xffffffff
jne 0x563b1b
push str.kernelbase.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push str.TryCreatePackageDependency
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x640da8], eax
push 0x640dac
call fcn.0056585f
add esp, 4
jmp 0x563b1b
push 0x640db4
call fcn.005658b0
add esp, 4
cmp dword [0x640db4], 0xffffffff
jne 0x563b49
push str.kernelbase.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push str.AddPackageDependency
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x640db0], eax
push 0x640db4
call fcn.0056585f
add esp, 4
jmp 0x563b49
push 0x640dbc
call fcn.005658b0
add esp, 4
cmp dword [0x640dbc], 0xffffffff
jne 0x563bef
push str.kernelbase.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push str.GetCurrentPackageInfo
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x640db8], eax
push 0x640dbc
call fcn.0056585f
add esp, 4
jmp 0x563bef
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x563f06
mov dword [esp + 0x30], 0x630e7c
mov dword [esp + 0x34], str.beta
mov dword [esp + 0x38], 0x630e88
mov dword [esp + 0x3c], str.canary
mov dword [esp + 0x40], str.internal
mov eax, dword [esp + 0x10]
push dword [esp + eax*4 + 0x30]
call fcn.005644d2
lea ecx, [esp + 0x18]
call fcn.005643ee
xor esi, esi
jmp 0x563f23
push str.WebView2:_Failed_to_find_an_installed_WebView2_runtime_or_non_stable_Microsoft_Edge_installation._n
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov esi, 0x80070002
mov ecx, dword [esp + 0x58]
xor ecx, ebp
call fcn.0056584e
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret