Function at 0x10045e10
Capabilities:
Check if file exists
Get file attributes
Load windows common language runtime
Print debug messages
Query environment variable
Resolve function by parsing pe exports
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x11b4
call fcn.10015560
mov eax, dword [0x10141004]
xor eax, esp
mov dword [esp + 0x11b0], eax
push ebx
push esi
xor ebx, ebx
mov dword [esp + 0x2c], 0
push edi
push 0x34
lea eax, [esp + 0x48]
mov byte [esp + 0x13], bl
mov esi, edx
mov dword [esp + 0x1c], ebx
push ebx
push eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x94], 0x74983d43
mov dword [esp + 0x98], 0xc598bbd0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x84], 0xaac56b
mov dword [esp + 0x88], 0x11d0cd44
mov dword [esp + 0x8c], 0xc000c28c
mov dword [esp + 0x90], 0xee95c24f
call fcn.10002790
add esp, 0xc
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
xorps xmm0, xmm0
movq qword [esp + 0x38], xmm0
test esi, esi
jne 0x10045edb
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.invalid_ICLRRuntimeHost._n
call edi
mov esi, 0x80070057
jmp 0x10046508
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, eax
mov dword [esp + 0x30], edi
test edi, edi
jne 0x10045f16
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 0x10046508
movzx esi, si
or esi, 0x80070000
jmp 0x10046508
push str.System.Data.SQLite.SEE.License
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax*2 + 0x1000c]
push esi
push 0
push edi
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
jne 0x10045f4f
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.could_not_allocate_path._n
call edi
mov esi, 0x8007000e
jmp 0x10046508
push esi
push 0
push ebx
call fcn.10002790
add esp, 0xc
push 0x7fff
push ebx
push str.LicenseAssemblyPath
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [eax - 1]
cmp ecx, 0x7ffe
ja 0x10045f89
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.assembly_path_env_success._n
call edi
jmp 0x10046025
test eax, eax
jne 0x100464f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, eax
cmp esi, 0xcb
jne 0x100464ea
push str.assembly_path_env_not_found._n
call edi
push 0x7fff
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x10045fd7
push str.could_not_get_module_file_name._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x10045efe
xor edx, edx
mov ecx, ebx
call fcn.100465e0
test eax, eax
jne 0x10045ff5
push str.could_not_trim_module_file_name._n
call edi
mov esi, 0x8007010b
jmp 0x10046508
mov edx, 0x10130d20
mov ecx, ebx
call fcn.100465e0
mov edx, 0x10130d28
mov ecx, ebx
call fcn.100465e0
mov edx, 0x10130d30
mov ecx, ebx
call fcn.100465e0
mov edx, str.ARM64
mov ecx, ebx
call fcn.100465e0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x10130d44
push ebx
call esi
push str.System.Data.SQLite.SEE.License
push ebx
call esi
push 0x10130d48
push ebx
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x10046060
push str.assembly_path_not_found._n
call edi
mov esi, 0x80070002
jmp 0x10046508
push str.assembly_path_found._n
call edi
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0x10
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x3c], ebx
push eax
push 0xffffffffffffffff
mov dword [esp + 0x50], 0x34
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x78], 0x100
mov dword [esp + 0x7c], 0
call dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
test eax, eax
je 0x100460da
push str.assembly_path_not_trusted._n
call edi
mov esi, 0x800b0004
jmp 0x10046508
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 0x100460fc
push str.detected_.NET_Core_in_process._n
jmp 0x10046310
push str.MSCorEE
call esi
test eax, eax
jne 0x1004611a
push str.missing_CLR_module_in_process._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x10045efe
push str.CLRCreateInstance
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x10046131
push str.missing_CLR_function._n
jmp 0x10046164
lea ecx, [esp + 0x20]
push ecx
push 0x1013cc40
push 0x1013cc50
call eax
mov esi, eax
test esi, esi
jns 0x100461d4
push str.could_not_create_ICLRMetaHost._n
call edi
cmp esi, 0x80004001
jne 0x10046508
push str.CLR_creation_not_implemented._n
call edi
lea eax, [esp + 0xf]
push eax
push 1
push ebx
call dword [sym.imp.mscoree.dll_StrongNameSignatureVerificationEx]
test al, al
jne 0x10046189
push str.legacy_strong_name_check_failure._n
call edi
mov esi, 0x80131045
jmp 0x10046508
cmp byte [esp + 0xf], 0
jne 0x100461a1
push str.legacy_strong_name_check_unverified._n
call edi
mov esi, 0x80131045
jmp 0x10046508
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
call dword [sym.imp.mscoree.dll_StrongNameTokenFromAssembly]
test al, al
jne 0x100461ca
push str.legacy_strong_name_token_failure._n
call edi
call dword [sym.imp.mscoree.dll_StrongNameErrorInfo]
mov esi, eax
jmp 0x10046508
push str.legacy_strong_name_check_verified._n
jmp 0x100462d0
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
push 0x1013cc60
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 0x10046201
push str.could_not_get_ICLRRuntimeInfo._n
call edi
jmp 0x10046508
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x2c]
push edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
call eax
mov esi, eax
test esi, esi
jns 0x10046224
push str.ICLRRuntimeInfo_loadable_failure._n
call edi
jmp 0x10046508
cmp dword [esp + 0x2c], 0
jne 0x10046237
push str.ICLRRuntimeInfo_not_loadable._n
call edi
jmp 0x10046508
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x1013cc30
push 0x1013cc10
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x24]
call eax
mov esi, eax
test esi, esi
jns 0x10046264
push str.could_not_get_ICLRStrongName._n
call edi
jmp 0x10046508
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xf]
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 0x1004628a
push str.modern_strong_name_check_failure._n
call edi
jmp 0x10046508
cmp byte [esp + 0xf], 0
jne 0x100462a2
push str.modern_strong_name_check_unverified._n
call edi
mov esi, 0x80131045
jmp 0x10046508
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
lea edx, [esp + 0x1c]
push edx
mov ecx, dword [eax]
push ebx
push eax
mov eax, dword [ecx + 0x64]
call eax
mov esi, eax
test esi, esi
jns 0x100462cb
push str.modern_strong_name_token_failure._n
call edi
jmp 0x10046508
push str.modern_strong_name_check_verified._n
call edi
cmp dword [esp + 0x24], 8
je 0x100462ea
push str.strong_name_token_size_mismatch._n
call edi
mov esi, 0x80070018
jmp 0x10046508
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x88]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100464dc
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
jne 0x100464dc
push str.strong_name_size_and_data_matched._n
call edi
push 0x802
lea eax, [esp + 0x1ac]
push 0
push eax
call fcn.10002790
add esp, 0xc
lea eax, [esp + 0x1a8]
push 0x400
push eax
push str.LicenseOtherAppDomain
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, dword [esp + 0x28]
test eax, eax
mov eax, dword [ecx]
je 0x1004648f
lea edx, [esp + 0x88]
mov dword [esp + 0x88], 0
mov eax, dword [eax + 0x24]
push edx
push ecx
call eax
mov esi, eax
test esi, esi
jns 0x1004637a
push str.no_current_application_domain__n
call edi
jmp 0x10046508
push 0x802
lea eax, [esp + 0x9b4]
push 0
push eax
call fcn.10002790
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esp + 0x9bc]
push str.SdkCallback__lX__lX__lX
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea eax, [esp + 0x1a8]
push 0x802
push 0
push eax
call fcn.10002790
add esp, 0xc
lea eax, [esp + 0x1a8]
push 0x400
push eax
lea eax, [esp + 0x9b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10046405
push str.could_not_get_setup_method_callback._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x10045efe
push 0
lea eax, [esp + 0x9b4]
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x1004642c
push str.could_not_unset_setup_method_callback._n
call edi
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
jmp 0x10045efe
call fcn.100052cd
mov dword [eax], 0
lea eax, [esp + 0x1a8]
push eax
call fcn.1000514b
mov esi, eax
add esp, 4
test esi, esi
je 0x10046481
call fcn.100052cd
cmp dword [eax], 0
jne 0x10046481
push str.good_callback_from_setup_method._n
call edi
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
push esi
push dword [esp + 0x90]
mov eax, dword [ecx]
mov dword [esp + 0x28], 1
push ecx
mov eax, dword [eax + 0x20]
call eax
jmp 0x100464af
push str.bad_callback_from_setup_method._n
call edi
mov esi, 0x800704f9
jmp 0x10046508
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
mov eax, dword [eax + 0x2c]
push edx
push 0
push str.Verify
push str.System.Data.SQLite.SQLiteExtra
push ebx
push ecx
call eax
mov esi, eax
test esi, esi
js 0x100464d3
cmp dword [esp + 0x1c], 0
jne 0x100464c5
push str.verify_method_returned_success._n
call edi
jmp 0x10046508
push str.verify_method_returned_failure._n
call edi
mov esi, 0x80040112
jmp 0x10046508
push str.could_not_execute_verify_method._n
call edi
jmp 0x10046508
push str.strong_name_token_data_mismatch._n
call edi
mov esi, 0x80028ca0
jmp 0x10046508
push str.assembly_path_env_failure._n
call edi
jmp 0x10045f00
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 + 0x10]
test ecx, ecx
je 0x10046520
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10046538
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10046550
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10046567
push eax
call dword [sym.imp.mscoree.dll_StrongNameFreeBuffer]
mov dword [esp + 0x18], 0
test ebx, ebx
je 0x10046578
push ebx
push 0
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test esi, esi
je 0x100465bd
push 0x115
lea eax, [esp + 0x94]
push 0
push eax
call fcn.10002790
add esp, 0xc
lea eax, [esp + 0x90]
push esi
push str.VerifyIsLicensed
push str._s_HRESULT:_0x_016X
push 0x115
push eax
call fcn.10001010
add esp, 0x14
lea eax, [esp + 0x90]
push eax
call edi
mov ecx, dword [esp + 0x11bc]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret