Function at 0x140022e50
Capabilities:
Encode data using xor

Disassembly:
add byte [rax], al
add byte [rax], al
add byte [rax], al
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r9
mov byte [rsp + 0x57], r8b
jmp 0x140022edf
mov byte [rsp + 0xdf], 0x14
mov rax, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0x6c]
mov rcx, rax
mov rdx, rax
call fcn.140024060
mov rax, qword [rsp + 0xb8]
add rax, 0x26e4
mov byte [rsp + 0x9b], 0x48
mov r9b, byte [rsp + 0x9b]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov r10w, word [rsp + 0xce]
add r10w, word [rsp + 0xce]
mov word [rsp + 0xce], r10w
mov qword [rcx + 8], 0x63800
cmp r9b, 0x99
jb 0x140023052
jmp 0x1400231c6
lea rax, section..data
mov ecx, dword [rsp + 0xc8]
or ecx, 0x574243ef
mov dword [rsp + 0xc8], ecx
mov rdx, qword [rsp + 0xa0]
imul r8, rdx, 0x28
mov r9, rax
add r9, r8
add r9, 0x1c
mov r10b, 0x98
mov r11b, byte [rsp + 0x57]
mov qword [rsp + 0x48], rax
mov al, r11b
mul r10b
mov ecx, dword [rsp + 0x9c]
mov byte [rsp + 0xdf], al
imul r8, rdx, 0x28
mov rsi, qword [rsp + 0x48]
add rsi, r8
mov edi, dword [rsi]
xor edi, dword [r9]
add edi, ecx
mov word [rsp + 0xce], 0x24f9
mov dword [rsp + 0x6c], edi
add rdx, 1
mov byte [rsp + 0xdf], 0x29
mov qword [rsp + 0xa0], rdx
mov r8, qword [rsp + 0x58]
xor r8, 0x141442bd
mov qword [rsp + 0xe0], r8
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x9c], ecx
imul ecx, dword [rsp + 0xc8], 0x75ce1d2d
mov dword [rsp + 0xc8], ecx
cmp rdx, 0x238
jne 0x140022edf
lea rdx, [0x140025a35]
mov eax, 0x5b54d6ee
lea rcx, [rsp + 0x70]
sub eax, dword [rsp + 0xc4]
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xa8], rcx
mov word [rsp + 0xce], 0xcdc0
mov rcx, qword [rsp + 0xa8]
mov r8d, eax
call fcn.140023860
mov rcx, qword [rsp + 0xa8]
call fcn.1400231f0
xor r8d, r8d
mov ecx, r8d
mov r8d, 0x1000
mov r9d, 4
mov r10d, dword [rsp + 0x6c]
mov word [rsp + 0xce], 0x1e3d
mov r10d, r10d
mov edx, r10d
call rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x90], 0
mov dword [rsp + 0xb4], 0
mov r11b, byte [rsp + 0x57]
or r11b, r11b
mov byte [rsp + 0xdf], r11b
jmp 0x1400230d1
xor eax, eax
mov cx, word [rsp + 0xce]
mov word [rsp + 0xce], cx
mov edx, dword [rsp + 0xc8]
xor edx, 0x4ef554da
mov r8, qword [rsp + 0xb8]
mov dword [rsp + 0xc8], edx
mov r9b, byte [rsp + 0x57]
add r9b, 0xe6
add r8, 0x171
mov byte [rsp + 0xdf], r9b
mov r10, qword [rsp + 0x60]
mov qword [r10 + 0x10], r8
mov qword [r10 + 0x18], 0x2550
mov qword [rsp + 0xe0], 0x129f2ad5
mov r8, qword [rsp + 0x58]
xor r8, r8
mov qword [rsp + 0xe0], r8
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rax, section..data
mov ecx, dword [rsp + 0xb4]
mov rdx, qword [rsp + 0x58]
imul r8, rdx, 0x56a2b8b1
mov qword [rsp + 0xe0], r8
mov r8, qword [rsp + 0x90]
mov r9b, byte [rsp + 0x57]
mov byte [rsp + 0xdf], r9b
imul r10, r8, 0x28
mov r11, rax
add r11, r10
add r11, 0x1c
imul r10, r8, 0x28
mov rsi, rax
add rsi, r10
add rsi, 0x20
imul r10, r8, 0x28
add rax, r10
mov edi, ecx
mov r10d, edi
add r10, qword [rsp + 0xb8]
add r9b, r9b
mov edi, dword [r11]
mov rdx, qword [rsi]
xor edi, dword [rax]
mov byte [rsp + 0xdf], r9b
mov ebx, edi
mov eax, ebx
mov dword [rsp + 0x44], ecx
mov rcx, r10
mov qword [rsp + 0x38], r8
mov r8, rax
mov dword [rsp + 0x34], edi
call fcn.140024100
mov bp, word [rsp + 0xce]
or bp, word [rsp + 0xce]
mov edi, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x44]
add edi, ebx
mov word [rsp + 0xce], bp
mov rax, qword [rsp + 0x58]
and rax, 0x3b0dafd1
mov rcx, qword [rsp + 0x38]
add rcx, 1
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0xb4], edi
cmp rcx, 0x238
je 0x140022e67
jmp 0x1400230d1
xor eax, eax
mov ecx, eax
mov rdx, qword [sym.imp.USER32.dll_GetCursorPos]
xor eax, eax
mov r8d, eax
mov qword [rsp + 0x28], rcx
mov rcx, r8
call rdx
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
ret