Function at 0x1400016f0
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.1400de970
sub rsp, rax
mov ebx, edx
mov edi, ecx
mov byte [rsp + 0x4d], 0
mov r14d, 1
cmp edx, 2
jne 0x140001749
mov ebx, r14d
mov dword [rbp + 0x1278], ebx
cmp byte [0x14012ab27], 0
jne 0x140001749
mov byte [0x14012ab27], bl
mov byte [rsp + 0x4d], bl
xor edx, edx
cmp ecx, 0x8000012f
jne 0x140001770
mov edi, 0xa
mov dword [rbp + 0x1270], edi
mov byte [rbp + 0x1280], r14b
mov ecx, edi
mov dword [rsp + 0x48], ecx
mov dword [rbp - 0x50], edx
jmp 0x140001790
cmp ecx, 5
setle al
mov byte [rbp + 0x1280], al
mov dword [rsp + 0x48], ecx
jg 0x140001787
mov dword [rbp - 0x50], edx
jmp 0x140001790
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x50], eax
cmp dword [0x14012afdc], 0
je 0x14000179e
call fcn.140004210
xor sil, sil
mov dword [rsp + 0x60], esi
cmp dword [0x14012cdac], 0
je 0x1400017c1
call fcn.140003ef0
movzx esi, sil
test al, al
cmovne esi, r14d
mov dword [rsp + 0x60], esi
test edi, edi
jle 0x140001802
cmp ebx, r14d
jne 0x140001802
mov byte [rsp + 0x4e], r14b
inc dword [0x14012ab80]
cmp byte [0x14012ab26], 0
jne 0x140001807
xor r9d, r9d
lea edx, [r9 + 9]
lea r8d, [r9 + 0xa]
mov rcx, qword [0x14012ab78]
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
setne byte [0x14012ab26]
jmp 0x140001807
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
xor al, al
mov byte [rbp + 0x1288], al
xor r10d, r10d
mov r15d, r10d
mov dword [rsp + 0x44], r10d
mov r13, qword [rbp + 0x1280]
movzx ecx, byte [rbp + 0x1270]
mov qword [rbp - 0x20], rcx
mov r12, qword [rbp + 0x1280]
nop dword [rax + rax]
movzx esi, byte [rbp + 0x1280]
jmp 0x14000184e
mov r15d, dword [rsp + 0x44]
mov r14d, dword [rsp + 0x48]
test r14d, r14d
jle 0x1400019de
test al, al
jne 0x1400019de
cmp byte [0x14012ab27], al
jne 0x1400019eb
cmp dword [0x1401241d0], 0
je 0x1400018e7
cmp dword [0x14012ab2c], 0
jne 0x1400018e7
cmp dword [0x14012ab58], 0
jne 0x140001892
mov eax, 1
jmp 0x1400018ea
mov rcx, qword [0x1401241d8]
cmp byte [rcx + 0x7f], 0
jne 0x1400018da
cmp dword [rcx + 0x70], 0xffffffff
jle 0x1400018da
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x1401241d8]
sub eax, dword [rcx + 0x74]
xor r10d, r10d
cmp eax, dword [rcx + 0x70]
jb 0x1400018da
cmp dword [rcx + 0x6c], r10d
je 0x1400018da
mov byte [rcx + 0x7f], 1
cmp byte [rcx + 0xc2], r10b
jne 0x1400018da
mov dword [rcx + 0x88], 5
mov rax, qword [0x1401241d8]
movzx eax, byte [rax + 0x7f]
jmp 0x1400018ea
mov eax, r10d
mov r9d, 0x311
test eax, eax
cmovne r9d, r10d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x140001dfc
inc r15d
mov dword [rsp + 0x44], r15d
mov r8d, dword [0x14012c660]
test r8d, r8d
je 0x140001d30
mov rdi, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x80]
mov ebx, dword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
xor r15b, r15b
lea rax, [0x14012c650]
mov qword [rbp + 0x58], rax
mov rax, qword [0x14012c658]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x6c], r8d
mov byte [rbp + 0x70], r15b
lea rax, [rbp + 0x58]
mov qword [0x14012c658], rax
xor eax, eax
mov edx, eax
mov dword [rbp + 0x68], eax
test r8d, r8d
jle 0x140001d16
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, edx
add rcx, rcx
mov rax, qword [0x14012c650]
cmp dword [rax + rcx*8 + 8], ebx
jne 0x1400019cf
lea rax, [rbp + 0x118]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
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.140004430
test al, al
jne 0x140001d13
mov r8d, dword [rbp + 0x6c]
mov edx, dword [rbp + 0x68]
inc edx
mov dword [rbp + 0x68], edx
cmp edx, r8d
jl 0x140001980
jmp 0x140001d16
cmp byte [0x14012ab27], 0
je 0x140001bd6
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140001bd3
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x14012c648]
jne 0x140001bd3
cmp dword [0x14012ab70], 0
je 0x140001a67
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp + 0x120]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassNameW]
xor r8d, r8d
mov ecx, r8d
lea rdx, [rbp + 0x120]
lea r9, str.32770
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r9 + rcx*2 - 2]
jne 0x140001a67
cmp rcx, 7
jne 0x140001a50
jmp 0x140001ac1
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x140001bd3
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.1400c51bc
test eax, eax
je 0x140001abe
lea rdx, str.SysListView32
lea rcx, [rbp + 0x120]
call fcn.1400c51bc
test eax, eax
jne 0x140001bd3
xor r8d, r8d
cmp dword [0x1401241d0], 0
je 0x140001b2e
cmp dword [0x14012ab2c], 0
jne 0x140001b2e
cmp dword [0x14012ab58], 0
jne 0x140001ae3
mov eax, 1
jmp 0x140001b31
mov rcx, qword [0x1401241d8]
cmp byte [rcx + 0x7f], 0
jne 0x140001b28
cmp dword [rcx + 0x70], 0xffffffff
jle 0x140001b28
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x1401241d8]
sub eax, dword [rcx + 0x74]
cmp eax, dword [rcx + 0x70]
jb 0x140001b28
cmp dword [rcx + 0x6c], 0
je 0x140001b28
mov byte [rcx + 0x7f], 1
cmp byte [rcx + 0xc2], 0
jne 0x140001b28
mov dword [rcx + 0x88], 5
movzx eax, byte [rcx + 0x7f]
jmp 0x140001b31
mov eax, r8d
mov ebx, 0x311
test eax, eax
mov eax, 0xffffffff
cmovne ebx, eax
mov dword [rsp + 0x20], 0
mov r9d, 0x1ff
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_PeekMessageW]
mov r9d, ebx
xor edx, edx
mov r8d, 0x20f
lea rcx, [rsp + 0x70]
test eax, eax
je 0x140001c68
mov edi, dword [rbp - 0x70]
mov dword [rsp + 0x20], edx
call qword [sym.imp.USER32.dll_PeekMessageW]
mov dword [rsp + 0x20], 1
xor edx, edx
lea rcx, [rsp + 0x70]
test eax, eax
jne 0x140001bb0
mov r9d, 0x1ff
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [rbp + 0x1270]
jmp 0x140001c76
mov eax, dword [rbp - 0x70]
sub eax, edi
test eax, eax
jg 0x140001b96
mov r9d, ebx
mov r8d, 0x20f
call qword [sym.imp.USER32.dll_PeekMessageW]
mov edi, dword [rbp + 0x1270]
jmp 0x140001c76
xor r10d, r10d
cmp dword [0x1401241d0], 0
je 0x140001c4a
cmp dword [0x14012ab2c], 0
jne 0x140001c4a
cmp dword [0x14012ab58], 0
jne 0x140001bf8
mov eax, 1
jmp 0x140001c4d
mov rcx, qword [0x1401241d8]
cmp byte [rcx + 0x7f], 0
jne 0x140001c3d
cmp dword [rcx + 0x70], 0xffffffff
jle 0x140001c3d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x1401241d8]
sub eax, dword [rcx + 0x74]
cmp eax, dword [rcx + 0x70]
jb 0x140001c3d
cmp dword [rcx + 0x6c], 0
je 0x140001c3d
mov byte [rcx + 0x7f], 1
cmp byte [rcx + 0xc2], 0
jne 0x140001c3d
mov dword [rcx + 0x88], 5
mov rax, qword [0x1401241d8]
movzx eax, byte [rax + 0x7f]
jmp 0x140001c4d
mov eax, r10d
mov r9d, 0x311
test eax, eax
mov eax, 0
cmovne r9d, eax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x20], 1
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x14000190f
test r14d, r14d
jne 0x140001ca6
cmp byte [rsp + 0x4f], r14b
jne 0x140001ca6
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [rsp + 0x4f], 1
movzx eax, byte [rbp + 0x1288]
xor r10d, r10d
jmp 0x140001853
test r15d, r15d
jne 0x140001cda
test sil, sil
je 0x140001cda
test r14d, r14d
jle 0x140001cbf
lea ecx, [r15 + 5]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 1
mov r15d, eax
mov dword [rsp + 0x44], eax
movzx eax, byte [rbp + 0x1288]
xor r10d, r10d
jmp 0x140001853
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test sil, sil
jne 0x140003d24
mov ecx, dword [rbp - 0x50]
sub ecx, eax
add ecx, edi
cmp ecx, 5
jle 0x140003d24
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [rbp + 0x1288]
xor r10d, r10d
jmp 0x140001853
mov r15b, 1
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov qword [rax + 8], rcx
test r15b, r15b
jne 0x140001df6
mov r14d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x78]
cmp qword [0x14012ab88], 0
je 0x140002286
lea eax, [rdx - 0x100]
cmp eax, 9
jbe 0x140001d5c
lea eax, [rdx - 0x200]
cmp eax, 0xe
ja 0x140002286
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x140001dc6
nop word [rax + rax]
mov edx, 0xffffffe0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp ax, word [0x14012d190]
jne 0x140001d9d
mov edx, 0xffffffeb
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r13, rax
test rax, rax
jne 0x140001dd5
mov edx, 0xfffffff0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x1e
jae 0x140001dc2
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetParent]
mov rbx, rax
test rax, rax
jne 0x140001d70
mov edx, dword [rsp + 0x78]
xor r10d, r10d
mov r13d, r10d
mov rbx, qword [rbp - 0x80]
jmp 0x14000228d
mov rsi, qword [rsp + 0x70]
mov rdx, qword [rax + 0x78]
test rdx, rdx
je 0x140001e1c
lea r8, [rsp + 0x70]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
je 0x140001e1c
mov edi, dword [rbp + 0x1270]
mov r14d, dword [rsp + 0x48]
movzx esi, byte [rbp + 0x1280]
mov r15d, dword [rsp + 0x44]
movzx eax, byte [rbp + 0x1288]
xor r10d, r10d
jmp 0x140001853
mov edx, dword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
cmp edx, 0x100
jne 0x140001f33
cmp byte [r13 + 0x108], 0
je 0x140001eaf
cmp rbx, 0x27
ja 0x140001eaf
movabs rax, 0xa600000200
bt rax, rbx
jae 0x140001eaf
mov rbx, rsi
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
sub eax, 3
cmp eax, dword [r13 + 0xa8]
jae 0x140001e7e
mov rdx, qword [r13 + 0x50]
mov r15, qword [rdx + rax*8]
mov qword [rbp - 0x38], r15
cmp qword [r15 + 0x28], rbx
je 0x140001f6c
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetParent]
mov rbx, rax
test rax, rax
je 0x140001e95
cmp rax, qword [r13 + 0x30]
jne 0x140001e53
xor eax, eax
mov qword [rbp - 0x38], rax
mov rbx, qword [rbp - 0x80]
mov edx, dword [rsp + 0x78]
cmp edx, 0x100
jne 0x140001f33
cmp rbx, 0x1b
je 0x140001ee0
cmp rbx, 9
je 0x140001ee0
cmp rbx, 0x41
jne 0x140001f33
lea ecx, [rbx - 0x30]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140001f2b
lea ecx, [rbx + 0x64]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x140001f2b
nop dword [rax]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
sub eax, 3
cmp eax, dword [r13 + 0xa8]
jae 0x140001f0e
mov rdx, qword [r13 + 0x50]
mov r15, qword [rdx + rax*8]
mov qword [rbp - 0x38], r15
mov rcx, qword [r15 + 0x28]
cmp rcx, rsi
je 0x14000211e
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetParent]
mov rsi, rax
test rax, rax
je 0x140001f25
cmp rax, qword [r13 + 0x30]
jne 0x140001ee0
xor eax, eax
mov qword [rbp - 0x38], rax
mov rbx, qword [rbp - 0x80]
mov edx, dword [rsp + 0x78]
mov rcx, qword [0x14012c3b0]
test rcx, rcx
je 0x14000223c
cmp edx, 0x100
jne 0x14000223c
cmp rbx, 0xd
jne 0x14000221f
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1116
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140001fc5
cmp eax, 0x2af8
je 0x140001e95
test r15, r15
je 0x140001e9b
movzx eax, byte [r15 + 0x50]
cmp al, 0xf
je 0x140001e9b
xor r11d, r11d
mov edi, r11d
mov rbx, qword [rbp - 0x80]
cmp al, 0x13
jne 0x140001fe6
mov rdi, r15
lea rax, [rbx - 0x25]
test rax, 0xfffffffffffffffd
jne 0x140001fe6
cmp rbx, 0x27
sete r8b
mov byte [rsp + 0x20], r11b
xor r9d, r9d
mov rdx, r15
mov rcx, r13
call fcn.14008ca10
mov edi, dword [rbp + 0x1270]
movzx esi, byte [rbp + 0x1280]
mov r15d, dword [rsp + 0x44]
movzx eax, byte [rbp + 0x1288]
xor r10d, r10d
jmp 0x140001853
lea rax, [rbx - 0x25]
test rax, 0xfffffffffffffffd
je 0x140001e9f
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140001e9b
mov rbx, qword [rbp - 0x80]
cmp rbx, 9
jne 0x140002034
cmp byte [r15 + 0x50], 0xc
jne 0x140002034
lea edx, [rbx - 0x19]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_GetWindowLongW]
test al, 4
jne 0x140001e9b
mov rbx, qword [rbp - 0x80]
test rdi, rdi
jne 0x1400020c7
movzx r9d, byte [r15 + 0x52]
xor r11d, r11d
cmp r9b, 0xff
je 0x140002086
xor dl, dl
mov ecx, r11d
mov r8d, dword [r13 + 0xa8]
test r8d, r8d
je 0x140002086
mov r10, qword [r13 + 0x50]
mov eax, ecx
mov rdi, qword [r10 + rax*8]
cmp byte [rdi + 0x50], 0x13
jne 0x140002073
cmp dl, r9b
je 0x140002081
inc dl
inc ecx
cmp ecx, r8d
jb 0x140002060
xor dl, dl
mov ecx, r11d
jmp 0x14000209b
test rdi, rdi
jne 0x1400020c7
xor dl, dl
mov ecx, r11d
mov r8d, dword [r13 + 0xa8]
test r8d, r8d
je 0x140001e9f
mov r9, qword [r13 + 0x50]
nop
mov eax, ecx
mov rdi, qword [r9 + rax*8]
cmp byte [rdi + 0x50], 0x13
jne 0x1400020b2
test dl, dl
je 0x1400020be
inc dl
inc ecx
cmp ecx, r8d
jb 0x1400020a0
jmp 0x140001e9f
test rdi, rdi
je 0x140001e9f
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x140001e9b
mov rax, qword [rbp - 0x80]
cmp rax, 0x22
je 0x14000210a
cmp rax, 9
jne 0x1400020f7
lea ecx, [rax + 7]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14000210a
xor r8d, r8d
mov byte [rsp + 0x20], 1
mov r9b, 1
mov rdx, rdi
jmp 0x140001fbd
mov r8b, 1
mov byte [rsp + 0x20], r8b
movzx r9d, r8b
mov rdx, rdi
jmp 0x140001fbd
cmp eax, 0x2af8
je 0x140001f25
test r15, r15
je 0x140001f2b
cmp byte [r15 + 0x50], 0xc
jne 0x140001f2b
mov rbx, qword [rbp - 0x80]
cmp rbx, 0x1b
je 0x1400021b2
movzx eax, byte [r15 + 0x51]
cmp rbx, 0x41
je 0x140002190
test al, al
jns 0x140001f2f
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0xb
jb 0x140001f2b
lea r9, [0x140100c44]
mov edx, 0xc2
mov r8d, 1
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140001fc5
test al, 2
jne 0x140001f2f
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140001fc5
xor r10d, r10d
mov ecx, r10d
movsxd rdx, dword [r13 + 0xa0]
test edx, edx
jle 0x140002667
mov rax, qword [r13 + 0x90]
add rax, 0xe
cmp dword [rax - 6], 3
jne 0x1400021dd
cmp byte [rax], r10b
je 0x140002202
inc rcx
add rax, 0x10
cmp rcx, rdx
jl 0x1400021d2
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
xor r9d, r9d
mov edx, 0x414
mov r8d, 0x2af80003
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140001fc5
cmp rbx, 0x1b
jne 0x14000223c
xor r9d, r9d
mov edx, 0x1116
lea r8d, [rbx - 0x1a]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140001fc5
cmp dword [r13 + 0xa8], 0
jne 0x14000224e
cmp edx, 0x106
je 0x14000228a
mov rcx, qword [0x1401241d8]
mov byte [rcx + 0x7e], 1
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x78], eax
lea rdx, [rsp + 0x70]
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
mov rcx, qword [0x1401241d8]
mov byte [rcx + 0x7e], 0
test eax, eax
jne 0x140001fc5
mov edx, dword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
xor r10d, r10d
cmp edx, 0x402
ja 0x140002508
je 0x140002541
cmp edx, 0x113
ja 0x14000243f
je 0x140002333
cmp edx, 0x12
je 0x14000231d
cmp edx, 0x4b
je 0x1400022f7
cmp edx, 0x100
jne case.0x140002528.1046
mov rax, qword [0x14012ab48]
cmp qword [rsp + 0x70], rax
jne case.0x140002528.1046
cmp rbx, 0x1b
jne case.0x140002528.1046
xor edx, edx
mov rcx, qword [0x14012ab78]
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140001fc5
mov qword [0x14012ab50], r10
mov al, 1
mov byte [rbp + 0x1288], al
mov edi, dword [rbp + 0x1270]
movzx esi, byte [rbp + 0x1280]
mov r15d, dword [rsp + 0x44]
jmp 0x140001853
mov edx, 4
lea rcx, [0x14012c670]
call fcn.140047480
jmp 0x140001fc5
cmp qword [rbp - 0x78], 0
jne case.0x140002528.1046
mov rax, qword [0x14012ab78]
cmp qword [rsp + 0x70], rax
jne case.0x140002528.1046
cmp dword [0x14012afdc], 0
je 0x14000235e
call fcn.140004210
cmp dword [0x14012cdac], 0
je 0x140002381
call fcn.140003ef0
movzx ebx, byte [rsp + 0x60]
test al, al
mov eax, 1
cmovne ebx, eax
mov dword [rsp + 0x60], ebx
jmp 0x140002385
mov ebx, dword [rsp + 0x60]
cmp dword [rbp + 0x1278], 0
je 0x140001fc5
cmp r14d, 1
jl 0x140001fc5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
test sil, sil
jne 0x1400023c4
mov ecx, dword [rbp - 0x50]
sub ecx, eax
add ecx, edi
cmp ecx, 5
jg 0x140001fd2
mov dword [0x14012ce28], eax
cmp byte [rsp + 0x4d], 0
je 0x1400023d8
mov byte [0x14012ab27], 0
cmp byte [rsp + 0x4e], 0
je 0x140002428
mov eax, dword [0x14012ab80]
dec eax
mov dword [0x14012ab80], eax
test edi, edi
jle 0x140002428
test eax, eax
jne 0x140002428
cmp dword [0x14012cdac], eax
jne 0x140002428
cmp dword [0x14012afdc], eax
jne 0x140002428
cmp byte [0x14012ab26], al
je 0x140002428
lea edx, [rax + 9]
mov rcx, qword [0x14012ab78]
call qword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x140002428
mov byte [0x14012ab26], 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 0x140002541
sub eax, 0xee
je case.0x140002528.1045
cmp eax, 1
je case.0x140002528.1045
xor edi, edi
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140003ca2
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x14012c648]
jne 0x140003ca2
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp + 0x120]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassNameW]
mov rcx, rdi
lea rdx, [rbp + 0x120]
lea r8, str.32770
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x140003ca2
cmp rcx, 7
jne 0x1400024b2
mov rcx, qword [0x1401241d8]
mov byte [rcx + 0x7e], 1
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x78], eax
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
je 0x140003c95
mov rax, qword [0x1401241d8]
mov byte [rax + 0x7e], 0
mov r14d, dword [rsp + 0x48]
jmp 0x140001fc5
lea eax, [rdx - 0x414]
cmp eax, 0xa
ja case.0x140002528.1046
lea rdi, [0x140000000]
mov ecx, dword [rdi + rax*4 + 0x3d94]
add rcx, rdi
jmp rcx
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x140002541
cmp rdi, qword [0x14012ab78]
jne case.0x140002528.1046
lea rdi, [0x140000000]
mov r14, r10
lea eax, [rdx - 0x401]
cmp eax, 0x1d
ja case.0x14000256c.1031
movzx eax, byte [rdi + rax + 0x3ddc]
mov ecx, dword [rdi + rax*4 + 0x3dc0]
add rcx, rdi
jmp rcx
mov rdi, qword [rsp + 0x70]
mov edx, 0xffffffe0
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp ax, word [0x14012d190]
je 0x140002594
xor edi, edi
mov r13d, edi
jmp 0x140002462
mov edx, 0xffffffeb
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r13, rax
test rax, rax
je case.0x140002528.1046
mov r8, qword [rbp - 0x78]
mov qword [rsp + 0x68], r8
mov rcx, qword [rbp - 0x80]
movzx r9d, cl
mov dword [rbp - 0x40], r9d
mov r10, rcx
shr r10, 8
mov qword [rbp - 0x20], r10
shr rcx, 0x10
movzx edx, cx
xor r10d, r10d
mov dword [rsp + 0x54], r10d
mov esi, r9d
mov dword [rsp + 0x50], r9d
cmp edx, dword [rax + 0xa8]
jae 0x1400025f7
mov rax, qword [rax + 0x50]
mov r15, qword [rax + rdx*8]
jmp 0x1400025fa
mov r15, r10
mov qword [rbp - 0x38], r15
lea rbx, [r13 + 0x90]
mov byte [rsp + 0x4c], r10b
xor dil, dil
mov byte [rsp + 0x40], dil
lea eax, [r9 - 1]
cmp eax, 0x10
ja case.0x14000262c.6
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x3dfc]
add rcx, rdx
jmp rcx
mov r14, qword [r13 + 0x60]
test r14, r14
je 0x140002667
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 + 0x68], r8
test eax, eax
jne 0x1400026bb
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
xor r10d, r10d
mov qword [r13 + 0x60], r10
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
mov byte [rsp + 0x40], 2
mov dword [rsp + 0x50], r8d
test r15, r15
mov edi, dword [rbp + 0x1270]
movzx esi, byte [rbp + 0x1280]
movzx eax, byte [rbp + 0x1288]
je 0x140001849
lea rbx, [r15 + 0x38]
mov byte [rsp + 0x4c], 1
movzx edi, byte [rsp + 0x40]
mov esi, dword [rsp + 0x50]
jmp case.0x14000262c.2
xor r10d, r10d
test rbx, rbx
je case.0x14000262c.5
mov rdx, qword [rbx + 8]
test rdx, rdx
je case.0x14000262c.5
nop dword [rax]
cmp byte [rdx + 0x18], 0
jne 0x1400026ed
movsxd rcx, dword [rdx + 0x10]
add rcx, rcx
mov rax, qword [rbx]
cmp dword [rax + rcx*8 + 8], esi
jne 0x1400026ed
cmp byte [rax + rcx*8 + 0xe], dil
je 0x140002706
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x1400026d0
mov edi, r10d
mov edx, dword [rsp + 0x78]
mov r15, qword [rbp - 0x60]
jmp 0x140002bde
test r14, r14
jne 0x140002657
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
test rbx, rbx
je 0x14000278b
mov edx, 0xffffffe0
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassLongW]
cmp ax, word [0x14012d190]
je 0x14000274c
xor r10d, r10d
mov r13d, r10d
jmp 0x140002765
mov edx, 0xffffffeb
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r13, rax
test rax, rax
jne 0x140002782
xor r10d, r10d
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140002782
cmp rax, qword [0x14012ab78]
jne case.0x140002528.1046
mov edx, dword [rsp + 0x78]
jmp 0x14000278e
mov edx, dword [rsp + 0x78]
xor r10d, r10d
jmp 0x14000278e
mov r13, r10
mov rcx, qword [0x14012cdb0]
test rcx, rcx
je 0x1400027ca
mov rax, qword [rbp - 0x78]
nop
mov r12, qword [rcx + 0x20]
test r12, r12
je 0x1400027c1
nop dword [rax]
cmp dword [r12 + 0x28], eax
je 0x1400027e6
mov r12, qword [r12 + 0x38]
test r12, r12
jne 0x1400027b0
mov rcx, qword [rcx + 0x38]
test rcx, rcx
jne 0x1400027a0
mov r12, r10
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
cmp qword [r12 + 0x10], 0
je 0x140002667
mov edi, dword [r12 + 0x2c]
mov r15, qword [rbp - 0x60]
jmp 0x140002bde
mov eax, dword [0x14012afd8]
cmp rbx, rax
jae 0x140002667
mov rax, qword [0x14012afd0]
mov rdi, qword [rax + rbx*8]
mov qword [rbp + 0x50], rdi
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x140002867
mov rdx, qword [rdi + 8]
call fcn.140017a30
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x1400024fe
mov rcx, qword [rdi + 0x20]
movzx edx, byte [rcx]
lea ecx, [rdx - 2]
test cl, 0xfd
je 0x14000285f
cmp dl, 5
jne 0x14000286b
mov rbx, qword [0x14012ab68]
mov qword [rbp - 0x58], rbx
jmp 0x14000286b
xor eax, eax
mov qword [rbp - 0x58], rax
jmp 0x14000286b
mov qword [rbp - 0x58], r10
mov rdx, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14001b150
cmp qword [rdi + 0x18], 0
jne 0x1400024fe
xor r10d, r10d
cmp byte [rdi + 0x3e], r10b
je 0x1400028a6
movzx eax, word [rbp - 0x78]
mov word [0x14012cdcc], ax
mov edi, dword [rdi + 0x28]
mov edx, dword [rsp + 0x78]
mov r15, qword [rbp - 0x60]
jmp 0x140002bde
mov word [0x14012cdcc], r10w
mov edi, dword [rdi + 0x28]
mov edx, dword [rsp + 0x78]
mov r15, qword [rbp - 0x60]
jmp 0x140002bde
cmp byte [0x14012cd90], 0
jne 0x140002667
mov edi, r10d
mov r15, qword [rbp - 0x60]
jmp 0x140002bde
mov rsi, rbx
mov qword [rbp - 0x48], rbx
mov rcx, rbx
call fcn.14002cb20
test rax, rax
jne 0x14000290b
xor r10d, r10d
mov qword [rbp - 0x48], r10
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
cmp qword [rbx + 0x10], 0
je 0x140002984
cmp qword [0x14012ab60], 0
jne 0x140002933
cmp dword [0x14012afec], 0
jne 0x140002933
test byte [0x14012ad7c], 1
jne 0x140002933
call fcn.140017d80
mov rcx, qword [rbx + 0x10]
cmp qword [rcx + 0x398], 0
je 0x140002954
xor r10d, r10d
mov edi, r10d
mov edx, dword [rsp + 0x78]
mov r15, qword [rbp - 0x60]
jmp 0x140002be2
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
cmp dword [0x14012ab58], 0
jne 0x140002984
lea rcx, [0x14012c670]
call fcn.140047060
test al, al
jne 0x140002984
mov edx, 6
lea rcx, [0x14012c670]
call fcn.140047480
xor r10d, r10d
mov qword [rbp - 0x48], r10
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
mov rsi, qword [0x14012ab60]
mov qword [rbp - 0x48], rsi
test rsi, rsi
mov edi, dword [rbp + 0x1270]
mov r15d, dword [rsp + 0x44]
movzx eax, byte [rbp + 0x1288]
je 0x140001840
nop word [rax + rax]
cmp rsi, rbx
je 0x1400029f4
mov rsi, qword [rsi + 8]
mov qword [rbp - 0x48], rsi
test rsi, rsi
jne 0x1400029d0
mov edi, dword [rbp + 0x1270]
movzx esi, byte [rbp + 0x1280]
jmp 0x14000184e
mov rax, qword [rsi + 0x10]
cmp edx, 0x41c
jne 0x140002a09
mov rax, qword [rax + 0x3a0]
jmp 0x140002a21
cmp edx, 0x41e
jne 0x140002a1a
mov rax, qword [rax + 0x3b0]
jmp 0x140002a21
mov rax, qword [rax + 0x3a8]
test rax, rax
je 0x140002667
mov edi, r10d
mov r15, qword [rbp - 0x60]
jmp 0x140002be2
movzx eax, bx
mov ecx, 0x7fff
and ax, cx
cmp ax, word [0x14012ae64]
jae 0x140002667
movzx ecx, ax
mov rax, qword [0x14012afe0]
mov r8, qword [rax + rcx*8]
mov qword [rbp - 0x10], r8
shr rbx, 0x10
test bx, bx
je 0x140002a97
mov r9d, 0xffff
add bx, r9w
mov r15, qword [r8 + 0x28]
mov qword [rbp - 0x60], r15
je 0x140002a8e
nop dword [rax]
mov r15, qword [r15 + 0x18]
add bx, r9w
jne 0x140002a80
mov qword [rbp - 0x60], r15
test r15, r15
jne 0x140002b86
cmp edx, 0x400
jne 0x140002ab9
mov rax, qword [rbp - 0x78]
shr rax, 0x10
movzx ecx, ax
lea esi, [rcx + 0x3c2bb3]
mov edi, WSAAsyncSelect
sub edi, ecx
jmp 0x140002ac1
mov esi, r10d
mov edi, 0x3c2c17
cmp byte [r8 + 0x19], 0
jne 0x140002ae5
mov qword [rbp - 0x60], r10
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
mov qword [rbp - 0x58], r10
mov rbx, r10
mov r15, qword [r8 + 0x28]
mov qword [rbp - 0x60], r15
test r15, r15
je 0x140002b73
nop dword [rax]
cmp byte [r15 + 0x30], 0
je 0x140002b56
cmp byte [0x14012abad], 0
je 0x140002b17
cmp byte [r15 + 0x31], 0
je 0x140002b56
cmp edi, 0x66
lea ecx, [rsi - 0x3c2bb3]
jbe 0x140002b27
mov ecx, reloc.WSOCK32.dll_WSAAsyncSelect
movzx eax, byte [r15 + 0x2c]
cmp ecx, eax
jle 0x140002b56
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x140002b4c
mov rdx, qword [r8 + 0x20]
call fcn.140017a30
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x140002b56
cmp qword [r15 + 0x10], 0
jne 0x140002b69
mov rbx, r15
mov r15, qword [r15 + 0x18]
mov qword [rbp - 0x60], r15
test r15, r15
je 0x140002b6f
mov r8, qword [rbp - 0x10]
jmp 0x140002b00
mov edx, dword [rsp + 0x78]
jmp 0x140002b7a
mov edx, dword [rsp + 0x78]
mov r15, rbx
mov qword [rbp - 0x60], rbx
xor r10d, r10d
test r15, r15
je 0x140002667
movzx eax, byte [r15 + 0x2b]
cmp byte [r15 + 0x2a], al
jb 0x140002bb1
cmp byte [r15 + 0x2e], 0
je 0x140002b9d
mov byte [r15 + 0x2f], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r15 + 0x20], eax
mov r14d, dword [rsp + 0x48]
jmp 0x140001fc5
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140002bd6
movzx ecx, byte [rax]
lea eax, [rcx - 2]
test al, 0xfd
je 0x140002bd6
cmp cl, 5
jne 0x140002bda
mov rax, qword [0x14012ab68]
mov qword [rbp - 0x58], rax
jmp 0x140002bda
mov qword [rbp - 0x58], r10
mov edi, dword [r15 + 0x24]
mov rsi, qword [rbp - 0x48]
mov eax, dword [reloc.WSOCK32.dll_inet_addr]
cmp dword [0x14012ab58], eax
jl 0x140002c29
test r14, r14
je 0x140002c09
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
xor r10d, r10d
mov qword [r13 + 0x60], r10
mov edx, dword [rsp + 0x78]
cmp edx, 0x41b
jne 0x140002667
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r14d, dword [rsp + 0x48]
jmp 0x140001fc5
mov rax, qword [0x1401241d8]
cmp edi, dword [rax + 0x68]
jge 0x140002c6f
test r14, r14
je 0x140002c4e
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
xor r10d, r10d
mov qword [r13 + 0x60], r10
mov edx, dword [rsp + 0x78]
cmp edx, 0x41b
je 0x140002c15
movzx esi, byte [rbp + 0x1280]
mov edi, dword [rbp + 0x1270]
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
mov byte [rsp + 0x60], 1
lea eax, [rdx - 0x402]
cmp eax, 0x1c
ja case.0x140002c9a.1027
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x3e48]
mov ecx, dword [r8 + rax*4 + 0x3e40]
add rcx, r8
jmp rcx
mov rax, qword [0x14012cd38]
mov qword [0x14012cd40], rax
mov eax, dword [0x14012cdc4]
mov dword [0x14012cdc8], eax
cmp edx, 0x401
jne 0x140002cc8
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 8]
jmp 0x140002cd0
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x20]
mov qword [0x14012cd38], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x14012cdc4], eax
xor r10d, r10d
inc dword [0x14012ab58]
mov rbx, qword [0x1401241d8]
add rbx, 0xc8
mov qword [0x1401241d8], rbx
mov rax, qword [0x14012ab30]
test rax, rax
lea rcx, [rax + 0x80]
jne 0x140002d17
mov rcx, r10
test rbx, rbx
lea rax, [rbx + 0x80]
jne 0x140002d26
mov rax, r10
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 + 0x7f], 1
mov dword [rbx + 0x68], edi
xor edx, edx
lea rcx, [0x14012c670]
call fcn.140046870
movzx eax, byte [rbx + 0xc2]
test al, al
jne 0x140002d96
mov byte [rbx + 0xc2], al
cmp dword [0x14012ce24], 0
je 0x140002da8
cmp dword [0x14012ce20], 0
jne 0x140002dac
test al, al
je 0x140002de2
mov dword [rbx + 0x88], reloc.WSOCK32.dll_recv
mov byte [rbx + 0x7f], 0
test al, al
jne 0x140002de2
cmp dword [0x14012ce24], 0
jge 0x140002dd0
mov dword [rbx + 0x70], 0xffffffff
jmp 0x140002de2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x74], eax
mov eax, dword [0x14012ce24]
mov dword [rbx + 0x70], eax
mov rbx, qword [0x1401241d8]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x14012ce28], eax
mov edx, dword [rsp + 0x78]
lea eax, [rdx - 0x401]
cmp eax, 0x1d
ja case.0x140002e23.1032
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x3e88]
mov ecx, dword [r8 + rax*4 + 0x3e68]
add rcx, r8
jmp rcx
movsxd rsi, dword [rsp + 0x54]
lea rcx, [rsi + rsi*2]
inc esi
mov dword [rsp + 0x54], esi
mov dword [rbp + rcx*8 + 0x90], 5
mov rax, r13
cmp byte [rsp + 0x4c], 0
mov r15, qword [rbp - 0x38]
cmovne rax, r15
mov qword [rbp + rcx*8 + 0x80], rax
mov ebx, dword [rbp - 0x40]
lea eax, [rbx - 1]
cmp eax, 0x10
ja case.0x140002e71.6
mov ecx, dword [r8 + rax*4 + 0x3ea8]
add rcx, r8
jmp rcx
mov rax, qword [rbp - 0x6c]
mov qword [rsp + 0x58], rax
mov rbx, qword [rbp - 0x20]
test r15, r15
je 0x140003092
test bl, bl
je 0x140002f99
mov dword [rbp - 0x30], 0x80000000
movzx ecx, byte [r15 + 0x50]
sub ecx, 9
je 0x140002f1b
sub ecx, 1
je 0x140002eeb
sub ecx, 1
je 0x140002ebf
cmp ecx, 6
jne 0x140002f4c
xor r8d, r8d
mov edx, 0x419
jmp 0x140002f3e
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x140002f4c
mov qword [rbp - 0x30], rax
mov edx, 0x1104
mov r8d, 1
jmp 0x140002f3e
mov edx, 0x100c
mov r9d, 1
lea r8, [r9 - 2]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
cmp r8, 0xffffffffffffffff
je 0x140002f4c
mov dword [rbp - 0x30], 2
mov edx, 0x100e
jmp 0x140002f3e
xor r9d, r9d
xor r8d, r8d
mov edx, OleCreatePictureIndirect
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 0xffffffffffffffff
je 0x140002f4c
mov r8, rax
mov edx, 0x198
lea r9, [rbp - 0x30]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [r15 + 0x28]
cmp dword [rbp - 0x30], 0x80000000
jne 0x140002f65
lea rdx, [rbp - 0x30]
call qword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x140002f77
mov r9d, 2
lea r8, [rbp - 0x30]
xor edx, edx
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [rbp - 0x30]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp - 0x24]
mov ecx, dword [rbp - 0x2c]
sub eax, ecx
jns 0x140002f8a
inc eax
sar eax, 1
add eax, 2
add eax, ecx
mov dword [rsp + 0x5c], eax
mov rax, qword [rbp - 0x6c]
movzx edx, byte [r15 + 0x50]
sub edx, 9
je 0x140003085
sub edx, 1
je 0x140003030
cmp edx, 1
jne 0x140003092
mov rcx, qword [r15 + 0x28]
test bl, bl
je 0x14000300a
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x58]
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_ScreenToClient]
movsxd rcx, esi
lea rcx, [rcx + rcx*2]
shl rcx, 3
lea r8, [rbp + 0x90]
add r8, rcx
mov rax, r15
xor edi, edi
lea r9d, [rdi + 5]
jmp 0x1400030e2
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 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140003051
test bl, bl
je 0x140003056
mov edx, 0x100c
mov r9d, 1
lea r8, [r9 - 2]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
inc eax
cdqe
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x58]
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_ScreenToClient]
movsxd rax, esi
lea rcx, [rax + rax*2]
shl rcx, 3
lea r8, [rbp + 0x90]
add r8, rcx
mov rax, r15
xor edi, edi
lea r9d, [rdi + 5]
jmp 0x1400030e2
xor r9d, r9d
xor r8d, r8d
mov edx, OleCreatePictureIndirect
jmp 0x140003043
lea rdx, [rsp + 0x58]
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_ScreenToClient]
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [rcx*8]
lea r8, [rbp + 0x90]
add r8, rcx
test r15, r15
je 0x1400030ca
mov rax, r15
xor edi, edi
lea r9d, [rdi + 5]
jmp 0x1400030e2
mov qword [rbp + rcx + 0x88], 0xffffffffffffffff
lea rax, [0x140100be0]
xor edi, edi
mov r9d, edi
lea edx, [rsi + 1]
mov dword [r8], r9d
mov qword [rbp + rcx + 0x80], rax
movsxd rax, edx
lea rcx, [rax + rax*2]
lea esi, [rdx + 1]
mov edx, 1
mov dword [rbp + rcx*8 + 0x90], edx
mov r14, qword [rsp + 0x68]
mov qword [rbp + rcx*8 + 0x80], r14
movsxd rax, esi
lea rcx, [rax + rax*2]
inc esi
mov dword [rbp + rcx*8 + 0x90], edx
mov rax, rdi
test bl, bl
sete al
mov qword [rbp + rcx*8 + 0x80], rax
movsxd rax, esi
lea rcx, [rax + rax*2]
inc esi
mov dword [rbp + rcx*8 + 0x90], edx
movsxd rax, dword [rsp + 0x58]
mov qword [rbp + rcx*8 + 0x80], rax
movsxd rax, esi
lea rcx, [rax + rax*2]
inc esi
mov dword [rsp + 0x54], esi
mov dword [rbp + rcx*8 + 0x90], edx
movsxd rax, dword [rsp + 0x5c]
mov qword [rbp + rcx*8 + 0x80], rax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
jmp 0x1400035a2
mov rax, qword [rbp - 0x6c]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_ScreenToClient]
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xffffffef
mov r8d, eax
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_SetWindowLongW]
lea r10, [rbp + 0x80]
movsxd rcx, esi
xor edi, edi
test r15, r15
je 0x1400031d6
mov r8, r15
lea r9d, [rdi + 5]
jmp 0x1400031f0
lea rax, [rcx + rcx*2]
mov qword [rbp + rax*8 + 0x88], 0xffffffffffffffff
lea r8, [0x140100be0]
mov r9d, edi
lea rax, [rcx + rcx*2]
lea edx, [rsi + 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 esi, [rdx + 1]
mov rcx, r14
call fcn.1400806d0
mov dword [rbx + 0x10], 5
mov qword [rbx], rax
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc esi
cmp byte [r13 + 0x112], 0
je 0x14000325d
mov r8d, dword [0x14012c64c]
mov edx, 0x60
mov ecx, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x140003261
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x10], 1
cdqe
mov qword [rbx], rax
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc esi
mov dword [rsp + 0x54], esi
cmp byte [r13 + 0x112], 0
je 0x1400032a7
mov r8d, dword [0x14012c64c]
mov edx, 0x60
mov ecx, dword [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x1400032ab
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 0x10], 1
cdqe
mov qword [rbx], rax
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
mov qword [r13 + 0x60], rdi
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
mov r14, qword [rsp + 0x68]
jmp 0x140003396
mov r14, qword [rsp + 0x68]
cmp ebx, 4
jne 0x14000358d
movsxd rax, esi
lea rcx, [rax + rax*2]
inc esi
mov edi, 1
mov dword [rbp + rcx*8 + 0x90], edi
movsx rax, byte [rbp - 0x20]
mov qword [rbp + rcx*8 + 0x80], rax
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc esi
movzx eax, r14w
cmp byte [r13 + 0x112], 0
je 0x14000333c
mov r8d, dword [0x14012c64c]
lea edx, [rdi + 0x5f]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [rbx + 0x10], edi
cdqe
mov qword [rbx], rax
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rbx, [rbp + 0x80]
lea rbx, [rbx + rcx*8]
inc esi
mov dword [rsp + 0x54], esi
mov rax, r14
shr rax, 0x10
movzx eax, ax
cmp byte [r13 + 0x112], 0
je 0x140003384
mov r8d, dword [0x14012c64c]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [rbx + 0x10], edi
cdqe
mov qword [rbx], rax
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_htonl]
movzx ebx, byte [rsp + 0x40]
mov edi, dword [rsp + 0x50]
cmp byte [rsp + 0x4c], 0
lea rcx, [r15 + 0x38]
jne 0x1400033b1
lea rcx, [r13 + 0x90]
lea rax, [rbp + 0x110]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
mov byte [rsp + 0x20], bl
mov r9d, edi
mov r8d, esi
lea rdx, [rbp + 0x80]
call fcn.140098680
mov rcx, qword [r13 + 0x30]
mov r9d, dword [rbp - 0x40]
test rcx, rcx
je 0x14000369e
mov eax, r9d
sub eax, 1
je 0x14000363c
cmp eax, 1
jne 0x14000369e
cmp qword [rbp + 0x110], 0
jne 0x1400036bd
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
setne cl
cmp cl, byte [r13 + 0x115]
je 0x1400035fb
mov byte [r13 + 0x115], cl
mov rdx, qword [r13]
mov rcx, r13
test eax, eax
je 0x1400035f8
call qword [rdx + reloc.WSOCK32.dll_htonl]
jmp 0x1400035fb
cmp byte [r15 + 0x50], 0x17
jne 0x14000352b
cmp ebx, 7
jne 0x14000352b
mov dword [rbp + 0x160], recv
mov r14, qword [rsp + 0x68]
lea eax, [r14 - 1]
mov dword [rbp + 0x164], eax
lea r9, [rbp + 0x160]
xor r8d, r8d
mov edx, 0x703
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r11d, r11d
test rax, rax
movzx edx, r11w
je 0x1400034a7
movzx edx, word [rbp + 0x170]
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [rcx*8]
mov r9, rcx
lea r10, [rbp + 0x90]
test dx, dx
je 0x1400034dd
mov qword [rbp + rcx + 0x88], 0xffffffffffffffff
lea rax, [rbp + 0x170]
mov r8d, r11d
jmp 0x1400034e6
movsxd rax, r14d
mov r8d, 1
lea edx, [rsi + 1]
mov dword [r9 + r10], r8d
mov qword [rbp + rcx + 0x80], rax
movsxd rax, edx
lea rcx, [rax + rax*2]
lea esi, [rdx + 1]
mov dword [rsp + 0x54], esi
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 0x14000338c
movsxd rax, esi
lea rcx, [rax + rax*2]
inc esi
mov dword [rsp + 0x54], esi
mov edx, 1
mov dword [rbp + rcx*8 + 0x90], edx
mov r14, qword [rsp + 0x68]
mov qword [rbp + rcx*8 + 0x80], r14
mov eax, ebx
sub eax, 0xa
je 0x14000356a
sub eax, edx
je 0x140003563
cmp eax, 2
je 0x14000356a
jmp 0x14000358d
cmp byte [r15 + 0x50], 0xa
jne 0x14000358d
movsxd rax, esi
lea rcx, [rax + rax*2]
inc esi
mov dword [rsp + 0x54], esi
mov dword [rbp + rcx*8 + 0x90], edx
movzx eax, byte [rbp - 0x20]
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 0x140003396
xor edi, edi
movzx ebx, byte [rsp + 0x40]
test r15, r15
je 0x14000339b
lea r8d, [rsi - 1]
lea rcx, [r15 + 0x38]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r13
mov byte [rsp + 0x20], bl
mov edi, dword [rsp + 0x50]
mov r9d, edi
lea rdx, [rbp + 0x98]
call fcn.140098680
cmp eax, 7
je 0x1400035e9
cmp qword [r13 + 0x30], 0
jne 0x14000339f
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003c29
call qword [rdx + reloc.WSOCK32.dll_recv]
cmp dword [0x14012ab58], 0
jne 0x1400036bd
lea rcx, [0x14012c670]
call fcn.140047060
test al, al
jne 0x1400036bd
mov edx, 4
lea rcx, [0x14012c670]
call fcn.140047480
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003c29
xor eax, eax
mov ecx, eax
movsxd rdx, dword [r13 + 0xa0]
test edx, edx
jle 0x1400036a4
mov rax, qword [r13 + 0x90]
add rax, 0xe
cmp dword [rax - 6], 1
jne 0x140003661
cmp byte [rax], 0
je 0x14000366f
inc rcx
add rax, 0x10
cmp rcx, rdx
jl 0x140003656
jmp 0x1400036a4
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x10
mov r8d, eax
mov edx, 0xffffffec
mov rcx, qword [r13 + 0x30]
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x54], esi
jmp 0x1400036a4
cmp r9d, 1
jne 0x1400036bd
movsxd rax, esi
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 0x140003c29
test r13, r13
je 0x1400036eb
mov rax, qword [r13 + 0x30]
mov qword [rbx + 0x38], rax
mov rax, qword [r13 + 0x30]
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 r8d, r8d
mov dword [rbp + 0x10], r8d
mov rax, qword [r12]
mov qword [rbp], rax
mov qword [rbp + 8], 0xffffffffffffffff
mov edx, r8d
mov rax, qword [r12 + 0x20]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x140003731
cmp rcx, r12
je 0x140003736
mov rcx, qword [rcx + 0x38]
inc edx
test rcx, rcx
jne 0x140003721
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 [0x140126aa8]
cmp rcx, qword [0x140126ab0]
jne 0x14000376f
call fcn.140007a08
mov rcx, qword [0x140126aa8]
xor r8d, r8d
cmp rcx, qword [0x140126aa0]
jb 0x140003789
mov rax, qword [0x14012cd28]
mov qword [rcx], rax
mov rcx, qword [0x140126aa8]
add rcx, 0x18
mov qword [0x140126aa8], rcx
mov qword [rcx], r8
lea rax, str.Menu
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], r8d
mov rcx, qword [r12 + 0x10]
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], 3
lea r9, [rbp]
xor r8d, r8d
mov rdx, rcx
call fcn.1400909d0
mov rax, qword [0x140126aa8]
sub rax, 0x18
mov qword [0x140126aa8], rax
cmp rax, qword [0x140126aa0]
jb 0x1400037f8
mov rax, qword [rax]
mov qword [0x140126ac8], rax
mov qword [0x14012cd28], rax
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WSOCK32.dll_recv]
test r13, r13
je 0x140003c29
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003c29
mov rax, qword [rbp - 0x58]
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 0x140003c29
mov byte [0x14012cdce], 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 [0x14012cd38]
mov rcx, rdi
call fcn.140098410
dec byte [rdi + 0x38]
jmp 0x140003c29
call qword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
je 0x1400038c0
mov ecx, recv
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x1400038b7
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
mov eax, 2
je 0x1400038bc
mov eax, 1
xor ebx, ebx
jmp 0x1400038c4
xor ebx, ebx
mov eax, ebx
mov edx, 1
mov dword [rbp + 0x10], edx
mov qword [rbp], rax
mov byte [0x14012cd90], dl
mov rcx, qword [0x140126aa8]
cmp rcx, qword [0x140126ab0]
jne 0x1400038f7
call fcn.140007a08
mov rcx, qword [0x140126aa8]
mov edx, 1
cmp rcx, qword [0x140126aa0]
jb 0x140003911
mov rax, qword [0x14012cd28]
mov qword [rcx], rax
mov rcx, qword [0x140126aa8]
add rcx, 0x18
mov qword [0x140126aa8], rcx
mov qword [rcx], rbx
lea rax, [0x140100c48]
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], ebx
mov qword [rsp + 0x20], rbx
mov r9d, edx
mov r8d, edx
lea rdx, [rbp]
lea rcx, [0x14012cd60]
call fcn.1400984f0
mov rax, qword [0x140126aa8]
sub rax, 0x18
mov qword [0x140126aa8], rax
cmp rax, qword [0x140126aa0]
jb 0x140003974
mov rax, qword [rax]
mov qword [0x140126ac8], rax
mov qword [0x14012cd28], rax
mov byte [0x14012cd90], 0
jmp 0x140003c29
mov dword [rbp + 0x10], 5
mov rbx, qword [rsi + 0x10]
mov qword [rbp], rbx
mov rbx, qword [rbx + 0x398]
mov rcx, qword [0x140126aa8]
cmp rcx, qword [0x140126ab0]
jne 0x1400039b2
call fcn.140007a08
mov rcx, qword [0x140126aa8]
cmp rcx, qword [0x140126aa0]
jb 0x1400039cc
mov rax, qword [0x14012cd28]
mov qword [rcx], rax
mov rcx, qword [0x140126aa8]
add rcx, 0x18
mov qword [0x140126aa8], 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], 1
lea r9, [rbp]
xor r8d, r8d
mov rdx, rbx
mov rcx, rbx
call fcn.1400909d0
mov rax, qword [0x140126aa8]
sub rax, 0x18
mov qword [0x140126aa8], rax
cmp rax, qword [0x140126aa0]
jb 0x140003a39
mov rax, qword [rax]
mov qword [0x140126ac8], rax
mov qword [0x14012cd28], rax
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140003c29
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 - 0x78]
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 0x140003a8c
mov rbx, qword [r8 + 0x3a0]
jmp 0x140003a93
mov rbx, qword [r8 + 0x3b0]
mov rcx, qword [0x140126aa8]
cmp rcx, qword [0x140126ab0]
jne 0x140003aaf
call fcn.140007a08
mov rcx, qword [0x140126aa8]
cmp rcx, qword [0x140126aa0]
jb 0x140003ac9
mov rax, qword [0x14012cd28]
mov qword [rcx], rax
mov rcx, qword [0x140126aa8]
add rcx, 0x18
mov qword [0x140126aa8], 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.1400909d0
mov rax, qword [0x140126aa8]
sub rax, 0x18
mov qword [0x140126aa8], rax
cmp rax, qword [0x140126aa0]
jb 0x140003c29
mov rax, qword [rax]
mov qword [0x140126ac8], rax
mov qword [0x14012cd28], rax
jmp 0x140003c29
mov rax, qword [rbp - 0x78]
mov word [rbp - 0x18], ax
sar rax, 0x10
mov word [rbp - 0x16], ax
xor edx, edx
mov word [rbp - 0x14], dx
mov dword [rbp + 0x10], 5
mov rbx, qword [rsi + 0x10]
mov qword [rbp], rbx
mov dword [rbp + 0x28], edx
lea rax, [rbp - 0x18]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], 0xffffffffffffffff
mov rbx, qword [rbx + 0x3a8]
mov rcx, qword [0x140126aa8]
cmp rcx, qword [0x140126ab0]
jne 0x140003b9c
call fcn.140007a08
mov rcx, qword [0x140126aa8]
xor edx, edx
cmp rcx, qword [0x140126aa0]
jb 0x140003bb6
mov rax, qword [0x14012cd28]
mov qword [rcx], rax
mov rcx, qword [0x140126aa8]
add rcx, 0x18
mov qword [0x140126aa8], rcx
mov qword [rcx], rdx
lea rax, str.InputHook
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], edx
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 2
lea r9, [rbp]
jmp 0x140003afc
mov rcx, qword [rbp - 0x10]
movzx eax, byte [rcx + 0x10]
add al, 0x64
cmp al, 3
ja 0x140003c03
movzx eax, word [rbp - 0x78]
mov qword [rbx + 0x40], rax
mov rax, qword [rbp - 0x58]
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.140018840
call fcn.140004780
cmp dword [rbp + 0x1278], 0
mov edi, dword [rbp + 0x1270]
movzx esi, byte [rbp + 0x1280]
mov r14d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x44]
movzx eax, byte [rbp + 0x1288]
mov r10d, 0
je 0x140001853
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test sil, sil
jne 0x140003c76
mov ecx, dword [rbp - 0x50]
sub ecx, eax
add ecx, edi
cmp ecx, 5
jg 0x140003cd8
mov dword [0x14012ce28], eax
mov al, 1
mov byte [rbp + 0x1288], al
movzx esi, al
mov byte [rbp + 0x1280], al
xor r10d, r10d
jmp 0x140001853
mov rcx, qword [0x1401241d8]
mov byte [rcx + 0x7e], 0
jmp 0x140003ca9
mov rcx, qword [0x1401241d8]
mov rdx, qword [0x14012ab40]
test rdx, rdx
je 0x140003cee
lea r8, [rsp + 0x70]
mov rcx, qword [0x14012ab78]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
je 0x140003ce7
mov edi, dword [rbp + 0x1270]
movzx esi, byte [rbp + 0x1280]
xor r10d, r10d
movzx eax, byte [rbp + 0x1288]
jmp 0x140001849
mov rcx, qword [0x1401241d8]
mov byte [rcx + 0x7e], 1
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x78], eax
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov rax, qword [0x1401241d8]
mov byte [rax + 0x7e], 0
mov r14d, dword [rsp + 0x48]
jmp 0x140001fc5
mov dword [0x14012ce28], eax
cmp byte [rsp + 0x4d], 0
je 0x140003d38
mov byte [0x14012ab27], 0
cmp byte [rsp + 0x4e], 0
je 0x140003d88
mov eax, dword [0x14012ab80]
dec eax
mov dword [0x14012ab80], eax
test edi, edi
jle 0x140003d88
test eax, eax
jne 0x140003d88
cmp dword [0x14012cdac], eax
jne 0x140003d88
cmp dword [0x14012afdc], eax
jne 0x140003d88
cmp byte [0x14012ab26], al
je 0x140003d88
lea edx, [rax + 9]
mov rcx, qword [0x14012ab78]
call qword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x140003d88
mov byte [0x14012ab26], 0
movzx eax, byte [rsp + 0x60]
jmp 0x14000242b