Function at 0x413e40
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
mov edx, dword [0x46ccf0]
mov ecx, 0x28
push ebx
push esi
push edi
call fcn.004060e0
mov esi, eax
push 0x40
push 4
push dword [0x46cd04]
mov dword [esi], 8
mov dword [esi + 4], 0x414ef0
mov dword [esi + 8], 0x414f10
mov dword [esi + 0xc], 0x10
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ecx, dword [esi + 0xc]
shl ecx, 2
push ecx
push 0xff
push eax
mov dword [esi + 0x10], eax
call fcn.00422210
mov eax, dword [esi + 0xc]
add esp, 0xc
mov dword [esi + 0x14], eax
shl eax, 4
push eax
push 4
push dword [0x46cd04]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov edx, dword [0x46ccf0]
mov ecx, 0x28
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0
call fcn.004060e0
mov esi, eax
push 0x40
push 4
push dword [0x46cd04]
mov dword [esi], 0xc
mov dword [esi + 4], 0x414b60
mov dword [esi + 8], 0x414b90
mov dword [esi + 0xc], 0x10
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov ecx, dword ds:[esi + 0xc]
shl ecx, 2
push ecx
push 0xff
push eax
mov dword [esi + 0x10], eax
call fcn.00422210
mov eax, dword ds:[esi + 0xc]
add esp, 0xc
mov dword [esi + 0x14], eax
lea eax, [eax + eax*4]
shl eax, 2
push eax
push 4
push dword [0x46cd04]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
push 0x800
push 0
push str.uxtheme.dll
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0xffffffff
mov dword [esi + 0x24], 0
mov dword [0x46cffc], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
mov ebx, 0x5a4d
test esi, esi
jne 0x413fbf
push 0x200
push eax
push str.uxtheme.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
jne 0x413fbf
cmp dword [0x46bae0], 0x3e
jae 0x41427c
push eax
push eax
push str.uxtheme.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
je 0x41427c
nop
cmp word [esi], bx
jne 0x414005
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x414005
cmp eax, 0x7fffffff
jae 0x414005
cmp dword [eax + esi], 0x4550
lea edx, [eax + esi]
jne 0x414005
mov eax, dword [edx + 0x78]
add edx, 0x78
test eax, eax
je 0x414005
cmp dword [edx + 4], 0
je 0x414005
push 0
add eax, esi
mov ecx, esi
push str.OpenThemeDataForDpi
push eax
call fcn.00413aa0
mov eax, esi
mov ecx, 0x3c
lea edi, [eax + ecx]
cmp word [esi], bx
jne 0x414233
mov eax, dword [edi]
test eax, eax
je 0x414053
mov edi, edi
cmp eax, 0x7fffffff
jae 0x414053
cmp dword [eax + esi], 0x4550
jne 0x414053
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x414053
cmp dword [edx + 4], 0
je 0x414053
push 0
add eax, esi
mov ecx, esi
push str.OpenThemeData
push eax
call fcn.00413aa0
cmp word [esi], bx
jne 0x414233
mov eax, dword ds:[edi]
test eax, eax
je 0x41409b
cmp eax, 0x7fffffff
jae 0x41409b
cmp dword [eax + esi], 0x4550
jne 0x41409b
lea edx, ds:[eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x41409b
cmp dword [edx + 4], 0
je 0x41409b
push 0
add eax, esi
mov ecx, esi
push str.CloseThemeData
push eax
call fcn.00413aa0
jmp 0x4140a0
cmp word [esi], bx
jne 0x414233
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4140e5
cmp eax, 0x7fffffff
jae 0x4140e5
cmp dword ds:[eax + esi], 0x4550
jne 0x4140e5
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x4140e5
cmp dword [edx + 4], 0
je 0x4140e5
push 0
add eax, esi
mov ecx, esi
push str.SetWindowTheme
push eax
call fcn.00413aa0
cmp word [esi], bx
jne 0x414233
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x414128
cmp eax, 0x7fffffff
jae 0x414128
cmp dword [eax + esi], 0x4550
jne 0x414128
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x414128
cmp dword [edx + 4], 0
je 0x414128
push 0
add eax, esi
mov ecx, esi
push str.IsThemeActive
push eax
call fcn.00413aa0
cmp word [esi], bx
jne 0x414233
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x41416b
cmp eax, 0x7fffffff
jae 0x41416b
cmp dword [eax + esi], 0x4550
jne 0x41416b
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x41416b
cmp dword [edx + 4], 0
je 0x41416b
push 0
add eax, esi
mov ecx, esi
push str.IsThemePartDefined
push eax
call fcn.00413aa0
cmp word [esi], bx
jne 0x414233
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4141b3
jmp 0x414180
cmp eax, 0x7fffffff
jae 0x4141b3
cmp dword [eax + esi], 0x4550
jne 0x4141b3
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x4141b3
cmp dword [edx + 4], 0
je 0x4141b3
push 0
add eax, esi
mov ecx, esi
push str.GetThemeInt
push eax
call fcn.00413aa0
cmp word [esi], bx
jne 0x414233
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4141f3
nop
cmp eax, 0x7fffffff
jae 0x4141f3
cmp dword [eax + esi], 0x4550
jne 0x4141f3
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x4141f3
cmp dword [edx + 4], 0
je 0x4141f3
push 0
add eax, esi
mov ecx, esi
push str.GetThemePartSize
push eax
call fcn.00413aa0
cmp word [esi], bx
jne 0x414233
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x414233
nop
cmp eax, 0x7fffffff
jae 0x414233
cmp dword [eax + esi], 0x4550
jne 0x414233
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x414233
cmp dword [edx + 4], 0
je 0x414233
push 0
add eax, esi
mov ecx, esi
push str.DrawThemeBackground
push eax
call fcn.00413aa0
cmp dword [0x46bae0], 0x72
jb 0x41427c
lea esp, [esp]
cmp word [esi], bx
jne 0x41427c
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x41427c
cmp eax, 0x7fffffff
jae 0x41427c
cmp dword [eax + esi], 0x4550
jne 0x41427c
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x41427c
cmp dword [edx + 4], 0
je 0x41427c
push 0x4a
add eax, esi
mov ecx, esi
push 0
push eax
call fcn.00413aa0
cmp dword [0x46bae0], 0x3f
jb 0x414322
push 0x800
push 0
push str.shcore.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ecx, eax
test ecx, ecx
jne 0x4142d7
push 0x200
push eax
push str.shcore.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ecx, eax
test ecx, ecx
jne 0x4142d7
cmp dword [0x46bae0], 0x3e
jae 0x414322
push eax
push eax
push str.shcore.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ecx, eax
test ecx, ecx
je 0x414322
cmp word [ecx], bx
jne 0x41431b
mov eax, dword ds:[ecx + 0x3c]
test eax, eax
je 0x41431b
cmp eax, 0x7fffffff
jae 0x41431b
cmp dword [eax + ecx], 0x4550
jne 0x41431b
lea edx, ds:[eax + 0x78]
mov eax, dword [edx + ecx]
add edx, ecx
test eax, eax
je 0x41431b
cmp dword [edx + 4], 0
je 0x41431b
push 0
add eax, ecx
push str.GetDpiForMonitor
push eax
call fcn.00413aa0
jmp 0x41431d
xor eax, eax
mov dword [0x46d004], eax
cmp dword [0x46bae0], 0x66
jb 0x4144a8
push 0x800
push 0
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
jne 0x414388
push 0x200
push eax
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
jne 0x414388
cmp dword [0x46bae0], 0x3e
jae 0x4144a8
push eax
push eax
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
je 0x4144a8
cmp word [esi], bx
jne 0x4143c9
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4143c9
cmp eax, 0x7fffffff
jae 0x4143c9
cmp dword [eax + esi], 0x4550
jne 0x4143c9
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x4143c9
cmp dword [edx + 4], 0
je 0x4143c9
push 0
add eax, esi
mov ecx, esi
push str.GetDpiForWindow
push eax
call fcn.00413aa0
jmp 0x4143cb
xor eax, eax
mov dword [0x46d010], eax
cmp word [esi], bx
jne 0x414415
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x414415
lea esp, [esp]
cmp eax, 0x7fffffff
jae 0x414415
cmp dword [eax + esi], 0x4550
jne 0x414415
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x414415
cmp dword [edx + 4], 0
je 0x414415
push 0
add eax, esi
mov ecx, esi
push str.GetDpiForSystem
push eax
call fcn.00413aa0
jmp 0x414417
xor eax, eax
mov dword [0x46cff4], eax
lea esp, [esp]
cmp word [esi], bx
jne 0x414462
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x414462
cmp eax, 0x7fffffff
jae 0x414462
cmp dword [eax + esi], 0x4550
jne 0x414462
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x414462
cmp dword [edx + 4], 0
je 0x414462
push 0
add eax, esi
mov ecx, esi
push str.GetSystemMetricsForDpi
push eax
call fcn.00413aa0
nop
jmp 0x414464
xor eax, eax
mov dword [0x46cff8], eax
cmp word [esi], bx
jne 0x4144a8
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4144a8
cmp eax, 0x7fffffff
jae 0x4144a8
cmp dword [eax + esi], 0x4550
jne 0x4144a8
lea edx, [eax + 0x78]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x4144a8
cmp dword [edx + 4], 0
je 0x4144a8
push 0
add eax, esi
mov ecx, esi
push str.SystemParametersInfoForDpi
push eax
call fcn.00413aa0
call fcn.004144c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret