Function at 0x140001500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4c8]
sub rsp, 0x5b0
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140049070]
xor rax, rsp
mov qword [rbp + 0x490], rax
mov rbx, rcx
xor edi, edi
mov qword [rbp - 0x30], rdi
lea r12, str...IncludeDisplay.cpp
lea r13, str.MCUMS
or r14, 0xffffffffffffffff
cmp dword [0x14004ad14], edi
je 0x1400015d0
mov byte [rbp - 0x40], 1
lea rdi, str.CDisplay::RescanDisplayTopology
mov qword [rbp - 0x38], rdi
mov esi, 7
mov dword [rbp - 0x3c], esi
mov qword [rbp - 0x20], r12
mov r14d, 0xaf
mov dword [rbp - 0x28], r14d
mov qword [rbp - 0x18], r13
mov qword [rsp + 0x20], rdi
lea r9, [0x1400405f8]
or r8, 0xffffffffffffffff
lea edx, [r14 + 0x51]
lea rcx, [rbp + 0x390]
call fcn.14000e4b0
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8, r13
mov edx, r14d
mov rcx, r12
call fcn.140004030
or r14, 0xffffffffffffffff
xor edi, edi
jmp 0x1400015ea
mov byte [rbp - 0x40], dil
mov qword [rbp - 0x38], rdi
mov dword [rbp - 0x3c], 6
mov qword [rbp - 0x20], rdi
mov dword [rbp - 0x28], edi
mov qword [rbp - 0x18], rdi
lea rax, vtable.mpg::Mutex.0
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rax, vtable.mpg::AutoLock.0
mov qword [rbp + 0x28], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x30], rax
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [rbx + 0x148], edi
mov byte [rbx + 0x142], 0
cmp dword [rbx + 0x144], 0xffffffff
je 0x140001e19
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x80]
mov ecx, 2
call qword [sym.imp.USER32.dll_GetDisplayConfigBufferSizes]
test eax, eax
je 0x140001661
mov dword [rsp + 0x28], eax
lea rax, str.CDisplay::RescanDisplayTopology___GetDisplayConfigBufferSizes___returned__d
mov edx, 0xbc
jmp 0x1400016d7
mov eax, dword [rbp - 0x80]
lea ecx, [rax + rax]
mov dword [rbp - 0x80], ecx
mov eax, dword [rbp - 0x78]
add eax, eax
mov dword [rbp - 0x78], eax
mov eax, 0x48
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.14000e408
mov rsi, rax
mov ecx, dword [rbp - 0x78]
mov eax, 0x40
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.14000e408
mov r15, rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x78]
mov r8, rsi
lea rdx, [rbp - 0x80]
mov ecx, 2
call qword [sym.imp.USER32.dll_QueryDisplayConfig]
test eax, eax
je 0x1400016f4
mov dword [rsp + 0x28], eax
lea rax, str.CDisplay::RescanDisplayTopology___QueryDisplayConfig___returned__d
mov edx, 0xc9
mov qword [rsp + 0x20], rax
mov r9d, 6
mov r8, r13
mov rcx, r12
call fcn.1400044f0
xor bl, bl
jmp 0x1400021a3
mov r13d, 1
mov r8d, dword [rbp - 0x80]
cmp r8d, 2
jb 0x14000198f
mov ecx, edi
mov eax, edi
test r8d, r8d
jle 0x140001735
mov r9d, dword [rbx + 0x144]
lea rdx, [rsi + 0x1c]
nop dword [rax]
cmp dword [rdx], r9d
je 0x140001732
inc eax
add rdx, 0x48
cmp eax, r8d
jl 0x140001720
jmp 0x140001735
mov r14d, eax
movsxd r11, r14d
test r14d, r14d
jle 0x140001770
lea rax, [r11 + r11*8]
lea r9, [rsi + rax*8]
mov edi, dword [r9 + 8]
lea rdx, [rsi + 0x18]
mov r10, r11
cmp edi, dword [rdx - 0x10]
jne 0x140001767
mov eax, dword [rdx]
cmp dword [r9 + 4], eax
jne 0x140001767
mov eax, dword [rdx - 4]
cmp dword [r9], eax
cmove ecx, r13d
add rdx, 0x48
dec r10
jne 0x140001750
lea r10d, [r14 + 1]
movsxd rdx, r10d
cmp r10d, r8d
jge 0x1400017c0
lea rax, [r11 + r11*8]
lea r9, [rsi + rax*8]
mov edi, dword [r9 + 8]
lea rdx, [rdx + rdx*8]
lea rdx, [rdx + 3]
lea rdx, [rsi + rdx*8]
sub r8d, r10d
mov r10d, r8d
nop word [rax + rax]
cmp edi, dword [rdx - 0x10]
jne 0x1400017b7
mov eax, dword [rdx]
cmp dword [r9 + 4], eax
jne 0x1400017b7
mov eax, dword [rdx - 4]
cmp dword [r9], eax
cmove ecx, r13d
add rdx, 0x48
dec r10
jne 0x1400017a0
test r14d, r14d
js 0x1400019ef
xor edi, edi
mov eax, edi
test r14d, r14d
sete al
test ecx, ecx
je 0x1400018ae
mov dword [rbx + 0x138], r13d
mov eax, dword [rbp - 0x78]
test eax, eax
je 0x1400019f7
lea r8, [r15 + 0x1c]
mov r9d, eax
cmp dword [r8 - 0x1c], r13d
jne 0x14000189c
mov eax, dword [r8 - 0x18]
cmp dword [rsi + 8], eax
jne 0x14000189c
mov ecx, dword [rsi + 0x28]
dec ecx
je 0x140001872
dec ecx
je 0x14000184e
dec ecx
je 0x140001842
dec ecx
jne 0x140001872
mov dword [rbx + 0x134], 0x10e
mov edx, dword [r8 + 4]
mov dword [rbx + 0x3c], edx
mov ecx, dword [r8]
mov dword [rbx + 0x38], ecx
add ecx, dword [r8 - 8]
mov dword [rbx + 0x40], ecx
mov eax, dword [r8 - 0xc]
jmp 0x140001890
mov dword [rbx + 0x134], 0xb4
jmp 0x140001878
mov dword [rbx + 0x134], 0x5a
mov edx, dword [r8 + 4]
mov dword [rbx + 0x3c], edx
mov ecx, dword [r8]
mov dword [rbx + 0x38], ecx
add ecx, dword [r8 - 8]
mov dword [rbx + 0x40], ecx
mov eax, dword [r8 - 0xc]
jmp 0x140001890
mov dword [rbx + 0x134], edi
mov edx, dword [r8 + 4]
mov dword [rbx + 0x3c], edx
mov ecx, dword [r8]
mov dword [rbx + 0x38], ecx
add ecx, dword [r8 - 0xc]
mov dword [rbx + 0x40], ecx
mov eax, dword [r8 - 8]
add eax, edx
mov dword [rbx + 0x44], eax
mov byte [rbx + 0x142], r13b
add r8, 0x40
dec r9
jne 0x1400017f4
jmp 0x1400019f7
neg eax
sbb eax, eax
add eax, 3
mov dword [rbx + 0x138], eax
mov eax, dword [rbp - 0x78]
test eax, eax
je 0x1400019f7
lea r8, [r15 + 0x1c]
mov r9d, eax
nop dword [rax]
cmp dword [r8 - 0x1c], r13d
jne 0x140001980
lea rax, [r11 + r11*8]
lea rcx, [rsi + rax*8]
mov eax, dword [r8 - 0x18]
cmp dword [rcx + 8], eax
jne 0x140001980
mov ecx, dword [rcx + 0x28]
dec ecx
je 0x140001956
dec ecx
je 0x140001932
dec ecx
je 0x140001926
dec ecx
jne 0x140001956
mov dword [rbx + 0x134], 0x10e
mov edx, dword [r8 + 4]
mov dword [rbx + 0x3c], edx
mov ecx, dword [r8]
mov dword [rbx + 0x38], ecx
add ecx, dword [r8 - 8]
mov dword [rbx + 0x40], ecx
mov eax, dword [r8 - 0xc]
jmp 0x140001974
mov dword [rbx + 0x134], 0xb4
jmp 0x14000195c
mov dword [rbx + 0x134], 0x5a
mov edx, dword [r8 + 4]
mov dword [rbx + 0x3c], edx
mov ecx, dword [r8]
mov dword [rbx + 0x38], ecx
add ecx, dword [r8 - 8]
mov dword [rbx + 0x40], ecx
mov eax, dword [r8 - 0xc]
jmp 0x140001974
mov dword [rbx + 0x134], edi
mov edx, dword [r8 + 4]
mov dword [rbx + 0x3c], edx
mov ecx, dword [r8]
mov dword [rbx + 0x38], ecx
add ecx, dword [r8 - 0xc]
mov dword [rbx + 0x40], ecx
mov eax, dword [r8 - 8]
add eax, edx
mov dword [rbx + 0x44], eax
mov byte [rbx + 0x142], r13b
add r8, 0x40
dec r9
jne 0x1400018d0
jmp 0x1400019f7
cmp r8d, r13d
jne 0x1400019fb
mov eax, dword [rbx + 0x144]
cmp dword [rsi + 0x1c], eax
jne 0x1400019e3
mov dword [rbx + 0x138], edi
mov eax, dword [rbp - 0x78]
test eax, eax
je 0x1400019fb
mov r11, r15
mov edi, eax
cmp dword [r11], r13d
jne 0x1400019d8
lea r8, [rbx + 0x134]
lea rdx, [rbx + 0x38]
lea r9, [r11 + 0x10]
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x20], eax
call fcn.140001480
mov byte [rbx + 0x142], r13b
add r11, 0x40
dec rdi
jne 0x1400019b1
jmp 0x1400019fb
mov dword [rbx + 0x138], 4
jmp 0x1400019fb
or r14, 0xffffffffffffffff
xor edi, edi
jmp 0x1400019fb
or r14, 0xffffffffffffffff
mov rcx, rsi
call fcn.14000e344
mov rcx, r15
call fcn.14000e344
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rbx + 0x48], eax
mov ecx, 0x4d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rbx + 0x4c], eax
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rbx + 0x50], eax
mov ecx, 0x4f
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rbx + 0x54], eax
mov ecx, dword [rbx + 0x134]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x50]
mov dword [rsp + 0x30], eax
mov eax, dword [rbx + 0x4c]
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0x48]
mov dword [rsp + 0x20], eax
lea r9, str.Virtual_Desktop:_MIN__d__d_SIZE:__d__d__ANGLE:__d
lea r8, str.MCUMS
mov edx, 0x159
mov rcx, r12
call fcn.140004350
xor edx, edx
mov r8d, 0x348
lea rcx, [rbp + 0x40]
call fcn.140012080
mov dword [rbp + 0x40], 0x348
mov r12d, edi
mov dword [rbp - 0x7c], edi
xor r9d, r9d
lea r8, [rbp + 0x40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x1400021a1
lea rsi, vtable.mpg::String.0
nop
mov r8d, 0xc
lea rdx, str..DISPLAYV
lea rcx, [rbp + 0x44]
call fcn.14000e34c
test eax, eax
je 0x140001dec
test byte [rbp + 0x184], 1
je 0x140001dec
lea rax, [rbp + 0x84]
mov rdi, r14
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140001af5
inc rdi
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x140001b10
call fcn.14000e344
mov qword [rbx + 0x68], rdi
mov eax, 2
mul rdi
cmovo rax, r14
mov rcx, rax
call fcn.14000e408
mov qword [rbx + 0x60], rax
test rax, rax
je 0x140001b47
mov r8, qword [rbx + 0x68]
add r8, r8
lea rdx, [rbp + 0x84]
mov rcx, rax
call fcn.14000fc50
mov qword [rbp - 0x70], rsi
lea rcx, [rbp + 0x44]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140001ba3
lea rax, [rbp + 0x44]
mov rdi, r14
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140001b60
inc rdi
mov qword [rbp - 0x60], rdi
mov eax, 2
mul rdi
cmovo rax, r14
mov rcx, rax
call fcn.14000e408
mov r14, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140001bd2
lea r8, [rdi + rdi]
lea rdx, [rbp + 0x44]
mov rcx, rax
call fcn.14000fc50
jmp 0x140001bd2
mov qword [rbp - 0x60], r13
mov eax, 2
mul r13
cmovo rax, r14
mov rcx, rax
call fcn.14000e408
mov r14, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140001bd2
movzx eax, word [0x140040380]
mov word [r14], ax
xor eax, eax
mov r15d, eax
xor r9d, r9d
lea r8, [rbp + 0x40]
xor edx, edx
mov rcx, r14
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x140001de4
or r12, 0xffffffffffffffff
nop word [rax + rax]
test byte [rbp + 0x184], 1
je 0x140001dc2
mov qword [rbp - 0x58], rsi
lea rcx, [rbp + 0x188]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140001c76
lea rax, [rbp + 0x188]
mov rdi, r12
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140001c30
inc rdi
mov qword [rbp - 0x48], rdi
mov eax, 2
mul rdi
cmovo rax, r12
mov rcx, rax
call fcn.14000e408
mov rsi, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140001ca4
lea r8, [rdi + rdi]
lea rdx, [rbp + 0x188]
mov rcx, rax
call fcn.14000fc50
jmp 0x140001ca4
mov qword [rbp - 0x48], r13
mov eax, 2
mul r13
cmovo rax, r12
mov rcx, rax
call fcn.14000e408
mov rsi, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140001ca4
movzx eax, word [0x140040380]
mov word [rsi], ax
mov rdx, r14
mov rcx, rbx
call fcn.140002250
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0x20]
mov dword [rsp + 0x80], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x78], eax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x60], eax
mov eax, dword [rbx + 0xc]
mov dword [rsp + 0x58], eax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x50], eax
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0x40]
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0x3c]
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r14
lea rax, str.CDisplay::RescanDisplayTopology___Checking_rectangles_to_find_IWD__s__display_name._m_rcPhysicalIWD__d__d__d__d___m_rcLogical__d__d__d__d___m_rcPhysical__d__d__d__d_
mov qword [rsp + 0x20], rax
mov r9d, 6
lea r8, str.MCUMS
mov edx, 0x18b
lea rdi, str...IncludeDisplay.cpp
mov rcx, rdi
call fcn.140004580
mov rax, qword [rbx + 0x38]
cmp rax, qword [rbx + 0x18]
jne 0x140001dad
mov rax, qword [rbx + 0x40]
cmp rax, qword [rbx + 0x20]
jne 0x140001dad
mov qword [rsp + 0x28], r14
lea rax, str.CDisplay::RescanDisplayTopology___desktop_coordinates_matched_for:__s
mov qword [rsp + 0x20], rax
mov r9d, 6
lea r8, str.MCUMS
mov edx, 0x18f
mov rcx, rdi
call fcn.140004580
mov eax, dword [rbx + 8]
mov dword [rbx + 0x28], eax
mov eax, dword [rbx + 0xc]
mov dword [rbx + 0x2c], eax
mov eax, dword [rbx + 0x10]
mov dword [rbx + 0x30], eax
mov eax, dword [rbx + 0x14]
mov dword [rbx + 0x34], eax
lea rcx, [rbx + 0xe8]
mov rdx, r14
call fcn.140003b80
mov eax, dword [rbx + 0x130]
mov dword [rbx + 0x134], eax
inc dword [rbx + 0x148]
mov rcx, rsi
call fcn.14000e344
lea rsi, vtable.mpg::String.0
inc r15d
xor r9d, r9d
lea r8, [rbp + 0x40]
mov edx, r15d
mov rcx, r14
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x140001c00
mov r12d, dword [rbp - 0x7c]
mov rcx, r14
call fcn.14000e344
inc r12d
mov dword [rbp - 0x7c], r12d
xor r9d, r9d
lea r8, [rbp + 0x40]
mov edx, r12d
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
mov r14, 0xffffffffffffffff
jne 0x140001ac0
jmp 0x1400021a1
xor edx, edx
mov r8d, 0x348
lea rcx, [rbp + 0x40]
call fcn.140012080
mov dword [rbp + 0x40], 0x348
mov r14d, edi
xor r13b, r13b
mov esi, edi
mov dword [rbp - 0x80], edi
xor r9d, r9d
lea r8, [rbp + 0x40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x14000218f
mov edi, 1
lea r15, vtable.mpg::String.0
mov r8d, 0xc
lea rdx, str..DISPLAYV
lea rcx, [rbp + 0x44]
call fcn.14000e34c
test eax, eax
je 0x140002171
test byte [rbp + 0x184], 1
je 0x140002171
lea rcx, [rbx + 0x58]
lea rdx, [rbp + 0x84]
call fcn.140003b80
inc r14d
mov dword [rbp - 0x7c], r14d
mov esi, dword [rbp + 0x184]
shr esi, 2
and esi, 1
mov qword [rbp - 0x58], r15
lea rcx, [rbp + 0x44]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140001f13
lea rax, [rbp + 0x44]
or rcx, 0xffffffffffffffff
mov rdi, rcx
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140001ed0
inc rdi
mov qword [rbp - 0x48], rdi
mov eax, 2
mul rdi
cmovo rax, rcx
mov rcx, rax
call fcn.14000e408
mov r14, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140001f49
lea r8, [rdi + rdi]
lea rdx, [rbp + 0x44]
mov rcx, rax
call fcn.14000fc50
jmp 0x140001f49
mov qword [rbp - 0x48], rdi
mov eax, 2
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14000e408
mov r14, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140001f49
movzx eax, word [0x140040380]
mov word [r14], ax
xor eax, eax
mov r12d, eax
mov r15d, eax
movsxd rdi, esi
mov qword [rbp - 0x78], rdi
xor r9d, r9d
lea r8, [rbp + 0x40]
xor edx, edx
mov rcx, r14
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x14000210c
test byte [rbp + 0x184], 1
je 0x1400020ee
inc r12d
lea rax, vtable.mpg::String.0
mov qword [rbp - 0x70], rax
lea rcx, [rbp + 0x188]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x140001ff6
lea rax, [rbp + 0x188]
or rcx, 0xffffffffffffffff
mov rdi, rcx
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140001fb0
inc rdi
mov qword [rbp - 0x60], rdi
mov eax, 2
mul rdi
cmovo rax, rcx
mov rcx, rax
call fcn.14000e408
mov rsi, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140002032
lea r8, [rdi + rdi]
lea rdx, [rbp + 0x188]
mov rcx, rax
call fcn.14000fc50
jmp 0x140002032
mov ecx, 1
mov qword [rbp - 0x60], rcx
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14000e408
mov rsi, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140002036
movzx eax, word [0x140040380]
mov word [rsi], ax
jmp 0x140002036
mov rdi, qword [rbp - 0x78]
test rsi, rsi
je 0x1400020c6
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], 0
jne 0x140002043
test eax, eax
js 0x1400020c6
lea rdx, str.MONITORICO0010
mov rcx, rsi
call fcn.14000ecf0
test rax, rax
je 0x1400020c6
sub rax, rsi
sar rax, 1
test eax, eax
js 0x1400020c6
lea rcx, [rbx + 0xe8]
mov rdx, r14
call fcn.140003b80
movzx r13d, r13b
test rdi, rdi
mov eax, 1
cmovne r13d, eax
mov rdx, r14
mov rcx, rbx
call fcn.140002250
mov eax, dword [rbx + 0x18]
mov dword [rbx + 0x38], eax
mov eax, dword [rbx + 0x1c]
mov dword [rbx + 0x3c], eax
mov eax, dword [rbx + 0x20]
mov dword [rbx + 0x40], eax
mov eax, dword [rbx + 0x24]
mov dword [rbx + 0x44], eax
mov eax, dword [rbx + 0x130]
mov dword [rbx + 0x134], eax
mov byte [rbx + 0x142], 1
jmp 0x1400020e0
lea rcx, [rbx + 0xd0]
mov rdx, r14
call fcn.140003b80
mov rdx, r14
mov rcx, rbx
call fcn.140002250
inc dword [rbx + 0x148]
mov rcx, rsi
call fcn.14000e344
inc r15d
xor r9d, r9d
lea r8, [rbp + 0x40]
mov edx, r15d
mov rcx, r14
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x140001f72
cmp dword [rbp - 0x7c], 2
jne 0x140002125
movzx eax, r13b
neg al
sbb ecx, ecx
add ecx, 3
mov dword [rbx + 0x138], ecx
jmp 0x140002156
cmp r12d, 1
jne 0x140002143
mov eax, 4
test r13b, r13b
mov ecx, 0
cmovne eax, ecx
mov dword [rbx + 0x138], eax
jmp 0x140002156
cmp r12d, 2
jne 0x140002156
mov edi, 1
mov dword [rbx + 0x138], edi
jmp 0x14000215b
mov edi, 1
mov rcx, r14
call fcn.14000e344
mov esi, dword [rbp - 0x80]
mov r14d, dword [rbp - 0x7c]
lea r15, vtable.mpg::String.0
inc esi
mov dword [rbp - 0x80], esi
xor r9d, r9d
lea r8, [rbp + 0x40]
mov edx, esi
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
jne 0x140001e61
cmp byte [rbx + 0x140], 0
je 0x1400021a1
mov word [rbx + 0x140], pe_nt_image_headers64
mov bl, 1
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
lea rax, vtable.mpg::Mutex.0
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop
cmp dword [0x14004ad14], 0
je 0x14000221d
cmp byte [rbp - 0x40], 0
je 0x14000221d
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14000221d
mov qword [rsp + 0x20], rax
lea r9, [0x140040600]
or r8, 0xffffffffffffffff
mov edx, pe_nt_image_headers64
lea rcx, [rbp + 0x390]
call fcn.14000e4b0
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp - 0x3c]
mov r8, qword [rbp - 0x18]
mov edx, dword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
call fcn.140004030
movzx eax, bl
mov rcx, qword [rbp + 0x490]
xor rcx, rsp
call fcn.14000e2f0
lea r11, [rsp + 0x5b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret