Function at 0x14014c0c0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rdx, qword [0x1402c4fa0]
mov ecx, 0x48
call sym.SystemInformer.exe_QiCreateObject
mov rcx, qword [0x1402c5110]
mov rbx, rax
mov edx, 4
mov dword [rax], 0x10
lea rax, [0x140145990]
mov qword [rbx + 8], rax
lea rax, [0x1401459a0]
lea r8d, [rdx + 0x3c]
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], 0x10
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rbx + 0x18]
mov edx, 0xff
shl r8, 2
mov rcx, rax
mov qword [rbx + 0x20], rax
call fcn.140207110
mov eax, dword [rbx + 0x18]
mov edx, 4
mov rcx, qword [0x1402c5110]
mov dword [rbx + 0x28], eax
lea r8, [rax + rax*2]
shl r8, 3
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rdx, qword [0x1402c4fa0]
xor edi, edi
mov qword [rbx + 0x30], rax
mov dword [rbx + 0x38], edi
mov dword [rbx + 0x3c], 0xffffffff
lea ecx, [rdi + 0x48]
mov dword [rbx + 0x40], edi
mov qword [0x1402c81e0], rbx
call sym.SystemInformer.exe_QiCreateObject
mov rcx, qword [0x1402c5110]
lea edx, ds:[rdi + 4]
mov rbx, rax
lea r8d, [rdi + 0x40]
mov dword [rax], 0x18
lea rax, [0x14014f3c0]
mov qword [rbx + 8], rax
lea rax, [0x14014f3e0]
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], 0x10
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r8d, dword [rbx + 0x18]
mov edx, 0xff
shl r8, 2
mov rcx, rax
mov qword [rbx + 0x20], rax
call fcn.140207110
mov r8d, dword [rbx + 0x18]
lea edx, [rdi + 4]
mov rcx, qword [0x1402c5110]
mov dword [rbx + 0x28], r8d
shl r8, 5
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
xor edx, edx
mov dword [rbx + 0x38], edi
mov r8d, 0x800
mov qword [rbx + 0x30], rax
lea rcx, str.uxtheme.dll
mov dword [rbx + 0x3c], 0xffffffff
mov dword [rbx + 0x40], edi
mov qword [0x1402c81a8], rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
mov ebp, 0x5a4d
test rax, rax
jne 0x14014c27d
xor edx, edx
lea rcx, str.uxtheme.dll
mov r8d, 0x200
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
jne 0x14014c27d
cmp dword [0x1402baf40], 0x3e
jae 0x14014c5ef
xor r8d, r8d
lea rcx, str.uxtheme.dll
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
je 0x14014c5ef
nop dword [rax]
cmp word [rbx], bp
jne 0x14014c2ca
mov ecx, dword [rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c2ca
cmp dword [rcx + rbx], 0x4550
jne 0x14014c2ca
lea rdx, [rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c2ca
cmp dword [rdx + 4], edi
je 0x14014c2ca
lea r8, [rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.OpenThemeDataForDpi
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c2cd
mov rax, rdi
mov qword [0x1402c8170], rax
cmp word [rbx], bp
jne 0x14014c327
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c327
cmp dword [rcx + rbx], 0x4550
jne 0x14014c327
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c327
cmp dword [rdx + 4], edi
je 0x14014c327
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.OpenThemeData
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c32a
mov rax, rdi
mov qword [0x1402c8190], rax
cmp word [rbx], bp
jne 0x14014c387
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c387
cmp dword [rcx + rbx], 0x4550
jne 0x14014c387
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c387
cmp dword [rdx + 4], edi
je 0x14014c387
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.CloseThemeData
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c38a
mov rax, rdi
mov qword [0x1402c81c8], rax
cmp word [rbx], bp
jne 0x14014c3e7
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c3e7
cmp dword [rcx + rbx], 0x4550
jne 0x14014c3e7
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c3e7
cmp dword [rdx + 4], edi
je 0x14014c3e7
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.SetWindowTheme
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c3ea
mov rax, rdi
mov qword [0x1402c80f0], rax
cmp word [rbx], bp
jne 0x14014c447
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c447
cmp dword [rcx + rbx], 0x4550
jne 0x14014c447
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c447
cmp dword [rdx + 4], edi
je 0x14014c447
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.IsThemeActive
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c44a
mov rax, rdi
mov qword [0x1402c8228], rax
cmp word [rbx], bp
jne 0x14014c4a7
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c4a7
cmp dword [rcx + rbx], 0x4550
jne 0x14014c4a7
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c4a7
cmp dword [rdx + 4], edi
je 0x14014c4a7
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.IsThemePartDefined
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c4aa
mov rax, rdi
mov qword [0x1402c8150], rax
cmp word [rbx], bp
jne 0x14014c507
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c507
cmp dword [rcx + rbx], 0x4550
jne 0x14014c507
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c507
cmp dword [rdx + 4], edi
je 0x14014c507
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.GetThemeInt
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c50a
mov rax, rdi
mov qword [0x1402c8130], rax
cmp word [rbx], bp
jne 0x14014c567
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c567
cmp dword [rcx + rbx], 0x4550
jne 0x14014c567
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c567
cmp dword [rdx + 4], edi
je 0x14014c567
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.GetThemePartSize
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c56a
mov rax, rdi
mov qword [0x1402c8198], rax
cmp word [rbx], bp
jne 0x14014c5c7
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c5c7
cmp dword [rcx + rbx], 0x4550
jne 0x14014c5c7
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c5c7
cmp dword [rdx + 4], edi
je 0x14014c5c7
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.DrawThemeBackground
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c5ca
mov rax, rdi
cmp dword [0x1402baf40], 0x72
mov qword [0x1402c8180], rax
jb 0x14014c5ef
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 0x4a]
call fcn.140177920
mov qword [0x1402c8120], rax
cmp dword [0x1402baf40], 0x3f
jb 0x14014c6ac
xor edx, edx
lea rcx, str.shcore.dll
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x14014c659
xor edx, edx
lea rcx, str.shcore.dll
mov r8d, 0x200
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
jne 0x14014c659
cmp dword [0x1402baf40], 0x3e
jae 0x14014c6ac
xor r8d, r8d
lea rcx, str.shcore.dll
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
test rax, rax
je 0x14014c6ac
cmp word [rcx], bp
jne 0x14014c6a2
mov edx, dword [rcx + 0x3c]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c6a2
cmp dword [rdx + rcx], 0x4550
jne 0x14014c6a2
add rdx, 0x88
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c6a2
cmp dword [rdx + 4], edi
je 0x14014c6a2
lea r8, [rcx + rax]
mov word [rsp + 0x20], di
lea r9, str.GetDpiForMonitor
call fcn.140177a80
nop
jmp 0x14014c6a5
mov rax, rdi
mov qword [0x1402c81b8], rax
cmp dword [0x1402baf40], 0x66
jb 0x14014c88f
xor edx, edx
lea rcx, [0x140264380]
mov r8d, 0x800
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
jne 0x14014c729
xor edx, edx
lea rcx, [0x140264380]
mov r8d, 0x200
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
jne 0x14014c729
cmp dword [0x1402baf40], 0x3e
nop word [rax + rax]
jae 0x14014c88f
xor r8d, r8d
lea rcx, [0x140264380]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
je 0x14014c88f
cmp word [rbx], bp
jne 0x14014c773
mov ecx, dword [rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c773
cmp dword [rcx + rbx], 0x4550
jne 0x14014c773
lea rdx, [rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c773
cmp dword [rdx + 4], edi
je 0x14014c773
lea r8, [rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.GetDpiForWindow
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c776
mov rax, rdi
mov qword [0x1402c8208], rax
nop dword [rax]
cmp word [rbx], bp
jne 0x14014c7ca
mov ecx, dword [rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c7ca
cmp dword [rcx + rbx], 0x4550
jne 0x14014c7ca
lea rdx, [rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c7ca
cmp dword [rdx + 4], edi
je 0x14014c7ca
lea r8, [rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.GetDpiForSystem
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c7cd
mov rax, rdi
mov qword [0x1402c8168], rax
cmp word [rbx], bp
jne 0x14014c827
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c827
cmp dword [rcx + rbx], 0x4550
jne 0x14014c827
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c827
cmp dword [rdx + 4], edi
je 0x14014c827
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.GetSystemMetricsForDpi
mov rcx, rbx
call fcn.140177a80
jmp 0x14014c82a
mov rax, rdi
mov qword [0x1402c8188], rax
cmp word [rbx], bp
jne 0x14014c888
mov ecx, dword ds:[rbx + 0x3c]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffd
ja 0x14014c888
cmp dword [rcx + rbx], 0x4550
jne 0x14014c888
lea rdx, ds:[rbx + 0x88]
add rdx, rcx
mov eax, dword [rdx]
test eax, eax
je 0x14014c888
cmp dword [rdx + 4], edi
je 0x14014c888
lea r8, ds:[rbx + rax]
mov word [rsp + 0x20], di
lea r9, str.SystemParametersInfoForDpi
mov rcx, rbx
call fcn.140177a80
mov rdi, rax
mov qword [0x1402c8220], rdi
xor ecx, ecx
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp fcn.14014c8c0