Function at 0x5b44e50
Capabilities:
Check if file exists
Get file attributes
Load windows common language runtime
Print debug messages
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1184
call fcn.05b15560
mov eax, dword [0x5c51004]
xor eax, esp
mov dword [esp + 0x1180], eax
push ebx
xor ebx, ebx
mov dword [esp + 0x24], 0
mov eax, edx
mov dword [esp + 0x30], ebx
push esi
mov esi, dword [0x5c54694]
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], esi
mov byte [esp + 0xf], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], 0x22a9a0a
mov dword [esp + 0x48], 0x528a4f61
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ecx
push edi
test eax, eax
jne 0x5b44edc
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.invalid_ICLRRuntimeHost._n
call edi
mov esi, 0x80070057
jmp 0x5b45575
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x5b44f15
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.invalid_process_heap._n
call edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x5b45575
movzx esi, si
or esi, 0x80070000
jmp 0x5b45575
test esi, esi
je 0x5b44f41
push esi
xor edx, edx
mov ecx, eax
call fcn.05b459f0
add esp, 4
test eax, eax
je 0x5b44f41
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.module_path_not_trusted._n
call edi
mov esi, 0x8009202b
jmp 0x5b45575
push str.System.Data.SQLite.SEE.License
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0x8005
mov dword [esp + 0x18], eax
lea edi, [eax*2 + 2]
push edi
push 0
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
jne 0x5b44f86
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.could_not_allocate_path._n
call edi
mov esi, 0x8007000e
jmp 0x5b45575
push edi
push 0
push ebx
call fcn.05b02790
add esp, 0xc
push 0x7fff
push ebx
push str.LicenseAssemblyPath
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov edx, eax
lea ecx, [edx - 1]
cmp ecx, 0x7ffe
ja 0x5b44fca
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.assembly_path_env_success._n
call edi
mov dword [esp + 0x38], 1
jmp 0x5b45074
test edx, edx
jne 0x5b45563
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, eax
cmp esi, 0xcb
jne 0x5b45557
push str.assembly_path_env_not_found._n
call edi
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
lea eax, [eax*2 + 2]
push eax
push 0
push ebx
call fcn.05b02790
add esp, 0xc
push 0x7fff
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [esp + 0x18], eax
test eax, eax
je 0x5b45544
xor edx, edx
mov ecx, ebx
call fcn.05b45990
test eax, eax
je 0x5b45536
mov edx, 0x5c41414
mov ecx, ebx
call fcn.05b45990
mov edx, 0x5c4141c
mov ecx, ebx
call fcn.05b45990
mov edx, str.Win32
mov ecx, ebx
call fcn.05b45990
mov edx, 0x5c41430
mov ecx, ebx
call fcn.05b45990
mov edx, str.ARM64
mov ecx, ebx
call fcn.05b45990
push 0x5c41444
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push str.System.Data.SQLite.SEE.License
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x5c41448
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x5b450c7
test esi, esi
je 0x5b450b6
push str.assembly_path_not_found_via_module._n
call edi
xor esi, esi
jmp 0x5b44ff7
push str.assembly_path_not_found_via_process._n
call edi
mov esi, 0x80070002
jmp 0x5b45575
cmp dword [esp + 0x38], 0
jne 0x5b450e0
test esi, esi
jne 0x5b450d9
push str.assembly_path_found_via_process._n
jmp 0x5b450de
push str.assembly_path_found_via_module._n
call edi
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push esi
call fcn.05b459f0
add esp, 4
test eax, eax
je 0x5b45104
push str.assembly_path_not_trusted._n
call edi
mov esi, 0x800b0004
jmp 0x5b45575
push str.assembly_path_is_trusted._n
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.CoreCLR
call esi
test eax, eax
je 0x5b45131
push str.detected_.NET_Core_in_process._n
call edi
mov esi, 1
mov dword [esp + 0x44], esi
jmp 0x5b4530d
push str.MSCorEE
call esi
test eax, eax
jne 0x5b4514f
push str.missing_CLR_module_in_process._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x5b44efd
push str.CLRCreateInstance
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x5b45170
push str.missing_CLR_function._n
call edi
mov esi, 0x8007065a
jmp 0x5b45575
lea ecx, [esp + 0x28]
push ecx
push 0x5c4d3f0
push 0x5c4d400
call eax
mov esi, eax
test esi, esi
jns 0x5b451a6
push str.could_not_create_ICLRMetaHost._n
call edi
cmp esi, 0x80004001
jne 0x5b45575
push str.CLR_creation_not_implemented._n
call edi
jmp 0x5b45575
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
push 0x5c4d410
push str.v4.0.30319
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0xc]
call eax
mov esi, eax
test esi, esi
jns 0x5b451d3
push str.could_not_get_ICLRRuntimeInfo._n
call edi
jmp 0x5b45575
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
call eax
mov esi, eax
test esi, esi
jns 0x5b451f6
push str.ICLRRuntimeInfo_loadable_failure._n
call edi
jmp 0x5b45575
cmp dword [esp + 0x3c], 0
jne 0x5b45209
push str.ICLRRuntimeInfo_not_loadable._n
call edi
jmp 0x5b45575
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
push 0x5c4d3e0
push 0x5c4d3c0
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov esi, eax
test esi, esi
jns 0x5b45236
push str.could_not_get_ICLRStrongName._n
call edi
jmp 0x5b45575
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x13]
push edx
push 1
push ebx
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x5c]
call eax
mov esi, eax
test esi, esi
jns 0x5b4525c
push str.modern_strong_name_check_failure._n
call edi
jmp 0x5b45575
cmp byte [esp + 0x13], 0
jne 0x5b45274
push str.modern_strong_name_check_unverified._n
call edi
mov esi, 0x80131045
jmp 0x5b45575
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x40]
push edx
lea edx, [esp + 0x28]
push edx
mov ecx, dword [eax]
push ebx
push eax
mov eax, dword [ecx + 0x64]
call eax
mov esi, eax
test esi, esi
jns 0x5b4529d
push str.modern_strong_name_token_failure._n
call edi
jmp 0x5b45575
push str.modern_strong_name_check_verified._n
call edi
cmp byte [esp + 0x13], 0
jne 0x5b452bc
push str.strong_name_check_was_not_verified._n
call edi
mov esi, 0x80070076
jmp 0x5b45575
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5b45528
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x5b45528
cmp eax, 8
je 0x5b452ea
push str.strong_name_token_size_mismatch._n
call edi
mov esi, 0x80070018
jmp 0x5b45575
mov eax, dword [ecx]
lea edx, [esp + 0x48]
cmp eax, dword [edx]
jne 0x5b4551a
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x5b4551a
push str.strong_name_size_and_data_matched._n
call edi
xor esi, esi
call fcn.05b45660
test eax, eax
je 0x5b45324
push str.process_license_ticket_validated._n
call edi
xor esi, esi
jmp 0x5b45575
test esi, esi
jne 0x5b454a2
push 0x802
lea eax, [esp + 0x17c]
push esi
push eax
call fcn.05b02790
add esp, 0xc
lea eax, [esp + 0x178]
push 0x400
push eax
push str.LicenseOtherAppDomain
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x5b454a2
push str.using_non_default_application_domain._n
mov dword [esp + 0x1c], esi
call edi
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x18]
push edx
push ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, eax
test esi, esi
jns 0x5b45390
push str.no_current_application_domain__n
call edi
jmp 0x5b45575
push 0x802
lea eax, [esp + 0x984]
push 0
push eax
call fcn.05b02790
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esp + 0x98c]
push str.SdkCallback__lX__lX__lX
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea eax, [esp + 0x178]
push 0x802
push 0
push eax
call fcn.05b02790
add esp, 0xc
lea eax, [esp + 0x178]
push 0x400
push eax
lea eax, [esp + 0x988]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x5b45418
push str.could_not_get_setup_method_callback._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x5b44efd
push 0
lea eax, [esp + 0x984]
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x5b4543f
push str.could_not_unset_setup_method_callback._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x5b44efd
call fcn.05b052fd
mov dword [eax], 0
lea eax, [esp + 0x178]
push eax
call fcn.05b05181
mov esi, eax
add esp, 4
test esi, esi
je 0x5b45491
call fcn.05b052fd
cmp dword [eax], 0
jne 0x5b45491
push str.good_callback_from_setup_method._n
call edi
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x20]
push edx
push esi
push dword [esp + 0x20]
mov eax, dword [ecx]
mov dword [esp + 0x2c], 1
push ecx
mov eax, dword [eax + 0x20]
call eax
jmp 0x5b454cf
push str.bad_callback_from_setup_method._n
call edi
mov esi, 0x800704f9
jmp 0x5b45575
push str.using_default_application_domain._n
call edi
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x20]
push edx
push 0
push str.Verify
mov eax, dword [ecx]
push str.System.Data.SQLite.SQLiteExtra
push ebx
mov dword [esp + 0x34], 1
mov eax, dword [eax + 0x2c]
push ecx
call eax
mov esi, eax
test esi, esi
js 0x5b454f6
cmp dword [esp + 0x20], 0
jne 0x5b454e8
push str.verify_method_returned_success._n
call edi
jmp 0x5b45575
push str.verify_method_returned_failure._n
call edi
mov esi, 0x80040112
jmp 0x5b45575
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x5b45511
cmp esi, 0x80131022
jne 0x5b45511
push str.verify_method_unreachable._n
call edi
xor esi, esi
jmp 0x5b45575
push str.could_not_execute_verify_method._n
call edi
jmp 0x5b45575
push str.strong_name_token_data_mismatch._n
call edi
mov esi, 0x80028ca0
jmp 0x5b45575
push str.strong_name_token_data_missing._n
call edi
mov esi, 0x80070450
jmp 0x5b45575
push str.could_not_trim_module_file_name._n
call edi
mov esi, 0x8007010b
jmp 0x5b45575
push str.could_not_get_module_file_name._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x5b44efd
push str.assembly_path_env_failure._n
call edi
jmp 0x5b44eff
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.bad_assembly_path_env_size._n
call edi
mov esi, 0x6f
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5b455bd
mov edx, dword [esp + 0x24]
test edx, edx
je 0x5b455ad
mov eax, dword [ecx]
push edx
push ecx
mov eax, dword [eax + 0x28]
call eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0
test eax, eax
jns 0x5b455a9
push str.could_not_free_strong_name_buffer._n
call edi
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x5b455d5
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x5b455ed
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x28], 0
test ebx, ebx
je 0x5b455fe
push ebx
push 0
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
je 0x5b4563a
push 0x125
lea eax, [esp + 0x54]
push 0
push eax
call fcn.05b02790
add esp, 0xc
lea eax, [esp + 0x50]
push esi
push str.VerifyIsLicensed
push str.eeeSdk1:__s_HRESULT_0x_016X
push 0x125
push eax
call fcn.05b01010
add esp, 0x14
lea eax, [esp + 0x50]
push eax
call edi
mov ecx, dword [esp + 0x118c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.05b011bc
mov esp, ebp
pop ebp
ret