Function at 0x14003aa40
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov r15, rcx
lea r14, [rcx + 0x88]
xor edi, edi
mov qword [r14], rdi
xor r9d, r9d
lea rdx, str.user32.dll
mov rcx, r14
call fcn.140049af0
mov r13d, edi
lea esi, [rdi - 1]
cmp qword [r14], rdi
je 0x14003ab5f
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003aacb
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x118], rax
test rax, rax
je 0x14003aabf
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003aac2
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003aad2
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.GetRawInputData
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp + 0x118], rax
mov dword [rbp - 0x48], 1
mov qword [rbp - 0x50], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r12, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
test r12, r12
je 0x14003ab33
mov rcx, r12
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003ab5f
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003ab55
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003ab5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 8], r13
mov r12, rdi
cmp qword [r14], rdi
je 0x14003ac3e
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003abaa
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x120], rax
test rax, rax
je 0x14003ab9e
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003aba1
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003abb1
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.GetRawInputDeviceList
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp + 0x120], rax
mov dword [rbp - 0x38], 1
mov qword [rbp - 0x40], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003ac12
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003ac3e
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003ac34
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003ac3e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x10], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003ad1d
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003ac89
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x128], rax
test rax, rax
je 0x14003ac7d
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003ac80
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003ac90
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.GetRawInputDeviceInfoW
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp + 0x128], rax
mov dword [rbp - 0x28], 1
mov qword [rbp - 0x30], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003acf1
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003ad1d
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003ad13
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003ad1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x18], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003adf8
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003ad66
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14003ad5a
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003ad5d
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003ad6d
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.RegisterRawInputDevices
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x18], 1
mov qword [rbp - 0x20], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003adcc
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003adf8
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003adee
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003adf8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003aed2
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003ae40
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14003ae34
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003ae37
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003ae47
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.ShutdownBlockReasonCreate
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x48], rax
mov dword [rbp - 8], 1
mov qword [rbp - 0x10], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003aea6
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003aed2
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003aec8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003aed2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x20], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003afad
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003af1b
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14003af0f
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003af12
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003af22
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.ChangeWindowMessageFilter
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x50], rax
mov dword [rbp + 8], 1
mov qword [rbp], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003af81
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003afad
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003afa3
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003afad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x28], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b088
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003aff6
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14003afea
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003afed
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003affd
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.ChangeWindowMessageFilterEx
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x58], rax
mov dword [rbp + 0x18], 1
mov qword [rbp + 0x10], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b05c
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b088
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b07e
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b088
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x30], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b163
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b0d1
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14003b0c5
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b0c8
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b0d8
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.GetPhysicalCursorPos
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x60], rax
mov dword [rbp + 0x28], 1
mov qword [rbp + 0x20], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b137
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b163
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b159
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b163
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x38], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b23e
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b1ac
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14003b1a0
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b1a3
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b1b3
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.RegisterTouchWindow
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x38], 1
mov qword [rbp + 0x30], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b212
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b23e
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b234
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b23e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x40], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b319
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b287
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14003b27b
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b27e
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b28e
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.GetTouchInputInfo
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x48], 1
mov qword [rbp + 0x40], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b2ed
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b319
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b30f
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b319
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x48], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b3f4
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b362
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14003b356
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b359
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b369
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.CloseTouchInputHandle
call qword [rax + 0x28]
mov rbx, rax
mov qword [rsp + 0x78], rax
mov dword [rbp + 0x58], 1
mov qword [rbp + 0x50], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b3c8
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b3f4
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b3ea
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b3f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x50], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b4cd
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b43c
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14003b430
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b433
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b443
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.GetGestureInfo
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x80], rax
mov dword [rbp + 0x68], 1
mov qword [rbp + 0x60], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b4a1
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b4cd
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b4c3
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b4cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x58], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b5a6
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b515
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14003b509
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b50c
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b51c
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.SetProcessDPIAware
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x78], rax
mov dword [rbp + 0x78], 1
mov qword [rbp + 0x70], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b57a
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b5a6
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b59c
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b5a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x60], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b685
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b5ee
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14003b5e2
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b5e5
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b5f5
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.SetWindowCompositionAttribute
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x70], rax
mov dword [rbp + 0x88], 1
mov qword [rbp + 0x80], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b659
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b685
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b67b
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b685
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x80], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b767
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b6d0
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x68], rax
test rax, rax
je 0x14003b6c4
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b6c7
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b6d7
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.SetThreadDpiAwarenessContext
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x98], 1
mov qword [rbp + 0x90], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b73b
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b767
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b75d
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b767
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x68], r12
mov r12, rdi
cmp qword [r14], rdi
je 0x14003b846
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b7af
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14003b7a3
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b7a6
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b7b6
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.SetThreadDpiHostingBehavior
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x60], rax
mov dword [rbp + 0xa8], 1
mov qword [rbp + 0xa0], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r13, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
test r13, r13
je 0x14003b81a
mov rcx, r13
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b846
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b83c
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003b846
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x70], r12
cmp qword [r14], 0
je 0x14003b921
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x14003b88c
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14003b880
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x14003b883
mov rcx, rdi
mov qword [0x1401f7b90], rcx
jmp 0x14003b893
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, esi
mov r8d, esi
lea rdx, str.SetProcessDpiAwarenessContext
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp - 0x58], rax
mov dword [rbp + 0xb8], 1
mov qword [rbp + 0xb0], rdi
xor edx, edx
mov rcx, rax
call fcn.140049250
mov r12, rax
mov rdx, rax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test r12, r12
je 0x14003b8f7
mov rcx, r12
call fcn.1400025e0
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14003b921
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14003b917
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14003b921
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [r15 + 0x78], rdi
mov rax, r15
add rsp, 0x1c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret