Function at 0x140066a30
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140066ac7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140066ac7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd16bfd22
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140066ac2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140066aa0
cmp r8d, 0x3c4146a
je 0x140066acc
test r9d, r9d
jne 0x140066a80
mov rax, qword [rax]
jmp 0x140066a50
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, [0x1406bc430]
add rbx, r10
call qword [0x1400df320]
mov rcx, rax
lea rdx, [0x1406bc420]
call rbx
mov rsi, rax
test rax, rax
jne 0x140066ca8
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140066b97
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140066b97
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x62739d2a
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140066b92
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140066b70
cmp r8d, 0x8473b042
je 0x140066b9c
test r9d, r9d
jne 0x140066b50
mov rax, qword [rax]
jmp 0x140066b20
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, [0x1406bc450]
add rbx, r10
call qword [0x1400df320]
mov rcx, rax
lea rdx, str.NtUserSendInput
call rbx
mov rsi, rax
test rax, rax
jne 0x140066ca8
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140066c67
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140066c67
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd97d52db
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140066c62
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140066c40
cmp r8d, 0x2fc922ef
je 0x140066c6c
test r9d, r9d
jne 0x140066c20
mov rax, qword [rax]
jmp 0x140066bf0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, [0x1406bc470]
add rbx, r10
call qword [0x1400df320]
mov rcx, rax
lea rdx, str.SendInput
call rbx
mov rsi, rax
test rax, rax
je 0x140066f14
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140066d37
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140066d37
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x2779b41a
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140066d32
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140066d10
cmp r8d, 0x75157872
je 0x140066d3c
test r9d, r9d
jne 0x140066cf0
mov rax, qword [rax]
jmp 0x140066cc0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, str.win32u
add rbx, r10
call qword [0x1400df320]
mov rcx, rax
lea rdx, [0x1406bc480]
call rbx
mov rcx, rax
test rax, rax
jne 0x140066f26
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140066e07
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140066e07
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9053f58c
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140066e02
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140066de0
cmp r8d, 0x8d3e6ca0
je 0x140066e0c
test r9d, r9d
jne 0x140066dc0
mov rax, qword [rax]
jmp 0x140066d90
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, str.user32
add rbx, r10
call qword [0x1400df320]
mov rcx, rax
lea rdx, str.NtUserGetAsyncKeyState
call rbx
mov rcx, rax
test rax, rax
jne 0x140066f26
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140066ed7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140066ed7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x38d0547e
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140066ed2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140066eb0
cmp r8d, 0xd60d9ace
je 0x140066edc
test r9d, r9d
jne 0x140066e90
mov rax, qword [rax]
jmp 0x140066e60
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ebx, dword [rcx + rdx*4]
lea rcx, [0x1406bc4f8]
add rbx, r10
call qword [0x1400df320]
mov rcx, rax
lea rdx, [0x1406bc4d0]
call rbx
mov rcx, rax
test rax, rax
jne 0x140066f26
xor al, al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
movups xmm0, xmmword [rsi]
mov rbx, qword [rsp + 0x30]
movups xmmword [0x140741be0], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [0x140741bf0], xmm1
mov eax, dword [rsi + 0x18]
mov dword [0x140741bf8], eax
movzx eax, word [rsi + 0x1c]
mov rsi, qword [rsp + 0x38]
mov word [0x140741bfc], ax
movups xmm0, xmmword [rcx]
movups xmmword [0x140741c00], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [0x140741c10], xmm1
mov eax, dword [rcx + 0x18]
mov dword [0x140741c18], eax
movzx eax, word [rcx + 0x1c]
mov word [0x140741c1c], ax
mov al, 1
add rsp, 0x20
pop rdi
ret