Function at 0x1401aca60
Capabilities:
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x50
cmp dword [0x1402c0f40], 0x72
mov rbp, rdx
lea rdx, [rax - 0x18]
mov rsi, r8
mov r14, rcx
jae 0x1401acbbc
lea rbx, str.twinui.dll
mov qword [rax - 0x18], 0x14
mov qword [rax - 0x10], rbx
call fcn.14017ede0
xor edi, edi
mov rcx, rax
test rax, rax
jne 0x1401acb18
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401acb18
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401acb18
cmp dword [0x1402c0f40], 0x3e
jae 0x1401acc38
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401acb18
mov ebx, 0x8007007e
jmp 0x1401acd15
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1401acd10
mov edx, dword [rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x1401acd10
cmp dword [rdx + rcx], 0x4550
jne 0x1401acd10
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x1401acd10
nop dword [rax + rax]
cmp dword [rdx + 4], edi
je 0x1401acd10
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.DllGetClassObject
call fcn.14017f180
nop
test rax, rax
je 0x1401acd10
lea r8, ds:[rsp + 0x88]
lea rdx, [0x140210c20]
lea rcx, [0x14028fa50]
call qword [case.0x14013dbaa.0]
mov ebx, eax
test eax, eax
js 0x1401acd15
lea r8, [0x14028fa70]
jmp 0x1401accd8
lea rbx, str.twinui.appcore.dll
mov qword [rsp + 0x40], 0x24
mov qword [rsp + 0x48], rbx
call fcn.14017ede0
xor edi, edi
mov rcx, rax
test rax, rax
jne 0x1401acc45
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401acc45
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401acc45
cmp dword [0x1402c0f40], 0x3e
nop
jae 0x1401acc38
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401acc45
mov ebx, 0x8007007e
jmp 0x1401acd15
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1401acd10
mov edx, dword ds:[rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x1401acd10
cmp dword [rdx + rcx], 0x4550
jne 0x1401acd10
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x1401acd10
cmp dword [rdx + 4], edi
je 0x1401acd10
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.DllGetClassObject
call fcn.14017f180
test rax, rax
je 0x1401acd10
lea r8, [rsp + 0x88]
lea rdx, [0x140210c20]
lea rcx, [0x14028fa50]
call qword [case.0x14013dbaa.0]
mov ebx, eax
test eax, eax
js 0x1401acd15
lea r8, [0x14028faa0]
mov rcx, qword [rsp + 0x88]
lea r9, [rsp + 0x80]
xor edx, edx
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x14013dbaa.0]
mov rcx, qword [rsp + 0x88]
mov ebx, eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14013dbaa.0]
jmp 0x1401acd15
mov ebx, 0x8007007f
test ebx, ebx
jne 0x1401acd5f
mov rcx, qword [rsp + 0x80]
mov r9, rsi
mov qword [rsp + 0x30], rdi
mov r8, rbp
mov dword [rsp + 0x28], edi
mov rdx, r14
mov dword [rsp + 0x20], 0x32
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x14013dbaa.0]
mov rcx, qword [rsp + 0x80]
mov ebx, eax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x14013dbaa.0]
mov rbp, qword [rsp + 0x68]
mov eax, ebx
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret