Function at 0x140104ab0
Capabilities:
Check if file exists
Log keystrokes via polling

Disassembly:
push rbx
push rdi
sub rsp, 0x2d8
mov rax, qword [0x1402a6808]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
mov eax, dword [rdx + 0x10]
mov rdi, rdx
mov rbx, rcx
cmp eax, 0x41b
jne 0x140104b1b
mov eax, dword [rcx + 0x18c]
xor r9d, r9d
mov rcx, qword [rcx + 0x10]
add eax, 0xac31
movsxd r8, eax
mov edx, 0x111
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x18]
xor r8d, r8d
cmp byte [rbx + 0x80], r8b
sete r8b
xor edx, edx
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
jmp 0x140104fae
mov rcx, qword [rcx + 0xa0]
cmp qword [rdx], rcx
jne 0x140104fae
mov dword [rsp + 0x30], 5
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x50], 0x104
cmp eax, 0xfffffe62
ja 0x140104e94
je 0x140104e4b
cmp eax, 0xfffffe34
je 0x140104bf9
cmp eax, 0xfffffe38
je 0x140104be5
cmp eax, 0xfffffe39
jne 0x140104fae
mov rdx, qword [rdi + 0x60]
mov rcx, rbx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], 0x22
call fcn.140103290
cmp eax, 2
jne 0x140104fae
mov eax, dword [rdi + 0x18]
cmp eax, 1
jne 0x140104bbe
mov rdx, qword [rdi + 0x60]
lea rcx, [rbx + 0x88]
mov r9d, 4
mov r8d, r9d
call fcn.140126c70
jmp 0x140104fae
cmp eax, 2
jne 0x140104fae
mov rdx, qword [rdi + 0x60]
lea rcx, [rbx + 0x88]
mov r9d, 3
mov r8d, r9d
call fcn.140126c70
jmp 0x140104fae
lea rcx, [rbx + 0x88]
mov rdx, rdi
call fcn.140125620
jmp 0x140104fae
cmp qword [rdi + 0x30], 0
je 0x140104fae
mov rax, qword [rdi + 0x20]
lea r9, [rsp + 0x68]
xor r8d, r8d
mov qword [rsp + 0x70], rax
mov edx, 0x113e
mov dword [rsp + 0x68], 6
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rsp + 0x8c], 1
jbe 0x140104fae
cmp qword [rdi + 0x48], 0
je 0x140104e23
mov rcx, qword [rbx + 0xa0]
xor r9d, r9d
mov qword [rsp + 0x308], rsi
mov edx, 0x110a
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2c8], r14
lea r8d, [r9 + 9]
mov qword [rsp + 0x2c0], r15
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0xa0]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov edx, 0x113e
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rsi, qword [rdi + 0x48]
mov r11, 0xffffffffffffffff
mov r14, qword [rsp + 0x48]
mov r9, r11
movsxd r12, eax
nop word [rax + rax]
inc r9
cmp word [r14 + r9*2], 0
jne 0x140104cc0
cmp qword [rsi + 0x18], 8
mov r15, rsi
jb 0x140104cd8
mov r15, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x300], rbp
test r9, r9
jne 0x140104cf5
cmp rcx, r11
mov r10, r11
cmovb r10, rcx
jmp 0x140104d5e
cmp r9, rcx
ja 0x140104d8e
movzx ebp, word [r14]
sub rcx, r9
mov rax, r11
cmp rcx, rax
cmovb rax, rcx
lea r10, [r15 + rax*2]
mov r8, r10
sub r8, r14
nop dword [rax]
cmp word [r10], bp
jne 0x140104de7
mov rdx, r9
mov rax, r14
test r9, r9
je 0x140104d58
nop word [rax + rax]
movzx ecx, word [rax]
cmp word [rax + r8], cx
jne 0x140104de7
add rax, 2
sub rdx, 1
jne 0x140104d40
sub r10, r15
sar r10, 1
cmp r10, r11
je 0x140104d8e
mov r9, qword [rdi + 0x30]
nop word [rax + rax]
inc r11
cmp word [r9 + r11*2], 0
jne 0x140104d70
mov r8, r12
mov qword [rsp + 0x20], r11
mov rdx, r10
mov rcx, rsi
call fcn.14002aa90
mov r15, qword [rsp + 0x2c0]
mov r14, qword [rsp + 0x2c8]
mov r12, qword [rsp + 0x2d0]
mov rbp, qword [rsp + 0x300]
mov dword [rsp + 0x30], 0x22
cmp qword [rsi + 0x18], 8
jb 0x140104dc0
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rsi, qword [rsp + 0x308]
test eax, eax
je 0x140104df9
mov dword [rsp + 0x54], 5
mov dword [rsp + 0x58], 5
jmp 0x140104e09
cmp r10, r15
je 0x140104d8e
sub r10, 2
sub r8, 2
jmp 0x140104d20
mov dword [rsp + 0x54], 6
mov dword [rsp + 0x58], 6
mov rcx, qword [rbx + 0xa0]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov edx, 0x113f
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0xa0]
lea r9, [rdi + 0x18]
xor r8d, r8d
mov edx, 0x113f
call qword [sym.imp.USER32.dll_SendMessageW]
mov dl, 1
mov rcx, rbx
call fcn.1401074b0
jmp 0x140104fae
xor r9d, r9d
xor r8d, r8d
mov edx, 0x110a
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, qword [rdi + 0x28]
jne 0x140104e6b
add rbx, 0x148
jmp 0x140104e78
mov rbx, qword [rdi + 0x30]
test rbx, rbx
je 0x140104fae
cmp qword [rbx + 0x18], 8
mov rax, rbx
jb 0x140104e85
mov rax, qword [rbx]
mov qword [rdi + 0x18], rax
mov eax, dword [rbx + 0x10]
mov dword [rdi + 0x20], eax
jmp 0x140104fae
cmp eax, 0xfffffe64
je 0x140104ecb
cmp eax, 0xfffffffc
je 0x140104eb6
cmp eax, 0xfffffffd
jne 0x140104fae
mov rcx, rbx
call fcn.140104fd0
jmp 0x140104fae
mov rcx, qword [rbx + 0x18]
xor edx, edx
lea r8d, [rdx + 1]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
jmp 0x140104fae
movzx eax, word [rdi + 0x18]
cmp ax, 0x2e
jne 0x140104f17
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, rbx
call fcn.140103290
lea ecx, [rax - 1]
cmp ecx, 1
jbe 0x140104f0d
cmp eax, 3
jne 0x140104fae
mov edx, 0xc2b
jmp 0x140104fa6
mov edx, 0xc2a
jmp 0x140104fa6
cmp ax, 0xd
jne 0x140104f63
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, rbx
mov rdi, rax
call fcn.140103290
cmp eax, 3
je 0x140104ea9
mov rcx, qword [rbx + 0xa0]
mov r9, rdi
mov edx, 0x1102
mov r8d, 3
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140104fae
cmp ax, 0x26
jne 0x140104f7f
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
test al, al
jns 0x140104fae
mov edx, 0xc2e
jmp 0x140104fa6
cmp ax, 0x28
jne 0x140104f9b
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
test al, al
jns 0x140104fae
mov edx, 0xc2f
jmp 0x140104fa6
cmp ax, 0x71
jne 0x140104fae
mov edx, 0xc27
mov rcx, rbx
call fcn.140105460
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.14017f700
add rsp, 0x2d8
pop rdi
pop rbx
ret