Function at 0x10200
Capabilities:
Create thread
Register raw input devices

Disassembly:
push rbp
sub rsp, 0x120
lea r8, [0x00017480]
xor ecx, ecx
mov edx, 0xffffffff
call qword [sym.imp.USER32.dll_EnumDisplaySettingsW]
mov eax, dword [0x0001752c]
mov dword [0x00017b00], eax
mov eax, dword [0x00017530]
mov dword [0x00017b04], eax
mov byte [rsp + 0x20], 0
lea rcx, [0x00017b08]
mov edx, 0x1f0003
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ntdll.dll_NtCreateEvent]
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x38], ymm0
lea rax, [0x00010c60]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x118]
mov edx, 0x1fffff
xor r8d, r8d
mov r9, 0xffffffffffffffff
vzeroupper
call qword [sym.imp.ntdll.dll_NtCreateThreadEx]
mov rcx, qword [0x00017b08]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_NtWaitForSingleObject]
lea r8, [0x00018210]
lea r9, [rsp + 0x64]
xor ecx, ecx
mov edx, 0xb000
call sub.d3d12.dll_Ordinal_101
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea r8, [0x000181b0]
lea r9, [rsp + 0x80]
xor edx, edx
call qword [rax + 0x48]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
mov r9, qword [rsp + 0x80]
lea r14, [rsp + 0x68]
mov qword [rsp + 0x30], r14
lea rdx, [0x000181f0]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
xor edx, edx
xor r8d, r8d
call qword [rax + 0x60]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [0x0001755c]
lea r8, [0x00018200]
lea r9, [rsp + 0x78]
call qword [rax + 0x40]
lea rdx, [0x00018190]
lea r8, [rsp + 0xe0]
xor ecx, ecx
call sub.dxgi.dll_CreateDXGIFactory2
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
mov r8, qword [0x00017b10]
mov rdx, qword [rsp + 0x78]
lea rsi, [rsp + 0xa8]
mov qword [rsp + 0x30], rsi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x20], xmm0
lea r9, [0x0001756c]
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [0x00017b10]
mov r8d, 2
call qword [rax + 0x40]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [0x0001759c]
lea rsi, [0x000181e0]
lea r9, [rsp + 0x110]
mov r8, rsi
call qword [rax + 0x70]
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx]
lea rdx, [0x00017b18]
call qword [rax + 0x48]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
mov edx, 2
call qword [rax + pe_nt_image_headers64]
mov edi, eax
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rbx, [0x000181a0]
lea r9, [rsp + 0xb0]
xor edx, edx
mov r8, rbx
call qword [rax + 0x48]
mov r9, qword [0x00017b18]
mov qword [0x00017b20], r9
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0xb0]
xor r8d, r8d
call qword [rax + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea r9, [rsp + 0xb8]
mov edx, 1
mov r8, rbx
call qword [rax + 0x48]
add rdi, qword [0x00017b18]
mov qword [0x00017b28], rdi
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0xb8]
xor r8d, r8d
mov r9, rdi
call qword [rax + 0xa0]
mov eax, dword [0x00017b00]
mov qword [0x000175d0], rax
lea r9, [0x000175c0]
mov eax, dword [0x00017b04]
mov dword [0x000175d8], eax
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0x108]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
lea rdx, [0x000175f8]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x10
lea r15, [0x000175ac]
mov rdx, r15
xor r8d, r8d
call qword [rax + 0xd8]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [0x0001760c]
lea r9, [rsp + 0x100]
mov r8, rsi
call qword [rax + 0x70]
mov rcx, qword [rsp + 0x100]
mov rax, qword [rcx]
lea rdx, [0x00017b30]
call qword [rax + 0x48]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x108]
mov r9, qword [0x00017b30]
lea r8, [0x0001761c]
call qword [rax + 0xa8]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0xd8]
mov qword [rsp + 0x28], rdx
lea rdx, [0x00018220]
mov qword [rsp + 0x20], rdx
lea r8, section..data
mov r9d, 0x5c
xor edx, edx
call qword [rax + 0x80]
mov rax, qword [rsp + 0xd8]
mov qword [0x000176c0], rax
lea rdx, [0x000176c0]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea r8, [0x000181d0]
lea r9, [rsp + 0xf8]
call qword [rax + 0x50]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r12, [0x00017988]
lea rbp, [0x00017950]
mov rdx, r12
xor r8d, r8d
mov r9, rbp
call qword [rax + 0xd8]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx]
lea r13, [0x00017b38]
lea r9, [rsp + 0xf0]
xor edx, edx
mov r8, r13
call qword [rax + 0x40]
mov rdi, qword [rsp + 0xf0]
lea rsi, [0x00016f54]
mov ecx, 0x2d0
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx]
xor edx, edx
xor r8d, r8d
call qword [rax + 0x48]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rdx, r15
xor r8d, r8d
mov r9, rbp
call qword [rax + 0xd8]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xd0]
call qword [rax + 0x88]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov qword [0x000179a0], rax
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rbp, [0x000179b0]
mov rdx, r12
xor r8d, r8d
mov r9, rbp
call qword [rax + 0xd8]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
lea r9, [rsp + 0xe8]
xor edx, edx
mov r8, r13
call qword [rax + 0x40]
mov rdi, qword [rsp + 0xe8]
lea rsi, [0x00017224]
mov ecx, 0x240
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
xor edx, edx
xor r8d, r8d
call qword [rax + 0x48]
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0xc8]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rdx, r15
xor r8d, r8d
mov r9, rbp
call qword [rax + 0xd8]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xc8]
call qword [rax + 0x88]
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov qword [0x000179e8], rax
mov rax, qword [0x00017b10]
mov qword [0x00017a00], rax
lea rcx, [0x000179f8]
mov edx, 1
mov r8d, 0x10
call qword [sym.imp.USER32.dll_RegisterRawInputDevices]
mov eax, dword [0x00017b00]
vcvtsi2ss xmm0, xmm0, rax
vmovss dword [0x00017a10], xmm0
mov ecx, dword [0x00017b04]
vcvtsi2ss xmm0, xmm1, rcx
vmovss dword [0x00017a14], xmm0
mov dword [0x00017b50], eax
mov dword [0x00017b54], ecx
movsxd rcx, dword [rsp + 0x64]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
lea r9, [0x000181c0]
xor edx, edx
xor r8d, r8d
call qword [rax + 0x120]
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x90]
mov edx, 0x1f0003
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ntdll.dll_NtCreateEvent]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov edx, 1
mov r8, r14
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x70]
mov esi, 1
mov r8d, 1
call qword [rax + 0x70]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x40]
test rax, rax
jne 0x1089b
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x90]
mov edx, 1
call qword [rax + 0x48]
mov rcx, qword [rsp + 0x90]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.ntdll.dll_NtWaitForSingleObject]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
call qword [rax + 0x50]
mov rcx, qword [0x00017b58]
mov byte [rsp + 0x20], 1
mov edx, 0x1f0003
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtCreateEvent]
mov r13, qword [sym.imp.ntdll.dll_NtWaitForSingleObject]
lea rbp, [0x00017b20]
lea r15, [0x00017a40]
lea r12, [rsp + 0x68]
xor ebx, ebx
xor edi, edi
mov eax, dword [0x00017464]
test al, 2
jne 0x10929
nop word cs:[rax + rax]
mov rcx, qword [0x00017b58]
xor edx, edx
xor r8d, r8d
call r13
mov eax, dword [0x00017464]
test al, 2
je 0x10910
mov r14d, ebx
mov rax, qword [rsp + r14*8 + 0xb0]
mov qword [0x00017a28], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov edx, 1
lea r8, [0x00017a20]
call qword [rax + 0xd0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [r14*8]
add r8, rbp
lea rdx, [0x00017b30]
mov qword [rsp + 0x20], rdx
mov edx, 1
mov r9d, 1
call qword [rax + 0x170]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [rbp + r14*8]
mov qword [rsp + 0x20], 0
lea r8, [0x00017b60]
xor r9d, r9d
call qword [rax + 0x180]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [0x00017b30]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
vxorps xmm3, xmm3, xmm3
mov r8d, 1
call qword [rax + 0x178]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0xd8]
call qword [rax + 0xf0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0xf8]
call qword [rax + 0xc8]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov edx, 0x23
call qword [rax + 0xa0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
xor edx, edx
mov r8d, 1
lea r9, [0x000179a0]
call qword [rax + 0x160]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [0x000179e8]
call qword [rax + 0x158]
nop word cs:[rax + rax]
mov eax, dword [0x00017464]
test al, 4
jne 0x10a60
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0
xor edx, edx
mov r8d, 0x10
lea r9, [0x00017b80]
call qword [rax + 0x120]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x10
xor edx, edx
mov r8d, 3
lea r9, [0x00017470]
call qword [rax + 0x120]
vcvtsi2ss xmm0, xmm0, edi
mov eax, dword [0x00017b00]
vcvtsi2ss xmm1, xmm1, rax
vdivss xmm1, xmm0, xmm1
vcvtps2ph xmm1, xmm1, 4
mov eax, dword [0x00017b04]
vcvtsi2ss xmm2, xmm2, rax
vmovd eax, xmm1
mov word [rsp + 0x8c], ax
vdivss xmm0, xmm0, xmm2
vcvtps2ph xmm0, xmm0, 4
vmovd eax, xmm0
mov word [rsp + 0x8e], ax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x13
xor edx, edx
mov r8d, 1
lea r9, [rsp + 0x8c]
call qword [rax + 0x120]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov edx, 1
lea r8, [0x00017a08]
call qword [rax + 0xa8]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov edx, 1
lea r8, [0x00017b48]
call qword [rax + 0xb0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov edx, 0x90
mov r8d, 1
xor r9d, r9d
call qword [rax + 0x68]
mov rax, qword [rsp + r14*8 + 0xb0]
mov qword [0x00017a48], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov edx, 1
mov r8, r15
call qword [rax + 0xd0]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov edx, 1
mov r8, r12
call qword [rax + 0x50]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
xor edx, edx
xor r8d, r8d
call qword [rax + 0x40]
inc rsi
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x70]
mov r8, rsi
call qword [rax + 0x70]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp rax, rsi
jae 0x10c1f
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x90]
mov rdx, rsi
call qword [rax + 0x48]
mov rcx, qword [rsp + 0x90]
xor edx, edx
xor r8d, r8d
call r13
xor edi, 1
not ebx
and ebx, 1
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
call qword [rax + 0x50]
mov eax, dword [0x00017464]
test al, 2
je 0x10910
jmp 0x10929