Function at 0x1400032c0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rbx, rcx
inc rdx
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
call fcn.140002410
movsx r14d, al
call fcn.140002400
movsx r15d, al
mov r9d, r15d
imul r9d, r14d
call fcn.140002440
movsx ecx, byte [0x140041c61]
xor edx, edx
movsx r10d, al
xor r12d, r12d
add ecx, r10d
mov edi, 0xa
lea eax, [rcx + r9*8]
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400035b9
movsx eax, byte [0x140041c62]
test rsi, rsi
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, r12d
sete al
xor edx, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
lea eax, [r9 + r9*4]
lea ebp, [r10 + rax*2]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, ebp
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400033e5
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
je 0x1400033e5
mov r11d, edi
jmp 0x140003448
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140003443
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si r11d, xmm0
jmp 0x140003448
mov r11d, dword [rsp + 0x50]
movsx eax, byte [0x140041c61]
lea ecx, [r9 + r10]
lea ecx, [rcx + r9*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x1400035b9
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, ebp
div ecx
movsx ecx, byte [0x140041c63]
xorps xmm2, xmm2
sub eax, ecx
xor edx, edx
cvtsi2sd xmm2, rax
movsx eax, byte [0x140041c62]
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, ebp
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140003529
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
jne 0x14000393c
call fcn.140002440
movsx edx, al
mov ecx, r14d
imul ecx, r15d
lea eax, [rdx + rcx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400035ac
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140002440
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
jmp 0x1400035b0
mov eax, dword [rsp + 0x50]
cmp r12d, eax
jl 0x14000393c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r14, rax
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140002440
movsx ecx, byte [0x140041c61]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400038f5
movsx eax, byte [0x140041c62]
test r14, r14
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r12
cvtdq2pd xmm0, xmm0
sete al
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140002440
movsx ecx, al
movsx eax, byte [0x140041c61]
lea ebp, [rcx + rdx*2]
movsx ecx, byte [0x140041c60]
add eax, ebp
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400036c7
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
jne 0x14000375a
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
call fcn.140002440
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140003756
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140002440
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si edi, xmm0
jmp 0x14000375a
mov edi, dword [rsp + 0x50]
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, ebp
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
imul eax, edi
test eax, eax
je 0x1400038f5
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140002440
movsx ecx, byte [0x140041c61]
xor edx, edx
movsx eax, al
xorps xmm2, xmm2
add eax, r9d
add eax, ecx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x140041c62]
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, ebp
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000385d
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
jne 0x14000393c
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
call fcn.140002440
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400038ec
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140002440
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
jmp 0x1400038f0
mov eax, dword [rsp + 0x50]
cmp r12d, eax
jl 0x14000393c
cmp qword [rbx + 0x18], 0xf
mov rdx, rbx
jbe 0x140003902
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, r14
inc r8
call fcn.14002d730
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rsi
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret