Function at 0x18000c2f0
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x70
lea rcx, str.win32u
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtUserSendInput
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x18000c36e
lea rcx, str.user32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtUserSendInput
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x18000c36e
lea rcx, str.user32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.SendInput
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x18000c503
movdqa xmm0, xmmword [0x1800af320]
xor ebx, ebx
movdqu xmmword [rbp - 0x3e], xmm0
mov ecx, ebx
mov dword [rbp - 0x2e], 0x30241c37
mov dword [rbp - 0x2a], 0x1003626
nop dword [rax]
lea eax, [rcx + 0x3e]
xor byte [rbp + rcx - 0x3e], al
inc rcx
cmp rcx, 0x16
jb 0x18000c390
mov byte [rbp - 0x27], bl
mov rcx, rbx
mov dword [rbp + 0x20], 0x722e5649
mov dword [rbp + 0x24], 0x1003670
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 0x3e]
xor byte [rbp + rcx + 0x20], al
inc rcx
cmp rcx, 6
jb 0x18000c3c0
lea rcx, [rbp + 0x20]
mov byte [rbp + 0x27], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x3e]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
jne 0x18000c50d
movdqa xmm0, xmmword [0x1800af320]
mov rcx, rbx
movdqu xmmword [rbp - 0x26], xmm0
mov dword [rbp - 0x16], 0x30241c37
mov dword [rbp - 0x12], 0x1003626
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 0x3e]
xor byte [rbp + rcx - 0x26], al
inc rcx
cmp rcx, 0x16
jb 0x18000c420
mov byte [rbp - 0xf], bl
mov rcx, rbx
mov dword [rbp + 0x28], 0x33254c4b
mov dword [rbp + 0x2c], 0x1007171
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 0x3e]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 6
jb 0x18000c450
lea rcx, [rbp + 0x28]
mov byte [rbp + 0x2f], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x26]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
jne 0x18000c50d
movdqa xmm0, xmmword [0x1800af330]
mov rcx, rbx
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x40], 0x100
nop dword [rax]
lea eax, [rcx + 0x3e]
xor byte [rbp + rcx - 0x50], al
inc rcx
cmp rcx, 0x10
jb 0x18000c4a0
mov byte [rbp - 0x3f], bl
mov dword [rbp + 0x30], 0x33254c4b
mov dword [rbp + 0x34], 0x1007171
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx + 0x3e]
xor byte [rbp + rbx + 0x30], al
inc rbx
cmp rbx, 6
jb 0x18000c4d0
lea rcx, [rbp + 0x30]
mov byte [rbp + 0x37], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
test rax, rax
jne 0x18000c50d
xor al, al
add rsp, 0x70
pop rdi
pop rbx
pop rbp
ret
movups xmm0, xmmword [rdi]
movups xmmword [0x18012f640], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [0x18012f650], xmm1
mov eax, dword [rdi + 0x18]
mov dword [0x18012f658], eax
movzx eax, word [rdi + 0x1c]
mov word [0x18012f65c], ax
movups xmm0, xmmword [rcx]
movups xmmword [0x18012f660], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [0x18012f670], xmm1
mov eax, dword [rcx + 0x18]
mov dword [0x18012f678], eax
movzx eax, word [rcx + 0x1c]
mov word [0x18012f67c], ax
mov al, 1
add rsp, 0x70
pop rdi
pop rbx
pop rbp
ret