Function at 0x14014dee0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rdx
mov byte [rcx], 1
mov rsi, rcx
lea rdx, str.keyboard.input_text
mov rcx, rdi
mov rbx, r8
call fcn.14001d8d0
test al, al
je 0x1400933f9
mov edx, 1
mov rcx, rbx
call fcn.14006e150
mov rcx, qword [rbx + 0x40]
xor edx, edx
add rcx, 0x58
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014dee0
lea rdx, str.keyboard.input_ctrl_x
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x14009343a
mov edx, 6
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
movzx ecx, byte [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014dd20
lea rdx, str.keyboard.input_alt_x
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x14009347b
mov edx, 6
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
movzx ecx, byte [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014d730
lea rdx, str.keyboard.input_ctrl_alt_x
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x1400934bc
mov edx, 6
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
movzx ecx, byte [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014da20
lea rdx, str.keyboard.input_ctrl_fx
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x1400934fc
mov edx, 2
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
mov ecx, dword [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014dbd0
lea rdx, str.keyboard.input_alt_fx
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x14009353c
mov edx, 2
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
mov ecx, dword [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014d5e0
lea rdx, str.keyboard.input_ctrl_alt_fx
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x14009357c
mov edx, 2
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
mov ecx, dword [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014d860
lea rdx, str.keyboard.input_fx
mov rcx, rdi
call fcn.14001d8d0
test al, al
je 0x1400935bc
mov edx, 2
mov rcx, rbx
call fcn.14006e150
mov rax, qword [rbx + 0x40]
xor edx, edx
mov ecx, dword [rax + 0x80]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14014de50
mov rbx, qword [rsp + 0x30]
mov byte [rsi], 0
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
mov ebx, ecx
lea eax, [rcx - 1]
cmp eax, 0xb
ja 0x14014d716
test rdx, rdx
je 0x14014d617
mov rcx, rdx
call qword [sym.imp.USER32.dll_SetFocus]
mov edi, reloc.ODBC32.dll_SQLNumResultCols
mov word [rbp + 0x10], di
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rdi + 0x20]
call sub.KERNEL32.dll_Sleep
add bx, 0x6f
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
movzx ebx, cl
test rdx, rdx
je 0x14014d75c
mov rcx, rdx
call qword [sym.imp.USER32.dll_SetFocus]
mov edi, reloc.ODBC32.dll_SQLNumResultCols
mov word [rbp + 0x10], di
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rdi + 0x20]
call sub.KERNEL32.dll_Sleep
movsx ebx, bl
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x16]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x11]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov ebx, ecx
lea eax, [rcx - 1]
cmp eax, 0xb
ja 0x14014da0e
test rdx, rdx
je 0x14014d894
mov rcx, rdx
call qword [sym.imp.USER32.dll_SetFocus]
mov esi, reloc.WS2_32.dll_recvfrom
mov word [rbp + 0x20], si
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], si
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rsi + 0x21]
call sub.KERNEL32.dll_Sleep
mov edi, reloc.ODBC32.dll_SQLNumResultCols
mov word [rbp + 0x30], di
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rsi + 0x21]
call sub.KERNEL32.dll_Sleep
add bx, 0x6f
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
mov dword [rbp - 0x1c], 2
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
mov dword [rbp - 0x1c], 2
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], si
mov dword [rbp - 0x1c], 2
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
movzx ebx, cl
test rdx, rdx
je 0x14014da4c
mov rcx, rdx
call qword [sym.imp.USER32.dll_SetFocus]
mov esi, reloc.WS2_32.dll_recvfrom
mov word [rbp + 0x20], si
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], si
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rsi + 0x21]
call sub.KERNEL32.dll_Sleep
mov edi, reloc.ODBC32.dll_SQLNumResultCols
mov word [rbp + 0x28], di
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rsi + 0x21]
call sub.KERNEL32.dll_Sleep
movsx ebx, bl
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
mov dword [rbp - 0x1c], 2
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
mov dword [rbp - 0x1c], 2
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], si
mov dword [rbp - 0x1c], 2
lea r8d, [rsi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rsi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
mov ebx, ecx
lea eax, [rcx - 1]
cmp eax, 0xb
ja 0x14014dd06
test rdx, rdx
je 0x14014dc07
mov rcx, rdx
call qword [sym.imp.USER32.dll_SetFocus]
mov edi, reloc.WS2_32.dll_recvfrom
mov word [rbp + 0x10], di
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rdi + 0x21]
call sub.KERNEL32.dll_Sleep
add bx, 0x6f
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
movzx ebx, cl
test rdx, rdx
je 0x14014dd4c
mov rcx, rdx
call qword [sym.imp.USER32.dll_SetFocus]
mov edi, reloc.WS2_32.dll_recvfrom
mov word [rbp + 0x10], di
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
lea ecx, [rdi + 0x21]
call sub.KERNEL32.dll_Sleep
movsx ebx, bl
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], bx
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
nop
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], 1
mov word [rbp - 0x20], di
mov dword [rbp - 0x1c], 2
lea r8d, [rdi + 0x17]
lea rdx, [rbp - 0x28]
lea ecx, [rdi - 0x10]
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
push rbx
sub rsp, 0x50
xor eax, eax
lea ebx, [rcx + 0x6f]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
lea r8d, [rax + 0x28]
mov qword [rsp + 0x38], rax
lea ecx, [rax + 1]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], 1
mov word [rsp + 0x28], bx
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rax
lea r8d, [rax + 0x28]
mov qword [rsp + 0x38], rax
lea ecx, [rax + 1]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], 1
mov word [rsp + 0x28], bx
mov dword [rsp + 0x2c], 2
call qword [sym.imp.USER32.dll_SendInput]
xor eax, eax
add rsp, 0x50
pop rbx
ret
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov r15, rdx
mov r14, rcx
call fcn.140026e10
test eax, eax
je 0x14014e161
mov qword [rsp + 0xf8], rsi
mov rcx, r14
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], r13
call fcn.140026e10
xor r13d, r13d
mov r12d, eax
mov esi, r13d
test eax, eax
jle 0x14014e15a
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0x100], rdi
mov edi, 0x100
nop dword [rax + rax]
mov edx, esi
mov rcx, r14
call fcn.14001d960
mov edx, esi
mov rcx, r14
call fcn.14001d960
mov edx, esi
mov rcx, r14
movzx ebx, word [rax]
call fcn.14001d960
movzx ecx, word [rax]
cmp bx, di
jae 0x14014e0fc
call qword [sym.imp.USER32.dll_VkKeyScanW]
movzx ebx, ax
test r15, r15
je 0x14014df94
mov rcx, r15
call qword [sym.imp.USER32.dll_SetFocus]
cmp bx, 0xffff
jne 0x14014dfb1
mov edx, esi
mov rcx, r14
call fcn.14001d960
movzx ecx, word [rax]
call fcn.14014e170
jmp 0x14014e0ba
test bx, bx
jns 0x14014dfbc
not bx
inc bx
movzx edi, bx
mov ecx, reloc.ODBC32.dll_SQLRowCount
sar di, 8
and dil, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test al, 1
je 0x14014e01a
mov edx, esi
mov rcx, r14
call fcn.14001d960
cmp word [rax], 0x61
jb 0x14014dff6
mov edx, esi
mov rcx, r14
call fcn.14001d960
cmp word [rax], 0x7a
jbe 0x14014e016
mov edx, esi
mov rcx, r14
call fcn.14001d960
cmp word [rax], 0x41
jb 0x14014e01a
mov edx, esi
mov rcx, r14
call fcn.14001d960
cmp word [rax], 0x5a
ja 0x14014e01a
xor dil, 1
xor edx, edx
lea rcx, [rbp - 0x19]
mov eax, 0xff
and bx, ax
lea r8d, [rdx + 0x50]
call fcn.140285450
test dil, dil
je 0x14014e057
mov eax, reloc.ODBC32.dll_SQLFreeStmt
mov dword [rbp - 0x19], 1
lea rdx, [rbp - 0x19]
mov word [rbp - 0x11], ax
lea r8d, [rax + 0x18]
lea ecx, [rax - 0xf]
call qword [sym.imp.USER32.dll_SendInput]
mov r8d, 0x28
mov dword [rbp - 0x19], 1
lea rdx, [rbp - 0x19]
mov word [rbp - 0x11], bx
mov dword [rbp + 0xf], 1
mov word [rbp + 0x17], bx
lea ecx, [r8 - 0x26]
mov dword [rbp + 0x1b], 2
call qword [sym.imp.USER32.dll_SendInput]
test dil, dil
je 0x14014e0b5
mov eax, reloc.ODBC32.dll_SQLFreeStmt
mov dword [rbp - 0x19], 1
lea rdx, [rbp - 0x19]
mov word [rbp - 0x11], ax
mov dword [rbp - 0xd], 2
lea r8d, [rax + 0x18]
lea ecx, [rax - 0xf]
call qword [sym.imp.USER32.dll_SendInput]
mov edi, 0x100
inc esi
cmp esi, r12d
jl 0x14014df50
mov rdi, qword [rsp + 0x100]
xor eax, eax
mov rbx, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xc0]
add rsp, 0xd0
pop r15
pop r14
pop rbp
ret
xorps xmm0, xmm0
mov word [rbp - 0x5f], cx
mov r8d, 0x28
mov word [rbp - 0x37], cx
lea rdx, [rbp - 0x69]
mov qword [rbp - 0x69], 1
movdqa xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], r13
lea ecx, [r8 - 0x26]
mov qword [rbp - 0x41], 1
mov qword [rbp - 0x31], r13
movdqa xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x61], r13w
mov dword [rbp - 0x5d], 4
mov word [rbp - 0x39], r13w
mov dword [rbp - 0x35], 6
call qword [sym.imp.USER32.dll_SendInput]
jmp 0x14014e0ba
xor eax, eax
jmp 0x14014e0d7
xor eax, eax
add rsp, 0xd0
pop r15
pop r14
pop rbp
ret