Function at 0x140049390
Capabilities:
Log keystrokes

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x18], r8d
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xc0
mov rax, qword [rbp + 0x87]
mov rdi, r9
mov r9, qword [rbp + 0x7f]
mov rbx, rcx
mov r8, qword [rbp + 0x77]
mov rdx, qword [rbp + 0x6f]
mov qword [rsp + 0x20], rax
call fcn.140059da0
mov qword [rbp - 0x61], rax
mov r12, rax
test rax, rax
je 0x140049603
mov rsi, qword [rbp + 0x67]
xor r15b, r15b
cmp word [rdi], 0
mov r13d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov dword [rbp - 0x69], 2
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x38], 0x80000000
mov dword [rbp - 0x7d], 0x80000000
mov qword [rbp - 0x71], r13
mov qword [rbp - 0x59], 0
je 0x140049525
lea r14, [rdi + 2]
lea r13, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
nop word [rax + rax]
movzx ebx, word [rdi]
test ebx, 0xffffff80
jne 0x14004945e
mov edx, 2
mov ecx, ebx
call fcn.1400cb124
test eax, eax
je 0x14004945e
and ebx, 0xffffffdf
movzx eax, bx
add eax, 0xffffffbc
cmp eax, 0x15
ja case.0x140049483.74
cdqe
movzx eax, byte [rax + r13 + 0x49a40]
mov ecx, dword [r13 + rax*4 + 0x49a24]
add rcx, r13
jmp rcx
mov dword [rbp - 0x69], 0
jmp case.0x140049483.74
mov dword [rbp - 0x69], 1
jmp case.0x140049483.74
movzx ebx, word [r14]
test ebx, 0xffffff80
jne 0x1400494b6
mov edx, 2
mov ecx, ebx
call fcn.1400cb124
test eax, eax
je 0x1400494b6
and ebx, 0xffffffdf
cmp bx, 0x41
jne case.0x140049483.74
add rdi, 2
mov byte [rsp + 0x30], 0
add r14, 2
jmp case.0x140049483.74
mov r8d, 3
lea rdx, [0x140114d18]
mov rcx, rdi
call fcn.1400cab68
test eax, eax
jne case.0x140049483.74
add rdi, 4
mov r15b, 1
add r14, 4
jmp case.0x140049483.74
mov rcx, r14
call fcn.1400cc148
mov dword [rsp + 0x38], eax
jmp case.0x140049483.74
mov rcx, r14
call fcn.1400cc148
mov dword [rbp - 0x7d], eax
add rdi, 2
add r14, 2
cmp word [rdi], 0
jne 0x140049440
mov r13, qword [rbp - 0x71]
test r15b, r15b
jne 0x140049540
mov rdx, rsi
mov rcx, r12
call fcn.1400ad0c0
mov r12, rax
test rax, rax
jne 0x1400496c4
mov r12, qword [rbp - 0x61]
xor eax, eax
mov qword [rbp - 0x29], rax
mov byte [rbp - 0x29], 1
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], rax
nop
movzx eax, word [rsi]
cmp ax, 0x20
je 0x14004956f
cmp ax, 9
jne 0x140049575
add rsi, 2
jmp 0x140049560
movzx ebx, word [rsi]
test ebx, 0xffffff80
jne 0x140049593
mov edx, 2
mov ecx, ebx
call fcn.1400cb124
test eax, eax
je 0x140049593
and ebx, 0xffffffdf
cmp bx, 0x58
jne 0x1400495ff
cmp word [rsi + 2], 0
lea rbx, [rsi + 2]
je 0x1400495ff
mov rcx, rbx
call fcn.14000f010
mov rcx, rbx
test al, al
je 0x1400495bf
mov r8d, r13d
xor edx, edx
call fcn.1400cc5c8
jmp 0x1400495c4
call fcn.1400cc148
movzx edx, word [rbx]
mov dword [rbp - 0x51], eax
test dx, dx
je 0x1400495ff
nop
lea rcx, [0x14010ca60]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14004963b
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x1400495e0
movzx edx, word [rbx + 2]
add rbx, 2
test dx, dx
jne 0x1400495d0
mov rbx, qword [rbp + 0x47]
mov rax, qword [0x14012fa58]
lea rdx, [0x14010c7dc]
cmp byte [rax + 0x150], 0
jne 0x1400499f4
mov rcx, qword [0x140134400]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400ab090
jmp 0x140049a06
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, 0x20
je 0x14004963b
cmp ax, 9
je 0x14004963b
movzx ecx, ax
test ax, ax
je 0x1400495ff
call fcn.1400d0cb8
cmp ax, 0x59
jne 0x1400495ff
cmp word [rbx + 2], 0
lea rcx, [rbx + 2]
je 0x1400495ff
call fcn.14000f080
lea rdx, [rbp - 0x11]
mov dword [rbp - 0x4d], eax
mov rcx, r12
call qword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [rbp - 0x11]
lea r8, [rbp - 0x51]
add dword [rbp - 0x51], eax
lea rdx, [0x140051550]
mov eax, dword [rbp - 0xd]
mov rcx, r12
add dword [rbp - 0x4d], eax
call qword [sym.imp.USER32.dll_EnumChildWindows]
mov rax, qword [rbp - 0x39]
lea rdx, [rsp + 0x38]
test rax, rax
cmovne r12, rax
mov rax, qword [rbp - 0x51]
mov rcx, r12
mov qword [rsp + 0x38], rax
call qword [sym.imp.USER32.dll_ScreenToClient]
mov r8d, dword [rbp + 0x57]
cmp r8d, 1
jl 0x1400499d3
cmp dword [rsp + 0x38], 0x80000000
je 0x1400496e5
cmp dword [rbp - 0x7d], 0x80000000
jne 0x14004972e
lea rdx, [rbp - 0x21]
mov rcx, r12
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x1400495ff
cmp dword [rsp + 0x38], 0x80000000
jne 0x140049713
mov eax, dword [rbp - 0x19]
sub eax, dword [rbp - 0x21]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x38], eax
cmp dword [rbp - 0x7d], 0x80000000
mov r8d, dword [rbp + 0x57]
jne 0x14004972e
mov eax, dword [rbp - 0x15]
sub eax, dword [rbp - 0x1d]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x7d], eax
movzx edx, byte [rbp + 0x4f]
movzx eax, word [rsp + 0x38]
movzx r15d, word [rbp - 0x7d]
shl r15, 0x10
or r15, rax
lea eax, [rdx + 0x62]
cmp al, 1
lea eax, [rdx + 0x64]
setbe r14b
cmp al, 1
setbe sil
test r14b, r14b
je 0x140049784
mov edi, dword [rbp - 0x79]
cmp dl, 0x9f
mov eax, 0xffffff88
mov ecx, 0x78
cmove eax, ecx
mov ebx, 0x20a
imul eax, r8d
shl eax, 0x10
cdqe
mov qword [rbp - 0x71], rax
jmp 0x140049834
test sil, sil
je 0x1400497b4
mov edi, dword [rbp - 0x79]
cmp dl, 0x9c
mov eax, 0xffffff88
mov ecx, 0x78
cmove ecx, eax
mov ebx, 0x20e
imul ecx, r8d
shl ecx, 0x10
movsxd rax, ecx
mov qword [rbp - 0x71], rax
jmp 0x140049834
movzx ecx, dl
sub ecx, 1
je 0x140049824
sub ecx, 1
je 0x140049812
sub ecx, 2
je 0x140049808
sub ecx, 1
je 0x1400497ee
cmp ecx, 1
jne 0x1400495ff
mov ebx, 0x20b
mov qword [rbp - 0x59], 0x20000
mov qword [rbp - 0x71], 0x20040
lea edi, [rbx + 1]
jmp 0x140049834
mov ebx, 0x20b
mov qword [rbp - 0x59], 0x10000
mov qword [rbp - 0x71], 0x10020
lea edi, [rbx + 1]
jmp 0x140049834
mov ebx, 0x207
lea edi, [rbx + 1]
jmp 0x140049834
mov ebx, 0x204
mov qword [rbp - 0x71], 2
lea edi, [rbx + 1]
jmp 0x140049834
mov ebx, 0x201
mov qword [rbp - 0x71], 1
lea edi, [rbx + 1]
cmp byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
je 0x140049893
mov rcx, qword [rbp - 0x61]
xor edx, edx
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [rbp - 0x79], eax
mov r13d, eax
test eax, eax
je 0x140049887
cmp eax, dword [0x140139538]
je 0x140049887
mov rcx, qword [rbp - 0x61]
call fcn.1400ad6d0
test al, al
jne 0x140049887
mov ecx, dword [0x140139538]
mov r8d, 1
mov edx, r13d
call qword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
setne byte [rsp + 0x31]
mov rcx, qword [rbp - 0x61]
call qword [sym.imp.USER32.dll_SetActiveWindow]
jmp 0x14004989b
mov r13d, dword [rbp - 0x79]
mov dword [rbp - 0x79], r13d
test r14b, r14b
jne 0x140049971
test sil, sil
jne 0x140049971
mov r8d, dword [rbp + 0x57]
test r8d, r8d
jle 0x1400499ba
movsxd rsi, dword [rbp - 0x69]
mov r14d, r8d
mov r13, qword [rbp - 0x71]
cmp rsi, 1
je 0x140049913
mov r9, r15
mov r8, r13
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword [0x14012fa58]
cmp dword [rax + 0x78], 0xffffffff
jle 0x140049913
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x140139538], eax
mov rax, qword [0x14012fa58]
mov ecx, dword [rax + 0x78]
jne 0x14004990d
mov edx, 1
call fcn.1400018b0
jmp 0x140049913
call qword [sym.imp.KERNEL32.dll_Sleep]
test rsi, rsi
je 0x140049961
mov r8, qword [rbp - 0x59]
mov r9, r15
mov edx, edi
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword [0x14012fa58]
cmp dword [rax + 0x78], 0xffffffff
jle 0x140049961
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x140139538], eax
mov rax, qword [0x14012fa58]
mov ecx, dword [rax + 0x78]
jne 0x14004995b
mov edx, 1
call fcn.1400018b0
jmp 0x140049961
call qword [sym.imp.KERNEL32.dll_Sleep]
sub r14, 1
jne 0x1400498c5
mov r13d, dword [rbp - 0x79]
jmp 0x1400499ba
mov r8, qword [rbp - 0x71]
mov r9, r15
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword [0x14012fa58]
cmp dword [rax + 0x78], 0xffffffff
jle 0x1400499ba
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x140139538], eax
mov rax, qword [0x14012fa58]
mov ecx, dword [rax + 0x78]
jne 0x1400499b4
mov edx, 1
call fcn.1400018b0
jmp 0x1400499ba
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [rsp + 0x31], 0
je 0x1400499d3
mov ecx, dword [0x140139538]
xor r8d, r8d
mov edx, r13d
call qword [sym.imp.USER32.dll_AttachThreadInput]
mov rcx, qword [0x140134400]
lea rdx, [0x1400ee234]
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
call fcn.1400ab090
jmp 0x140049a06
lea r9, [0x140117ad8]
xor r8d, r8d
mov rcx, rbx
call fcn.140040a70
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret