Function at 0x14002b880
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x340]
sub rsp, 0x440
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x490], rbx
mov rax, qword [0x1403d88e8]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov r13, rdx
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x78], rcx
xor esi, esi
mov dword [rbp - 0x38], esi
mov rcx, qword [rdx + 0x20]
call fcn.1400fa914
mov r14, rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
mov rcx, qword [r13 + 0x38]
mov edi, dword [rcx + 0x24]
mov qword [rbp - 0x60], rsi
lea r12, vtable.CBrush.0
mov qword [rbp - 0x68], r12
lea r15d, [rsi + 1]
cmp dword [0x1403ff83c], 7
jne 0x14002ba32
cmp dword [0x140401350], esi
jne 0x14002ba24
mov dword [0x140401350], r15d
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftPlus_ThemesCurrent
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002ba24
mov dword [rbp - 0x20], 0x104
mov dword [rbp - 0x1c], r15d
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x1c]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002ba1a
movups xmm0, xmmword [str.Windows_Classic.theme]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [0x140348a30]
movups xmmword [rbp + 0xf0], xmm1
movsd xmm0, qword [0x140348a40]
movsd qword [rbp + 0x100], xmm0
mov eax, dword [0x140348a48]
mov dword [rbp + 0x108], eax
lea rcx, [rbp + 0x110]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp ebx, eax
jl 0x14002ba1a
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
sub ebx, eax
movsxd rax, ebx
lea rcx, [rbp + 0x110]
lea rcx, [rcx + rax*2]
lea rdx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, dword [0x14040134c]
test eax, eax
cmove ecx, r15d
mov dword [0x14040134c], ecx
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [0x14040134c], 0
mov ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
je 0x14002ba37
mov ecx, 4
call qword [sym.imp.USER32.dll_GetSysColor]
mov r15d, eax
mov dword [rsp + 0x60], eax
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1400fa688
bt edi, 0xb
jae 0x14002babc
lea rdx, [r13 + 0x28]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.USER32.dll_CopyRect]
mov r8, qword [rbp - 0x60]
lea rdx, [rbp + 0xa0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa4]
sub ecx, eax
sar ecx, 1
add eax, ecx
mov dword [rbp + 0xa4], eax
mov r9d, 2
lea r8d, [r9 + 4]
lea rdx, [rbp + 0xa0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_DrawEdge]
jmp 0x14002c7f9
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x54], esi
mov ecx, 7
call qword [sym.imp.USER32.dll_GetSysColor]
mov dword [rbp - 0x80], eax
mov qword [rbp + 0x10], rsi
mov qword [rbp + 8], r12
mov qword [rbp], rsi
lea rax, vtable.CPen.0
mov qword [rbp - 8], rax
or r12, 0xffffffffffffffff
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x5c], r12d
mov qword [rbp - 0x70], rsi
mov r8d, r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreatePen]
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1400fa688
lea ecx, [r12 + 0xe]
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1400fa688
lea rdx, [r13 + 0x28]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.USER32.dll_CopyRect]
movaps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0xb0], xmm0
mov r13d, dword [r13 + 0x10]
mov dword [rbp - 0x34], r13d
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14002c83a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rdi, qword [rbp - 0x50]
mov rdi, qword [rdi + 0x38]
test rdi, rdi
je 0x14002bcd4
mov eax, dword [rdi + 0x20]
mov dword [rsp + 0x70], eax
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x5c], eax
mov r15d, dword [rdi + 0x1c]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x70], rax
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14002c845
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
mov dword [rbp - 0x38], 1
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x14002bc0a
mov rax, r12
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002bbf0
mov r8d, eax
lea rcx, [rbp - 0x30]
call fcn.1400105e0
mov rbx, qword [rbp - 0x30]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x68]
call fcn.1400157c0
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002bc33
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov ecx, dword [rsp + 0x70]
test ecx, ecx
jns 0x14002bc56
test r15d, r15d
js 0x14002bc56
mov dword [rsp + 0x5c], r15d
mov ecx, esi
mov dword [rsp + 0x70], ecx
lea rax, [0x1403ff840]
mov qword [rbp - 0x70], rax
test r13b, 8
je 0x14002bc97
test ecx, ecx
jns 0x14002bc97
mov rax, qword [rbp - 0x78]
test r13b, 1
je 0x14002bc7d
cmp dword [rax + 0x7c], 0
jle 0x14002bc7d
mov dword [rsp + 0x54], 1
jmp 0x14002bd26
cmp dword [rax + 0x80], 0
jle 0x14002bd26
mov dword [rsp + 0x54], 1
jmp 0x14002bd26
cmp ecx, 0xffffffff
je 0x14002bd26
mov dword [rsp + 0x74], 1
mov eax, r13d
and al, 3
cmp al, 1
jne 0x14002bcbd
mov edi, 1
mov r15d, dword [rsp + 0x58]
jmp 0x14002bd2d
test r13b, 2
je 0x14002bd26
mov r15d, 1
mov dword [rsp + 0x58], r15d
mov edi, dword [rsp + 0x50]
jmp 0x14002bd2d
mov rax, qword [rsp + 0x68]
lea rdx, [rax - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14002bd26
cmp dword [rdx + 0x10], 0
jge 0x14002bcfe
cmp dword [rax - 0xc], 0
jl 0x14002c850
mov dword [rax - 0x10], esi
mov word [rax], si
jmp 0x14002bd26
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002bd14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov edi, dword [rsp + 0x50]
mov r15d, edi
mov eax, r13d
and eax, 1
mov dword [rsp + 0x50], eax
lea rdx, [rbp - 8]
mov rcx, r14
call fcn.1400faf88
mov rbx, rax
cmp dword [rsp + 0x50], 0
je 0x14002bdcc
cmp dword [rsp + 0x54], 0
jne 0x14002bd6a
cmp dword [rsp + 0x74], 0
jne 0x14002bd6a
test edi, edi
jne 0x14002bd6a
test r15d, r15d
jne 0x14002bd6a
test r13b, 8
je 0x14002bd98
mov edx, dword [rbp + 0xa0]
add edx, 0x15
mov eax, dword [rbp + 0xac]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0xa8]
mov r8d, dword [rbp + 0xa4]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
mov r8, qword [rbp + 0x10]
lea rdx, [rbp + 0xb0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov rdx, rbx
mov rcx, r14
call fcn.1400faf88
mov ecx, SafeArrayDestroy
call qword [sym.imp.USER32.dll_GetSysColor]
mov dword [rbp - 0x80], eax
mov ebx, dword [rsp + 0x60]
jmp 0x14002be05
mov r8, qword [rbp - 0x60]
lea rdx, [rbp + 0xa0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov rdx, rbx
mov rcx, r14
call fcn.1400faf88
mov ebx, dword [rsp + 0x60]
mov r9d, ebx
mov r8d, ebx
lea rdx, [rbp + 0xa0]
mov rcx, r14
call fcn.140106234
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa4]
sub eax, 0x13
cdq
sub eax, edx
sar eax, 1
mov r15d, eax
cmovs r15d, esi
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x14002be3c
cmp dword [rsp + 0x74], eax
jne 0x14002be3c
test edi, edi
jne 0x14002be3c
cmp dword [rsp + 0x58], edi
je 0x14002c21b
mov ecx, dword [rbp + 0xa4]
lea r10d, [rcx + 0x12]
add r10d, r15d
mov eax, dword [rbp + 0xa0]
lea r9d, [rax + 0x13]
lea r8d, [rcx + 1]
add r8d, r15d
lea edx, [rax + 1]
mov dword [rsp + 0x20], r10d
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, ebx
mov r8d, ebx
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140106234
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x14002bf4e
mov rax, qword [rbp - 0x78]
cmp qword [rax + 0x70], 0
je 0x14002bf4a
mov r8, qword [rbp - 0x60]
lea rdx, [rbp + 0xb0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov r8d, dword [rbp + 0xa4]
add r8d, r15d
lea eax, [r8 + 0x13]
mov edx, dword [rbp + 0xa0]
lea r9d, [rdx + 0x14]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, ebx
mov r8d, ebx
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140106234
mov ecx, dword [rbp + 0xa4]
add ecx, 2
add ecx, r15d
mov r9d, dword [rbp + 0xa0]
add r9d, 2
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x70]
mov r8, qword [r14 + 8]
mov ebx, dword [rsp + 0x50]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 8]
test ebx, ebx
je 0x14002bf3d
mov edx, 1
call qword [sym.imp.COMCTL32.dll_ImageList_Draw]
jmp 0x14002c117
xor edx, edx
call qword [sym.imp.COMCTL32.dll_ImageList_Draw]
jmp 0x14002c117
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x58], 0
je 0x14002c224
test edi, edi
jne 0x14002c21b
mov qword [rbp - 0x40], rsi
lea rax, vtable.CBitmap.0
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x5c]
mov r8, qword [rbp - 0x70]
mov rdx, r14
call fcn.14002e060
mov r8d, dword [rbp + 0xa4]
add r8d, r15d
lea eax, [r8 + 0x13]
mov edx, dword [rbp + 0xa0]
lea r9d, [rdx + 0x14]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
mov r9d, ebx
mov r8d, ebx
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140106234
mov rax, qword [rbp - 0x78]
cmp dword [rax + 0x68], edi
je 0x14002c009
mov r9d, dword [rbp + 0xa4]
add r9d, 2
add r9d, r15d
mov r8d, dword [rbp + 0xa0]
add r8d, 2
mov dword [rsp + 0x48], ebx
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x50]
mov rdx, qword [rax + 0x20]
call fcn.1400305c0
jmp 0x14002c0f5
cmp dword [0x1403ff428], 0
je 0x14002c0c7
mov edi, dword [rbp + 0xa4]
add edi, r15d
mov ebx, dword [rbp + 0xa0]
mov r8d, dword [rsp + 0x60]
lea rdx, [rbp - 0x48]
call fcn.140030840
lea rcx, [rbp + 0x28]
call fcn.1400f9a78
nop
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.1400fa62c
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x30]
call fcn.1400faf08
mov r13, rax
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_SafeArrayDestroy
mov r9d, 0x10
lea r8d, [rdi + 2]
lea edx, [rbx + 2]
mov rcx, qword [r14 + 8]
call qword [sym.imp.GDI32.dll_BitBlt]
test r13, r13
mov rdx, rsi
je 0x14002c0a5
mov rdx, qword [r13 + 8]
mov rcx, qword [rbp + 0x30]
call fcn.1400faf08
lea rcx, [rbp + 0x28]
call fcn.1400fa7bc
nop
lea rcx, [rbp + 0x28]
call fcn.1400f9bf0
mov r13d, dword [rbp - 0x34]
jmp 0x14002c0f5
mov r9d, dword [rbp + 0xa4]
add r9d, 2
add r9d, r15d
mov r8d, dword [rbp + 0xa0]
add r8d, 2
mov dword [rsp + 0x48], ebx
lea rax, [rbp - 0x48]
mov qword [rsp + 0x30], rax
mov rdx, r14
call fcn.140030d70
lea rcx, [rbp - 0x48]
call int.1400fa7e4
nop
lea rax, vtable.CBitmap.0
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x48]
call fcn.14000e0a0
mov ebx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x70], 0
jge 0x14002c1b8
test r13b, 8
je 0x14002c1b8
test eax, eax
jne 0x14002c1b8
mov ecx, dword [rbp + 0xa4]
lea eax, [rcx + 0x11]
add eax, r15d
mov edx, dword [rbp + 0xa0]
lea r9d, [rdx + 0x11]
lea r8d, [rcx + 2]
add r8d, r15d
inc edx
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
xor edx, edx
lea r8d, [rdx + 0x50]
lea rcx, [rbp + 0x50]
call fcn.14029ff20
mov dword [rbp + 0x50], 0x50
mov dword [rbp + 0x54], 8
lea r9, [rbp + 0x50]
xor r8d, r8d
mov rax, qword [rbp - 0x50]
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x18]
call qword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, ebx
lea r8, [rbp + 0xb0]
mov rdx, r14
call fcn.140030ae0
mov edx, dword [rbp + 0xa0]
add edx, 0x19
mov dword [rbp + 0xa0], edx
mov r13, qword [rsp + 0x68]
cmp dword [r13 - 0x10], 0
je 0x14002c79e
mov ecx, dword [rbp + 0xac]
dec ecx
mov eax, dword [rbp + 0xa4]
dec eax
mov dword [rbp + 0xc0], edx
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0xc8], eax
mov dword [rbp + 0xcc], ecx
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14002c85b
jmp 0x14002c411
mov ebx, dword [rsp + 0x50]
jmp 0x14002c11b
test edi, edi
je 0x14002c2ff
mov r8, qword [rbp - 0x60]
lea rdx, [rbp + 0xb0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov r8d, dword [rbp + 0xa4]
add r8d, r15d
lea eax, [r8 + 0x13]
mov edx, dword [rbp + 0xa0]
lea r9d, [rdx + 0x14]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
cmp dword [0x1403ff83c], 2
jl 0x14002c2b8
test r13b, 8
je 0x14002c28b
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, 0x10
jmp 0x14002c29b
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, 0x14
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSysColor]
mov r8d, eax
mov r9d, ebx
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140106234
mov ecx, dword [rbp + 0xa4]
add ecx, 2
add ecx, r15d
mov r9d, dword [rbp + 0xa0]
add r9d, 2
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x14002c113
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], ecx
mov r8, qword [r14 + 8]
mov edx, dword [rsp + 0x5c]
mov rcx, qword [rax + 8]
call qword [sym.imp.COMCTL32.dll_ImageList_Draw]
jmp 0x14002c113
test r13b, 8
je 0x14002c3cb
mov qword [rbp - 0x10], rsi
lea rdi, vtable.CBrush.0
mov qword [rbp - 0x18], rdi
movsd xmm1, qword [0x140361ba8]
mov ecx, ebx
call fcn.14002c890
mov ecx, eax
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1400fa688
mov r8, qword [rbp - 0x10]
lea rdx, [rbp + 0xb0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
lea rcx, [rbp - 0x18]
call int.1400fa7e4
mov r8d, dword [rbp + 0xa4]
add r8d, r15d
lea eax, [r8 + 0x13]
mov edx, dword [rbp + 0xa0]
lea r9d, [rdx + 0x14]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
cmp dword [0x1403ff83c], 2
jl 0x14002c3b9
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetSysColor]
mov ebx, eax
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetSysColor]
mov r8d, eax
mov r9d, ebx
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140106234
nop
mov qword [rbp - 0x18], rdi
lea rcx, [rbp - 0x18]
call fcn.14000e0a0
jmp 0x14002c2b8
mov r8, qword [rbp - 0x60]
lea rdx, [rbp + 0xb0]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov r8d, dword [rbp + 0xa4]
add r8d, r15d
lea eax, [r8 + 0x13]
mov edx, dword [rbp + 0xa0]
lea r9d, [rdx + 0x14]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.USER32.dll_SetRect]
mov r8d, ebx
jmp 0x14002c2a6
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x78], rdi
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x14002c866
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x58], rbx
lea rdx, [rdi - 0x18]
mov r15, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14002c490
cmp dword [rdx + 0x10], 0
jge 0x14002c464
cmp dword [rdi - 0xc], 0
jl 0x14002c871
mov dword [rdi - 0x10], esi
mov word [rdi], si
jmp 0x14002c490
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c47a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rbx, qword [rbp - 0x58]
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14002c4dc
cmp dword [rdx + 0x10], 0
jge 0x14002c4b5
cmp dword [rbx - 0xc], 0
jl 0x14002c87c
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14002c4dc
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c4cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x58], rbx
mov edx, 9
mov rcx, qword [rsp + 0x68]
call fcn.14029f968
mov r15, rax
test rax, rax
jne 0x14002c538
mov r15d, r12d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x78]
call fcn.1400157c0
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.GDI32.dll_GetBkMode]
mov r13d, eax
mov edx, 1
mov rcx, r14
call fcn.1400fb0c0
mov rdi, qword [r14]
mov rax, qword [rbp - 0x50]
test byte [rax + 0x10], 2
jne 0x14002c649
mov edx, dword [rbp - 0x80]
jmp 0x14002c706
sub r15, qword [rsp + 0x68]
sar r15, 1
cmp r15d, 0xffffffff
je 0x14002c4f6
lea r8d, [r15 + 1]
mov r9d, dword [r13 - 0x10]
sub r9d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x68]
call fcn.14001cee0
nop
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x58]
call fcn.1400157c0
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c58c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x68]
cmp dword [r13 - 0x10], 0
jg 0x14002c59d
mov eax, r12d
jmp 0x14002c5ba
mov edx, 9
mov rcx, rbx
call fcn.14029fc6c
test rax, rax
jne 0x14002c5b4
mov eax, r12d
jmp 0x14002c5ba
sub rax, rbx
sar rax, 1
test eax, eax
cmovns esi, eax
cmp esi, dword [r13 - 0x10]
jl 0x14002c5d8
lea rcx, [rbx - 0x18]
call fcn.140015740
lea rbx, [rax + 0x18]
mov qword [rbp - 0x28], rbx
jmp 0x14002c610
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x14002c5ec
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x14002c5fa
call fcn.1400f9930
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r9, rax
mov r8d, esi
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400151e0
mov rbx, qword [rbp - 0x28]
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x78]
call fcn.1400157c0
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c639
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
sub dword [rbp + 0xc8], 0x10
mov rbx, qword [rbp - 0x58]
jmp 0x14002c505
cmp dword [rsp + 0x50], 0
jne 0x14002c702
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0xd0], xmm0
movd eax, xmm0
inc eax
mov dword [rbp + 0xd0], eax
inc dword [rbp + 0xd8]
inc dword [rbp + 0xd4]
inc dword [rbp + 0xdc]
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetSysColor]
mov edx, eax
mov rcx, r14
call qword [rdi + 0x60]
mov rdi, qword [rsp + 0x78]
mov rax, qword [r14]
mov dword [rsp + 0x20], 0x24
lea r9, [rbp + 0xd0]
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0xd0]
cmp r15d, 0xffffffff
je 0x14002c6e3
mov rax, qword [r14]
mov dword [rsp + 0x20], 0x26
lea r9, [rbp + 0xd0]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0xd0]
mov rsi, qword [r14]
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetSysColor]
mov edx, eax
mov rcx, r14
call qword [rsi + 0x60]
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
jmp 0x14002c715
mov edx, dword [rsp + 0x60]
mov rcx, r14
call qword [rdi + 0x60]
mov rdx, qword [rsp + 0x78]
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x20], 0x24
mov rax, qword [r14]
lea r9, [rbp + 0xc0]
mov rcx, r14
call qword [rax + 0xd0]
cmp r15d, 0xffffffff
je 0x14002c758
mov dword [rsp + 0x20], 0x26
mov rax, qword [r14]
lea r9, [rbp + 0xc0]
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0xd0]
mov edx, r13d
mov rcx, r14
call fcn.1400fb0c0
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c77f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14002c79e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp - 8]
call int.1400fa7e4
lea rcx, [rbp + 8]
call int.1400fa7e4
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x14002c7d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, vtable.CPen.0
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.14000e0a0
nop
lea r12, vtable.CBrush.0
mov qword [rbp + 8], r12
lea rcx, [rbp + 8]
call fcn.14000e0a0
lea rcx, [rbp - 0x68]
call int.1400fa7e4
nop
mov qword [rbp - 0x68], r12
lea rcx, [rbp - 0x68]
call fcn.14000e0a0
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.14029d880
mov rbx, qword [rsp + 0x490]
add rsp, 0x440
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80070057
call fcn.14000de90
int3
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80070057
call fcn.14000de90
int3
mov ecx, 0x80070057
call fcn.14000de90
int3