Function at 0x14003b590
Capabilities:
Register raw input devices

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
lea rsi, [rcx + 0x251a0]
mov rbx, rcx
mov rcx, qword [rsi + 0x20]
xor ebp, ebp
add rcx, 8
mov rax, qword [rcx + 8]
test rax, rax
je 0x14003b5de
cmp rsi, qword [rax + 0x10]
je 0x14003b5d1
mov rax, qword [rax]
test rax, rax
jne 0x14003b5c1
jmp 0x14003b5de
mov qword [rax + 0x10], rbp
mov byte [rcx + 4], 1
call fcn.140001c10
lea rcx, [rbx + 0x254b0]
mov byte [rsi + 0x29], bpl
call fcn.14004abc0
cmp byte [rbx + 0x2554d], bpl
je 0x14003b628
mov edx, 2
mov dword [rbx + 0x25554], 1
lea rcx, [rbx + 0x25550]
mov dword [rbx + 0x25564], 1
lea r8d, [rdx + 0xe]
call qword [sym.imp.USER32.dll_RegisterRawInputDevices]
mov byte [rbx + 0x2554d], bpl
mov byte [rbx + 0x25570], bpl
mov edi, ebp
mov byte [rbx + 0x254e0], bpl
nop dword [rax + rax]
mov edx, edi
mov rcx, rsi
call fcn.140004690
inc edi
cmp edi, 0x17
jb 0x14003b640
lea rcx, [rbx + 0x68]
call fcn.1400384e0
mov byte [rbx + 0x25590], bpl
mov rax, qword [rbx + 0x257c8]
test rax, rax
je 0x14003b6b0
nop dword [rax]
mov rcx, qword [rbx + 0x257d0]
cmp rcx, rax
jne 0x14003b68c
mov qword [rbx + 0x257d0], rbp
mov qword [rbx + 0x257c8], rbp
jmp 0x14003b69a
mov rax, qword [rcx + 8]
mov qword [rbx + 0x257d0], rax
mov qword [rax], rbp
test rcx, rcx
je 0x14003b6a4
call fcn.140002210
mov rax, qword [rbx + 0x257c8]
test rax, rax
jne 0x14003b670
mov byte [rbx + 0x257c0], bpl
mov rax, qword [0x1400caa68]
test rax, rax
je 0x14003b6f7
lea rcx, [rbx + 0x25888]
nop word [rax + rax]
cmp rcx, qword [rax + 0x10]
je 0x14003b6e0
mov rax, qword [rax]
test rax, rax
jne 0x14003b6d0
jmp 0x14003b6f7
mov qword [rax + 0x10], rbp
lea rcx, [0x1400caa60]
mov byte [0x1400caa64], 1
call fcn.140001c10
lea rcx, [rbx + 0x25868]
call fcn.14000cd20
lea rcx, [rbx + 0x25898]
mov byte [rbx + 0x25860], bpl
mov rax, qword [rcx]
call qword [rax + 0x60]
cmp qword [rbx + 0x24ed0], rbp
je 0x14003b75c
mov rax, qword [0x1400ca308]
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbx + 0x24ec8]
mov eax, dword [0x1400ca310]
mov dword [rsp + 0x28], eax
call fcn.140040b20
mov rax, qword [rbx + 0x24ed0]
mov qword [rax + 0x38], rbp
mov dword [rax + 0x40], ebp
mov qword [rbx + 0x24ed0], rbp
mov rcx, qword [0x1400a51a0]
mov byte [rbx + 0x24ec8], bpl
test rcx, rcx
je 0x14003b77c
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov qword [0x1400a51a0], rbp
cmp qword [rbx + 0x48], rbp
je 0x14003b796
lea rcx, [rbx + 0x48]
call fcn.140042870
mov qword [rbx + 0x54], rbp
mov dword [rbx + 0x50], ebp
mov qword [rbx + 0x48], rbp
cmp byte [0x1400a5194], bpl
mov byte [rbx + 0x40], bpl
je 0x14003b7a9
call qword [sym.imp.KERNEL32.dll_FreeConsole]
mov rcx, qword [0x1400a5188]
test rcx, rcx
je 0x14003b7c2
mov qword [0x1400a5180], rbp
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [0x1400a51a8]
test rcx, rcx
je 0x14003b7db
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400a51a8], rbp
call qword [sym.imp.ole32.dll_CoUninitialize]
call fcn.140055030
test eax, eax
jne 0x14003b814
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.1400555b0
test eax, eax
jne 0x14003b80f
lea rdx, [0x14003c8d0]
lea rcx, [0x1400a5198]
call fcn.140054c00
call fcn.1400550d0
mov rsi, qword [rsp + 0x50]
mov byte [rbx + 0x3c], bpl
mov byte [rbx + 0x18], bpl
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret