Function at 0x1401a7b60
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 [0x1402baf40], 0x72
mov rbp, rdx
lea rdx, [rax - 0x18]
mov rsi, r8
mov r14, rcx
jae 0x1401a7cbc
lea rbx, str.twinui.dll
mov qword [rax - 0x18], 0x14
mov qword [rax - 0x10], rbx
call fcn.1401776c0
mov rcx, rax
test rax, rax
jne 0x1401a7c10
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401a7c10
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401a7c10
cmp dword [0x1402baf40], 0x3e
jae 0x1401a7c06
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401a7c10
mov eax, 0x8007007e
jmp 0x1401a7e5f
mov eax, 0x5a4d
xor edi, edi
cmp word [rcx], ax
jne 0x1401a7e0b
mov edx, dword [rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x1401a7e0b
cmp dword [rdx + rcx], 0x4550
jne 0x1401a7e0b
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x1401a7e0b
nop dword [rax + rax]
cmp dword [rdx + 4], edi
je 0x1401a7e0b
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.DllGetClassObject
call fcn.140177a80
nop
test rax, rax
je 0x1401a7e0b
lea r8, ds:[rsp + 0x88]
lea rdx, [0x14020cba0]
lea rcx, [0x14028b220]
call qword [case.0x14013b5a0.0]
mov ebx, eax
test eax, eax
js 0x1401a7e10
lea r8, [0x14028b240]
jmp 0x1401a7dd3
lea rbx, str.twinui.appcore.dll
mov qword [rsp + 0x40], 0x24
mov qword [rsp + 0x48], rbx
call fcn.1401776c0
mov rcx, rax
test rax, rax
jne 0x1401a7d37
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401a7d37
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401a7d37
cmp dword [0x1402baf40], 0x3e
jae 0x1401a7c06
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
je 0x1401a7c06
mov eax, 0x5a4d
xor edi, edi
cmp word [rcx], ax
jne 0x1401a7e0b
mov edx, dword [rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x1401a7e0b
cmp dword [rdx + rcx], 0x4550
jne 0x1401a7e0b
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x1401a7e0b
nop dword [rax + rax]
cmp dword [rdx + 4], edi
je 0x1401a7e0b
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.DllGetClassObject
call fcn.140177a80
nop
test rax, rax
je 0x1401a7e0b
lea r8, ds:[rsp + 0x88]
lea rdx, [0x14020cba0]
lea rcx, [0x14028b220]
call qword [case.0x14013b5a0.0]
mov ebx, eax
test eax, eax
js 0x1401a7e10
lea r8, [0x14028b270]
mov rcx, qword [rsp + 0x88]
lea r9, [rsp + 0x80]
xor edx, edx
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x14013b5a0.0]
mov rcx, qword [rsp + 0x88]
mov ebx, eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14013b5a0.0]
jmp 0x1401a7e10
mov ebx, 0x8007007f
test ebx, ebx
jne 0x1401a7e5d
mov rcx, qword ds:[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.0x14013b5a0.0]
mov rcx, qword [rsp + 0x80]
mov ebx, eax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x14013b5a0.0]
mov eax, ebx
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret