Function at 0x18000ed20
Capabilities:
Get keyboard layout

Disassembly:
push rbx
push rdi
sub rsp, 0x58
xor ebx, ebx
mov qword [rsp + 0x48], r14
mov dword [rcx], ebx
mov rdi, rcx
mov rax, qword [sym.imp.Qt5Core.dll_struct_QHashData_const_QHashData::shared_null]
mov qword [rcx + 8], rax
mov rax, qword [sym.imp.Qt5Core.dll_struct_QHashData_const_QHashData::shared_null]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rbx
mov dword [rcx + 0x20], 0x60
add rcx, 0x28
mov qword [rsp + 0x40], r15
call fcn.1800172d0
lea rcx, [rdi + 0x2c50]
call fcn.180019b30
mov qword [rdi + 0x2ca0], rbx
lea rcx, [rdi + 0x2cf0]
mov rax, qword [sym.imp.Qt5Core.dll_struct_QHashData_const_QHashData::shared_null]
mov qword [rdi + 0x2ca8], rax
mov rax, qword [sym.imp.Qt5Core.dll_struct_QHashData_const_QHashData::shared_null]
mov qword [rdi + 0x2cb0], rax
mov qword [rdi + 0x2cb8], rbx
mov qword [rdi + 0x2cc0], rbx
mov qword [rdi + 0x2cc8], rbx
mov qword [rdi + 0x2cd0], rbx
mov qword [rdi + 0x2cd8], rbx
mov byte [rdi + 0x2ce0], bl
mov qword [rdi + 0x2ce4], rbx
mov dword [rdi + 0x2cec], ebx
call fcn.180021680
lea rcx, [rdi + 0x2d00]
call fcn.1800149e0
xor ecx, ecx
mov qword [rdi + 0x2d10], rbx
mov qword [rdi + 0x2d18], rbx
mov qword [rdi + 0x2d20], rbx
call qword [sym.imp.ole32.dll_OleInitialize]
lea rcx, [0x180153c60]
mov qword [rdi + 0x2d30], rbx
mov dword [rdi + 0x2d28], eax
mov byte [rdi + 0x2d38], bl
mov qword [rdi + 0x2d40], rbx
mov qword [rdi + 0x2d48], rbx
call fcn.180010370
lea rcx, [0x180153c48]
call fcn.180010200
cmp qword [rdi + 0x2ca0], rbx
jne 0x18000ee47
cmp qword [rdi + 0x2c80], rbx
je 0x18000ee4a
or dword [rdi], 2
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov qword [rdi + 0x18], rax
mov edx, 0x5a
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
xor edx, edx
xor ecx, ecx
mov dword [rdi + 0x20], eax
call qword [sym.imp.USER32.dll_GetKeyboardLayoutList]
movsxd r14, eax
test eax, eax
je 0x18000ef0b
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x80], rbp
mov eax, 8
mov qword [rsp + 0x50], rsi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.1800eeadc
mov rdx, rax
mov ecx, r14d
mov rsi, rax
call qword [sym.imp.USER32.dll_GetKeyboardLayoutList]
test r14d, r14d
jle 0x18000eef6
nop dword [rax + rax]
movzx ecx, word [rsi + rbx*8]
and ecx, 0x3ff
sub ecx, 1
je 0x18000ef99
sub ecx, 0xc
je 0x18000ef99
sub ecx, 0x1c
je 0x18000ef99
cmp ecx, 0x31
je 0x18000ef99
inc rbx
cmp rbx, r14
jl 0x18000eec0
mov rcx, rsi
call fcn.1800ee414
mov rbp, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x50]
call fcn.180030de0
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov byte [0x180153c40], al
cmp dword [rdi + 0x2d28], 0
jge 0x18000ef8f
xor r9d, r9d
lea rcx, [rsp + 0x20]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::constructor_char_const____ptr64__int__char_const____ptr64____ptr64]
mov rcx, rax
lea rdx, [rsp + 0x78]
call qword [sym.imp.Qt5Core.dll_public:_class_QDebug___cdecl_QMessageLogger::warning_void____ptr64]
mov rcx, rax
lea rdx, str.QWindowsContext:_OleInitialize___failed:
call qword [sym.imp.Qt5Core.dll_public:_class_QDebug____ptr64___cdecl_QDebug::operator___char_const____ptr64____ptr64]
mov edx, dword [rdi + 0x2d28]
lea rcx, [rsp + 0x70]
mov rbx, rax
call fcn.18000f710
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_class_QDebug____ptr64___cdecl_QDebug::operator___class_QByteArray_const____ptr64____ptr64]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
lea rcx, [rsp + 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QDebug::destructor_void____ptr64]
mov rax, rdi
add rsp, 0x58
pop rdi
pop rbx
ret
mov rcx, rsi
call fcn.1800ee414
or dword [rdi], 1
mov byte [rdi + 0x28], 1
jmp 0x18000eefe