Function at 0x10000b690
Capabilities:
Create directory
Get common file path
Query environment variable

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2110
call fcn.10001d390
sub rsp, rax
mov qword [rsp + 0x140], 0xfffffffffffffffe
mov qword [rsp + 0x2140], rbx
mov qword [rsp + 0x2150], rsi
mov rax, qword [0x100024390]
xor rax, rsp
mov qword [rsp + 0x2100], rax
mov rsi, rdx
movsxd r13, ecx
xor eax, eax
mov dword [rsp + 0x90], eax
mov r15d, eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x84], eax
mov r14d, eax
mov qword [rsp + 0x70], rax
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x15c0]
call fcn.100017eb0
mov edi, 1
mov r12d, edi
mov rbx, rdi
cmp r13d, edi
jle 0x10000bafa
lea eax, [rdi + 2]
mov r8, rax
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fa4]
call fcn.100011f60
test eax, eax
je 0x10000baee
mov r8d, 6
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fa8]
call fcn.100011f60
test eax, eax
je 0x10000baee
mov r8d, 6
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fb0]
call fcn.100011f60
test eax, eax
je 0x10000baee
mov r8d, 9
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fb8]
call fcn.100011f60
xor edx, edx
cmp eax, edx
jne 0x10000b7ac
mov dword [0x100025e60], 7
mov ecx, dword [rsp + 0x78]
jmp 0x10000b8db
mov r8d, 7
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fc4]
call fcn.100011f60
xor edx, edx
cmp eax, edx
jne 0x10000b7d7
mov dword [0x100025e60], edx
mov ecx, dword [rsp + 0x78]
jmp 0x10000b8db
mov r8d, 8
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fd0]
call fcn.100011f60
test eax, eax
je 0x10000b988
mov r8d, 0xa
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fd8]
call fcn.100011f60
xor edx, edx
cmp eax, edx
jne 0x10000b81d
mov r15d, edi
mov ecx, dword [rsp + 0x78]
jmp 0x10000b8db
mov r8d, 3
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fe4]
call fcn.100011f60
xor edx, edx
cmp eax, edx
jne 0x10000b849
mov dword [rsp + 0x90], edi
mov ecx, dword [rsp + 0x78]
jmp 0x10000b8db
mov r8d, 7
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003fe8]
call fcn.100011f60
test eax, eax
jne 0x10000b88c
inc r12d
cmp r13d, r12d
je 0x10000b8fc
inc rbx
mov rcx, qword [rsi + rbx*8]
call fcn.100012128
mov r14d, eax
xor edx, edx
cmp eax, edx
jbe 0x10000b8f0
mov ecx, edi
mov dword [rsp + 0x78], ecx
jmp 0x10000b8db
mov r8d, 5
mov rdx, qword [rsi + rbx*8]
lea rcx, [0x100003ff0]
call fcn.100011f60
xor edx, edx
cmp eax, edx
jne 0x10000b97c
lea eax, [r12 + 1]
cmp eax, r13d
je 0x10000b970
lea eax, [r13 - 2]
cmp r12d, eax
jne 0x10000b964
mov rax, qword [rsi + rbx*8 + 8]
mov qword [rsp + 0x70], rax
mov r12d, r13d
mov rbx, r13
mov ecx, dword [rsp + 0x78]
add r12d, edi
add rbx, rdi
cmp rbx, r13
jge 0x10000b908
mov eax, 3
jmp 0x10000b726
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
cmp r15d, edx
je 0x10000b936
cmp r13d, 2
je 0x10000b91f
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
call fcn.10000e548
nop
jmp 0x10000cd7f
cmp ecx, edx
je 0x10000b957
imul r14d, r14d, 0x3e8
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x10000bafd
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x10000bafd
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
mov dword [rsp + 0x84], edi
xor r14d, r14d
mov dword [0x100025e60], r14d
mov esi, 0x104
mov r8d, esi
lea rdx, [rsp + 0x15c0]
lea rcx, [0x100003ff8]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
cmp eax, r14d
je 0x10000bae7
cmp eax, esi
ja 0x10000bae7
xor edx, edx
lea rcx, [rsp + 0x15c0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp eax, r14d
jne 0x10000b9f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10000b9f0
mov eax, edi
jmp 0x10000cd7f
lea r9, [rsp + 0x15c0]
lea r8, [0x100004010]
mov rdx, rsi
lea rcx, [rsp + 0x1d00]
call fcn.100006e10
lea rcx, [0x100004018]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
cmp rax, r14
je 0x10000ba4c
lea rdx, [0x100004030]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, r14
je 0x10000ba43
lea rcx, [rsp + 0x1d00]
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, rsi
lea rcx, [rsp + 0x15c0]
cmp byte [rcx], r14b
je 0x10000ba64
add rcx, rdi
sub rax, rdi
jne 0x10000ba57
cmp rax, r14
je 0x10000bae0
mov rdx, rsi
sub rdx, rax
mov rcx, rsi
sub rcx, rdx
lea rax, [rsp + rdx + 0x15c0]
mov r10d, r14d
je 0x10000bab8
lea r8, [rcx + rdx + 0x7ffffefb]
lea rdx, [0x100004048]
sub rdx, rax
cmp r8, r14
je 0x10000bab3
mov r9b, byte [rdx + rax]
cmp r9b, r14b
je 0x10000bab3
mov byte [rax], r9b
add rax, rdi
sub rcx, rdi
sub r8, rdi
cmp rcx, r14
jne 0x10000ba94
cmp rcx, r14
jne 0x10000bac1
sub rax, rdi
mov r10d, 0x8007007a
mov byte [rax], r14b
cmp r10d, r14d
jl 0x10000bae0
lea rbx, [rsp + 0x15c0]
mov dword [rsp + 0x90], r14d
mov dword [rsp + 0x78], r14d
jmp 0x10000bafd
mov eax, edi
jmp 0x10000cd7f
mov eax, edi
jmp 0x10000cd7f
call fcn.10000b618
mov eax, edi
jmp 0x10000cd7f
mov rbx, r14
lea rcx, [rsp + 0xf8]
call fcn.10000d9dc
mov r15, rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], r14
lea rax, fcn.10000d018
mov qword [rsp + 0xf0], rax
lea rax, [0x100004350]
mov qword [rsp + 0x2e0], rax
lea r12, [0x100004308]
mov qword [rsp + 0x638], r12
lea rcx, [rsp + 0x728]
call fcn.10000d7f4
mov r13, rax
mov qword [rsp + 0x730], rax
mov qword [rsp + 0x738], r14
lea rax, fcn.10000d018
mov qword [rsp + 0x720], rax
lea rcx, [rsp + 0x748]
call fcn.10000d8ec
mov qword [rsp + 0x750], rax
mov qword [rsp + 0x758], r14
lea rsi, fcn.10000d018
mov qword [rsp + 0x740], rsi
lea rcx, [rsp + 0x768]
call fcn.10000d8ec
mov qword [rsp + 0x770], rax
mov qword [rsp + 0x778], r14
mov qword [rsp + 0x760], rsi
lea rax, [0x1000042f0]
mov qword [rsp + 0xbc0], rax
mov qword [rsp + 0x780], r12
mov dword [rsp + 0xe8], 0xe
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x8c], r14d
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0x88], r14d
lea rcx, [rsp + 0xd0]
call fcn.10000d9a0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], r14
lea rcx, [rsp + 0xa8]
call fcn.10000d964
mov rsi, rax
mov qword [rsp + 0xb0], rax
xor r12d, r12d
mov qword [rsp + 0xb8], r12
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0x110], r12d
xor eax, eax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [rsp + 0x18e0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp eax, r12d
jne 0x10000bcb2
lea rdx, [0x100004070]
lea ecx, [r12 + 4]
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
cmp rbx, r12
je 0x10000bcd8
mov r9, rbx
lea r8, [0x100004010]
mov edx, 0x104
lea rcx, [rsp + 0x16d0]
call fcn.100006e10
jmp 0x10000bd6b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movzx ecx, word [rsp + 0xa4]
movzx edx, word [rsp + 0xa2]
movzx r8d, word [rsp + 0xa0]
movzx r9d, word [rsp + 0x9e]
movzx r10d, word [rsp + 0x9a]
movzx r11d, word [rsp + 0x98]
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r11d
lea rbx, [0x100004058]
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x18e0]
lea r8, [0x1000040a0]
mov edx, 0x104
lea rcx, [rsp + 0x16d0]
call fcn.100006e10
mov r12, qword [r15]
mov qword [r15], r15
mov qword [r15 + 8], r15
xor eax, eax
mov qword [rsp + 0x108], rax
cmp r12, r15
je 0x10000bda2
mov rbx, qword [r12]
lea rcx, [r12 + 0x10]
call fcn.10000ce24
mov rcx, r12
call fcn.100011990
mov r12, rbx
cmp rbx, r15
jne 0x10000bd84
mov ebx, 0x348
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x870]
call fcn.100017eb0
mov dword [rsp + 0x870], ebx
lea r9, [rsp + 0xd0]
lea r8, [0x10000b4fc]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayMonitors]
xor ecx, ecx
cmp eax, ecx
jne 0x10000bdfb
lea rcx, [0x100003d60]
call fcn.100012134
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
mov ebx, ecx
mov dword [rsp + 0xc0], ecx
xor r9d, r9d
lea r8, [rsp + 0x870]
xor edx, edx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
xor edx, edx
cmp eax, edx
je 0x10000c5a7
lea r12d, [rdx + 4]
mov eax, dword [rsp + 0x9b4]
and eax, 8
cmp al, dl
jne 0x10000c500
mov rcx, qword [r13]
mov qword [r13], r13
mov qword [r13 + 8], r13
mov qword [rsp + 0x738], rdx
cmp rcx, r13
je 0x10000be62
mov rbx, qword [rcx]
call fcn.100011990
mov rcx, rbx
cmp rbx, r13
jne 0x10000be50
xor edx, edx
mov r13, qword [rsp + 0x750]
mov rcx, qword [r13]
mov qword [r13], r13
mov qword [r13 + 8], r13
mov qword [rsp + 0x758], rdx
cmp rcx, r13
je 0x10000be95
mov rbx, qword [rcx]
call fcn.100011990
mov rcx, rbx
cmp rbx, r13
jne 0x10000be83
xor edx, edx
mov r13, qword [rsp + 0x770]
mov rcx, qword [r13]
mov qword [r13], r13
mov qword [r13 + 8], r13
mov qword [rsp + 0x778], rdx
cmp rcx, r13
je 0x10000bec6
mov rbx, qword [rcx]
call fcn.100011990
mov rcx, rbx
cmp rbx, r13
jne 0x10000beb6
xor r13d, r13d
mov dword [rsp + 0x630], r13d
lea rcx, [rsp + 0x2e8]
lea rdx, [rsp + 0x870]
mov r8d, 0x348
call fcn.1000148a0
mov ebx, 0xdc
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x640]
call fcn.100017eb0
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x200]
call fcn.100017eb0
mov word [rsp + 0x244], bx
test byte [rsp + 0x9b4], dil
je 0x10000bf7b
lea r9d, [r13 + 6]
lea r8, [rsp + 0x200]
mov edx, 0xffffffff
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
cmp eax, r13d
je 0x10000bf6c
lea rcx, [rsp + 0x640]
lea rdx, [rsp + 0x200]
mov r8, rbx
call fcn.1000148a0
mov dword [rsp + 0x630], edi
jmp 0x10000bf7b
lea rdx, [0x1000040f8]
mov ecx, r12d
call fcn.100006e7c
mov dword [rsp + 0x1270], 0x348
mov dword [rsp + 0xc4], r13d
mov r9d, edi
lea r8, [rsp + 0x1270]
xor edx, edx
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
cmp eax, r13d
je 0x10000c34b
lea rbx, [0x1000033e4]
lea rax, [rsp + 0xf7c]
sub rbx, rax
mov qword [rsp + 0x130], rbx
xor edx, edx
mov r8d, 0x348
lea rcx, [rsp + 0xbc8]
call fcn.100017eb0
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rsp + 0xf14]
call fcn.100017eb0
mov dword [rsp + 0xf10], r13d
mov qword [rsp + 0x1140], r13
mov qword [rsp + 0x1118], r13
mov dword [rsp + 0x1114], r13d
mov dword [rsp + 0x1120], r13d
mov qword [rsp + 0x1128], r13
mov eax, 0xffff
mov word [rsp + 0x1130], ax
mov dword [rsp + 0x1134], r13d
mov qword [rsp + 0x1138], r13
mov qword [rsp + 0x1148], r13
mov edx, 0xcb
lea rcx, [rsp + 0xf7c]
lea rax, [rdx + 0x7fffff33]
cmp rax, r13
je 0x10000c078
movzx eax, word [rcx + rbx]
cmp ax, r13w
je 0x10000c078
mov word [rcx], ax
add rcx, 2
sub rdx, rdi
jne 0x10000c056
cmp rdx, r13
jne 0x10000c081
sub rcx, 2
mov word [rcx], r13w
lea rcx, [rsp + 0xbc8]
lea rdx, [rsp + 0x1270]
mov r8d, 0x348
call fcn.1000148a0
test byte [rsp + 0x9b4], dil
je 0x10000c13e
test byte [rsp + 0x13b4], 2
je 0x10000c13e
test byte [rsp + 0x13b4], dil
je 0x10000c13e
mov rdx, qword [rsp + 0xd8]
mov rdx, qword [rdx]
mov r10d, r13d
mov r11, qword [rsp + 0xe0]
cmp r11d, r13d
jbe 0x10000c52d
lea rax, [rdx + 0x38]
lea r9, [rsp + 0x874]
sub r9, rax
movzx r8d, word [rax]
movzx ecx, word [rax + r9]
sub r8d, ecx
jne 0x10000c10a
add rax, 2
test ecx, ecx
jne 0x10000c0f4
cmp r8d, r13d
je 0x10000c120
mov rdx, qword [rdx]
add r10d, edi
cmp r10d, r11d
jae 0x10000c52d
jmp 0x10000c0e5
lea rcx, [rsp + 0xf14]
add rdx, 0x10
mov r8d, 0x68
call fcn.1000148a0
mov dword [rsp + 0xf10], edi
mov dword [rsp + 0x80], r13d
mov r13d, 0x80004005
mov r9d, r12d
xor r8d, r8d
lea rdx, [0x100003718]
xor ecx, ecx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x10000c2eb
mov dword [rsp + 0x1d8], 0x20
lea r9, [rsp + 0x1d8]
xor r8d, r8d
lea rdx, [rsp + 0xd10]
mov rcx, rax
call qword [sym.imp.SETUPAPI.dll_SetupDiOpenDeviceInterfaceW]
xor ecx, ecx
cmp eax, ecx
je 0x10000c2e2
mov dword [rsp + 0x1b8], 0x20
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x1d8]
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
xor ecx, ecx
cmp eax, ecx
jne 0x10000c1e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x10000c2e2
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x1b8]
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
xor ecx, ecx
cmp eax, ecx
jne 0x10000c271
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x10000c2e2
mov r9d, dword [rsp + 0x80]
add r9d, edi
mov dword [rsp + 0x80], r9d
cmp r9d, 0x200
jbe 0x10000c242
mov r13d, edi
jmp 0x10000c271
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x1d00]
lea rdx, [rsp + 0x1b8]
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
xor ecx, ecx
cmp eax, ecx
je 0x10000c2e2
mov r13d, ecx
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
xor eax, eax
cmp r13d, eax
jne 0x10000c2eb
xor r9d, r9d
lea r8, [rsp + 0x1d00]
mov edx, 0xcb
lea rcx, [rsp + 0xf7c]
call qword [sym.imp.WMI.dll_WmiDevInstToInstanceNameW]
lea rcx, [rsp + 0xbc0]
call fcn.100008358
lea rcx, [rsp + 0xbc0]
call fcn.10000792c
lea rcx, [rsp + 0xbc0]
call fcn.100007dc4
lea rcx, [rsp + 0xbc0]
call fcn.100008094
lea rcx, [rsp + 0xbc0]
call fcn.100008620
jmp 0x10000c2eb
mov rcx, rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
lea r8, [rsp + 0xbc0]
mov rdx, qword [rsp + 0x730]
lea rcx, [rsp + 0x728]
call fcn.10000d738
mov r13d, dword [rsp + 0xc4]
add r13d, edi
mov dword [rsp + 0xc4], r13d
mov r9d, edi
lea r8, [rsp + 0x1270]
mov edx, r13d
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
xor r13d, r13d
cmp eax, r13d
mov rbx, qword [rsp + 0x130]
jne 0x10000bfcc
mov ebx, r13d
xor edx, edx
mov r8d, 0xdc
lea rcx, [rsp + 0x200]
call fcn.100017eb0
mov eax, 0xdc
mov word [rsp + 0x244], ax
mov r9d, 6
lea r8, [rsp + 0x200]
xor edx, edx
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
cmp eax, r13d
je 0x10000c3fb
mov r15d, 0xdc
lea rcx, [rsp + 0x788]
lea rdx, [rsp + 0x200]
mov r8, r15
call fcn.1000148a0
lea r8, [rsp + 0x780]
mov rdx, qword [rsp + 0x750]
lea rcx, [rsp + 0x748]
call fcn.10000d830
add ebx, edi
mov r9d, 6
lea r8, [rsp + 0x200]
mov edx, ebx
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
cmp eax, r13d
jne 0x10000c399
mov r15, qword [rsp + 0x100]
mov ebx, r13d
xor edx, edx
mov r8d, 0xdc
lea rcx, [rsp + 0x200]
call fcn.100017eb0
mov eax, 0xdc
mov word [rsp + 0x244], ax
mov r9d, r12d
lea r8, [rsp + 0x200]
xor edx, edx
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
cmp eax, r13d
je 0x10000c4a5
mov r15d, 0xdc
lea rcx, [rsp + 0x788]
lea rdx, [rsp + 0x200]
mov r8, r15
call fcn.1000148a0
lea r8, [rsp + 0x780]
mov rdx, qword [rsp + 0x770]
lea rcx, [rsp + 0x768]
call fcn.10000d830
add ebx, edi
mov r9d, r12d
lea r8, [rsp + 0x200]
mov edx, ebx
lea rcx, [rsp + 0x874]
call qword [sym.imp.USER32.dll_EnumDisplaySettingsExW]
cmp eax, r13d
jne 0x10000c446
mov r15, qword [rsp + 0x100]
lea r9, [rsp + 0x2e0]
mov r8, qword [r15 + 8]
mov rdx, r15
lea rcx, [rsp + 0xf8]
call fcn.10000df9c
movabs rcx, 0x3759f22983759f
mov rbx, qword [rsp + 0x108]
sub rcx, rbx
cmp rcx, rdi
jb 0x10000c546
add rbx, rdi
mov qword [rsp + 0x108], rbx
mov qword [r15 + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
mov r13, qword [rsp + 0x730]
mov ebx, dword [rsp + 0xc0]
add ebx, edi
mov dword [rsp + 0xc0], ebx
xor r9d, r9d
lea r8, [rsp + 0x870]
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
xor edx, edx
cmp eax, edx
je 0x10000c5ad
jmp 0x10000be25
lea rcx, [0x100004118]
call fcn.100012134
mov r14b, dil
mov rbx, qword [rsp + 0x70]
jmp 0x10000cbad
mov qword [rsp + 0x1f8], 0xf
mov qword [rsp + 0x1f0], r13
mov byte [rsp + 0x1e0], r13b
mov r8d, 0x10
lea rdx, [0x100004270]
lea rcx, [rsp + 0x1d8]
call fcn.10000da18
nop
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0x178]
call fcn.100006c98
lea rdx, [0x1000221c8]
lea rcx, [rsp + 0x178]
call fcn.100012738
nop
mov r12d, 4
xor r13d, r13d
cmp dword [rsp + 0x84], r13d
je 0x10000c611
mov dword [rsp + 0x110], 0x18
mov dword [rsp + 0x120], r13d
xor r9d, r9d
lea r8, [rsp + 0x118]
mov edx, edi
lea rcx, [0x100004140]
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorA
cmp eax, r13d
jne 0x10000c607
lea rdx, [0x100004158]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
jmp 0x10000cbad
lea rax, [rsp + 0x110]
jmp 0x10000c614
mov rax, r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 2
mov r9, rax
mov edx, 0xc0000000
mov r8d, 3
lea rcx, [rsp + 0x16d0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x10000c66a
lea rdx, [0x100003d00]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
lea r8, [rsp + 0x16d0]
lea rdx, [0x100004188]
mov ecx, edi
call fcn.100006e7c
xor ebx, ebx
mov dword [rsp + 0x7c], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x7c]
mov r8d, r12d
lea rdx, [rsp + 0xe8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, ebx
jne 0x10000c6c7
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
xor eax, eax
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], rax
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x148]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x1150]
call fcn.100008b48
xor esi, esi
cmp eax, esi
jl 0x10000cb82
mov rcx, rsi
mov rbx, qword [rsp + 0x70]
cmp rbx, rsi
je 0x10000c771
mov ecx, 0x3fffffff
mov rdx, rcx
mov r8, rbx
mov eax, esi
cmp word [r8], si
je 0x10000c75d
add r8, 2
sub rdx, rdi
jne 0x10000c74e
cmp rdx, rsi
jne 0x10000c76c
mov eax, 0x80070057
mov rcx, rsi
jmp 0x10000c776
sub rcx, rdx
jmp 0x10000c776
mov eax, 0x80070057
cmp eax, esi
jl 0x10000c77f
add rcx, rcx
jmp 0x10000c782
mov rcx, rsi
cmp eax, esi
jge 0x10000c799
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov eax, 0xffffffff
cmp rcx, rax
jbe 0x10000c7b6
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov dword [rsp + 0x8c], ecx
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x7c]
mov r8d, r12d
lea rdx, [rsp + 0x8c]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, esi
jne 0x10000c801
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x7c]
mov r8d, dword [rsp + 0x8c]
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, esi
jne 0x10000c845
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x7c]
mov r8d, 0x11c
lea rdx, [rsp + 0x1150]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, esi
jne 0x10000c88c
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x7c]
mov r8d, 0x30
lea rdx, [rsp + 0x148]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, esi
jne 0x10000c8d3
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov rdx, qword [rsp + 0x1b8]
mov rcx, r13
call fcn.100008a68
cmp eax, esi
jge 0x10000c909
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov rdx, qword [rsp + 0x1c0]
mov rcx, r13
call fcn.100008a68
cmp eax, esi
jge 0x10000c93f
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov rdx, qword [rsp + 0x1c8]
mov rcx, r13
call fcn.100008a68
cmp eax, esi
jge 0x10000c975
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x94], eax
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x7c]
mov r8d, r12d
lea rdx, [rsp + 0x94]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, esi
jne 0x10000c9c7
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
xor r13d, r13d
jmp 0x10000cbad
mov rsi, qword [rsp + 0xb0]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x10000ca12
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.100009298
xor ecx, ecx
cmp eax, ecx
je 0x10000c9f3
mov rbx, qword [rbx]
cmp rbx, rsi
jne 0x10000c9d7
jmp 0x10000ca12
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
xor ebx, ebx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x7c]
mov r8d, r12d
lea rdx, [rsp + 0x88]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, ebx
jne 0x10000ca55
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
mov r8d, dword [rsp + 0x88]
cmp r8d, ebx
jbe 0x10000caa0
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x7c]
mov rdx, qword [rsp + 0xc8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, ebx
jne 0x10000caa0
lea rdx, [0x1000035c8]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
mov rdx, r13
lea rcx, [rsp + 0xf0]
call fcn.10000d018
cmp dword [rsp + 0x90], ebx
je 0x10000cb5f
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movzx ecx, word [rsp + 0xa4]
movzx r8d, word [rsp + 0xa2]
movzx r9d, word [rsp + 0xa0]
movzx r10d, word [rsp + 0x9e]
movzx r11d, word [rsp + 0x9a]
movzx edx, word [rsp + 0x98]
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], edx
lea rax, [0x100004058]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x18e0]
lea r8, [0x1000041a0]
mov edx, 0x104
lea rcx, [rsp + 0x1af0]
call fcn.100006e10
lea rcx, [rsp + 0x1af0]
call fcn.10000b22c
xor ebx, ebx
mov rcx, r13
call fcn.10000ae18
cmp eax, ebx
jge 0x10000cb78
mov r14b, dil
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
jmp 0x10000cbad
mov rcx, r13
call fcn.10000a814
jmp 0x10000cb9c
lea rdx, [0x100004200]
mov ecx, r12d
call fcn.100006e7c
mov r14b, dil
mov rsi, qword [rsp + 0xb0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x70]
xor r13d, r13d
mov rcx, qword [rsp + 0x118]
cmp rcx, r13
je 0x10000cbc0
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x1b8]
cmp rcx, r13
je 0x10000cbd2
call fcn.100011990
mov rcx, qword [rsp + 0x1c0]
cmp rcx, r13
je 0x10000cbe4
call fcn.100011990
mov rcx, qword [rsp + 0x1c8]
cmp rcx, r13
je 0x10000cbf6
call fcn.100011990
mov rcx, qword [rsp + 0xc8]
cmp rcx, r13
je 0x10000cc08
call fcn.100011990
cmp rbx, r13
je 0x10000cc15
mov rcx, rbx
call fcn.100011990
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x94], eax
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x10000cc3c
mov rcx, qword [rbx + 0x10]
call fcn.100011990
mov rbx, qword [rbx]
cmp rbx, rsi
jne 0x10000cc2b
mov rcx, qword [rsi]
mov qword [rsi], rsi
mov qword [rsi + 8], rsi
cmp rcx, rsi
je 0x10000cc5b
mov rbx, qword [rcx]
call fcn.100011990
mov rcx, rbx
cmp rbx, rsi
jne 0x10000cc4b
mov r12, qword [r15]
mov qword [r15], r15
mov qword [r15 + 8], r15
cmp r12, r15
je 0x10000cc88
mov rbx, qword [r12]
lea rcx, [r12 + 0x10]
call fcn.10000ce24
mov rcx, r12
call fcn.100011990
mov r12, rbx
cmp rbx, r15
jne 0x10000cc6a
cmp dword [rsp + 0x78], r13d
je 0x10000ccb2
mov r15d, 3
mov edx, 0x1f4
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Beep]
sub r15, rdi
jne 0x10000cc95
mov r15, qword [rsp + 0x100]
mov r12d, r13d
cmp r14b, r13b
setne r12b
mov rcx, qword [rsi]
mov qword [rsi], rsi
mov qword [rsi + 8], rsi
cmp rcx, rsi
je 0x10000ccdb
mov rbx, qword [rcx]
call fcn.100011990
mov rcx, rbx
cmp rbx, rsi
jne 0x10000cccb
mov rcx, rsi
call fcn.100011990
nop
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rax]
mov qword [rax], rax
mov rax, qword [rsp + 0xd8]
mov qword [rax + 8], rax
mov qword [rsp + 0xe0], r13
mov rcx, qword [rsp + 0xd8]
cmp rdx, rcx
je 0x10000cd2e
mov rbx, qword [rdx]
mov rcx, rdx
call fcn.100011990
mov rdx, rbx
mov rcx, qword [rsp + 0xd8]
cmp rbx, rcx
jne 0x10000cd13
call fcn.100011990
mov qword [rsp + 0xd8], r13
lea rcx, [rsp + 0x2e0]
call fcn.10000ce24
nop
mov rdi, qword [r15]
mov qword [r15], r15
mov qword [r15 + 8], r15
cmp rdi, r15
je 0x10000cd74
mov rbx, qword [rdi]
lea rcx, [rdi + 0x10]
call fcn.10000ce24
mov rcx, rdi
call fcn.100011990
mov rdi, rbx
cmp rbx, r15
jne 0x10000cd58
mov rcx, r15
call fcn.100011990
mov eax, r12d
mov rcx, qword [rsp + 0x2100]
xor rcx, rsp
call fcn.100011c90
lea r11, [rsp + 0x2110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret