Function at 0x1400474b0
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x10568
call fcn.1400decd0
sub rsp, rax
lea rbp, [rsp + 0x40]
mov r15, qword [0x1401386c0]
mov rax, rcx
mov qword [rbp + 0x10], r15
test r15, r15
jne 0x140047508
cmp dword [0x140139560], 1
sete dl
xor ecx, ecx
mov dword [0x140139560], ecx
xor dl, 1
mov rcx, rax
call fcn.140040b90
jmp 0x140048523
mov r13, qword [0x140138780]
lea rcx, [rbp + 0x520]
mov r14, qword [0x140138788]
xor r12d, r12d
xor edx, edx
mov qword [rbp + 0x18], r13
mov r8d, 0x8000
mov qword [rbp + 8], r14
mov dword [0x140139560], r12d
call fcn.1400c7510
xor edx, edx
lea rcx, [rbp + 0x8520]
mov r8d, 0x8000
call fcn.1400c7510
mov rdi, qword [0x140138778]
lea rax, [rbp + 0x520]
mov qword [0x1401395b0], rax
xor bl, bl
mov eax, r12d
mov dword [0x1401395b8], r12d
mov edx, 0x3fff
mov dword [rbp], eax
mov dword [0x1401395a4], 1
mov word [0x1401395a8], r12w
mov dword [0x1401395bc], edx
movzx eax, word [rdi]
mov byte [rbp + 0x10578], bl
test ax, ax
je 0x1400476a9
lea rsi, [rdi + 2]
mov r14d, edx
nop word [rax + rax]
movzx ebx, ax
test ebx, 0xffffff80
jne 0x1400475ce
mov edx, 2
mov ecx, ebx
call fcn.1400cb124
test eax, eax
je 0x1400475ce
and ebx, 0xffffffdf
movzx eax, bx
add eax, 0xffffffd6
cmp eax, 0x2c
ja case.0x1400475f8.43
lea rdx, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
cdqe
movzx eax, byte [rdx + rax + 0x48564]
mov ecx, dword [rdx + rax*4 + 0x48538]
add rcx, rdx
jmp rcx
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 1]
call fcn.140001550
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x140047610
test rcx, rcx
je case.0x1400475f8.43
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 1]
call fcn.140001550
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x140047632
cmp ecx, r14d
cmovg ecx, r14d
xor r8d, r8d
mov dword [0x1401395b8], ecx
movsxd rbx, ecx
mov rcx, r15
lea edx, [r8 + 1]
call fcn.140001550
mov rdx, rax
lea rcx, [rbp + 0x520]
mov r8, rbx
call fcn.1400cc9b8
mov rcx, r12
movzx eax, word [rbp + rcx + 0x520]
mov word [rbp + rcx + 0x8520], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140047670
movzx ebx, byte [rbp + 0x10578]
movzx eax, word [rdi + 2]
add rdi, 2
add rsi, 2
test ax, ax
jne 0x1400475b0
mov r14, qword [rbp + 8]
xor edx, edx
lea rcx, [rbp + 0x120]
mov r8d, 0x100
call fcn.1400c7510
xor edx, edx
lea rcx, [rbp + 0x320]
mov r8d, 0x200
call fcn.1400c7510
xor ecx, ecx
mov r15, r13
mov word [rbp + 0x1058a], cx
lea edx, [rcx + 0x7d]
cmp word [r13], cx
je 0x1400478cc
lea rsi, [0x140130210]
xor r13d, r13d
nop word [rax + rax]
mov word [rbp + 0x10588], r13w
movzx eax, word [r15]
cmp eax, 0x7b
je 0x140047966
cmp eax, 0x7d
je 0x1400478a8
test bl, bl
je 0x1400477cf
inc r12
jmp 0x1400478a8
mov byte [0x1401395a4], r12b
jmp case.0x1400475f8.43
mov byte [0x1401395a5], 1
jmp case.0x1400475f8.43
mov byte [0x1401395a6], 1
jmp case.0x1400475f8.43
mov byte [0x1401395a7], 1
jmp case.0x1400475f8.43
mov rcx, rsi
call fcn.1400cc148
movzx ebx, byte [rbp + 0x10578]
mov edx, 0x3fff
mov dword [0x1401395bc], eax
mov r14d, edx
cmp eax, edx
jle 0x140047690
mov dword [0x1401395bc], edx
jmp 0x140047690
mov rcx, rsi
call fcn.14001f720
mulsd xmm0, qword [0x14011bb68]
cvttsd2si eax, xmm0
mov dword [rbp], eax
jmp case.0x1400475f8.43
mov byte [0x1401395a8], 1
jmp case.0x1400475f8.43
mov byte [0x1401395a9], 1
jmp case.0x1400475f8.43
mov bl, 1
mov byte [rbp + 0x10578], bl
jmp 0x140047690
xor ecx, ecx
mov word [rbp + 0x10588], ax
mov byte [rbp + 0x10580], r13b
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx ecx, word [rbp + 0x10588]
test cx, cx
je 0x1400478a3
cmp word [rbp + 0x1058a], r13w
jne 0x14004781b
mov r8, rax
lea rdx, [rbp + 0x10580]
call fcn.140014db0
movzx ebx, al
mov edx, 0x7d
jmp 0x140047aa8
movzx ebx, cx
test ebx, 0xffffff80
jne 0x140047839
mov edx, 2
mov ecx, ebx
call fcn.1400cb124
test eax, eax
je 0x140047839
and ebx, 0xffffffdf
cmp bx, 0x56
jne 0x14004786f
movzx ecx, word [rbp + 0x1058a]
call fcn.14000b150
cmp ax, 0x4b
jne 0x14004786f
xor edx, edx
lea rcx, [rbp + 0x1058c]
lea r8d, [rdx + 0x10]
call fcn.1400cc5c8
mov ebx, eax
mov edx, 0x7d
jmp 0x140047aa8
lea r14, str.Numpad0
mov rdi, r13
mov rbx, r14
nop dword [rax]
mov rcx, qword [rbx]
lea rdx, [rbp + 0x10588]
call fcn.1400c8580
test eax, eax
je 0x140047953
inc rdi
add rbx, 0x10
cmp rbx, rsi
jl 0x140047880
mov edx, 0x7d
movzx ebx, byte [rbp + 0x10578]
lea rsi, [0x140130210]
add r15, 2
cmp word [r15], r13w
jne 0x140047700
mov r13, qword [rbp + 0x18]
mov r14, qword [rbp + 8]
lea r15, [0x140117ad8]
mov qword [0x140139578], r15
test r12, r12
je 0x140047b57
lea rax, [r12*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400478fe
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400decd0
sub rsp, rcx
lea rbx, [rsp + 0x40]
mov qword [0x140139578], rbx
cmp word [r13], 0
je 0x140047b50
nop word [rax + rax]
movzx eax, word [r13]
cmp eax, 0x7b
je 0x140047aff
cmp eax, 0x7d
je 0x140047b3b
mov word [rbx], ax
add rbx, 2
jmp 0x140047b3b
add rdi, rdi
mov edx, 0x7d
movzx ebx, byte [r14 + rdi*8 + 8]
jmp 0x140047aa8
lea rsi, [r15 + 2]
mov rcx, rsi
call fcn.1400c6908
mov r14, rax
test rax, rax
je 0x1400478a3
mov rcx, rax
sub rcx, r15
sar rcx, 1
sub rcx, 1
jne 0x14004799e
add r14, 2
cmp word [r14], 0x7d
jne 0x1400478a3
jmp 0x1400479a4
cmp rcx, 1
jne 0x1400479ba
test bl, bl
je 0x1400479b0
inc r12
jmp 0x1400478a3
movzx eax, word [rsi]
mov word [rbp + 0x10588], ax
xor ecx, ecx
mov word [r14], r13w
mov byte [rbp + 0x10580], r13b
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx ecx, word [rsi]
test cx, cx
jne 0x1400479dc
xor bl, bl
jmp 0x140047a84
cmp word [rsi + 2], r13w
jne 0x1400479fa
mov r8, rax
lea rdx, [rbp + 0x10580]
call fcn.140014db0
movzx ebx, al
jmp 0x140047a80
movzx ebx, cx
test ebx, 0xffffff80
jne 0x140047a18
mov edx, 2
mov ecx, ebx
call fcn.1400cb124
test eax, eax
je 0x140047a18
and ebx, 0xffffffdf
cmp bx, 0x56
jne 0x140047a41
movzx ecx, word [rsi + 2]
call fcn.14000b150
cmp ax, 0x4b
jne 0x140047a41
xor edx, edx
lea rcx, [rsi + 4]
lea r8d, [rdx + 0x10]
call fcn.1400cc5c8
movzx ebx, al
jmp 0x140047a80
mov rdi, r13
lea rbx, str.Numpad0
lea r15, [0x140130210]
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.1400c8580
test eax, eax
je 0x140047a71
inc rdi
add rbx, 0x10
cmp rbx, r15
jl 0x140047a52
xor bl, bl
jmp 0x140047a84
add rdi, rdi
lea rax, str.Numpad0
movzx ebx, byte [rax + rdi*8 + 8]
test bl, bl
jne 0x140047a9c
mov rcx, rsi
call fcn.140014b90
test ax, ax
je 0x140047a9c
movzx eax, ax
mov byte [rbp + rax + 0x320], 1
mov edx, 0x7d
mov r15, r14
mov word [r14], dx
test bl, bl
je 0x1400478a8
movzx ecx, word [rbp + 0x10588]
movzx ebx, bl
or byte [rbp + rbx + 0x120], 1
test cx, cx
je 0x1400478a8
call qword [sym.imp.USER32.dll_IsCharAlphaW]
test eax, eax
jne 0x1400478a3
test byte [rbp + 0x10580], 0x30
lea edx, [rax + 0x7d]
je 0x140047af2
or byte [rbp + rbx + 0x120], 2
jmp 0x1400478a8
or byte [rbp + rbx + 0x120], 4
jmp 0x1400478a8
lea rdi, [r13 + 2]
mov rcx, rdi
call fcn.1400c6908
mov rdx, rax
test rax, rax
je 0x140047b3b
cmp rax, rdi
jne 0x140047b25
cmp word [rax + 2], 0x7d
lea rcx, [rax + 2]
cmove rdx, rcx
lea rax, [r13 + 4]
cmp rdx, rax
jne 0x140047b38
movzx eax, word [rdi]
mov word [rbx], ax
add rbx, 2
mov r13, rdx
add r13, 2
mov edx, 0x7d
cmp word [r13], 0
jne 0x140047930
xor r12d, r12d
mov word [rbx], r12w
mov dword [0x140139590], r12d
cmp word [r14], 0
je 0x140047d39
cmp qword [0x140139588], 0
jne 0x140047bb1
mov ecx, 0x2000
call fcn.1400c86f8
mov qword [0x140139588], rax
test rax, rax
jne 0x140047ba7
mov rcx, qword [rbp + 0x10570]
lea rdx, str.Out_of_memory.
mov r9, r15
xor r8d, r8d
call fcn.140040d50
jmp 0x140048523
mov dword [0x140139594], 0x400
mov rdi, qword [rbp + 0x10570]
mov edx, 3
mov rcx, rdi
call fcn.1400303b0
mov ecx, dword [0x1401395a0]
inc rax
cmp rax, rcx
jbe 0x140047c33
mov rcx, qword [0x140139598]
mov edx, 0x1000
cmp rax, rdx
cmova edx, eax
mov dword [0x1401395a0], edx
test rcx, rcx
je 0x140047bfb
call fcn.1400cc1a0
mov edx, dword [0x1401395a0]
lea ecx, [rdx + rdx]
call fcn.1400c86f8
mov qword [0x140139598], rax
mov rdx, rax
test rax, rax
jne 0x140047c3a
mov dword [0x1401395a0], r12d
mov r9, r15
lea rdx, str.Out_of_memory.
xor r8d, r8d
mov rcx, rdi
call fcn.140040d50
jmp 0x140048523
mov rdx, qword [0x140139598]
mov ecx, dword [0x140139590]
mov rax, qword [0x140139588]
mov qword [rax + rcx*8], rdx
cmp word [r14], 0
mov rbx, qword [0x140139598]
je 0x140047d16
mov esi, 0x2c
movzx eax, word [r14]
cmp ax, si
je 0x140047c77
mov word [rbx], ax
add rbx, 2
jmp 0x140047d07
cmp word [r14 + 2], si
jne 0x140047c8b
mov word [rbx], si
add rbx, 2
add r14, 2
jmp 0x140047d07
mov word [rbx], r12w
mov ecx, dword [0x140139590]
mov r8, qword [0x140139588]
mov rax, qword [r8 + rcx*8]
cmp word [rax], 0
je 0x140047cc9
inc ecx
mov dword [0x140139590], ecx
add rbx, 2
mov eax, ecx
mov qword [r8 + rcx*8], rbx
mov word [rbx], r12w
mov ecx, dword [0x140139590]
mov r8, qword [0x140139588]
cmp word [r14 + 2], 0
je 0x140047d07
mov eax, dword [0x140139594]
cmp ecx, eax
jb 0x140047d07
lea edx, [rax + 0x400]
mov rcx, r8
shl rdx, 3
call fcn.1400cc45c
test rax, rax
je 0x140047c19
add dword [0x140139594], 0x400
mov qword [0x140139588], rax
add r14, 2
cmp word [r14], 0
jne 0x140047c62
mov word [rbx], r12w
mov edx, dword [0x140139590]
mov rax, qword [0x140139588]
mov rcx, qword [rax + rdx*8]
cmp word [rcx], 0
je 0x140047d39
inc edx
mov dword [0x140139590], edx
cmp byte [0x140134070], 0
je 0x140047d86
mov rcx, qword [0x140134420]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call qword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x140134070]
test eax, eax
cmovne ecx, r12d
mov byte [0x140134070], cl
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetQueueStatus]
shr eax, 0x10
test al, 0x10
je 0x140047d86
mov edx, 1
or ecx, 0xffffffff
call fcn.1400018b0
cmp dword [0x1401395b8], 0
lea rax, [rbp + 0x120]
mov r15, qword [rbp + 0x10]
lea r13, [0x140139518]
mov qword [0x140139568], rax
lea rax, [rbp + 0x320]
mov qword [0x140139570], rax
mov dword [0x140139560], 1
jne 0x140047e2e
cmp byte [r15 + 0x23], 0
jne 0x140047dd7
mov rcx, qword [r15 + 0x10]
xor r8d, r8d
xor edx, edx
call fcn.1400ab740
jmp 0x140047e2e
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x140047def
mov rcx, qword [r15]
and al, 0x3d
mov byte [r15 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
and byte [r15 + 0x21], 0x82
movzx ecx, byte [r15 + 0x20]
mov qword [r15 + 0x10], r12
sub ecx, 1
je 0x140047e26
cmp ecx, 1
jne 0x140047e2e
cmp qword [r15 + 0x18], 0
je 0x140047e2e
mov rcx, qword [r15 + 8]
call fcn.1400cc1a0
and byte [r15 + 0x21], 0x7f
mov qword [r15 + 0x18], r12
mov qword [r15 + 8], r13
jmp 0x140047e2e
mov rax, qword [r15 + 8]
mov word [rax], r12w
or byte [0x14013535a], 1
cmp qword [0x140134450], 0
mov byte [0x140134434], 1
jne 0x140047e52
movzx edx, word [0x140137314]
call fcn.140009a20
mov eax, dword [rbp]
mov edx, 0xa
test eax, eax
jle 0x140047e97
cmp byte [0x140134070], 0
jne 0x140047e97
mov rcx, qword [0x140134420]
lea r9, [0x140004630]
cmp eax, edx
cmovl eax, edx
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8d, eax
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
mov edx, 0xa
setne byte [0x140134070]
mov r14d, dword gs:[0x48]
lea rdi, [0x1400ee140]
mov esi, 0xffffffff
nop dword [rax]
cmp dword [0x140139538], r14d
jne 0x140047eca
mov edx, 1
mov ecx, 0x8000012f
call fcn.1400018b0
jmp 0x140047ed2
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [r15 + 0x23], 0
jne 0x140047edf
mov rbx, qword [r15 + 0x10]
jmp 0x140047ee2
mov rbx, r15
test byte [rbx + 0x21], 8
je 0x140047ef0
mov rcx, rbx
call fcn.140001420
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x140047f0c
test byte [rbx + 0x21], 4
je 0x140047f06
mov rdx, rbx
call fcn.140041b00
mov rbx, qword [rbx + 8]
jmp 0x140047f66
cmp al, 2
jne 0x140047f63
mov rdx, qword [0x14013a238]
test rdx, rdx
je 0x140047f21
mov rbx, rdx
jmp 0x140047f66
mov ecx, SafeArrayDestroy
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140047f48
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea rbx, [0x140117ad8]
cmovne rbx, rdi
jmp 0x140047f66
xor edx, edx
call fcn.140004f70
cmp rax, rsi
lea rbx, [0x140117ad8]
cmovne rbx, qword [0x14013a230]
jmp 0x140047f66
mov rbx, r13
or rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp word [rbx + rsi*2], 0
jne 0x140047f70
mov eax, 0x3fff
cmp esi, eax
cmovg esi, eax
cmp byte [r15 + 0x23], 0
jne 0x140047f91
mov rdi, qword [r15 + 0x10]
jmp 0x140047f94
mov rdi, r15
test byte [rdi + 0x21], 8
je 0x140047fa2
mov rcx, rdi
call fcn.140001420
movzx eax, byte [rdi + 0x23]
cmp al, 1
jne 0x140047fbe
test byte [rdi + 0x21], 4
je 0x140047fb8
mov rdx, rdi
call fcn.140041b00
mov rdx, qword [rdi + 8]
jmp 0x14004801d
cmp al, 2
jne 0x14004801a
mov rdx, qword [0x14013a238]
test rdx, rdx
jne 0x14004801d
lea ecx, [rdx + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140047ffa
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea rdx, [0x140117ad8]
lea rdi, [0x1400ee140]
cmovne rdx, rdi
jmp 0x140048024
xor edx, edx
call fcn.140004f70
mov ecx, 0xffffffff
lea rdx, [0x140117ad8]
cmp rax, rcx
cmovne rdx, qword [0x14013a230]
jmp 0x14004801d
mov rdx, r13
lea rdi, [0x1400ee140]
mov eax, 1
lea rcx, [rbp + 0x8520]
test esi, esi
cmovne eax, esi
movsxd r8, eax
call fcn.1400d07a0
test eax, eax
jne 0x1400480fb
lea rax, [rbp + 0x8520]
lea r8, [rbp + 0x520]
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140048074
add rax, 2
test ecx, ecx
jne 0x140048060
test edx, edx
jne 0x1400480a2
lea r8, [rbp + 0x520]
sub r8, rbx
movzx ecx, word [rbx]
movzx eax, word [rbx + r8]
sub ecx, eax
jne 0x140048096
add rbx, 2
test eax, eax
jne 0x140048082
test ecx, ecx
jne 0x1400480fb
test edx, edx
je 0x1400481cd
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
lea rdx, [rbp + 0x520]
mov rcx, r15
call fcn.1400ab090
cmp dword [0x1401395b8], 0
je 0x1400480ee
mov rcx, r12
nop dword [rax]
movzx eax, word [rbp + rcx + 0x520]
mov word [rbp + rcx + 0x8520], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400480d0
jmp 0x1400481cd
mov word [rbp + 0x8520], r12w
jmp 0x1400481cd
mov dword [0x1401395b8], esi
cmp byte [r15 + 0x23], 0
jne 0x14004810e
mov rbx, qword [r15 + 0x10]
jmp 0x140048111
mov rbx, r15
test byte [rbx + 0x21], 8
je 0x14004811f
mov rcx, rbx
call fcn.140001420
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x14004813b
test byte [rbx + 0x21], 4
je 0x140048135
mov rdx, rbx
call fcn.140041b00
mov rdx, qword [rbx + 8]
jmp 0x140048193
cmp al, 2
jne 0x140048190
mov rdx, qword [0x14013a238]
test rdx, rdx
jne 0x140048193
lea ecx, [rdx + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140048170
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea rdx, [0x140117ad8]
cmovne rdx, rdi
jmp 0x140048193
xor edx, edx
call fcn.140004f70
mov ecx, 0xffffffff
lea rdx, [0x140117ad8]
cmp rax, rcx
cmovne rdx, qword [0x14013a230]
jmp 0x140048193
mov rdx, r13
movsxd rbx, esi
lea rcx, [rbp + 0x520]
mov r8, rbx
call fcn.1400cc9b8
mov r8, rbx
mov word [rbp + rbx*2 + 0x520], r12w
lea rdx, [rbp + 0x520]
lea rcx, [rbp + 0x8520]
call fcn.1400cc9b8
mov word [rbp + rbx*2 + 0x8520], r12w
mov ecx, dword [0x140139560]
lea rdi, [0x1400ee140]
mov esi, 0xffffffff
mov edx, 0xa
cmp ecx, 1
je 0x140047eb0
sub ecx, 2
je 0x140048430
sub ecx, 1
je 0x140048427
sub ecx, 1
je 0x140048234
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
cmp ecx, 1
mov rcx, qword [0x140134400]
je 0x140048228
lea rdx, str.NewInput
jmp 0x14004844a
lea rdx, [0x140115b40]
jmp 0x14004844a
movups xmm0, xmmword [str.EndKey:]
xor edx, edx
lea rcx, [rbp + 0x30]
mov r8d, 0xf0
movaps xmmword [rbp + 0x20], xmm0
call fcn.1400c7510
movzx eax, word [0x140139584]
test ax, ax
je 0x14004826e
mov word [rbp + 0x2e], ax
lea rdx, [rbp + 0x20]
mov word [rbp + 0x30], r12w
jmp 0x140048437
cmp byte [0x140139587], 0
je 0x140048316
xor edx, edx
lea rcx, [rbp + 0x220]
mov r8d, 0x100
call fcn.1400c7510
or byte [rbp + 0x230], 0x80
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x1400482ae
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
jmp 0x1400482b1
mov eax, r12d
mov ecx, eax
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
cmp dword [0x140134074], 0
mov edi, r12d
movzx ecx, byte [0x140139580]
mov rbx, rax
setne dil
xor edx, edx
call fcn.140015190
movzx ecx, byte [0x140139580]
lea r9, [rbp + 0x2e]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x220]
movzx edx, ax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 2
call qword [sym.imp.USER32.dll_ToUnicodeEx]
movsxd rcx, eax
lea rdx, [rbp + 0x20]
mov word [rbp + rcx*2 + 0x2e], r12w
jmp 0x140048437
cmp byte [0x140139586], 0
mov ecx, r12d
je 0x14004837c
movzx edx, word [0x140139582]
lea rax, [0x14012fa78]
lea r8, [0x14012fb48]
cmp word [rax], dx
je 0x140048365
inc ecx
add rax, 0x10
cmp rax, r8
jl 0x140048337
movzx r9d, dx
lea r8, str.sc_03X
mov edx, 0x79
lea rcx, [rbp + 0x2e]
call fcn.1400a6680
jmp 0x14004840a
movsxd rdx, ecx
lea rax, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
add rdx, rdx
mov rdx, qword [rax + rdx*8 + 0x12fa70]
jmp 0x1400483f3
movzx ebx, byte [0x140139580]
lea rax, [0x14012fb48]
lea rdx, [0x140130218]
cmp byte [rax], bl
je 0x1400483e2
inc ecx
add rax, 0x10
cmp rax, rdx
jl 0x140048391
movzx ecx, bl
call fcn.140014a00
mov word [rbp + 0x2e], ax
test ax, ax
je 0x1400483b8
mov word [rbp + 0x30], r12w
jmp 0x14004840a
test bl, bl
je 0x1400483d7
movzx r9d, bl
lea r8, str.vk_02X
mov edx, 0x79
lea rcx, [rbp + 0x2e]
call fcn.1400a6680
jmp 0x14004840a
mov word [rbp + 0x2e], r12w
lea rdx, [rbp + 0x20]
jmp 0x140048437
movsxd rdx, ecx
lea rax, str.Numpad0
add rdx, rdx
mov rdx, qword [rax + rdx*8]
mov r8d, 0x78
lea rcx, [rbp + 0x2e]
call fcn.1400cc9b8
mov word [rbp + 0x11e], r12w
movzx eax, word [rbp + 0x2e]
sub ax, 0x61
cmp ax, 0x19
ja 0x140048421
mov eax, 0xffe0
add word [rbp + 0x2e], ax
lea rdx, [rbp + 0x20]
jmp 0x140048437
lea rdx, str.Match
jmp 0x140048437
lea rdx, str.Timeout
mov rcx, qword [0x140134400]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400ab090
cmp byte [0x140134070], 0
mov dword [0x140139560], r12d
je 0x1400484a3
mov rcx, qword [0x140134420]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call qword [sym.imp.USER32.dll_KillTimer]
movzx edx, byte [0x140134070]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
test eax, eax
cmovne edx, r12d
mov byte [0x140134070], dl
call qword [sym.imp.USER32.dll_GetQueueStatus]
shr eax, 0x10
test al, 0x10
je 0x1400484a3
mov edx, 1
or ecx, 0xffffffff
call fcn.1400018b0
lea rcx, [rbp + 0x520]
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400484b0
test rax, rax
jne 0x140048508
cmp byte [r15 + 0x23], al
jne 0x1400484cb
mov rax, qword [r15 + 0x10]
jmp 0x1400484ce
mov rax, r15
cmp byte [rax + 0x23], 2
jne 0x1400484dc
mov eax, dword [0x14013a248]
jmp 0x1400484e0
mov rax, qword [rax + 0x18]
cmp rax, 2
jb 0x140048508
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
lea rdx, [0x140117ad8]
mov rcx, r15
call fcn.1400ab090
mov eax, 1
jmp 0x140048523
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
lea rdx, [rbp + 0x520]
mov rcx, r15
call fcn.1400ab090
lea rsp, [rbp + 0x10528]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret