Function at 0x140148540
Capabilities:
Get keyboard layout
Read clipboard data

Disassembly:
mov dword [rsp + 0x20], r9d
mov word [rsp + 0x18], r8w
mov word [rsp + 0x10], dx
mov word [rsp + 8], cx
sub rsp, 0x128
mov eax, 0x4741
mov word [rsp + 0x50], ax
mov eax, dword [0x140168a78]
mov dword [rsp + 0x58], eax
movsx eax, word [rsp + 0x138]
movsx ecx, word [rsp + 0x130]
add eax, ecx
mov word [rsp + 0x50], ax
cmp dword [rsp + 0x148], 0x23a32e41
ja 0x1401486f9
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x388a71cc
je 0x140148667
cmp dword [rsp + 0x60], 0x7b553231
je 0x1401485c0
jmp 0x1401486f4
mov r9d, dword [rsp + 0x148]
movzx r8d, word [rsp + 0x140]
movzx edx, word [rsp + 0x50]
movzx ecx, word [rsp + 0x130]
call fcn.140148540
nop
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0x5984983f
je 0x140148601
jmp 0x14014864b
movsx eax, word [rsp + 0x138]
movsx ecx, word [rsp + 0x130]
and eax, ecx
mov word [rsp + 0x50], ax
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.USER32.dll_ValidateRgn]
mov dword [rsp + 0x78], eax
movsx eax, word [rsp + 0x130]
movsx ecx, word [rsp + 0x138]
or eax, ecx
mov word [rsp + 0x50], ax
jmp 0x140148662
lea rdx, [rsp + 0x98]
mov ecx, 0xf7
call qword [sym.imp.USER32.dll_GetKeyboardLayoutList]
mov dword [rsp + 0x54], eax
jmp 0x1401486f4
movsx eax, word [rsp + 0x50]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0x1a75
je 0x140148686
cmp dword [rsp + 0x64], 0x1bf4
je 0x140148698
jmp 0x1401486f4
movzx eax, word [rsp + 0x138]
mov word [rsp + 0x130], ax
jmp 0x1401486f4
mov cl, 0x54
call fcn.140147df0
mov dword [rsp + 0x40], 0xae
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x5c
mov dword [rsp + 0x28], 0x56
mov dword [rsp + 0x20], 0xed
mov r9, qword [rsp + 0xc8]
mov r8d, 0xaa
mov edx, 0x21
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.USER32.dll_DrawIconEx]
mov dword [rsp + 0xa8], eax
jmp 0x140148857
movsx eax, word [rsp + 0x138]
movsx ecx, word [rsp + 0x50]
sub eax, ecx
movsx ecx, word [rsp + 0x130]
cmp eax, ecx
jge 0x140148857
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0x1a6c37af
je 0x140148844
cmp dword [rsp + 0x68], 0x767bdf48
je 0x140148748
jmp 0x140148857
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.USER32.dll_DeregisterShellHookWindow]
mov dword [rsp + 0x8c], eax
mov r9d, dword [rsp + 0x148]
movzx r8d, word [rsp + 0x140]
movzx edx, word [rsp + 0x130]
movzx ecx, word [rsp + 0x50]
call fcn.140148540
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x54], eax
mov r9d, dword [rsp + 0x148]
movzx r8d, word [rsp + 0x140]
movzx edx, word [rsp + 0x50]
movzx ecx, word [rsp + 0x50]
call fcn.140148540
mov edx, 0x26
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov qword [rsp + 0xe0], rax
movsx eax, word [rsp + 0x50]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0x4aee
je 0x14014881e
cmp dword [rsp + 0x6c], 0x4e5c
je 0x1401487e2
jmp 0x140148842
mov r9d, dword [rsp + 0x148]
movzx r8d, word [rsp + 0x140]
movzx edx, word [rsp + 0x50]
movzx ecx, word [rsp + 0x130]
call fcn.140148540
movsx eax, word [rsp + 0x130]
movsx ecx, word [rsp + 0x138]
shl eax, cl
mov word [rsp + 0x50], ax
jmp 0x140148842
mov r8d, 0x2c
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.USER32.dll_GetDCEx]
mov qword [rsp + 0xf8], rax
jmp 0x140148857
mov ecx, 0xc5
call qword [sym.imp.USER32.dll_GetClipboardData]
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0x5f5f4d45
je 0x140148877
jmp 0x14014895e
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x54], eax
mov cl, 0x19
call fcn.140147df0
nop
movsx eax, word [rsp + 0x50]
movsx ecx, word [rsp + 0x138]
xor eax, ecx
movsx ecx, word [rsp + 0x130]
cmp eax, ecx
jne 0x1401488af
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x138], ax
mov edx, 1
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.USER32.dll_EnableWindow]
mov dword [rsp + 0x78], eax
movsx eax, word [rsp + 0x50]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0x2a19
je 0x140148940
cmp dword [rsp + 0x70], 0x48da
je 0x1401488e5
jmp 0x14014895c
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x138], ax
mov r9d, dword [rsp + 0x148]
movzx r8d, word [rsp + 0x140]
movzx edx, word [rsp + 0x50]
movzx ecx, word [rsp + 0x50]
call fcn.140148540
lea rcx, [rsp + 0x98]
call qword [sym.imp.USER32.dll_GetCaretPos]
mov dword [rsp + 0x8c], eax
movsx eax, word [rsp + 0x138]
movsx ecx, word [rsp + 0x130]
sar eax, cl
mov word [rsp + 0x50], ax
jmp 0x14014895c
lea rdx, str.Anticipating_deuces_Bedsores_Antifreeze_starryeyed
lea rcx, str.Absurdities_Badinage_dipsomania
call qword [sym.imp.USER32.dll_CharPrevW]
mov qword [rsp + 0x110], rax
jmp 0x1401489db
movzx eax, word [rsp + 0x140]
cmp eax, 0xa03
jne 0x1401489c6
mov r9d, dword [rsp + 0x148]
movzx r8d, word [rsp + 0x140]
movzx edx, word [rsp + 0x50]
movzx ecx, word [rsp + 0x50]
call fcn.140148540
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x130], ax
mov cl, 0xb7
call fcn.140147df0
xor r9d, r9d
mov r8d, 0xc7
mov edx, 0x6d
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.USER32.dll_SetScrollPos]
mov dword [rsp + 0x90], eax
jmp 0x1401489db
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x54], eax
mov byte [rsp + 0x5c], 0x43
mov byte [rsp + 0x5d], 0x59
lea rax, [rsp + 0x50]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movsx eax, word [rax]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x140148a0a
cmp dword [rsp + 0x74], 0xe3f
je 0x140148a47
jmp 0x140148a51
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax]
mov word [rsp + 0x7c], ax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0xac], eax
movzx eax, word [rsp + 0x140]
mov word [rsp + 0x80], ax
jmp 0x140148a51
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov dword [rsp + 0x78], eax
mov eax, dword [0x140168a78]
add rsp, 0x128
ret