Function at 0x14002ce60
Capabilities:
Get keyboard layout

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rcx, [0x1400a63f0]
mov r8d, 0x400
mov edx, 0xffffffff
call fcn.1400138e0
movaps xmm0, xmmword [0x14008f440]
movaps xmmword [0x1400a64b0], xmm0
movaps xmm0, xmmword [0x14008f450]
movaps xmmword [0x1400a64c0], xmm0
movabs rax, 0x900000008
mov qword [0x1400a64d0], rax
movaps xmm0, xmmword [0x14008f460]
movups xmmword [0x1400a64f4], xmm0
movaps xmm0, xmmword [0x14008f470]
movups xmmword [0x1400a6504], xmm0
movaps xmm0, xmmword [0x14008f480]
movups xmmword [0x1400a6514], xmm0
movaps xmm0, xmmword [0x14008f490]
movups xmmword [0x1400a6524], xmm0
movaps xmm0, xmmword [0x14008f4a0]
movups xmmword [0x1400a6534], xmm0
movaps xmm0, xmmword [0x14008f4b0]
movups xmmword [0x1400a6544], xmm0
movaps xmm0, xmmword [0x14008f4c0]
movaps xmmword [0x1400a6570], xmm0
movaps xmm0, xmmword [0x14008f4d0]
movaps xmmword [0x1400a6580], xmm0
movaps xmm0, xmmword [0x14008f4e0]
movaps xmmword [0x1400a6590], xmm0
mov dword [0x1400a66f0], 0x38
movabs rax, 0x3b0000003a
mov qword [0x1400a66e8], rax
movaps xmm0, xmmword [0x14008f4f0]
movups xmmword [0x1400a675c], xmm0
movaps xmm0, xmmword [0x14008f500]
movups xmmword [0x1400a66d8], xmm0
mov dword [0x1400a6424], 0x3f
movabs rax, 0x4200000041
mov qword [0x1400a6410], rax
mov dword [0x1400a6440], 0x43
mov dword [0x1400a6630], 0x44
mov dword [0x1400a645c], 0x45
mov dword [0x1400a6634], 0x46
movabs rax, 0x4800000047
mov qword [0x1400a64a4], rax
movaps xmm0, xmmword [0x14008f510]
movaps xmmword [0x1400a6470], xmm0
movaps xmm0, xmmword [0x14008f520]
movaps xmmword [0x1400a6430], xmm0
movaps xmm0, xmmword [0x14008f530]
movups xmmword [0x1400a6554], xmm0
mov dword [0x1400a6564], 0x56
mov dword [0x1400a6490], 0x59
movaps xmm0, xmmword [0x14008f540]
movaps xmmword [0x1400a6480], xmm0
movaps xmm0, xmmword [0x14008f550]
movups xmmword [0x1400a65a4], xmm0
movaps xmm0, xmmword [0x14008f560]
movups xmmword [0x1400a65b4], xmm0
movaps xmm0, xmmword [0x14008f570]
movups xmmword [0x1400a65c4], xmm0
movabs rax, 0x6500000064
mov qword [0x1400a65d4], rax
mov dword [0x1400a65dc], 0x66
movabs rax, 0x6b0000006a
mov qword [0x1400a63f4], rax
movabs rax, 0x6d0000006c
mov qword [0x1400a6400], rax
mov dword [0x1400a6408], 0x6e
lea rsi, [0x1400a67f0]
lea rdi, [0x14008f9d0]
mov r8d, 0x200
mov rcx, rsi
mov rdx, rdi
call fcn.14002d160
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rbx, rax
lea rcx, str.00000409
xor edx, edx
call qword [sym.imp.USER32.dll_LoadKeyboardLayoutW]
test rax, rax
je 0x14002d0d5
mov r14, rax
cmp rax, rbx
je 0x14002d0d5
mov r15d, 1
mov r12, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
cmp r15, 0x80
jne 0x14002d0fc
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
inc r15
cmp r15, 0x80
je 0x14002d0d5
mov r13d, dword [rdi + r15*4]
cmp r13d, 0xffffffff
je 0x14002d0f0
cmp r15, 0x29
je 0x14002d0f0
cmp r13d, 0x24
jae 0x14002d140
mov ecx, r15d
mov edx, 1
mov r8, r14
call r12
mov ecx, eax
xor edx, edx
mov r8, rbx
call r12
and eax, 0x7f
mov dword [rsi + rax*4], r13d
inc r15
cmp r15, 0x80
jne 0x14002d0fc
jmp 0x14002d0d5
lea eax, [r13 - 0x41]
cmp eax, 0xffffffe3
jb 0x14002d0f0
cmp r15, 0x1c
je 0x14002d0f0
cmp r15, 0x39
je 0x14002d0f0
jmp 0x14002d112