Function at 0x100024360
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x230
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rdi, rcx
xor r15d, r15d
cmp qword [rcx + 0x278], r15
jne 0x1000243a6
mov rax, 0xffffffff80004003
jmp 0x100024bf1
movsx ecx, r9w
mov dword [rsp + 0x58], ecx
shr r9, 0x10
movsx eax, r9w
mov dword [rsp + 0x5c], eax
mov ebp, 1
cmp ecx, 0xffffffff
jne 0x100024500
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1027
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rdx, [rsp + 0x68]
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_GetClientRect]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x100024404
xor eax, eax
jmp 0x100024bf1
lea rdx, [rsp + 0x260]
mov rcx, qword [rdi + 0x278]
call fcn.10006ac0c
cmp eax, r15d
jge 0x100024424
xor eax, eax
jmp 0x100024bf1
cmp dword [rsp + 0x260], r15d
jne 0x100024435
xor eax, eax
jmp 0x100024bf1
lea rdx, [rsp + 0x260]
mov rcx, qword [rdi + 0x278]
call fcn.10006b330
cmp eax, r15d
jge 0x100024455
xor eax, eax
jmp 0x100024bf1
movsxd rbx, dword [rsp + 0x260]
xor r9d, r9d
mov r8, rbx
mov edx, 0x1013
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x100024487
xor eax, eax
jmp 0x100024bf1
mov dword [rsp + 0x40], r15d
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, 0x100e
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x1000244b8
xor eax, eax
jmp 0x100024bf1
mov eax, dword [rsp + 0x40]
add eax, 0x8e
mov dword [rsp + 0x58], eax
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x4c]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x5c], eax
lea rdx, [rsp + 0x58]
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_ClientToScreen]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x10002462b
xor eax, eax
jmp 0x100024bf1
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov r9d, ebp
lea r8, [rsp + 0x40]
mov rdx, qword [rdi + 8]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MapWindowPoints]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x100024530
xor eax, eax
jmp 0x100024bf1
xor edx, edx
lea r8d, [rdx + 0x14]
lea rcx, [rsp + 0x6c]
call sub.msvcrt.dll_memset
mov r11, qword [rsp + 0x40]
mov qword [rsp + 0x68], r11
lea r9, [rsp + 0x68]
xor r8d, r8d
mov edx, 0x1012
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
cmp eax, 0xffffffff
je 0x100024617
lea rdx, [rsp + 0x260]
mov rcx, qword [rdi + 0x278]
call fcn.10006ac0c
cmp eax, r15d
jge 0x100024590
xor eax, eax
jmp 0x100024bf1
cmp dword [rsp + 0x260], r15d
jne 0x100024617
mov r8b, bpl
mov edx, ebx
mov rcx, qword [rdi + 0x278]
call fcn.10006a74c
cmp eax, r15d
jge 0x1000245b7
xor eax, eax
jmp 0x100024bf1
mov dword [rsp + 0x90], r15d
xor edx, edx
lea r8d, [rdx + 0x54]
lea rcx, [rsp + 0x94]
call sub.msvcrt.dll_memset
mov r11d, 2
mov dword [rsp + 0x9c], r11d
mov dword [rsp + 0xa0], r11d
movsxd r8, ebx
lea r9, [rsp + 0x90]
mov edx, 0x102b
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x100024617
xor eax, eax
jmp 0x100024bf1
mov rcx, rdi
call fcn.100024100
cmp eax, r15d
jge 0x10002462b
xor eax, eax
jmp 0x100024bf1
mov r8d, ebp
xor edx, edx
mov rcx, qword [rdi + 0x100]
call qword [sym.imp.USER32.dll_InvalidateRect]
cmp eax, r15d
setne al
cmp al, r15b
jne 0x10002464f
xor eax, eax
jmp 0x100024bf1
lea rdx, [rsp + 0x260]
mov rcx, qword [rdi + 0x278]
call fcn.10006ac0c
cmp eax, r15d
jge 0x10002466f
xor eax, eax
jmp 0x100024bf1
mov qword [rsp + 0x40], r15
mov esi, dword [rsp + 0x260]
cmp esi, ebp
jne 0x100024706
mov dword [rsp + 0x260], r15d
lea rdx, [rsp + 0x260]
mov rcx, qword [rdi + 0x278]
call fcn.10006b330
cmp eax, r15d
jge 0x1000246ab
xor eax, eax
jmp 0x100024bf1
mov rdx, qword [rdi + 0x278]
movsxd rax, dword [rsp + 0x260]
cmp eax, r15d
jl 0x1000246f2
cmp eax, dword [rdx + 0x58]
jge 0x1000246f2
mov rcx, rax
mov rax, qword [rdx + 0x50]
mov rcx, qword [rax + rcx*8]
cmp dword [rcx + 0x4c], 3
jne 0x1000246dc
mov eax, 0xa35
jmp 0x10002470b
mov rax, qword [rcx]
call qword [rax + 0x18]
neg al
sbb eax, eax
and eax, 0xc2
add eax, 0x974
jmp 0x10002470b
xor r9d, r9d
xor r8d, r8d
mov edx, ebp
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov eax, 0x9aa
movzx edx, ax
mov rcx, qword [0x1000a1d70]
call qword [sym.imp.USER32.dll_LoadMenuW]
mov rbx, rax
mov qword [rsp + 0x40], rax
cmp rax, r15
setne al
cmp al, r15b
jne 0x10002474f
cmp rbx, r15
je 0x100024748
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, r15d
cmovne rbx, r15
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.1000261e4
nop
mov bpl, r15b
mov byte [rsp + 0x260], r15b
mov r13b, r15b
mov r12b, r15b
mov r14b, r15b
lea rax, [rsp + 0x50]
cmp rax, r15
je 0x100024bd5
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_OpenClipboard]
cmp eax, r15d
setne al
cmp al, r15b
je 0x100024bd5
mov ecx, 0xf
call qword [sym.imp.USER32.dll_GetClipboardData]
cmp rax, r15
setne r15b
call qword [sym.imp.USER32.dll_CloseClipboard]
test eax, eax
setne al
test al, al
je 0x100024bd2
test esi, esi
je 0x1000248a6
lea rdx, [rsp + 0x260]
mov rcx, qword [rdi + 0x278]
call fcn.10006b3ec
xor esi, esi
cmp eax, esi
jge 0x100024804
cmp rbx, rsi
je 0x1000247fd
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov r14b, 1
mov rcx, qword [rdi + 0x220]
cmp rcx, rsi
je 0x100024886
xor r9d, r9d
mov ebp, 0x412
mov r8d, 0x8e0
mov edx, ebp
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 4
sete r13b
mov rcx, qword [rdi + 0x220]
cmp rcx, rsi
je 0x100024866
xor r9d, r9d
mov r8d, 0x8e1
mov edx, ebp
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 4
sete r12b
mov bpl, byte [rsp + 0x260]
jmp 0x1000248a8
cmp rbx, rsi
je 0x10002487f
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
cmp rbx, rsi
je 0x10002489f
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
xor esi, esi
mov r8d, esi
cmp r13b, sil
sete r8b
mov edx, 0x8e0
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_EnableMenuItem]
or r13d, 0xffffffff
cmp eax, r13d
setne al
cmp al, sil
jne 0x1000248f1
cmp rbx, rsi
je 0x1000248ea
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov r8d, esi
cmp r12b, sil
sete r8b
mov edx, 0x8e1
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp eax, r13d
setne al
cmp al, sil
jne 0x100024936
cmp rbx, rsi
je 0x10002492f
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov r8d, esi
cmp bpl, sil
sete r8b
mov r12d, 0x975
mov edx, r12d
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, esi
cmp r14b, sil
sete r8b
mov r14d, 0x8e3
mov edx, r14d
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp eax, r13d
setne al
cmp al, sil
jne 0x10002499d
cmp rbx, rsi
je 0x100024996
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov r8d, esi
cmp r15b, sil
sete r8b
mov ebp, 0x9ff
mov edx, ebp
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp eax, r13d
setne al
cmp al, sil
jne 0x1000249e4
cmp rbx, rsi
je 0x1000249dd
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
lea rcx, [rsp + 0xf0]
call fcn.10002590c
nop
lea rax, [0x100003dc0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 0x5600004c
xor r9d, r9d
lea r8, [0x1000a1160]
mov rdx, qword [rdi + 0x100]
lea rcx, [rsp + 0xf0]
call fcn.100025b98
cmp rax, rsi
jne 0x100024a67
lea rcx, [rsp + 0xf0]
call fcn.10002df80
nop
cmp rbx, rsi
je 0x100024a60
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8df
lea rcx, [rsp + 0xf0]
call fcn.100026228
cmp eax, esi
setne al
cmp al, sil
jne 0x100024ac0
lea rcx, [rsp + 0xf0]
call fcn.10002df80
nop
cmp rbx, rsi
je 0x100024ab9
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov qword [rsp + 0x28], rsi
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x58]
mov r8d, 0x1142
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0xf0]
call fcn.10002e6b4
cmp eax, esi
je 0x100024b64
cmp eax, 0x8e0
jl 0x100024b64
cmp eax, 0x8e1
jle 0x100024b4e
cmp eax, r14d
je 0x100024b4e
cmp eax, r12d
je 0x100024b44
cmp eax, ebp
jne 0x100024b64
mov rcx, rdi
call fcn.100023884
cmp eax, esi
jge 0x100024b64
lea rcx, [rsp + 0xf0]
call fcn.10002df80
nop
cmp rbx, rsi
je 0x100024b3d
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
mov rcx, rdi
call fcn.10002424c
jmp 0x100024b64
movzx r8d, ax
xor r9d, r9d
mov edx, VarUI4FromDisp
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.USER32.dll_DestroyWindow]
cmp eax, esi
setne al
cmp al, sil
jne 0x100024ba7
lea rcx, [rsp + 0xf0]
call fcn.10002df80
nop
cmp rbx, rsi
je 0x100024ba3
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
lea rcx, [rsp + 0xf0]
call fcn.10002df80
nop
cmp rbx, rsi
je 0x100024bce
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, esi
cmovne rbx, rsi
mov qword [rsp + 0x40], rbx
xor eax, eax
jmp 0x100024bf1
xor r15d, r15d
cmp rbx, r15
je 0x100024bef
mov rcx, rbx
call qword [sym.imp.USER32.dll_DestroyMenu]
cmp eax, r15d
cmovne rbx, r15
mov qword [rsp + 0x40], rbx
xor eax, eax
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret