Function at 0x1400b07c0
Capabilities:
Write clipboard data

Disassembly:
push rbx
push rsi
push r12
sub rsp, 0x40
mov rbx, rcx
mov ecx, dword [rdx + 0x10]
mov r12, rdx
dec ecx
je 0x1400b0e57
dec ecx
je 0x1400b0e2f
sub ecx, 2
je 0x1400b0e1c
dec ecx
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x38], r13
je 0x1400b0822
dec ecx
jne 0x1400b0b3c
mov rdi, qword [rdx]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + VariantCopy]
mov rdx, rdi
mov rcx, rbx
call fcn.1400b1860
jmp 0x1400b0ae1
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1400b0b3c
mov r13, qword [r12]
cmp word [r13], 0x30
je 0x1400b0853
mov rdx, qword [rdx]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
mov eax, 1
jmp 0x1400b0ae1
movzx edx, byte [rbx + 0x23]
mov qword [rsp + 0x30], r14
test dl, dl
jne 0x1400b087d
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
jmp 0x1400b0b34
xor esi, esi
mov r8b, 1
test r13, r13
jne 0x1400b0896
xor r8b, r8b
mov r14d, esi
lea r13, [0x1400e346c]
jmp 0x1400b08b8
cmp qword [rbx + 8], r13
jne 0x1400b08a5
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x1400b08b8
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
lea rax, [r14 + 1]
lea rbp, [rax + rax]
cmp dl, 2
jne 0x1400b08d5
mov rdx, r14
mov rcx, r13
call fcn.1400060c0
jmp 0x1400b0b34
mov r9, qword [0x140114480]
cmp rbp, r9
jbe 0x1400b08f3
cmp rbp, qword [rbx + 0x18]
jbe 0x1400b08f3
lea rdx, [0x1400ffee0]
jmp 0x1400b0b21
cmp rax, 2
jae 0x1400b0913
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b1b90
jmp 0x1400b0ac4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400b0930
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140114480]
mov r8, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r8
jbe 0x1400b0a9f
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400b0963
cmp al, 2
je 0x1400b09a0
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x68]
jmp 0x1400b0a93
mov edi, 0x80
cmp rbp, rdi
ja 0x1400b09a0
cmp rbp, 8
ja 0x1400b097a
mov edi, 8
jmp 0x1400b0986
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x1400b0b38
mov byte [rbx + 0x20], 1
jmp 0x1400b0a93
cmp rbp, 0x20
jae 0x1400b09b0
mov edi, SafeArrayAllocDescriptor
jmp 0x1400b0a5a
mov edi, 0x208
cmp rbp, rdi
jb 0x1400b0a5a
cmp rbp, 0x50000
jae 0x1400b0a16
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x1400b09dd
addsd xmm0, qword [0x140101e88]
mulsd xmm0, qword [0x140101ec0]
movsd xmm1, qword [0x140101eb8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400b0a0c
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400b0a0c
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400b0a5a
cmp rbp, 0x320000
jae 0x1400b0a28
lea rdi, [rbp + 0x8000]
jmp 0x1400b0a5a
cmp rbp, 0xc80000
jae 0x1400b0a53
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x1400b0a5a
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x1400b0a7a
test r8, r8
je 0x1400b0a7a
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400cb11c
jmp 0x1400b0a7d
xor bpl, bpl
test rdi, rdi
js 0x1400b0af9
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x1400b0af9
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r13
je 0x1400b0ab4
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cb2e0
mov rax, qword [rbx + 8]
lea rcx, [r14 + r14]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov rdx, qword [r12 + 8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rbx
mov rdx, qword [rdx]
call fcn.140001090
mov eax, 1
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x60]
mov r13, qword [rsp + 0x38]
add rsp, 0x40
pop r12
pop rsi
pop rbx
ret
test bpl, bpl
je 0x1400b0b0f
lea rax, [0x14011b184]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x1400b0b16
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, [0x1400e6570]
lea r8, [0x1400e346c]
lea rcx, [0x14011b1d0]
call fcn.140040740
test eax, eax
jne 0x1400b0ac4
xor eax, eax
jmp 0x1400b0adc
movzx edx, byte [rbx + 0x23]
mov r12, qword [r12]
test dl, dl
jne 0x1400b0b67
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r12
mov byte [rsp + 0x20], 1
call fcn.1400b14e0
mov esi, eax
jmp 0x1400b0ae1
xor esi, esi
mov r8b, 1
test r12, r12
jne 0x1400b0b80
xor r8b, r8b
mov r13d, esi
lea r12, [0x1400e346c]
jmp 0x1400b0ba2
cmp qword [rbx + 8], r12
jne 0x1400b0b8f
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x1400b0ba2
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
lea rax, [r13 + 1]
lea rbp, [rax + rax]
cmp dl, 2
jne 0x1400b0bc1
mov rdx, r13
mov rcx, r12
call fcn.1400060c0
mov esi, eax
jmp 0x1400b0ae1
mov r9, qword [0x140114480]
cmp rbp, r9
jbe 0x1400b0bf4
cmp rbp, qword [rbx + 0x18]
jbe 0x1400b0bf4
lea r8, [0x1400e346c]
lea rdx, [0x1400ffee0]
lea rcx, [0x14011b1d0]
call fcn.140040740
mov esi, eax
jmp 0x1400b0ae1
cmp rax, 2
jae 0x1400b0c1b
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b1b90
mov esi, 1
mov eax, esi
jmp 0x1400b0ae1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400b0c38
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140114480]
mov r8, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r8
jbe 0x1400b0da7
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400b0c6b
cmp al, 2
je 0x1400b0ca8
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x68]
jmp 0x1400b0d9b
mov edi, 0x80
cmp rbp, rdi
ja 0x1400b0ca8
cmp rbp, 8
ja 0x1400b0c82
mov edi, 8
jmp 0x1400b0c8e
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400aa400
test rax, rax
je 0x1400b0dd3
mov byte [rbx + 0x20], 1
jmp 0x1400b0d9b
cmp rbp, 0x20
jae 0x1400b0cb8
mov edi, SafeArrayAllocDescriptor
jmp 0x1400b0d62
mov edi, 0x208
cmp rbp, rdi
jb 0x1400b0d62
cmp rbp, 0x50000
jae 0x1400b0d1e
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x1400b0ce5
addsd xmm0, qword [0x140101e88]
mulsd xmm0, qword [0x140101ec0]
movsd xmm1, qword [0x140101eb8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400b0d14
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400b0d14
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400b0d62
cmp rbp, 0x320000
jae 0x1400b0d30
lea rdi, [rbp + 0x8000]
jmp 0x1400b0d62
cmp rbp, 0xc80000
jae 0x1400b0d5b
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x1400b0d62
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x1400b0d82
test r8, r8
je 0x1400b0d82
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400cb11c
jmp 0x1400b0d85
xor bpl, bpl
test rdi, rdi
js 0x1400b0dda
mov rcx, rdi
call fcn.1400ca9a4
test rax, rax
je 0x1400b0dda
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r12
je 0x1400b0dbd
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400cb2e0
mov rax, qword [rbx + 8]
lea rcx, [r13 + r13]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov esi, 1
mov eax, esi
jmp 0x1400b0ae1
test bpl, bpl
je 0x1400b0df0
lea rax, [0x14011b184]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x1400b0df7
mov rax, qword [rbx + 8]
mov word [rax], si
lea r8, [0x1400e346c]
lea rdx, [0x1400e6570]
lea rcx, [0x14011b1d0]
mov qword [rbx + 0x10], rsi
call fcn.140040740
mov esi, eax
jmp 0x1400b0ae1
mov rdx, qword [rdx]
mov rcx, rbx
add rsp, 0x40
pop r12
pop rsi
pop rbx
jmp fcn.1400b0640
movsd xmm0, qword [rdx]
mov r8b, 0x28
mov rcx, rbx
movsd qword [rsp + 0x68], xmm0
mov rdx, qword [rsp + 0x68]
call fcn.140001090
mov eax, 1
add rsp, 0x40
pop r12
pop rsi
pop rbx
ret
mov rdx, qword [rdx]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
mov eax, 1
add rsp, 0x40
pop r12
pop rsi
pop rbx
ret