Function at 0x1401abf80
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 [0x1402bff40], 0x72
mov rbp, rdx
lea rdx, [rax - 0x18]
mov rsi, r8
mov r14, rcx
jae 0x1401ac0dc
lea rbx, str.twinui.dll
mov qword [rax - 0x18], 0x14
mov qword [rax - 0x10], rbx
call fcn.14017e120
xor edi, edi
mov rcx, rax
test rax, rax
jne 0x1401ac038
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401ac038
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401ac038
cmp dword [0x1402bff40], 0x3e
jae 0x1401ac158
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401ac038
mov ebx, 0x8007007e
jmp 0x1401ac235
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1401ac230
mov edx, dword [rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x1401ac230
cmp dword [rdx + rcx], 0x4550
jne 0x1401ac230
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x1401ac230
nop dword [rax + rax]
cmp dword [rdx + 4], edi
je 0x1401ac230
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.DllGetClassObject
call fcn.14017e4c0
nop
test rax, rax
je 0x1401ac230
lea r8, ds:[rsp + 0x88]
lea rdx, [0x14020fc00]
lea rcx, [0x14028e700]
call qword [case.0x14013d84a.0]
mov ebx, eax
test eax, eax
js 0x1401ac235
lea r8, [0x14028e720]
jmp 0x1401ac1f8
lea rbx, str.twinui.appcore.dll
mov qword [rsp + 0x40], 0x24
mov qword [rsp + 0x48], rbx
call fcn.14017e120
xor edi, edi
mov rcx, rax
test rax, rax
jne 0x1401ac165
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401ac165
xor edx, edx
mov r8d, 0x200
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401ac165
cmp dword [0x1402bff40], 0x3e
nop
jae 0x1401ac158
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x1401ac165
mov ebx, 0x8007007e
jmp 0x1401ac235
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1401ac230
mov edx, dword ds:[rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x1401ac230
cmp dword [rdx + rcx], 0x4550
jne 0x1401ac230
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x1401ac230
cmp dword [rdx + 4], edi
je 0x1401ac230
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.DllGetClassObject
call fcn.14017e4c0
test rax, rax
je 0x1401ac230
lea r8, [rsp + 0x88]
lea rdx, [0x14020fc00]
lea rcx, [0x14028e700]
call qword [case.0x14013d84a.0]
mov ebx, eax
test eax, eax
js 0x1401ac235
lea r8, [0x14028e750]
mov rcx, qword [rsp + 0x88]
lea r9, [rsp + 0x80]
xor edx, edx
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x14013d84a.0]
mov rcx, qword [rsp + 0x88]
mov ebx, eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14013d84a.0]
jmp 0x1401ac235
mov ebx, 0x8007007f
test ebx, ebx
jne 0x1401ac27f
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.0x14013d84a.0]
mov rcx, qword [rsp + 0x80]
mov ebx, eax
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x14013d84a.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