Function at 0x180003d50
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
movzx eax, byte [rdx]
mov esi, r8d
mov rdi, rdx
mov rbx, rcx
cmp eax, 0x1a
ja case.0x180003ad6.3
lea rcx, [0x180000000]
mov r9d, dword [rcx + rax*4 + 0x3c14]
add r9, rcx
jmp r9
mov rcx, qword [rbx + 0x10]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp qword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [rbx + 0x3e8], 1
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov byte [rbx + 0x3e8], 0
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
cmp dword [rbx + 0x8d0], 0
je 0x180003b32
xor ecx, ecx
call qword [sym.imp.USER32.dll_BlockInput]
lea r8d, [rsi - 1]
lea rdx, [rdi + 1]
mov rcx, rbx
call fcn.1800049b0
mov ecx, dword [rbx + 0x8d0]
test ecx, ecx
je case.0x180003ad6.3
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp qword [sym.imp.USER32.dll_BlockInput]
movzx eax, byte [rdx + 1]
xchg dword [rbx + 0x8d0], eax
mov ecx, dword [rbx + 0x8d0]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp qword [sym.imp.USER32.dll_BlockInput]
movzx eax, byte [rdx + 1]
xchg dword [rbx + 0x8c4], eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x180003de0
lea edx, [r8 - 1]
lea rcx, [rdi + 1]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x180003d50
mov eax, dword [rdx + 1]
mov dword [rbx + 0x8a8], eax
xor eax, eax
lea r8, [0x1800034d0]
mov r9, rbx
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x20
mov rsi, rcx
xor ecx, ecx
movsxd rbx, edx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x180003dd2
mov qword [rsp + 0x30], rdi
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rbx
mov ecx, 2
mov rdi, rbx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
je 0x180003dc7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.18000d680
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rbx
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
push r12
sub rsp, 0x20
mov r12, rcx
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x180003ea7
mov ecx, 1
mov qword [rsp + 0x38], rbp
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rbp, rax
test rax, rax
jne 0x180003e23
mov rbp, qword [rsp + 0x38]
add rsp, 0x20
pop r12
jmp qword [sym.imp.USER32.dll_CloseClipboard]
mov qword [rsp + 0x30], rbx
mov rcx, rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rcx, rbp
lea esi, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
movsxd rcx, esi
mov rbx, rax
call fcn.18000e61c
lea ecx, [rsi - 1]
movsxd r8, ecx
lea rcx, [rax + 1]
mov rdx, rbx
mov rdi, rax
mov byte [rax], reloc.WS2_32.dll_recv
call fcn.18000d680
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rcx, qword [r12 + 8]
mov r9, qword [rcx]
mov r8d, esi
mov rdx, rdi
call qword [r9 + reloc.WS2_32.dll_recv]
mov rcx, rdi
call fcn.18000e614
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
add rsp, 0x20
pop r12
ret