Function at 0x1400091ec
Capabilities:
Check os version
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x300
mov rax, qword [0x1401e3028]
xor rax, rsp
mov qword [rsp + 0x2f0], rax
xor edi, edi
mov qword [0x140226928], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov qword [0x140231158], rdi
mov r8d, 0x2d30
lea rcx, [0x140223250]
call fcn.140130a00
lea rcx, [0x1402232a8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor edx, edx
lea rcx, [rsp + 0x44]
mov r8d, 0x90
call fcn.140130a00
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [rsp + 0x50], 2
jne 0x1400094f8
cmp dword [rsp + 0x44], 5
jb 0x1400094f8
lea rcx, [0x140231e20]
mov dword [0x140231e20], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
xor edx, edx
lea rcx, [0x140226930]
mov r8d, 0xa5f8
call fcn.140130a00
xor edx, edx
lea rcx, [0x140245120]
mov r8d, 0xb0
call fcn.140130a00
xor edx, edx
lea rcx, [0x1402311c0]
mov r8d, 0x238
call fcn.140130a00
lea rcx, [0x140245130]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x140226900]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x140223220]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x14024b4b8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov ebx, 0x800
lea rcx, [0x140231610]
mov r8d, ebx
xor edx, edx
call fcn.140130a00
mov r8d, ebx
lea rcx, [0x140226100]
xor edx, edx
call fcn.140130a00
lea ebx, [rdi + 0x70]
xor edx, edx
mov r8d, ebx
lea rcx, [0x140225fa0]
call fcn.140130a00
mov r8d, ebx
lea rcx, [0x140226090]
xor edx, edx
call fcn.140130a00
or rax, 0xffffffffffffffff
mov qword [0x140230ad0], rdi
lea edx, [rdi + 8]
mov qword [0x140230ac0], rax
mov r9d, 0x100
mov qword [0x140230ae0], rax
lea r8d, [rdi + 0x10]
mov qword [0x140230ac8], rdi
lea rcx, [0x140231148]
mov qword [0x140230af0], rdi
mov qword [0x140230ae8], rdi
call fcn.1400323c0
xor r9d, r9d
lea r8, [0x140226018]
xor edx, edx
lea ecx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoA]
xor r8d, r8d
lea rcx, str.imm32.dll
call fcn.140021e80
mov qword [0x1401e4080], rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400093fc
lea rdx, [0x140188f38]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140225f88], rax
test rax, rax
jne 0x1400093fc
mov rcx, qword [0x1401e4080]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x1401e4080], rdi
xor r8d, r8d
lea rcx, [0x140188f48]
call fcn.140021e80
mov qword [0x1401e4078], rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400094bc
lea rdx, str.CoInitializeSecurity
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1401e4078]
lea rdx, [0x140188f70]
mov qword [0x140231140], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1401e4078]
lea rdx, [0x140188f88]
mov qword [0x140231138], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1401e4078]
lea rdx, [0x140188f98]
mov qword [0x140225f98], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x140231140], rdi
mov qword [0x140225f90], rax
je 0x1400094a8
cmp qword [0x140231138], rdi
je 0x1400094a8
cmp qword [0x140225f98], rdi
je 0x1400094a8
test rax, rax
jne 0x1400094bc
mov rcx, qword [0x1401e4078]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x1401e4078], rdi
mov r8d, 0x104
mov qword [str.bad_allocation], rdi
lea rdx, [rsp + 0xe0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140009515
lea r8, [rsp + 0x30]
lea rdx, str.bad_allocation
lea rcx, [rsp + 0xe0]
call fcn.140024fc0
jmp 0x140009515
mov rax, qword [0x14021eec0]
lea rcx, [0x14021eec0]
mov edx, 0x30303030
mov rax, qword [rax + 8]
call qword [case.0x14000c75c.0]
mov rcx, qword [rsp + 0x2f0]
xor rcx, rsp
call fcn.14012e400
mov rbx, qword [rsp + 0x310]
add rsp, 0x300
pop rdi
ret