Function at 0x140025cf0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x330
mov rdi, rsp
mov ecx, 0xcc
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x340]
mov rax, qword [0x14024d0c8]
xor rax, rsp
mov qword [rsp + 0x328], rax
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x348]
mov r9, qword [rax + 0x10]
mov rax, qword [rsp + 0x348]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x348]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x340]
call fcn.1400271f0
test eax, eax
je 0x140025d87
mov eax, 1
jmp 0x1400263f7
mov rax, qword [rsp + 0x348]
mov eax, dword [rax + 8]
mov dword [rsp + 0x320], eax
cmp dword [rsp + 0x320], 0x104
ja 0x140025dfb
cmp dword [rsp + 0x320], 0x104
je case.0x140025df9.256
mov eax, dword [rsp + 0x320]
sub eax, 7
mov dword [rsp + 0x320], eax
cmp dword [rsp + 0x320], 0xfb
ja case.0x140025df9.9
mov eax, dword [rsp + 0x320]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x26444]
mov eax, dword [rcx + rax*4 + 0x26428]
add rax, rcx
jmp rax
cmp dword [rsp + 0x320], 0x208
ja 0x140025e49
cmp dword [rsp + 0x320], 0x207
jae 0x140025e70
cmp dword [rsp + 0x320], 0x105
je case.0x140025df9.257
cmp dword [rsp + 0x320], 0x1ff
jbe case.0x140025df9.9
cmp dword [rsp + 0x320], 0x205
jbe 0x140025e70
jmp case.0x140025df9.9
cmp dword [rsp + 0x320], 0x20a
je 0x1400260dc
cmp dword [rsp + 0x320], 0x233
je 0x1400262f6
jmp case.0x140025df9.9
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x18]
and rax, 0xffff
cwde
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x18]
shr rax, 0x10
and rax, 0xffff
cwde
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], 0
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x10]
and rax, 8
test rax, rax
je 0x140025ecb
mov eax, dword [rsp + 0x38]
bts eax, 0xd
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x10]
and rax, 4
test rax, rax
je 0x140025eec
mov eax, dword [rsp + 0x38]
bts eax, 0xf
mov dword [rsp + 0x38], eax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, eax
jge 0x140025f08
mov eax, dword [rsp + 0x38]
bts eax, 0xe
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x348]
mov eax, dword [rax + 8]
mov dword [rsp + 0x324], eax
mov eax, dword [rsp + 0x324]
sub eax, 0x200
mov dword [rsp + 0x324], eax
cmp dword [rsp + 0x324], 8
ja case.0x140025f53.518
mov eax, dword [rsp + 0x324]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x26540]
add rax, rcx
jmp rax
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.1400266a0
test eax, eax
je 0x140025f7e
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026770
test eax, eax
je 0x140025fac
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026850
test eax, eax
je 0x140025fda
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026930
test eax, eax
je 0x140026008
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026a10
test eax, eax
je 0x140026036
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026af0
test eax, eax
je 0x140026064
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026bd0
test eax, eax
je 0x14002608f
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x340]
call fcn.140026cb0
test eax, eax
je 0x1400260ba
mov eax, 1
jmp 0x1400263f7
jmp 0x1400260d7
mov r9d, 0x1c9
lea r8, str.._vpkg_w_wtl_ui_base.cpp
lea rdx, [0x14017d4c8]
xor ecx, ecx
call fcn.14002e330
jmp case.0x140025df9.9
mov dword [rsp + 0x3c], 0
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x10]
and rax, 8
test rax, rax
je 0x140026105
mov eax, dword [rsp + 0x3c]
bts eax, 0xd
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x10]
and rax, 4
test rax, rax
je 0x140026126
mov eax, dword [rsp + 0x3c]
bts eax, 0xf
mov dword [rsp + 0x3c], eax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, eax
jge 0x140026142
mov eax, dword [rsp + 0x3c]
bts eax, 0xe
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x10]
shr rax, 0x10
and rax, 0xffff
cwde
cdq
mov ecx, 0x78
idiv ecx
mov r8d, dword [rsp + 0x3c]
mov edx, eax
mov rcx, qword [rsp + 0x340]
call fcn.140026d90
test eax, eax
je 0x140026183
mov eax, 1
jmp 0x1400263f7
jmp case.0x140025df9.9
mov rax, qword [rsp + 0x348]
mov rcx, qword [rax + 0x10]
call fcn.140058d60
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
and rax, 0xe000
mov rcx, qword [rsp + 0x40]
and rcx, 0xffffffffffff1fff
mov r8d, eax
mov edx, ecx
mov rcx, qword [rsp + 0x340]
call fcn.140026e60
test eax, eax
je 0x1400261d5
mov eax, 1
jmp 0x1400263f7
jmp case.0x140025df9.9
mov rax, qword [rsp + 0x348]
mov rcx, qword [rax + 0x10]
call fcn.140058d60
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
and rax, 0xe000
mov rcx, qword [rsp + 0x48]
and rcx, 0xffffffffffff1fff
mov r8d, eax
mov edx, ecx
mov rcx, qword [rsp + 0x340]
call fcn.140026f30
test eax, eax
je 0x140026227
mov eax, 1
jmp 0x1400263f7
jmp case.0x140025df9.9
mov rcx, qword [rsp + 0x340]
call fcn.140027000
test eax, eax
je 0x140026247
mov eax, 1
jmp 0x1400263f7
jmp case.0x140025df9.9
mov rcx, qword [rsp + 0x340]
call fcn.1400270a0
test eax, eax
je 0x140026267
mov eax, 1
jmp 0x1400263f7
jmp case.0x140025df9.9
mov rax, qword [rsp + 0x348]
movzx edx, word [rax + 0x10]
mov rcx, qword [rsp + 0x340]
call fcn.140027140
cdqe
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jge 0x14002629e
mov eax, 1
jmp 0x1400263f7
cmp qword [rsp + 0x50], 0
jle 0x1400262b7
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x10], rcx
jmp case.0x140025df9.9
mov rcx, qword [rsp + 0x340]
call fcn.14000df10
cmp qword [rax + 0x70], 0
je 0x1400262f1
mov rcx, qword [rsp + 0x340]
call fcn.14000df10
mov rcx, qword [rax + 0x70]
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, 1
jmp 0x1400263f7
jmp case.0x140025df9.9
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x80]
call fcn.1400287d0
nop
lea rcx, [rsp + 0x80]
call fcn.1400108b0
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0x314], 0
jmp 0x140026361
mov eax, dword [rsp + 0x314]
inc eax
mov dword [rsp + 0x314], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x314], eax
jae 0x1400263a5
mov r9d, 0x104
lea r8, [rsp + 0x100]
mov edx, dword [rsp + 0x314]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0xe8]
call fcn.140028a50
jmp 0x140026351
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.SHELL32.dll_DragFinish]
mov rcx, qword [rsp + 0xe8]
call fcn.140029180
test rax, rax
jne 0x1400263d8
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x340]
call fcn.1400273c0
nop
lea rcx, [rsp + 0x80]
call fcn.1400288f0
jmp case.0x140025df9.9
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.1400a1e60
mov rax, rdi
mov rcx, qword [rsp + 0x328]
xor rcx, rsp
call fcn.1400a2150
add rsp, 0x330
pop rdi
ret