Function at 0x1400be640
Capabilities:
Open clipboard

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
xor r12d, r12d
xor sil, sil
call fcn.1400310b0
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400beddc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x28], r12
lea rcx, str.HTML_Format
call qword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov ecx, eax
lea rdx, [rbp - 0x28]
call fcn.1400beef0
test al, al
je 0x1400bedc7
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400be6dc
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1400be6d0
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x1400be6d3
mov rcx, r12
mov qword [0x1401f7b90], rcx
jmp 0x1400be6e3
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x38]
call fcn.1400359a0
lea rdi, str.Version:0.9
mov rbx, rdi
movzx eax, word [rbx]
add rbx, 2
test ax, ax
jne 0x1400be704
sub rbx, rdi
sar rbx, 1
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400be74b
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1400be73f
mov rcx, rax
call fcn.1400302c0
jmp 0x1400be742
mov rax, r12
mov qword [0x1401f7b90], rax
jmp 0x1400be752
mov rax, qword [0x1401f7b90]
lea r9d, [rbx - 1]
mov r8, rdi
mov rbx, qword [rbp - 0x38]
mov rdx, rbx
mov rcx, rax
call fcn.140039450
mov r13d, 0xffffffff
test eax, eax
je 0x1400be7e8
lea r14, str.Version:1.0
mov rdi, r14
nop dword [rax]
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x1400be780
sub rdi, r14
sar rdi, 1
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400be7c7
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1400be7bb
mov rcx, rax
call fcn.1400302c0
jmp 0x1400be7be
mov rax, r12
mov qword [0x1401f7b90], rax
jmp 0x1400be7ce
mov rax, qword [0x1401f7b90]
lea r9d, [rdi - 1]
mov r8, r14
mov rdx, rbx
mov rcx, rax
call fcn.140039450
test eax, eax
jne 0x1400bed9a
mov r14d, 1
mov dword [rbp + 0x50], r14d
cmp dword [rbx - 0x10], 0
jle 0x1400be99b
mov rcx, qword [0x1401f8178]
test rcx, rcx
je 0x1400be99b
mov rax, qword [rcx]
movzx edx, r14b
call qword [rax + 0x28]
test rax, rax
je 0x1400be99b
mov r10, qword [rax]
lea r9d, [r14 + 2]
lea rsi, str.StartFragment:
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0xc0]
mov edi, eax
cmp eax, 0xffffffff
je 0x1400be99b
test eax, eax
js 0x1400be99b
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400be888
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1400be87c
mov rcx, rax
call fcn.1400302c0
mov r15, rax
jmp 0x1400be87f
mov r15, r12
mov qword [0x1401f7b90], r15
jmp 0x1400be88f
mov r15, qword [0x1401f7b90]
mov rcx, rsi
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1400be892
sub rcx, rsi
sar rcx, 1
lea r8, [0x140193838]
mov rsi, r8
nop
movzx eax, word [rsi]
add rsi, 2
test ax, ax
jne 0x1400be8b0
sub rsi, r8
sar rsi, 1
dec esi
dec edi
add edi, ecx
mov dword [rbp + 0x58], edi
cmp edi, dword [rbx - 0x10]
jge 0x1400be9a2
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edi
lea rdx, [rbx + rax*2]
mov r9d, esi
mov rcx, r15
call fcn.140039450
test eax, eax
jne 0x1400be902
dec r14d
test r14d, r14d
jle 0x1400be916
add edi, esi
jmp 0x1400be904
inc edi
cmp edi, dword [rbx - 0x10]
jge 0x1400be99b
lea r8, [0x140193838]
jmp 0x1400be8e0
mov ecx, dword [rbx - 0x10]
test edi, edi
js 0x1400be99b
mov edx, dword [rbp + 0x58]
test edx, edx
js 0x1400be99b
sub edi, edx
cmp edx, ecx
cmovg edx, ecx
mov eax, r12d
test edx, edx
cmovns eax, edx
sub ecx, eax
cmp edi, ecx
cmovg edi, ecx
mov esi, r12d
test edi, edi
cmovns esi, edi
cdqe
lea rdi, [rbx + rax*2]
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400be989
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1400be974
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x1400be977
mov rcx, r12
mov qword [0x1401f7b90], rcx
mov rax, qword [rcx]
mov r8d, esi
mov rdx, rdi
jmp 0x1400be9e8
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov r8d, esi
mov rdx, rdi
jmp 0x1400be9e8
mov r15, qword [0x1401f7b90]
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400be9d8
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1400be9ce
mov rcx, rax
call fcn.1400302c0
mov r15, rax
jmp 0x1400be9d1
mov r15, r12
mov qword [0x1401f7b90], r15
mov rax, qword [r15]
mov r8d, r13d
lea rdx, [0x14018ac20]
mov rcx, r15
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, r13d
call qword [rax + 0x28]
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x60]
call fcn.140032340
mov rcx, qword [rbp + 0x60]
call fcn.140014050
mov dword [rbp + 0x58], eax
cmp dword [rbx - 0x10], 0
jle 0x1400bebd6
mov rcx, qword [0x1401f8178]
test rcx, rcx
je 0x1400bebd6
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x28]
test rax, rax
je 0x1400bebd6
mov r10, qword [rax]
mov r9d, 3
lea rsi, str.EndFragment:
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call qword [r10 + 0xc0]
mov edi, eax
cmp eax, 0xffffffff
je 0x1400bebd6
test eax, eax
js 0x1400bebd6
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400beaac
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1400beaa0
mov rcx, rax
call fcn.1400302c0
mov r14, rax
jmp 0x1400beaa3
mov r14, r12
mov qword [0x1401f7b90], r14
jmp 0x1400beab3
mov r14, qword [0x1401f7b90]
mov rcx, rsi
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1400beac0
sub rcx, rsi
sar rcx, 1
lea r8, [0x140193838]
mov rsi, r8
nop dword [rax]
movzx eax, word [rsi]
add rsi, 2
test ax, ax
jne 0x1400beae0
sub rsi, r8
sar rsi, 1
dec esi
lea r15d, [rdi - 1]
add r15d, ecx
mov edi, r15d
cmp r15d, dword [rbx - 0x10]
jge 0x1400bebdd
nop dword [rax + rax]
movsxd rax, edi
lea rdx, [rbx + rax*2]
mov r9d, esi
mov rcx, r14
call fcn.140039450
test eax, eax
jne 0x1400beb36
mov eax, dword [rbp + 0x50]
dec eax
mov dword [rbp + 0x50], eax
test eax, eax
jle 0x1400beb4a
add edi, esi
jmp 0x1400beb38
inc edi
cmp edi, dword [rbx - 0x10]
jge 0x1400bebd6
lea r8, [0x140193838]
jmp 0x1400beb10
mov ecx, dword [rbx - 0x10]
test edi, edi
js 0x1400bebd6
test r15d, r15d
js 0x1400bebd6
sub edi, r15d
cmp r15d, ecx
cmovg r15d, ecx
mov eax, r12d
test r15d, r15d
cmovns eax, r15d
sub ecx, eax
cmp edi, ecx
cmovg edi, ecx
mov esi, r12d
test edi, edi
cmovns esi, edi
cdqe
lea rdi, [rbx + rax*2]
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400bebc4
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1400bebaf
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x1400bebb2
mov rcx, r12
mov qword [0x1401f7b90], rcx
mov rax, qword [rcx]
mov r8d, esi
mov rdx, rdi
jmp 0x1400bec23
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
mov r8d, esi
mov rdx, rdi
jmp 0x1400bec23
mov r14, qword [0x1401f7b90]
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400bec13
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1400bec09
mov rcx, rax
call fcn.1400302c0
mov r14, rax
jmp 0x1400bec0c
mov r14, r12
mov qword [0x1401f7b90], r14
mov rax, qword [r14]
mov r8d, r13d
lea rdx, [0x14018ac20]
mov rcx, r14
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, r13d
call qword [rax + 0x28]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x50]
call fcn.140032340
mov rcx, qword [rbp + 0x50]
call fcn.140014050
mov ecx, dword [rbp + 0x58]
sub eax, ecx
mov r8d, dword [rbx - 0x10]
cmp ecx, r8d
cmovg ecx, r8d
mov edx, r12d
test ecx, ecx
cmovns edx, ecx
sub r8d, edx
cmp eax, r8d
cmovg eax, r8d
mov edi, r12d
test eax, eax
cmovns edi, eax
movsxd rax, edx
lea rbx, [rbx + rax*2]
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400becb2
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1400beca9
mov rcx, rax
call fcn.1400302c0
mov r12, rax
mov qword [0x1401f7b90], r12
jmp 0x1400becb9
mov r12, qword [0x1401f7b90]
mov rax, qword [r12]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, r13d
mov r8d, edi
mov rdx, rbx
mov rcx, r12
call qword [rax + 0x28]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x58]
call fcn.140032480
mov rbx, qword [rbp + 0x58]
cmp dword [rbx - 0x10], 0
jle 0x1400bed04
lea rdx, [rbp + 0x58]
mov rcx, qword [rbp + 0x48]
call fcn.140030d70
mov sil, 1
jmp 0x1400bed07
xor sil, sil
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400bed34
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400bed2a
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bed34
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400bed65
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400bed5b
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bed65
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400bed96
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400bed8c
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400bed96
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rbp - 0x38]
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400bedc7
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400bedbc
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jg 0x1400bedc7
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
call qword [sym.imp.USER32.dll_CloseClipboard]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400beddc
call fcn.1400025e0
movzx eax, sil
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret