Function at 0x140322660
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 [0x1403d91c0]
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 0x1403226d2
nop dword [rax + rax]
cmp edi, 0x1f4
jg 0x140322ab7
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 0x1403226b0
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 0x14032274a
mov ecx, dword [rsi + 0x48]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rdi, rax
test rax, rax
je 0x14032274a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rbp, rax
test rax, rax
je 0x14032274a
mov rcx, rdi
mov r14d, reloc.WSOCK32.dll_recv
call qword [sym.imp.KERNEL32.dll_GlobalSize]
cmp rax, r14
jae 0x140322731
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 0x140322816
mov rcx, qword [0x14046a0e8]
mov rbp, 0xffffffffffffffff
mov rax, rbp
nop
inc rax
cmp byte [rcx + rax], bl
jne 0x140322780
mov edi, dword [rsp + 0x54]
cmp edi, eax
jle 0x140322812
mov ecx, dword [rsi + 0x4c]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov qword [rsp + 0x40], rax
mov r15, rax
test rax, rax
je 0x140322812
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r10, rax
test rax, rax
je 0x140322804
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 0x1403227e3
inc rax
test ecx, ecx
jne 0x1403227d0
test edx, edx
jne 0x140322804
inc rbp
cmp byte [r9 + rbp], bl
jne 0x1403227e7
inc rbp
sub edi, ebp
lea rsi, [r10 + rbp]
test rsi, rsi
jne 0x1403229dc
jmp 0x140322812
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 0x1403228bc
mov edi, dword [rsp + 0x50]
test edi, edi
je 0x1403228bc
mov ecx, recv
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rbp, rax
test rax, rax
je 0x140322a70
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 0x140322876
cmp edi, ecx
cmovg edi, ecx
mov dword [rsp + 0x30], edi
jmp 0x140322897
mov dword [rsp + 0x30], ebx
test ecx, ecx
jle 0x140322897
mov eax, ebx
mov edx, ebx
cdqe
cmp word [rsi + rax*2], bx
je 0x140322897
lea eax, [rdx + 1]
mov dword [rsp + 0x30], eax
mov edx, eax
cmp eax, ecx
jl 0x140322882
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140321f80
mov rcx, rbp
mov rsi, rax
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, dword [rsp + 0x30]
jmp 0x1403229d3
mov ecx, r14d
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x140322a70
mov ecx, r14d
call qword [sym.imp.USER32.dll_GetClipboardData]
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
je 0x140322a70
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 0x140322913
cmp ebp, ecx
jle 0x14032290d
mov edi, ecx
mov ebp, ecx
jmp 0x140322934
mov edi, ebp
mov ecx, ebp
jmp 0x140322934
mov edi, ebx
mov ebp, ebx
test ecx, ecx
jle 0x140322934
mov eax, ebx
mov edx, ebx
nop
cdqe
cmp byte [rax + rsi], bl
je 0x140322934
lea edi, [rdx + 1]
mov ebp, edi
mov eax, edi
mov edx, edi
cmp edi, ecx
jl 0x140322920
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 0x1403229cb
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.140321f80
cmp dword [0x14045b3f8], ebx
mov r12, rax
jne 0x1403229b8
mov rcx, r14
call fcn.140005660
mov r13, qword [rsp + 0x38]
test r12, r12
je 0x1403229d3
mov edi, dword [rsp + 0x30]
mov rsi, r12
jmp 0x1403229dc
mov r13, qword [rsp + 0x38]
mov r12, rbx
test rsi, rsi
je 0x140322a62
cmp dword [rsp + 0x4c], ebx
je 0x140322a62
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 0x140322a62
movsxd r8, edi
mov rdx, rax
test edi, edi
jle 0x140322a43
nop
cmp byte [rbx + rsi], 0xd
jne 0x140322a32
cmp byte [rbx + rsi + 1], 0xa
jne 0x140322a32
inc rbx
dec edi
movzx eax, byte [rbx + rsi]
inc rbx
mov byte [rdx], al
inc rdx
cmp rbx, r8
jl 0x140322a20
mov r8d, edi
mov rdx, rbp
mov ecx, r14d
call fcn.140065a40
cmp dword [0x14045b3f8], 0
jne 0x140322a62
mov rcx, rbp
call fcn.140005660
test r13, r13
je 0x140322a70
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 0x140322a9b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_CloseClipboard]
test r12, r12
je 0x140322ab7
cmp dword [0x14045b3f8], 0
jne 0x140322ab7
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