Function at 0x140322580
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0x60
mov rax, qword [0x14041f010]
xor rax, rsp
mov qword [rsp + 0x58], rax
movdqa xmm0, xmmword [0x1403d91a0]
xor ebx, ebx
mov rsi, rcx
mov qword [rsp + 0x40], rbx
xor ecx, ecx
mov r13d, ebx
movdqu xmmword [rsp + 0x48], xmm0
lea edi, [rbx + 0xa]
mov r12d, ebx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x1403225f2
nop dword [rax + rax]
cmp edi, 0x1f4
jg 0x1403229d7
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
add edi, edi
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1403225d0
mov ecx, dword [rsi + 0x48]
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], r14
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x14032266a
mov ecx, dword [rsi + 0x48]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rdi, rax
test rax, rax
je 0x14032266a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rbp, rax
test rax, rax
je 0x14032266a
mov rcx, rdi
mov r14d, reloc.WSOCK32.dll_recv
call qword [sym.imp.KERNEL32.dll_GlobalSize]
cmp rax, r14
jae 0x140322651
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov r14, rax
mov r8, r14
lea rcx, [rsp + 0x48]
mov rdx, rbp
call fcn.140003740
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [rsi + 0x4c]
mov qword [rsp + 0xa8], r15
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov ebp, dword [rsp + 0x4c]
mov r14d, 1
test eax, eax
je 0x140322736
mov rcx, qword [0x14046a0e8]
mov rbp, 0xffffffffffffffff
mov rax, rbp
nop
inc rax
cmp byte [rcx + rax], bl
jne 0x1403226a0
mov edi, dword [rsp + 0x54]
cmp edi, eax
jle 0x140322732
mov ecx, dword [rsi + 0x4c]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov qword [rsp + 0x40], rax
mov r15, rax
test rax, rax
je 0x140322732
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r10, rax
test rax, rax
je 0x140322724
mov r9, qword [0x14046a0e8]
mov r8, r10
mov rax, r9
sub r8, r9
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140322703
inc rax
test ecx, ecx
jne 0x1403226f0
test edx, edx
jne 0x140322724
inc rbp
cmp byte [r9 + rbp], bl
jne 0x140322707
inc rbp
sub edi, ebp
lea rsi, [r10 + rbp]
test rsi, rsi
jne 0x1403228fc
jmp 0x140322732
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [rsp + 0x40], rbx
mov ebp, dword [rsp + 0x4c]
mov ecx, recv
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x1403227dc
mov edi, dword [rsp + 0x50]
test edi, edi
je 0x1403227dc
mov ecx, recv
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rbp, rax
test rax, rax
je 0x140322990
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, rbp
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rcx, rax
shr rcx, 1
test edi, edi
js 0x140322796
cmp edi, ecx
cmovg edi, ecx
mov dword [rsp + 0x30], edi
jmp 0x1403227b7
mov dword [rsp + 0x30], ebx
test ecx, ecx
jle 0x1403227b7
mov eax, ebx
mov edx, ebx
cdqe
cmp word [rsi + rax*2], bx
je 0x1403227b7
lea eax, [rdx + 1]
mov dword [rsp + 0x30], eax
mov edx, eax
cmp eax, ecx
jl 0x1403227a2
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140321ea0
mov rcx, rbp
mov rsi, rax
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, dword [rsp + 0x30]
jmp 0x1403228f3
mov ecx, r14d
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x140322990
mov ecx, r14d
call qword [sym.imp.USER32.dll_GetClipboardData]
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
je 0x140322990
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, rdi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rcx, rax
test ebp, ebp
js 0x140322833
cmp ebp, ecx
jle 0x14032282d
mov edi, ecx
mov ebp, ecx
jmp 0x140322854
mov edi, ebp
mov ecx, ebp
jmp 0x140322854
mov edi, ebx
mov ebp, ebx
test ecx, ecx
jle 0x140322854
mov eax, ebx
mov edx, ebx
nop
cdqe
cmp byte [rax + rsi], bl
je 0x140322854
lea edi, [rdx + 1]
mov ebp, edi
mov eax, edi
mov edx, edi
cmp edi, ecx
jl 0x140322840
call qword [sym.imp.KERNEL32.dll_GetACP]
mov dword [rsp + 0x28], ebx
mov r9d, ebp
mov ecx, eax
mov qword [rsp + 0x20], rbx
mov r8, rsi
xor edx, edx
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd r15, eax
mov edx, r14d
lea r13d, [r15 + 1]
movsxd rcx, r13d
add rcx, rcx
call fcn.140032b90
mov r14, rax
test rax, rax
je 0x1403228eb
mov dword [rsp + 0x28], r15d
mov r9d, ebp
mov r8, rsi
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rdx, [rsp + 0x30]
mov word [r14 + r15*2], bx
mov rcx, r14
mov dword [rsp + 0x30], r13d
call fcn.140321ea0
cmp dword [0x14045b3f8], ebx
mov r12, rax
jne 0x1403228d8
mov rcx, r14
call fcn.140005660
mov r13, qword [rsp + 0x38]
test r12, r12
je 0x1403228f3
mov edi, dword [rsp + 0x30]
mov rsi, r12
jmp 0x1403228fc
mov r13, qword [rsp + 0x38]
mov r12, rbx
test rsi, rsi
je 0x140322982
cmp dword [rsp + 0x4c], ebx
je 0x140322982
mov r14d, dword [rsp + 0x48]
mov eax, 0xff
cmp r14d, 0xffffffff
mov edx, 1
cmove r14d, eax
mov eax, edi
test edi, edi
cmove eax, edx
movsxd rcx, eax
call fcn.140032b90
mov rbp, rax
test rax, rax
je 0x140322982
movsxd r8, edi
mov rdx, rax
test edi, edi
jle 0x140322963
nop
cmp byte [rbx + rsi], 0xd
jne 0x140322952
cmp byte [rbx + rsi + 1], 0xa
jne 0x140322952
inc rbx
dec edi
movzx eax, byte [rbx + rsi]
inc rbx
mov byte [rdx], al
inc rdx
cmp rbx, r8
jl 0x140322940
mov r8d, edi
mov rdx, rbp
mov ecx, r14d
call fcn.140065a40
cmp dword [0x14045b3f8], 0
jne 0x140322982
mov rcx, rbp
call fcn.140005660
test r13, r13
je 0x140322990
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rax, qword [rsp + 0x40]
mov r15, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
test rax, rax
je 0x1403229bb
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_CloseClipboard]
test r12, r12
je 0x1403229d7
cmp dword [0x14045b3f8], 0
jne 0x1403229d7
mov rcx, r12
call fcn.140005660
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140001200
add rsp, 0x60
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret