Function at 0x140065688
Capabilities:
Register raw input devices

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1a0], xmm6
and rsp, 0xffffffffffffff80
mov rsi, rdx
mov r15, rcx
mov byte [rsp + 0x98], 1
mov rax, qword [0x1403729c0]
cmp rax, 2
je 0x14006571c
lea rax, [rsp + 0x98]
lea rbx, [rsp + 0xc0]
mov qword [rbx], rax
lea rax, [0x1403729c8]
lea rdi, [rsp + 0xd0]
mov qword [rdi], rax
lea rcx, [0x1403729c0]
lea rdx, [rsp + 0x100]
mov qword [rdx], rbx
mov qword [rdx + 8], rdi
lea rax, [rsp + 0xa0]
mov qword [rdx + 0x10], rax
lea r8, [0x140357f50]
call fcn.1400b31df
cmp byte [rsp + 0x98], 0
jne 0x140065c3f
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x9c], eax
cmp byte [rsi + 0x10], 0
jne 0x140065750
mov eax, dword [rsp + 0x9c]
cmp eax, dword [0x1403729ec]
jne 0x140065c7a
mov qword [rsp + 0xb0], rsi
cmp byte [rsi + 0x11], 0
je 0x14006576f
mov rax, qword [0x1403729d8]
cmp rax, 3
jne 0x140065bff
call fcn.14010d58d
mov rax, qword [rax + 8]
movabs rdx, 0x300000050
lea rcx, [rsp + 0x100]
mov qword [rcx], rdx
lea rdx, [0x140066017]
mov qword [rcx + 8], rdx
and qword [rcx + 0x10], 0
lea rsi, [0x140000000]
mov qword [rcx + 0x18], rsi
xorps xmm6, xmm6
movups xmmword [rcx + 0x30], xmm6
movups xmmword [rcx + 0x20], xmm6
mov qword [rcx + 0x40], rax
and qword [rcx + 0x48], 0
call qword [sym.imp.USER32.dll_RegisterClassExW]
call fcn.14010d58d
mov rdx, qword [rax + 8]
and qword [rsp + 0x58], 0
and dword [rsp + 0x38], 0
and dword [rsp + 0x30], 0
mov qword [rsp + 0x50], rsi
and dword [rsp + 0x28], 0
movups xmmword [rsp + 0x40], xmm6
and dword [rsp + 0x20], 0
mov ecx, 0x80800a0
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov r12, rax
push 0xfffffffffffffff0
pop rdx
mov r8d, 0x90000000
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
push 0x11
pop rbx
mov rcx, rbx
call fcn.14008202b
mov rdi, rax
mov rsi, rdx
movups xmm0, xmmword [str.winit_wait_threadFailed_to_spawn_winit_wait_thread]
movups xmmword [rdx], xmm0
mov byte [rdx + 0x10], 0x64
call fcn.1400df9b0
mov qword [rsp + 0xb8], rax
xor ecx, ecx
mov rdx, rsi
mov r8, rbx
call fcn.140042f70
test rax, rax
je 0x140065879
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], 0x11
mov qword [rsp + 0x100], rdx
jmp 0x1400658a4
lea rbx, [rsp + 0x100]
mov qword [rbx], rdi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], 0x11
mov rcx, rbx
call fcn.140020a10
mov qword [rbx], rax
mov qword [rbx + 8], rdx
and qword [rbx + 0x10], 0
lea rdx, str.thread_name_may_not_contain_interior_null_bytes_rustc_2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74library_std_src_threadmod.rs
lea r9, [0x1401af690]
lea rcx, [rsp + 0x100]
push 0x2f
pop r8
call fcn.14005f462
mov rcx, rax
call fcn.1400c76e0
mov qword [rsp + 0xc0], rax
lock inc qword [rax]
jle 0x140065c3b
mov r13, rax
push 0x30
pop rcx
push 8
pop rdx
call fcn.1400804dc
mov r14, rax
push 1
pop rax
mov qword [r14], rax
mov qword [r14 + 8], rax
xorps xmm0, xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [rsp + 0xd0], r14
lock inc qword [r14]
jle 0x140065c3b
xor edi, edi
xor ecx, ecx
call fcn.1400d4b90
mov rbx, rax
test rax, rax
je 0x140065930
lock inc qword [rbx]
mov rdi, rbx
jle 0x140065c3b
mov qword [rsp + 0xa8], r15
lea rsi, [r14 + 0x10]
mov rcx, rdi
call fcn.1400d4b90
lea rcx, [rsp + 0x100]
mov qword [rcx], rax
call fcn.140065f4b
mov rcx, qword [rsi]
test rcx, rcx
je 0x140065967
lock inc qword [rcx + 0x10]
jle 0x140065d67
push 0x28
pop rcx
push 8
pop r15
mov rdx, r15
call fcn.1400804dc
mov qword [rax], r12
mov ecx, dword [rsp + 0x9c]
mov dword [rax + 8], ecx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], r14
lea r8, [0x1401af5f0]
mov rcx, qword [rsp + 0xb8]
mov rdx, rax
call fcn.1400dfba0
mov rdi, rdx
test rax, rax
jne 0x140065cb5
lea rbx, [rsp + 0x108]
mov qword [rbx - 8], rdi
mov qword [rbx], r13
lea rsi, [rsp + 0x110]
mov qword [rsi], r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.1400c7f20
mov rcx, rsi
call fcn.140065f39
xorps xmm6, xmm6
lea rsi, [rsp + 0xd0]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rdi, str.Winit::SendWaitThreadId
mov rcx, rdi
call fcn.14010ba47
mov ebx, eax
mov rcx, rdi
call fcn.14010ba47
push 0xffffffffffffffff
pop rdx
mov rcx, rsi
mov r8d, ebx
mov r9d, eax
call qword [sym.imp.USER32.dll_GetMessageW]
mov dword [rsp + 0x98], eax
mov rcx, rdi
call fcn.14010ba47
mov dword [rsp + 0xa0], eax
cmp dword [rsi + 8], eax
jne 0x140065cfe
mov esi, dword [rsp + 0xe8]
call fcn.1400e35b0
mov r13, rax
mov ebx, edx
lea rdi, [rsp + 0x130]
movups xmmword [rdi + 0x60], xmm6
mov rcx, rdi
call fcn.14010c8de
mov qword [rdi + 0x40], r12
mov dword [rdi + 0x70], esi
mov dword [rdi - 0x28], 0x3b9aca00
xor r14d, r14d
mov byte [rdi + 0x74], r14b
mov qword [rdi - 0x20], r13
mov dword [rdi - 0x18], ebx
and qword [rdi - 0x10], 0
movups xmmword [rdi + 0x48], xmm6
mov qword [rdi + 0x58], r15
and qword [rdi + 0x30], 0
mov ecx, 0xb8
mov rdx, r15
call fcn.1400804dc
mov rsi, rax
push 1
pop r13
mov qword [rax + 8], r13
lea rcx, [rax + 0x10]
lea rbx, [rsp + 0x100]
mov r8d, 0xa8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], 2
movaps xmmword [rbx], xmm6
movaps xmmword [rdi + 0x50], xmm6
mov ecx, 0x200
mov edx, 0x80
call fcn.1400804dc
mov rdi, rax
lea rbx, [rsp + 0x100]
mov r8d, 0x100
mov rcx, rax
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
and qword [rdi + 0x100], 0
mov byte [rdi + 0x108], r14b
and qword [rdi + 0x110], 0
mov qword [rdi + 0x118], r15
movaps xmmword [rdi + 0x120], xmm6
mov qword [rdi + 0x130], r15
and qword [rdi + 0x138], 0
mov byte [rdi + 0x140], 1
mov qword [rdi + 0x180], r13
mov qword [rdi + 0x188], r13
mov byte [rdi + 0x190], r14b
push 0x18
pop rcx
mov rdx, r15
call fcn.1400804dc
mov qword [rax], r13
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rsi
push 0xffffffffffffffeb
pop rdx
mov rcx, r12
mov r8, rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
movabs rax, 0x200000020001
mov qword [rbx], rax
mov qword [rbx + 8], r12
movabs rax, 0x200000060001
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], r12
lea rcx, [rsp + 0x100]
push 2
pop rdx
push 0x10
pop r8
call qword [sym.imp.USER32.dll_RegisterRawInputDevices]
mov rax, qword [rsp + 0xb0]
movups xmm0, xmmword [rax]
and qword [rax], 0
mov rax, qword [rsp + 0xa8]
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov qword [rax + 0x28], rsi
mov ecx, dword [rsp + 0x9c]
mov dword [rax + 0x30], ecx
movups xmmword [rax], xmm0
movaps xmm6, xmmword [rbp + 0x1a0]
lea rsp, [rbp + 0x1b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [rsp + 0xd0]
mov byte [rax], 1
lea r8, [rsp + 0x100]
mov qword [r8], rax
lea rax, str.C:Users_flori.cargo_registry_srcgithub.com_1ecc6299db9ec823winit_0.28.3_srcplatform_implwindowsdpi.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1403729d8]
lea r9, [0x140357d30]
xor edx, edx
call fcn.140196290
jmp 0x14006576f
ud2
lea rax, str.Creating_EventLoop_multiple_times_is_not_supported.
lea rcx, [rsp + 0x100]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str._rustc_2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74library_std_srcioimpls.rs
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, str.C:Users_flori.cargo_registry_srcgithub.com_1ecc6299db9ec823winit_0.28.3_srcevent_loop.rs
jmp 0x140065da8
lea rax, str.Initializing_the_event_loop_outside_of_the_main_thread_is_a_significant_cross_platform_compatibility_hazard._If_you_absolutely_need_to_create_an_EventLoop_on_a_different_thread__you_can_use_the__EventLoopBuilderExtWindows::any_thread__function.
lea rcx, [rsp + 0x100]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str._rustc_2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74library_std_srcioimpls.rs
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, str.C:Users_flori.cargo_registry_srcgithub.com_1ecc6299db9ec823winit_0.28.3_srcplatform_implwindowsevent_loop.rsthis_shouldnt_be_possible._please_open_an_issue_with_Winit._error_code:
jmp 0x140065da8
lea rcx, [rsp + 0xd0]
call fcn.140065f39
lea rcx, [rsp + 0xc0]
call fcn.1400c7f20
lea r8, [rsp + 0x100]
mov qword [r8], rdi
lea rax, str.C:Users_flori.cargo_registry_srcgithub.com_1ecc6299db9ec823winit_0.28.3_srcplatform_implwindowsevent_loop.rsthis_shouldnt_be_possible._please_open_an_issue_with_Winit._error_code:
mov qword [rsp + 0x20], rax
lea rcx, [0x1401afb79]
lea r9, fcn.14004ac72
push 0x21
pop rdx
call fcn.140192750
ud2
lea rdx, [rsp + 0xd8]
lea rax, [rsp + 0x98]
lea rcx, [rsp + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.140049920]
mov qword [rcx + 8], rax
lea r9, [rsp + 0x100]
and qword [r9], 0
lea rax, [0x1403586e0]
mov qword [r9 + 0x10], rax
push 1
pop rax
mov qword [r9 + 0x18], rax
mov qword [r9 + 0x20], rcx
mov qword [r9 + 0x28], rax
lea rax, str.C:Users_flori.cargo_registry_srcgithub.com_1ecc6299db9ec823winit_0.28.3_srcplatform_implwindowsevent_loop.rsthis_shouldnt_be_possible._please_open_an_issue_with_Winit._error_code:
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xa0]
xor ecx, ecx
call fcn.140197ca4
ud2
add rcx, 0x10
xor edx, edx
call fcn.1400ca7f0
lea rax, str.too_many_running_threads_in_thread_scope
lea rcx, [rsp + 0x100]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str._rustc_2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74library_std_srcioimpls.rs
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, str.library_std_src_thread_scoped.rs
call fcn.1401922f0
ud2