Function at 0x140001820
Capabilities:
Check for foreground window switch
Check for time delay via gettickcount
Get graphical window text
Log keystrokes via polling

Disassembly:
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1228]
mov eax, 0x1328
call fcn.1400e37c0
sub rsp, rax
mov esi, edx
mov r14d, ecx
mov byte [rsp + 0x51], 0
mov r13d, 1
cmp edx, 2
jne 0x14000187d
mov esi, r13d
mov dword [rbp + 0x1278], r13d
cmp byte [0x140132eb5], 0
jne 0x14000187d
mov byte [0x140132eb5], sil
mov byte [rsp + 0x51], sil
xor r12d, r12d
cmp ecx, 0x8000012f
jne 0x1400018ad
mov r14d, 0xa
mov dword [rbp + 0x1270], r14d
movzx r15d, r13b
mov byte [rbp + 0x1280], r13b
mov ebx, r14d
mov dword [rsp + 0x44], ebx
mov dword [rbp - 0x48], r12d
jmp 0x1400018d2
cmp ecx, 5
setle r15b
mov byte [rbp + 0x1280], r15b
mov ebx, ecx
mov dword [rsp + 0x44], ecx
jg 0x1400018c9
mov dword [rbp - 0x48], r12d
jmp 0x1400018d2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x48], eax
cmp dword [0x14013337c], r12d
je 0x1400018e0
call fcn.140004340
xor dil, dil
mov dword [rsp + 0x68], edi
cmp dword [0x14013523c], r12d
je 0x140001903
call fcn.140004020
movzx edi, dil
test al, al
cmovne edi, r13d
mov dword [rsp + 0x68], edi
test r14d, r14d
jle 0x140001945
cmp esi, r13d
jne 0x140001945
mov byte [rsp + 0x52], r13b
inc dword [0x140132f18]
cmp byte [0x140132eb4], r12b
jne 0x14000194a
xor r9d, r9d
lea edx, [r9 + 9]
lea r8d, [r9 + 0xa]
mov rcx, qword [0x140132f10]
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
setne byte [0x140132eb4]
jmp 0x14000194a
mov byte [rsp + 0x52], r12b
xor sil, sil
mov byte [rsp + 0x40], sil
xor al, al
mov byte [rbp + 0x1288], al
mov edi, r12d
mov dword [rsp + 0x4c], r12d
mov r13, qword [rbp + 0x1280]
movzx ecx, byte [rbp + 0x1270]
mov qword [rbp - 0x18], rcx
mov r12, qword [rbp + 0x1280]
jmp 0x14000198a
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx esi, byte [rsp + 0x40]
test ebx, ebx
jle 0x140001b0e
test al, al
jne 0x140001b0e
cmp byte [0x140132eb5], al
jne 0x140001b1b
cmp dword [0x14012c390], 0
je 0x140001a1f
cmp byte [0x140132ea6], al
jne 0x140001a1f
cmp dword [0x140132ee0], 0
jne 0x1400019ca
mov eax, 1
xor r15d, r15d
jmp 0x140001a25
mov rcx, qword [0x14012c398]
cmp byte [rcx + 0x7a], 0
jne 0x140001a0f
cmp dword [rcx + 0x70], 0xffffffff
jle 0x140001a0f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x14012c398]
sub eax, dword [rcx + 0x74]
cmp eax, dword [rcx + 0x70]
jb 0x140001a0f
cmp dword [rcx + 0x6c], 0
je 0x140001a0f
mov byte [rcx + 0x7a], 1
cmp byte [rcx + 0xc2], 0
jne 0x140001a0f
mov dword [rcx + 0x88], 5
mov rax, qword [0x14012c398]
movzx eax, byte [rax + 0x7a]
xor r15d, r15d
jmp 0x140001a25
xor r15d, r15d
mov eax, r15d
mov r9d, 0x311
test eax, eax
cmovne r9d, r15d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x14000262e
inc edi
mov dword [rsp + 0x4c], edi
mov r8d, dword [0x140134a10]
test r8d, r8d
je 0x140001e19
mov rdi, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x78]
mov ebx, dword [rbp - 0x80]
mov r14, qword [rsp + 0x78]
xor r15b, r15b
lea rax, [0x140134a00]
mov qword [rbp + 0x58], rax
mov rax, qword [0x140134a08]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x6c], r8d
mov byte [rbp + 0x70], r15b
lea rax, [rbp + 0x58]
mov qword [0x140134a08], rax
xor eax, eax
mov edx, eax
mov dword [rbp + 0x68], eax
test r8d, r8d
jle 0x140001dfd
nop dword [rax]
movsxd rcx, edx
add rcx, rcx
mov rax, qword [0x140134a00]
cmp dword [rax + rcx*8 + 8], ebx
jne 0x140001aff
lea rax, [rbp + 0x118]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9, rsi
mov r8d, ebx
mov rdx, r14
lea rcx, [rbp + 0x58]
call fcn.140004560
test al, al
jne 0x140001dfa
mov r8d, dword [rbp + 0x6c]
mov edx, dword [rbp + 0x68]
inc edx
mov dword [rbp + 0x68], edx
cmp edx, r8d
jl 0x140001ab0
jmp 0x140001dfd
cmp byte [0x140132eb5], 0
je 0x140001cc6
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140001cc6
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x1401349f8]
jne 0x140001cc6
cmp dword [0x140132f08], 0
je 0x140001b62
mov edx, 0xffffffe0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp eax, 0x8002
je 0x140001bb9
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x140001cc6
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp + 0x120]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, str.SysTreeView32
lea rcx, [rbp + 0x120]
call fcn.1400ca01c
test eax, eax
je 0x140001bb9
lea rdx, str.SysListView32
lea rcx, [rbp + 0x120]
call fcn.1400ca01c
test eax, eax
jne 0x140001cc6
cmp dword [0x14012c390], 0
je 0x140001c26
cmp byte [0x140132ea6], 0
jne 0x140001c26
cmp dword [0x140132ee0], 0
jne 0x140001bdb
mov eax, 1
jmp 0x140001c28
mov rcx, qword [0x14012c398]
cmp byte [rcx + 0x7a], 0
jne 0x140001c20
cmp dword [rcx + 0x70], 0xffffffff
jle 0x140001c20
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x14012c398]
sub eax, dword [rcx + 0x74]
cmp eax, dword [rcx + 0x70]
jb 0x140001c20
cmp dword [rcx + 0x6c], 0
je 0x140001c20
mov byte [rcx + 0x7a], 1
cmp byte [rcx + 0xc2], 0
jne 0x140001c20
mov dword [rcx + 0x88], 5
movzx eax, byte [rcx + 0x7a]
jmp 0x140001c28
xor eax, eax
mov ebx, 0x311
test eax, eax
mov eax, 0xffffffff
cmovne ebx, eax
xor eax, eax
mov dword [rsp + 0x20], eax
mov r9d, 0x1ff
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_PeekMessageW]
mov r9d, ebx
xor edx, edx
mov r8d, 0x20f
lea rcx, [rsp + 0x78]
test eax, eax
je 0x140001d57
mov edi, dword [rbp - 0x68]
xor eax, eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageW]
mov dword [rsp + 0x20], 1
xor edx, edx
lea rcx, [rsp + 0x78]
test eax, eax
jne 0x140001ca5
mov r9d, 0x1ff
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [rsp + 0x4c]
jmp 0x140001d65
mov eax, dword [rbp - 0x68]
sub eax, edi
test eax, eax
jg 0x140001c8d
mov r9d, ebx
mov r8d, 0x20f
call qword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [rsp + 0x4c]
jmp 0x140001d65
cmp dword [0x14012c390], 0
je 0x140001d3a
cmp byte [0x140132ea6], 0
jne 0x140001d3a
cmp dword [0x140132ee0], 0
jne 0x140001ce8
mov eax, 1
jmp 0x140001d3c
mov rcx, qword [0x14012c398]
cmp byte [rcx + 0x7a], 0
jne 0x140001d2d
cmp dword [rcx + 0x70], 0xffffffff
jle 0x140001d2d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x14012c398]
sub eax, dword [rcx + 0x74]
cmp eax, dword [rcx + 0x70]
jb 0x140001d2d
cmp dword [rcx + 0x6c], 0
je 0x140001d2d
mov byte [rcx + 0x7a], 1
cmp byte [rcx + 0xc2], 0
jne 0x140001d2d
mov dword [rcx + 0x88], 5
mov rax, qword [0x14012c398]
movzx eax, byte [rax + 0x7a]
jmp 0x140001d3c
xor eax, eax
mov r9d, 0x311
test eax, eax
mov eax, 0
cmovne r9d, eax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x20], 1
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140001a4a
mov ebx, dword [rsp + 0x44]
test ebx, ebx
jne 0x140001d96
test sil, sil
jne 0x140001d96
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov sil, 1
mov byte [rsp + 0x40], sil
movzx eax, byte [rbp + 0x1288]
jmp 0x14000198a
test edi, edi
jne 0x140001dc3
test r15b, r15b
je 0x140001dc3
test ebx, ebx
jle 0x140001dac
lea ecx, [rdi + 5]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 1
mov edi, eax
mov dword [rsp + 0x4c], eax
movzx eax, byte [rbp + 0x1288]
jmp 0x14000198a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test r15b, r15b
jne 0x140003e4f
mov ecx, dword [rbp - 0x48]
sub ecx, eax
add ecx, r14d
cmp ecx, 5
jle 0x140003e4f
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [rbp + 0x1288]
jmp 0x14000198a
mov r15b, 1
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov qword [rax + 8], rcx
test r15b, r15b
jne 0x14000262a
mov r14d, dword [rbp + 0x1270]
mov edx, dword [rbp - 0x80]
cmp qword [0x140132f00], 0
je 0x1400023c3
lea eax, [rdx - 0x100]
cmp eax, 9
jbe 0x140001e44
lea eax, [rdx - 0x200]
cmp eax, 0xe
ja 0x1400023c3
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x140001ea5
nop
mov edx, 0xffffffe0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp ax, word [0x140135554]
jne 0x140001e7d
mov edx, 0xffffffeb
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r13, rax
test rax, rax
jne 0x140001eb0
mov edx, 0xfffffff0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x1e
jae 0x140001ea2
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetParent]
mov rbx, rax
test rax, rax
jne 0x140001e50
mov edx, dword [rbp - 0x80]
xor r15d, r15d
mov r13d, r15d
jmp 0x1400023c6
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rax + 0x88]
test rdx, rdx
je 0x140001ed8
lea r8, [rsp + 0x78]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x14000262a
mov edx, dword [rbp - 0x80]
mov rbx, qword [rbp - 0x78]
cmp edx, 0x100
jne 0x140002236
cmp byte [r13 + 0x118], 0
je 0x140001f6b
cmp rbx, 0x27
ja 0x140001f6b
movabs rax, 0xa600000200
bt rax, rbx
jae 0x140001f6b
mov rbx, rsi
nop
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
sub eax, 3
cmp eax, dword [r13 + 0xb8]
jae 0x140001f3b
mov rdx, qword [r13 + 0x60]
mov r15, qword [rdx + rax*8]
mov qword [rbp - 0x30], r15
cmp qword [r15 + 0x38], rbx
je 0x140001ffd
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetParent]
mov rbx, rax
test rax, rax
je 0x140001f52
cmp rax, qword [r13 + 0x40]
jne 0x140001f10
xor eax, eax
mov qword [rbp - 0x30], rax
mov rbx, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
cmp edx, 0x100
jne 0x140002236
cmp rbx, 0x1b
je 0x140001fa5
cmp rbx, 9
je 0x140001fa5
cmp rbx, 0x41
jne 0x140002236
lea ecx, [rbx - 0x30]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14000222f
lea ecx, [rbx + 0x64]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x14000222f
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
sub eax, 3
cmp eax, dword [r13 + 0xb8]
jae 0x140001fd3
mov rdx, qword [r13 + 0x60]
mov r15, qword [rdx + rax*8]
mov qword [rbp - 0x30], r15
mov rcx, qword [r15 + 0x38]
cmp rcx, rsi
je 0x1400021ae
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetParent]
mov rsi, rax
test rax, rax
je 0x140001fea
cmp rax, qword [r13 + 0x40]
jne 0x140001fa5
xor r15d, r15d
mov qword [rbp - 0x30], r15
mov rbx, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
jmp 0x140002239
cmp eax, 0x2af8
je 0x140001f52
test r15, r15
je 0x140001f58
movzx eax, byte [r15 + 0x60]
cmp al, 0xf
je 0x140001f58
xor r11d, r11d
mov edi, r11d
mov rbx, qword [rbp - 0x78]
cmp al, 0x13
jne 0x140002072
mov rdi, r15
lea rax, [rbx - 0x25]
test rax, 0xfffffffffffffffd
jne 0x140002072
cmp rbx, 0x27
sete r8b
mov byte [rsp + 0x20], r11b
xor r9d, r9d
mov rdx, r15
mov rcx, r13
call fcn.14008dbe0
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
lea rax, [rbx - 0x25]
test rax, 0xfffffffffffffffd
je 0x140001f5c
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140001f58
mov rbx, qword [rbp - 0x78]
cmp rbx, 9
jne 0x1400020c0
cmp byte [r15 + 0x60], 0xc
jne 0x1400020c0
lea edx, [rbx - 0x19]
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_GetWindowLongW]
test al, 4
jne 0x140001f58
mov rbx, qword [rbp - 0x78]
test rdi, rdi
jne 0x140002157
movzx r9d, byte [r15 + 0x62]
xor r11d, r11d
cmp r9b, 0xff
je 0x140002116
xor dl, dl
mov ecx, r11d
mov r8d, dword [r13 + 0xb8]
test r8d, r8d
je 0x140002116
mov r10, qword [r13 + 0x60]
nop dword [rax]
mov eax, ecx
mov rdi, qword [r10 + rax*8]
cmp byte [rdi + 0x60], 0x13
jne 0x140002103
cmp dl, r9b
je 0x140002111
inc dl
inc ecx
cmp ecx, r8d
jb 0x1400020f0
xor dl, dl
mov ecx, r11d
jmp 0x14000212b
test rdi, rdi
jne 0x140002157
xor dl, dl
mov ecx, r11d
mov r8d, dword [r13 + 0xb8]
test r8d, r8d
je 0x140001f5c
mov r9, qword [r13 + 0x60]
nop
mov eax, ecx
mov rdi, qword [r9 + rax*8]
cmp byte [rdi + 0x60], 0x13
jne 0x140002142
test dl, dl
je 0x14000214e
inc dl
inc ecx
cmp ecx, r8d
jb 0x140002130
jmp 0x140001f5c
test rdi, rdi
je 0x140001f5c
mov rcx, qword [rdi + 0x38]
call qword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x140001f58
mov rax, qword [rbp - 0x78]
cmp rax, 0x22
je 0x14000219a
cmp rax, 9
jne 0x140002187
lea ecx, [rax + 7]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14000219a
xor r8d, r8d
mov byte [rsp + 0x20], 1
mov r9b, 1
mov rdx, rdi
jmp 0x14000204e
mov r8b, 1
mov byte [rsp + 0x20], r8b
movzx r9d, r8b
mov rdx, rdi
jmp 0x14000204e
cmp eax, 0x2af8
je 0x140001fea
test r15, r15
je 0x14000222f
cmp byte [r15 + 0x60], 0xc
jne 0x14000222f
mov rbx, qword [rbp - 0x78]
cmp rbx, 0x1b
je 0x1400022c1
movzx eax, byte [r15 + 0x61]
cmp rbx, 0x41
je 0x14000228c
test al, al
jns 0x140002233
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0xb
jb 0x14000222f
lea r9, [0x140106d04]
mov edx, 0xc2
mov r8d, 1
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov rbx, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
xor r15d, r15d
mov rcx, qword [0x140134750]
test rcx, rcx
je 0x140002382
cmp edx, 0x100
jne 0x140002382
cmp rbx, 0xd
jne 0x14000234e
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1116
call qword [sym.imp.USER32.dll_SendMessageW]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
test al, 2
jne 0x140002233
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
call qword [sym.imp.USER32.dll_SendMessageW]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
xor eax, eax
mov ecx, eax
movsxd rdx, dword [r13 + 0xb0]
test edx, edx
jle 0x14000262a
mov rax, qword [r13 + 0xa0]
add rax, 0xe
nop
cmp dword [rax - 6], 3
jne 0x1400022eb
cmp byte [rax], 0
je 0x14000231a
inc rcx
add rax, 0x10
cmp rcx, rdx
jl 0x1400022e0
movzx r15d, byte [rbp + 0x1280]
mov r14d, dword [rbp + 0x1270]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
xor r9d, r9d
mov edx, 0x414
mov r8d, 0x2af80003
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
cmp rbx, 0x1b
jne 0x140002382
xor r9d, r9d
mov edx, 0x1116
lea r8d, [rbx - 0x1a]
call qword [sym.imp.USER32.dll_SendMessageW]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
cmp dword [r13 + 0xb8], 0
jne 0x140002394
cmp edx, 0x106
je 0x1400023ca
lea rax, [rsp + 0x78]
mov qword [0x140132ef8], rax
lea rdx, [rsp + 0x78]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
mov qword [0x140132ef8], r15
test eax, eax
jne 0x14000262a
mov edx, dword [rbp - 0x80]
jmp 0x1400023c6
xor r15d, r15d
mov rbx, qword [rbp - 0x78]
cmp edx, 0x402
ja 0x14000264d
je 0x140002686
cmp edx, 0x113
ja 0x14000259e
je 0x140002494
cmp edx, 0x12
je 0x140002467
cmp edx, 0x4b
je 0x14000244b
cmp edx, 0x100
jne case.0x14000266d.1046
mov rax, qword [0x140132ed0]
cmp qword [rsp + 0x78], rax
jne case.0x14000266d.1046
cmp rbx, 0x1b
jne case.0x14000266d.1046
xor edx, edx
mov rcx, qword [0x140132f10]
call qword [sym.imp.USER32.dll_ShowWindow]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov qword [0x140132ed8], r15
mov al, 1
mov byte [rbp + 0x1288], al
movzx r15d, byte [rbp + 0x1280]
jmp 0x14000197d
mov edx, 4
lea rcx, [0x140134a20]
call fcn.140048d00
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
cmp qword [rbp - 0x70], 0
jne case.0x14000266d.1046
mov rax, qword [0x140132f10]
cmp qword [rsp + 0x78], rax
jne case.0x14000266d.1046
cmp dword [0x14013337c], 0
je 0x1400024bf
call fcn.140004340
cmp dword [0x14013523c], 0
je 0x1400024e2
call fcn.140004020
movzx ebx, byte [rsp + 0x68]
test al, al
mov eax, 1
cmovne ebx, eax
mov dword [rsp + 0x68], ebx
jmp 0x1400024e6
mov ebx, dword [rsp + 0x68]
cmp dword [rbp + 0x1278], 0
je 0x14000262a
cmp dword [rsp + 0x44], 1
jl 0x14000262a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx r15d, byte [rbp + 0x1280]
test r15b, r15b
jne 0x140002522
mov ecx, dword [rbp - 0x48]
sub ecx, eax
add ecx, r14d
cmp ecx, 5
jg 0x14000205e
mov dword [0x1401352b8], eax
cmp byte [rsp + 0x51], 0
je 0x140002536
mov byte [0x140132eb5], 0
cmp byte [rsp + 0x52], 0
je 0x140002587
mov eax, dword [0x140132f18]
dec eax
mov dword [0x140132f18], eax
test r14d, r14d
jle 0x140002587
test eax, eax
jne 0x140002587
cmp dword [0x14013523c], eax
jne 0x140002587
cmp dword [0x14013337c], eax
jne 0x140002587
cmp byte [0x140132eb4], al
je 0x140002587
lea edx, [rax + 9]
mov rcx, qword [0x140132f10]
call qword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x140002587
mov byte [0x140132eb4], 0
movzx eax, bl
add rsp, 0x1328
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, edx
sub eax, 0x312
je 0x140002686
sub eax, 0xee
je case.0x14000266d.1045
cmp eax, 1
je case.0x14000266d.1045
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140003dbe
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x1401349f8]
jne 0x140003dbe
mov edx, 0xffffffe0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp eax, 0x8002
jne 0x140003dbe
lea rax, [rsp + 0x78]
mov qword [0x140132ef8], rax
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDialogMessageW]
mov qword [0x140132ef8], r15
test eax, eax
je 0x140003dbe
mov ebx, dword [rsp + 0x44]
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
lea eax, [rdx - 0x414]
cmp eax, 0xa
ja case.0x14000266d.1046
lea rdi, [0x140000000]
mov ecx, dword [rdi + rax*4 + 0x3ec0]
add rcx, rdi
jmp rcx
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x140002686
cmp rdi, qword [0x140132f10]
jne case.0x14000266d.1046
lea rdi, [0x140000000]
mov r14, r15
lea eax, [rdx - 0x401]
cmp eax, 0x1d
ja case.0x1400026b1.1031
movzx eax, byte [rdi + rax + 0x3f08]
mov ecx, dword [rdi + rax*4 + 0x3eec]
add rcx, rdi
jmp rcx
mov rdi, qword [rsp + 0x78]
mov edx, 0xffffffe0
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp ax, word [0x140135554]
je 0x1400026d7
mov r13, r15
jmp case.0x14000266d.1046
mov edx, 0xffffffeb
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r13, rax
test rax, rax
je case.0x14000266d.1046
mov r8, qword [rbp - 0x70]
mov qword [rsp + 0x70], r8
mov rcx, qword [rbp - 0x78]
movzx r9d, cl
mov dword [rbp - 0x38], r9d
mov rax, rcx
shr rax, 8
mov qword [rbp - 0x18], rax
shr rcx, 0x10
movzx edx, cx
mov dword [rsp + 0x54], r15d
mov edi, r9d
mov dword [rsp + 0x58], r9d
cmp edx, dword [r13 + 0xb8]
jae 0x140002736
mov rax, qword [r13 + 0x60]
mov r15, qword [rax + rdx*8]
mov qword [rbp - 0x30], r15
lea rbx, [r13 + 0xa0]
mov byte [rsp + 0x50], 0
xor sil, sil
mov byte [rsp + 0x48], sil
lea eax, [r9 - 1]
cmp eax, 0x10
ja case.0x14000276c.6
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x3f28]
add rcx, rdx
jmp rcx
mov r14, qword [r13 + 0x70]
test r14, r14
je 0x14000262a
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov r8d, eax
mov qword [rsp + 0x70], r8
test eax, eax
jne case.0x14000276c.2
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
mov qword [r13 + 0x70], rax
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov sil, 2
mov byte [rsp + 0x48], sil
mov edi, r8d
mov dword [rsp + 0x58], r8d
test r15, r15
je 0x14000262a
lea rbx, [r15 + 0x48]
mov byte [rsp + 0x50], 1
test rbx, rbx
je case.0x14000276c.5
mov rdx, qword [rbx + 8]
test rdx, rdx
je case.0x14000276c.5
nop dword [rax]
cmp byte [rdx + 0x18], 0
jne 0x14000281d
movsxd rcx, dword [rdx + 0x10]
add rcx, rcx
mov rax, qword [rbx]
cmp dword [rax + rcx*8 + 8], edi
jne 0x14000281d
cmp byte [rax + rcx*8 + 0xe], sil
je 0x140002836
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x140002800
xor ebx, ebx
mov edi, ebx
mov edx, dword [rbp - 0x80]
mov r15, qword [rbp - 0x58]
jmp 0x140002d39
test r14, r14
je 0x14000262a
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
mov qword [r13 + 0x70], rax
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
test rbx, rbx
je 0x1400028c4
mov edx, 0xffffffe0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp ax, word [0x140135554]
je 0x140002892
mov r13, r15
jmp 0x1400028a8
mov edx, 0xffffffeb
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r13, rax
test rax, rax
jne 0x1400028bf
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400028bf
cmp rax, qword [0x140132f10]
jne case.0x14000266d.1046
mov edx, dword [rbp - 0x80]
jmp 0x1400028c7
mov r13, r15
mov rcx, qword [0x140135240]
test rcx, rcx
je 0x1400028fa
mov rax, qword [rbp - 0x70]
mov r12, qword [rcx + 0x30]
test r12, r12
je 0x1400028f1
cmp dword [r12 + 0x28], eax
je 0x140002920
mov r12, qword [r12 + 0x38]
test r12, r12
jne 0x1400028e0
mov rcx, qword [rcx + 0x48]
test rcx, rcx
jne 0x1400028d7
mov r12, r15
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
cmp qword [r12 + 0x10], 0
je 0x14000262a
mov edi, dword [r12 + 0x2c]
mov r15, qword [rbp - 0x58]
xor ebx, ebx
jmp 0x140002d39
mov eax, dword [0x140133378]
cmp rbx, rax
jae 0x14000262a
mov rax, qword [0x140133370]
mov rdi, qword [rax + rbx*8]
mov qword [rbp + 0x50], rdi
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x14000299b
mov rdx, qword [rdi + 8]
call fcn.140018560
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x14000262a
mov rcx, qword [rdi + 0x20]
movzx edx, byte [rcx]
lea ecx, [rdx - 2]
test cl, 0xfd
je 0x14000299b
cmp dl, 5
jne 0x14000299f
mov rbx, qword [0x140132ef0]
mov qword [rbp - 0x50], rbx
jmp 0x14000299f
mov qword [rbp - 0x50], r15
mov rdx, qword [rbp - 0x70]
mov rcx, rdi
call fcn.14001bef0
cmp qword [rdi + 0x18], 0
jne 0x14000262a
cmp byte [rdi + 0x3e], 0
je 0x1400029d8
movzx eax, word [rbp - 0x70]
mov word [0x14013525c], ax
mov edi, dword [rdi + 0x28]
mov edx, dword [rbp - 0x80]
mov r15, qword [rbp - 0x58]
xor ebx, ebx
jmp 0x140002d39
mov word [0x14013525c], r15w
mov edi, dword [rdi + 0x28]
mov edx, dword [rbp - 0x80]
mov r15, qword [rbp - 0x58]
xor ebx, ebx
jmp 0x140002d39
cmp byte [0x140135220], 0
jne 0x14000262a
mov edi, r15d
mov r15, qword [rbp - 0x58]
xor ebx, ebx
jmp 0x140002d39
mov rsi, rbx
mov qword [rbp - 0x40], rbx
mov rcx, rbx
call fcn.14002e9c0
test rax, rax
jne 0x140002a47
mov qword [rbp - 0x40], r15
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
cmp qword [rbx + 0x10], 0
je 0x140002abe
cmp qword [0x140132ee8], 0
jne 0x140002a6f
cmp dword [0x14013338c], 0
jne 0x140002a6f
test byte [0x140133046], 1
jne 0x140002a6f
call fcn.140018b80
mov rcx, qword [rbx + 0x10]
cmp qword [rcx + 0x3a8], 0
je 0x140002a8e
mov edi, r15d
mov edx, dword [rbp - 0x80]
mov r15, qword [rbp - 0x58]
xor ebx, ebx
jmp 0x140002d3d
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
cmp dword [0x140132ee0], 0
jne 0x140002abe
lea rcx, [0x140134a20]
call fcn.1400488e0
test al, al
jne 0x140002abe
mov edx, 6
lea rcx, [0x140134a20]
call fcn.140048d00
mov qword [rbp - 0x40], r15
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov rsi, qword [0x140132ee8]
mov qword [rbp - 0x40], rsi
test rsi, rsi
je 0x14000262a
nop dword [rax]
cmp rsi, rbx
je 0x140002b35
mov rsi, qword [rsi + 8]
mov qword [rbp - 0x40], rsi
test rsi, rsi
jne 0x140002b00
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov rax, qword [rsi + 0x10]
cmp edx, 0x41c
jne 0x140002b4a
mov rax, qword [rax + 0x3b0]
jmp 0x140002b62
cmp edx, 0x41e
jne 0x140002b5b
mov rax, qword [rax + 0x3c0]
jmp 0x140002b62
mov rax, qword [rax + 0x3b8]
test rax, rax
je 0x14000262a
mov edi, r15d
mov r15, qword [rbp - 0x58]
xor ebx, ebx
jmp 0x140002d3d
movzx eax, bx
mov ecx, 0x7fff
and ax, cx
cmp ax, word [0x140133394]
jae 0x14000262a
movzx ecx, ax
mov rax, qword [0x140133380]
mov r8, qword [rax + rcx*8]
mov qword [rbp - 8], r8
shr rbx, 0x10
test bx, bx
je 0x140002bd7
mov r9d, 0xffff
add bx, r9w
mov r15, qword [r8 + 0x28]
mov qword [rbp - 0x58], r15
je 0x140002bce
mov r15, qword [r15 + 0x18]
add bx, r9w
jne 0x140002bc0
mov qword [rbp - 0x58], r15
test r15, r15
jne 0x140002cc4
cmp edx, 0x400
jne 0x140002bf9
mov rax, qword [rbp - 0x70]
shr rax, 0x10
movzx ecx, ax
lea esi, [rcx + 0x3c2bb3]
mov edi, WSAAsyncSelect
sub edi, ecx
jmp 0x140002c01
mov esi, r15d
mov edi, 0x3c2c17
cmp byte [r8 + 0x19], 0
jne 0x140002c2f
mov qword [rbp - 0x58], r15
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov qword [rbp - 0x50], r15
mov rbx, r15
mov r15, qword [r8 + 0x28]
mov qword [rbp - 0x58], r15
test r15, r15
je 0x140002cb4
cmp byte [r15 + 0x30], 0
je 0x140002c99
cmp byte [0x140132f1f], 0
je 0x140002c5a
cmp byte [r15 + 0x31], 0
je 0x140002c99
cmp edi, 0x66
lea ecx, [rsi - 0x3c2bb3]
jbe 0x140002c6a
mov ecx, reloc.WSOCK32.dll_WSAAsyncSelect
movzx eax, byte [r15 + 0x2c]
cmp ecx, eax
jle 0x140002c99
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x140002c8f
mov rdx, qword [r8 + 0x20]
call fcn.140018560
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x140002c99
cmp qword [r15 + 0x10], 0
jne 0x140002cac
mov rbx, r15
mov r15, qword [r15 + 0x18]
mov qword [rbp - 0x58], r15
test r15, r15
je 0x140002cb1
mov r8, qword [rbp - 8]
jmp 0x140002c43
mov edx, dword [rbp - 0x80]
jmp 0x140002cbb
mov edx, dword [rbp - 0x80]
mov r15, rbx
mov qword [rbp - 0x58], rbx
test r15, r15
je 0x14000262a
movzx eax, byte [r15 + 0x2b]
cmp byte [r15 + 0x2a], al
jb 0x140002d08
cmp byte [r15 + 0x2e], 0
je 0x140002cdb
mov byte [r15 + 0x2f], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r15 + 0x20], eax
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140002d2f
movzx ecx, byte [rax]
lea eax, [rcx - 2]
test al, 0xfd
je 0x140002d2f
xor ebx, ebx
cmp cl, 5
jne 0x140002d35
mov rax, qword [0x140132ef0]
mov qword [rbp - 0x50], rax
jmp 0x140002d35
xor ebx, ebx
mov qword [rbp - 0x50], rbx
mov edi, dword [r15 + 0x24]
mov rsi, qword [rbp - 0x40]
mov eax, dword [reloc.WSOCK32.dll_inet_addr]
cmp dword [0x140132ee0], eax
jl 0x140002da0
test r14, r14
je 0x140002d60
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
mov qword [r13 + 0x70], rbx
mov edx, dword [rbp - 0x80]
cmp edx, 0x41b
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jne 0x140001985
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov rax, qword [0x14012c398]
cmp edi, dword [rax + 0x68]
jl 0x140002d4b
mov byte [rsp + 0x68], 1
lea eax, [rdx - 0x402]
cmp eax, 0x1c
ja case.0x140002dd7.1027
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x3f74]
mov ecx, dword [r8 + rax*4 + 0x3f6c]
add rcx, r8
jmp rcx
mov rax, qword [0x1401351c8]
mov qword [0x1401351d0], rax
mov eax, dword [0x140135254]
mov dword [0x140135258], eax
cmp edx, 0x401
jne 0x140002e05
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 8]
jmp 0x140002e0d
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x20]
mov qword [0x1401351c8], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140135254], eax
inc dword [0x140132ee0]
mov rbx, qword [0x14012c398]
add rbx, 0xc8
mov qword [0x14012c398], rbx
mov rax, qword [0x140132eb8]
test rax, rax
je 0x140002e52
lea rcx, [rax + 0x80]
xor eax, eax
jmp 0x140002e55
mov rcx, rax
test rbx, rbx
je 0x140002e61
lea rax, [rbx + 0x80]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [rcx + 0x40]
movsd qword [rax + 0x40], xmm0
xorps xmm1, xmm1
movups xmmword [rbx], xmm1
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm1
movups xmmword [rbx + 0x30], xmm1
movups xmmword [rbx + 0x40], xmm1
movups xmmword [rbx + 0x50], xmm1
movups xmmword [rbx + 0x60], xmm1
movups xmmword [rbx + 0x70], xmm1
mov byte [rbx + 0x7a], 1
mov dword [rbx + 0x68], edi
xor edx, edx
lea rcx, [0x140134a20]
call fcn.140047fe0
movzx eax, byte [rbx + 0xc2]
test al, al
jne 0x140002ed1
mov byte [rbx + 0xc2], al
cmp dword [0x1401352b4], 0
je 0x140002ee3
cmp dword [0x1401352b0], 0
jne 0x140002ee7
test al, al
je 0x140002f1d
mov dword [rbx + 0x88], reloc.WSOCK32.dll_recv
mov byte [rbx + 0x7a], 0
test al, al
jne 0x140002f1d
cmp dword [0x1401352b4], 0
jge 0x140002f0b
mov dword [rbx + 0x70], 0xffffffff
jmp 0x140002f1d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x74], eax
mov eax, dword [0x1401352b4]
mov dword [rbx + 0x70], eax
mov rbx, qword [0x14012c398]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1401352b8], eax
mov edx, dword [rbp - 0x80]
lea eax, [rdx - 0x401]
cmp eax, 0x1d
ja case.0x140002f5d.1032
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x3fb4]
mov ecx, dword [r8 + rax*4 + 0x3f94]
add rcx, r8
jmp rcx
movsxd rdi, dword [rsp + 0x54]
lea rcx, [rdi + rdi*2]
inc edi
mov dword [rsp + 0x54], edi
mov dword [rbp + rcx*8 + 0x90], 5
mov rax, r13
cmp byte [rsp + 0x50], 0
mov r15, qword [rbp - 0x30]
cmovne rax, r15
mov qword [rbp + rcx*8 + 0x80], rax
mov ebx, dword [rbp - 0x38]
lea eax, [rbx - 1]
cmp eax, 0x10
ja case.0x140002fab.6
mov ecx, dword [r8 + rax*4 + 0x3fd4]
add rcx, r8
jmp rcx
mov rax, qword [rbp - 0x64]
mov qword [rsp + 0x60], rax
mov rbx, qword [rbp - 0x18]
test r15, r15
je 0x1400031cf
test bl, bl
je 0x1400030d6
mov dword [rbp - 0x28], 0x80000000
movzx ecx, byte [r15 + 0x60]
sub ecx, 9
je 0x140003058
sub ecx, 1
je 0x140003028
sub ecx, 1
je 0x140002ffc
cmp ecx, 6
jne 0x140003089
xor r8d, r8d
mov edx, 0x419
jmp 0x14000307b
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x140003089
mov qword [rbp - 0x28], rax
mov edx, 0x1104
mov r8d, 1
jmp 0x14000307b
mov edx, 0x100c
mov r9d, 1
lea r8, [r9 - 2]
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
cmp r8, 0xffffffffffffffff
je 0x140003089
mov dword [rbp - 0x28], 2
mov edx, 0x100e
jmp 0x14000307b
xor r9d, r9d
xor r8d, r8d
mov edx, OleCreatePictureIndirect
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 0xffffffffffffffff
je 0x140003089
mov r8, rax
mov edx, RemoveWindowSubclass
lea r9, [rbp - 0x28]
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [r15 + 0x38]
cmp dword [rbp - 0x28], 0x80000000
jne 0x1400030a2
lea rdx, [rbp - 0x28]
call qword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x1400030b4
mov r9d, 2
lea r8, [rbp - 0x28]
xor edx, edx
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp - 0x1c]
mov ecx, dword [rbp - 0x24]
sub eax, ecx
jns 0x1400030c7
inc eax
sar eax, 1
add eax, 2
add eax, ecx
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x64]
movzx edx, byte [r15 + 0x60]
sub edx, 9
je 0x1400031c2
sub edx, 1
je 0x14000316d
cmp edx, 1
jne 0x1400031cf
mov rcx, qword [r15 + 0x38]
test bl, bl
je 0x140003147
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x60]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
movsxd rcx, edi
lea rcx, [rcx + rcx*2]
shl rcx, 3
lea r8, [rbp + 0x90]
add r8, rcx
mov rax, r15
xor esi, esi
lea r9d, [rsi + 5]
jmp 0x14000321f
mov qword [rbp], rax
lea rdx, [rbp]
call qword [sym.imp.USER32.dll_ScreenToClient]
lea r9, [rbp]
xor r8d, r8d
mov edx, 0x1111
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14000318e
test bl, bl
je 0x140003193
mov edx, 0x100c
mov r9d, 1
lea r8, [r9 - 2]
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
inc eax
cdqe
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x60]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
movsxd rax, edi
lea rcx, [rax + rax*2]
shl rcx, 3
lea r8, [rbp + 0x90]
add r8, rcx
mov rax, r15
xor esi, esi
lea r9d, [rsi + 5]
jmp 0x14000321f
xor r9d, r9d
xor r8d, r8d
mov edx, OleCreatePictureIndirect
jmp 0x140003180
lea rdx, [rsp + 0x60]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rcx, [rcx*8]
lea r8, [rbp + 0x90]
add r8, rcx
test r15, r15
je 0x140003207
mov rax, r15
xor esi, esi
lea r9d, [rsi + 5]
jmp 0x14000321f
mov qword [rbp + rcx + 0x88], 0xffffffffffffffff
lea rax, [0x140106cb0]
xor esi, esi
mov r9d, esi
lea edx, [rdi + 1]
mov dword [r8], r9d
mov qword [rbp + rcx + 0x80], rax
movsxd rax, edx
lea rcx, [rax + rax*2]
lea edi, [rdx + 1]
mov edx, 1
mov dword [rbp + rcx*8 + 0x90], edx
mov r14, qword [rsp + 0x70]
mov qword [rbp + rcx*8 + 0x80], r14
movsxd rax, edi
lea rcx, [rax + rax*2]
inc edi
mov dword [rbp + rcx*8 + 0x90], edx
mov rax, rsi
test bl, bl
sete al
mov qword [rbp + rcx*8 + 0x80], rax
movsxd rax, edi
lea rcx, [rax + rax*2]
inc edi
mov dword [rbp + rcx*8 + 0x90], edx
movsxd rax, dword [rsp + 0x60]
mov qword [rbp + rcx*8 + 0x80], rax
movsxd rax, edi
lea rcx, [rax + rax*2]
inc edi
mov dword [rsp + 0x54], edi
mov dword [rbp + rcx*8 + 0x90], edx
movsxd rax, dword [rsp + 0x64]
mov qword [rbp + rcx*8 + 0x80], rax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
jmp 0x1400036e0
mov rax, qword [rbp - 0x64]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xffffffef
mov r8d, eax
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SetWindowLongW]
lea r10, [rbp + 0x80]
movsxd rcx, edi
xor esi, esi
test r15, r15
je 0x140003313
mov r8, r15
lea r9d, [rsi + 5]
jmp 0x14000332d
lea rax, [rcx + rcx*2]
mov qword [rbp + rax*8 + 0x88], 0xffffffffffffffff
lea r8, [0x140106cb0]
mov r9d, esi
lea rax, [rcx + rcx*2]
lea edx, [rdi + 1]
mov dword [r10 + rax*8 + 0x10], r9d
mov qword [r10 + rax*8], r8
movsxd rax, edx
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
lea edi, [rdx + 1]
mov rcx, r14
call fcn.1400817f0
mov dword [rbx + 0x10], 5
mov qword [rbx], rax
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc edi
cmp byte [r13 + 0x122], 0
je 0x14000339a
mov r8d, dword [0x1401349fc]
mov edx, 0x60
mov ecx, dword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x14000339e
mov eax, dword [rsp + 0x60]
mov dword [rbx + 0x10], 1
cdqe
mov qword [rbx], rax
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc edi
mov dword [rsp + 0x54], edi
cmp byte [r13 + 0x122], 0
je 0x1400033e4
mov r8d, dword [0x1401349fc]
mov edx, 0x60
mov ecx, dword [rsp + 0x64]
call qword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x1400033e8
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0x10], 1
cdqe
mov qword [rbx], rax
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
mov qword [r13 + 0x70], rsi
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
mov r14, qword [rsp + 0x70]
jmp 0x1400034d3
mov r14, qword [rsp + 0x70]
cmp ebx, 4
jne 0x1400036cb
movsxd rax, edi
lea rcx, [rax + rax*2]
inc edi
mov esi, 1
mov dword [rbp + rcx*8 + 0x90], esi
movsx rax, byte [rbp - 0x18]
mov qword [rbp + rcx*8 + 0x80], rax
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc edi
movzx eax, r14w
cmp byte [r13 + 0x122], 0
je 0x140003479
mov r8d, dword [0x1401349fc]
lea edx, [rsi + 0x5f]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [rbx + 0x10], esi
cdqe
mov qword [rbx], rax
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc edi
mov dword [rsp + 0x54], edi
mov rax, r14
shr rax, 0x10
movzx eax, ax
cmp byte [r13 + 0x122], 0
je 0x1400034c1
mov r8d, dword [0x1401349fc]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [rbx + 0x10], esi
cdqe
mov qword [rbx], rax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
mov ebx, dword [rsp + 0x58]
movzx esi, byte [rsp + 0x48]
cmp byte [rsp + 0x50], 0
lea rcx, [r15 + 0x48]
jne 0x1400034ee
lea rcx, [r13 + 0xa0]
lea rax, [rbp + 0x110]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
mov byte [rsp + 0x20], sil
mov r9d, ebx
mov r8d, edi
lea rdx, [rbp + 0x80]
call fcn.14009c9e0
mov rcx, qword [r13 + 0x40]
mov r9d, dword [rbp - 0x38]
test rcx, rcx
je 0x1400037dd
mov eax, r9d
sub eax, 1
je 0x14000377b
cmp eax, 1
jne 0x1400037dd
cmp qword [rbp + 0x110], 0
jne 0x1400037fc
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
setne cl
cmp cl, byte [r13 + 0x125]
je 0x14000373a
mov byte [r13 + 0x125], cl
mov rdx, qword [r13]
mov rcx, r13
test eax, eax
je 0x140003737
call qword [rdx + reloc.WSOCK32.dll_htonl]
jmp 0x14000373a
cmp byte [r15 + 0x60], 0x17
jne 0x140003669
cmp ebx, 7
jne 0x140003669
mov dword [rbp + 0x160], recv
mov r14, qword [rsp + 0x70]
lea eax, [r14 - 1]
mov dword [rbp + 0x164], eax
lea r9, [rbp + 0x160]
xor r8d, r8d
mov edx, 0x703
mov rcx, qword [r15 + 0x38]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r11d, r11d
test rax, rax
movzx edx, r11w
je 0x1400035e5
movzx edx, word [rbp + 0x170]
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rcx, [rcx*8]
mov r9, rcx
lea r10, [rbp + 0x90]
test dx, dx
je 0x14000361b
mov qword [rbp + rcx + 0x88], 0xffffffffffffffff
lea rax, [rbp + 0x170]
mov r8d, r11d
jmp 0x140003624
movsxd rax, r14d
mov r8d, 1
lea edx, [rdi + 1]
mov dword [r9 + r10], r8d
mov qword [rbp + rcx + 0x80], rax
movsxd rax, edx
lea rcx, [rax + rax*2]
lea edi, [rdx + 1]
mov dword [rsp + 0x54], edi
mov dword [rbp + rcx*8 + 0x90], r11d
lea rax, [rbp + 0x1d0]
mov qword [rbp + rcx*8 + 0x80], rax
mov qword [rbp + rcx*8 + 0x88], 0xffffffffffffffff
jmp 0x1400034c9
movsxd rax, edi
lea rcx, [rax + rax*2]
inc edi
mov dword [rsp + 0x54], edi
mov edx, 1
mov dword [rbp + rcx*8 + 0x90], edx
mov r14, qword [rsp + 0x70]
mov qword [rbp + rcx*8 + 0x80], r14
mov eax, ebx
sub eax, 0xa
je 0x1400036a8
sub eax, edx
je 0x1400036a1
cmp eax, 2
je 0x1400036a8
jmp 0x1400036cb
cmp byte [r15 + 0x60], 0xa
jne 0x1400036cb
movsxd rax, edi
lea rcx, [rax + rax*2]
inc edi
mov dword [rsp + 0x54], edi
mov dword [rbp + rcx*8 + 0x90], edx
movzx eax, byte [rbp - 0x18]
dec rax
mov qword [rbp + rcx*8 + 0x80], rax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
cmp ebx, 5
jne 0x1400034d3
xor esi, esi
mov ebx, dword [rsp + 0x58]
test r15, r15
je 0x1400034d7
lea r8d, [rdi - 1]
lea rcx, [r15 + 0x48]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r13
movzx esi, byte [rsp + 0x48]
mov byte [rsp + 0x20], sil
mov r9d, ebx
lea rdx, [rbp + 0x98]
call fcn.14009c9e0
cmp eax, 7
je 0x140003728
cmp qword [r13 + 0x40], 0
jne 0x1400034dc
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003d68
call qword [rdx + reloc.WSOCK32.dll_recv]
cmp dword [0x140132ee0], 0
jne 0x1400037fc
lea rcx, [0x140134a20]
call fcn.1400488e0
test al, al
jne 0x1400037fc
mov edx, 4
lea rcx, [0x140134a20]
call fcn.140048d00
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003d68
xor eax, eax
mov ecx, eax
movsxd rdx, dword [r13 + 0xb0]
test edx, edx
jle 0x1400037e3
mov rax, qword [r13 + 0xa0]
add rax, 0xe
cmp dword [rax - 6], 1
jne 0x1400037a0
cmp byte [rax], 0
je 0x1400037ae
inc rcx
add rax, 0x10
cmp rcx, rdx
jl 0x140003795
jmp 0x1400037e3
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x10
mov r8d, eax
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x54], edi
jmp 0x1400037e3
cmp r9d, 1
jne 0x1400037fc
movsxd rax, edi
sub rax, 3
lea rax, [rax + rax*2]
mov rcx, qword [rbp + rax*8 + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003d68
test r13, r13
je 0x14000382a
mov rax, qword [r13 + 0x40]
mov qword [rbx + 0x38], rax
mov rax, qword [r13 + 0x40]
mov qword [rbx + 0x40], rax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
mov rbx, qword [r12 + 0x20]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WSOCK32.dll_htonl]
xor r15d, r15d
mov dword [rbp + 0x10], r15d
mov rax, qword [r12]
mov qword [rbp], rax
mov qword [rbp + 8], 0xffffffffffffffff
mov edx, r15d
mov rax, qword [r12 + 0x20]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x140003870
cmp rcx, r12
je 0x140003875
mov rcx, qword [rcx + 0x38]
inc edx
test rcx, rcx
jne 0x140003860
mov edx, 0xffffffff
mov eax, 1
mov dword [rbp + 0x28], eax
lea ecx, [rdx + 1]
mov qword [rbp + 0x18], rcx
mov dword [rbp + 0x40], 5
mov qword [rbp + 0x30], rbx
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ece0]
jne 0x1400038ab
call fcn.140007a2c
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ecd0]
jb 0x1400038c5
mov rax, qword [0x1401351b8]
mov qword [rcx], rax
mov rcx, qword [0x14012ecd8]
add rcx, 0x18
mov qword [0x14012ecd8], rcx
mov qword [rcx], r15
lea rax, str.Menu
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], r15d
mov rcx, qword [r12 + 0x10]
mov byte [rsp + 0x38], r15b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 3
lea r9, [rbp]
xor r8d, r8d
mov rdx, rcx
call fcn.140092d90
mov rax, qword [0x14012ecd8]
sub rax, 0x18
mov qword [0x14012ecd8], rax
cmp rax, qword [0x14012ecd0]
jb 0x140003934
mov rax, qword [rax]
mov qword [0x14012ecf8], rax
mov qword [0x1401351b8], rax
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WSOCK32.dll_recv]
test r13, r13
je 0x140003d68
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003d68
mov rax, qword [rbp - 0x50]
mov qword [rbx + 0x38], rax
mov rdi, qword [rbp + 0x50]
movzx eax, byte [rdi + 0x35]
mov byte [rbx + 0xc5], al
mov rax, qword [rdi + 0x20]
mov qword [rbx + 0x80], rax
movzx eax, byte [rdi + 0x39]
cmp byte [rdi + 0x38], al
jae 0x140003d68
mov byte [0x14013525e], 0
inc byte [rdi + 0x38]
xor eax, eax
mov dword [rbp + 0x10], eax
mov rax, qword [rdi + 8]
mov qword [rbp], rax
mov qword [rbp + 8], 0xffffffffffffffff
mov byte [rsp + 0x20], 0
mov r9d, 1
lea r8, [rbp]
mov rdx, qword [0x1401351c8]
mov rcx, rdi
call fcn.14009c770
dec byte [rdi + 0x38]
jmp 0x140003d68
call qword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
je 0x1400039fd
mov ecx, recv
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x1400039f3
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
mov eax, 2
je 0x1400039f8
mov eax, 1
xor r15d, r15d
jmp 0x140003a03
xor r15d, r15d
mov eax, r15d
mov edi, 1
mov dword [rbp + 0x10], edi
mov qword [rbp], rax
mov byte [0x140135220], dil
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ece0]
jne 0x140003a32
call fcn.140007a2c
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ecd0]
jb 0x140003a4c
mov rax, qword [0x1401351b8]
mov qword [rcx], rax
mov rcx, qword [0x14012ecd8]
add rcx, 0x18
mov qword [0x14012ecd8], rcx
mov qword [rcx], r15
lea rax, [0x140106d08]
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], r15d
mov qword [rsp + 0x20], r15
mov r9d, edi
mov r8d, edi
lea rdx, [rbp]
lea rcx, [0x1401351f0]
call fcn.14009c850
mov rax, qword [0x14012ecd8]
sub rax, 0x18
mov qword [0x14012ecd8], rax
cmp rax, qword [0x14012ecd0]
jb 0x140003ab0
mov rax, qword [rax]
mov qword [0x14012ecf8], rax
mov qword [0x1401351b8], rax
mov byte [0x140135220], 0
jmp 0x140003d68
mov dword [rbp + 0x10], 5
mov rbx, qword [rsi + 0x10]
mov qword [rbp], rbx
mov rbx, qword [rbx + 0x3a8]
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ece0]
jne 0x140003aee
call fcn.140007a2c
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ecd0]
jb 0x140003b08
mov rax, qword [0x1401351b8]
mov qword [rcx], rax
mov rcx, qword [0x14012ecd8]
add rcx, 0x18
mov qword [0x14012ecd8], rcx
xor edi, edi
mov qword [rcx], rdi
lea rax, str.InputHook
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], edi
mov byte [rsp + 0x38], dil
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 1
lea r9, [rbp]
xor r8d, r8d
mov rdx, rbx
mov rcx, rbx
call fcn.140092d90
mov rax, qword [0x14012ecd8]
sub rax, 0x18
mov qword [0x14012ecd8], rax
cmp rax, qword [0x14012ecd0]
jb 0x140003b76
mov rax, qword [rax]
mov qword [0x14012ecf8], rax
mov qword [0x1401351b8], rax
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003d68
mov dword [rbp + 0x10], 5
mov r8, qword [rsi + 0x10]
mov qword [rbp], r8
mov r9d, 1
mov dword [rbp + 0x28], r9d
mov rcx, qword [rbp - 0x70]
movzx eax, cl
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x40], r9d
sar rcx, 0x10
movzx eax, cx
mov qword [rbp + 0x30], rax
cmp edx, 0x41c
jne 0x140003bc9
mov rbx, qword [r8 + 0x3b0]
jmp 0x140003bd0
mov rbx, qword [r8 + 0x3c0]
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ece0]
jne 0x140003bec
call fcn.140007a2c
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ecd0]
jb 0x140003c06
mov rax, qword [0x1401351b8]
mov qword [rcx], rax
mov rcx, qword [0x14012ecd8]
add rcx, 0x18
mov qword [0x14012ecd8], rcx
xor eax, eax
mov qword [rcx], rax
lea rdx, str.InputHook
mov qword [rcx + 8], rdx
mov dword [rcx + 0x10], eax
mov byte [rsp + 0x38], al
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
lea r9, [rbp]
xor r8d, r8d
mov rdx, rbx
mov rcx, rbx
call fcn.140092d90
mov rax, qword [0x14012ecd8]
sub rax, 0x18
mov qword [0x14012ecd8], rax
cmp rax, qword [0x14012ecd0]
jb 0x140003d68
mov rax, qword [rax]
mov qword [0x14012ecf8], rax
mov qword [0x1401351b8], rax
jmp 0x140003d68
mov rax, qword [rbp - 0x70]
mov word [rbp - 0x10], ax
sar rax, 0x10
mov word [rbp - 0xe], ax
xor r15d, r15d
mov word [rbp - 0xc], r15w
mov dword [rbp + 0x10], 5
mov rbx, qword [rsi + 0x10]
mov qword [rbp], rbx
mov dword [rbp + 0x28], r15d
lea rax, [rbp - 0x10]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], 0xffffffffffffffff
mov rbx, qword [rbx + 0x3b8]
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ece0]
jne 0x140003cda
call fcn.140007a2c
mov rcx, qword [0x14012ecd8]
cmp rcx, qword [0x14012ecd0]
jb 0x140003cf4
mov rax, qword [0x1401351b8]
mov qword [rcx], rax
mov rcx, qword [0x14012ecd8]
add rcx, 0x18
mov qword [0x14012ecd8], rcx
mov qword [rcx], r15
lea rax, str.InputHook
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], r15d
mov byte [rsp + 0x38], r15b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 2
lea r9, [rbp]
jmp 0x140003c39
mov rcx, qword [rbp - 8]
movzx eax, byte [rcx + 0x10]
add al, 0x64
cmp al, 3
ja 0x140003d42
movzx eax, word [rbp - 0x70]
mov qword [rbx + 0x40], rax
mov rax, qword [rbp - 0x50]
mov qword [rbx + 0x38], rax
movzx eax, byte [r15 + 0x2c]
mov byte [rbx + 0xc5], al
mov rax, qword [r15 + 0x10]
mov qword [rbx + 0x80], rax
mov rdx, r15
call fcn.140019640
call fcn.1400048b0
cmp dword [rbp + 0x1278], 0
je 0x14000262a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx r15d, byte [rbp + 0x1280]
mov r14d, dword [rbp + 0x1270]
test r15b, r15b
jne 0x140003da1
mov ecx, dword [rbp - 0x48]
sub ecx, eax
add ecx, r14d
cmp ecx, 5
jg 0x140003de8
mov dword [0x1401352b8], eax
mov al, 1
mov byte [rbp + 0x1288], al
movzx r15d, al
mov byte [rbp + 0x1280], al
jmp 0x14000197d
mov rdx, qword [0x140132ec8]
test rdx, rdx
je 0x140003e03
lea r8, [rsp + 0x78]
mov rcx, qword [0x140132f10]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
je 0x140003e03
movzx r15d, byte [rbp + 0x1280]
mov r14d, dword [rbp + 0x1270]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
lea rax, [rsp + 0x78]
mov qword [0x140132ef8], rax
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov qword [0x140132ef8], r15
mov r14d, dword [rbp + 0x1270]
movzx r15d, byte [rbp + 0x1280]
mov ebx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001985
mov dword [0x1401352b8], eax
cmp byte [rsp + 0x51], 0
je 0x140003e63
mov byte [0x140132eb5], 0
cmp byte [rsp + 0x52], 0
je 0x140003eb4
mov eax, dword [0x140132f18]
dec eax
mov dword [0x140132f18], eax
test r14d, r14d
jle 0x140003eb4
test eax, eax
jne 0x140003eb4
cmp dword [0x14013523c], eax
jne 0x140003eb4
cmp dword [0x14013337c], eax
jne 0x140003eb4
cmp byte [0x140132eb4], al
je 0x140003eb4
lea edx, [rax + 9]
mov rcx, qword [0x140132f10]
call qword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x140003eb4
mov byte [0x140132eb4], 0
movzx eax, byte [rsp + 0x68]
jmp 0x14000258a