Function at 0x180050950
Capabilities:
Link many functions at runtime

Disassembly:
push r12
push r13
push r14
sub rsp, 0x50
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rdi
mov rbx, r9
mov r13, r8
mov edi, edx
mov r14, rcx
mov dword [r9], 0
lea rsi, [method.CRegistrySettings.virtual_32]
mov rax, rsi
mov rcx, qword [rcx + 0x5e0]
test rcx, rcx
je 0x1800509aa
lea rdx, str.IsAppThemed
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
test eax, eax
jne 0x1800509b7
xor eax, eax
jmp 0x180050ca0
cmp edi, 0x385
je 0x1800509e6
cmp edi, 0x384
je 0x1800509e6
cmp edi, 0x1fa
je 0x1800509e6
cmp edi, 0x326
je 0x1800509e6
cmp edi, 0x325
je 0x1800509e6
xor eax, eax
jmp 0x180050ca0
mov dword [rbx], 1
mov eax, dword [r13 + 0x18]
sub eax, 1
je 0x180050b69
cmp eax, 0x10000
je 0x180050a07
xor eax, eax
jmp 0x180050ca0
mov rcx, qword [r14 + 0x5e0]
test rcx, rcx
je 0x180050a23
lea rdx, str.IsAppThemed
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
call rsi
test eax, eax
je 0x180050b62
cmp edi, 0x385
je 0x180050a64
cmp edi, 0x384
je 0x180050a64
cmp edi, 0x321
je 0x180050a64
cmp edi, 0x323
je 0x180050a64
cmp edi, 0x325
je 0x180050a64
cmp edi, 0x326
je 0x180050a64
xor eax, eax
jmp 0x180050ca0
mov rbx, qword [r14 + 8]
lea rax, [method.CRegistrySettings.virtual_32]
mov rcx, qword [r14 + 0x5e0]
test rcx, rcx
je 0x180050a88
lea rdx, str.OpenThemeData
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.TOOLBAR
mov rcx, rbx
call rax
mov rdi, rax
test rax, rax
je 0x180050b5b
mov eax, dword [r13 + 0x40]
test al, 0x40
je 0x180050aaf
mov ebx, 2
jmp 0x180050af7
test al, 0x20
je 0x180050aba
mov ebx, 1
jmp 0x180050af7
test al, 4
je 0x180050ac5
mov ebx, 4
jmp 0x180050af7
test al, 0x10
je 0x180050ad0
mov ebx, 1
jmp 0x180050af7
test al, 2
je 0x180050adb
mov ebx, 4
jmp 0x180050af7
bt eax, 8
jae 0x180050ae8
mov ebx, 4
jmp 0x180050af7
test al, 1
mov ebx, 1
mov eax, 3
cmovne ebx, eax
mov edx, 1
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.GDI32.dll_SetBkMode]
lea rsi, [r13 + 0x28]
mov r9, rsi
mov r8, qword [r13 + 0x20]
mov rdx, qword [r14 + 8]
lea rcx, [r14 + 0x5d8]
call fcn.18007a890
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], ebx
mov r9d, 1
mov r8, qword [r13 + 0x20]
mov rdx, rdi
lea rcx, [r14 + 0x5d8]
call fcn.18007a7f0
mov rdx, rdi
lea rcx, [r14 + 0x5d8]
call fcn.18007a7b0
xor eax, eax
jmp 0x180050ca0
xor eax, eax
jmp 0x180050ca0
mov rbx, qword [r14 + 8]
lea rax, [method.CRegistrySettings.virtual_32]
mov rcx, qword [r14 + 0x5e0]
test rcx, rcx
je 0x180050b8d
lea rdx, str.OpenThemeData
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.TOOLBAR
mov rcx, rbx
call rax
mov rsi, rax
test rax, rax
je 0x180050c92
mov eax, dword [r13 + 0x40]
test al, 0x40
je 0x180050bb4
mov ebx, 2
jmp 0x180050bfc
test al, 0x20
je 0x180050bbf
mov ebx, 1
jmp 0x180050bfc
test al, 4
je 0x180050bca
mov ebx, 4
jmp 0x180050bfc
test al, 0x10
je 0x180050bd5
mov ebx, 1
jmp 0x180050bfc
test al, 2
je 0x180050be0
mov ebx, 4
jmp 0x180050bfc
bt eax, 8
jae 0x180050bed
mov ebx, 4
jmp 0x180050bfc
test al, 1
mov ebx, 1
mov eax, 3
cmovne ebx, eax
cmp edi, 0x1fa
je 0x180050c14
cmp edi, 0x322
je 0x180050c14
cmp edi, 0x324
jne 0x180050c92
mov edx, 1
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.GDI32.dll_SetBkMode]
lea rdi, [r13 + 0x28]
mov r9, rdi
mov r8, qword [r13 + 0x20]
mov rdx, qword [r14 + 8]
lea rcx, [r14 + 0x5d8]
call fcn.18007a890
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], ebx
mov r9d, 5
mov r8, qword [r13 + 0x20]
mov rdx, rsi
lea rcx, [r14 + 0x5d8]
call fcn.18007a7f0
lea rax, [0x18007a760]
mov rcx, qword [r14 + 0x5e0]
test rcx, rcx
je 0x180050c89
lea rdx, str.CloseThemeData
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rsi
call rax
xor eax, eax
jmp 0x180050ca0
movabs rax, SafeArrayAllocDescriptorEx
jmp 0x180050ca0
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop r13
pop r12
ret