Function at 0x1400029a4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x98]
sub rsp, 0x190
movups xmm0, xmmword [0x140005350]
movzx eax, word [0x140005368]
lea r9, [rsp + 0x52]
xor r8d, r8d
mov word [rsp + 0x6a], ax
movups xmmword [rsp + 0x52], xmm0
mov esi, 0x8d3dcb09
mov r14w, 0x38
movsd xmm0, qword [0x140005360]
movsd qword [rsp + 0x62], xmm0
lea edi, [r8 + 1]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
add r8d, edi
sub ax, cx
add ax, r14w
xor word [r9], ax
lea r9, [r9 + 2]
cmp r8d, 0xd
jl 0x140002a02
lea rcx, [rsp + 0x52]
call fcn.140003794
mov rbx, rax
test rax, rax
je 0x140002f38
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x114
call fcn.140004ac0
lea rcx, [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_RtlGetVersion]
mov ecx, dword [rsp + 0x7c]
test ecx, ecx
je 0x140002f38
cmp ecx, 0x42ee
jb 0x140002b34
cmp ecx, 0x55f0
jae 0x140002b3a
movups xmm0, xmmword [0x140005390]
mov al, byte [0x1400053a8]
lea r9, [rsp + 0x39]
mov byte [rsp + 0x51], al
xor r8d, r8d
movups xmmword [rsp + 0x39], xmm0
movsd xmm0, qword [0x1400053a0]
movsd qword [rsp + 0x49], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x19
jl 0x140002aaf
movups xmm0, xmmword [0x140005370]
mov al, byte [0x140005388]
lea r9, [rsp + 0x20]
mov byte [rsp + 0x38], al
xor r8d, r8d
movups xmmword [rsp + 0x20], xmm0
movsd xmm0, qword [0x140005380]
movsd qword [rsp + 0x30], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x19
jl 0x140002b00
lea r8, [rsp + 0x39]
lea rdx, [rsp + 0x20]
jmp 0x140002bea
cmp ecx, 0x55f0
jne 0x140002c02
cmp byte [0x1400053df], 0
movups xmm0, xmmword [0x1400053c8]
movups xmmword [rsp + 0x39], xmm0
movsd xmm0, qword [0x1400053d8]
movsd qword [rsp + 0x49], xmm0
je 0x140002b90
xor r8d, r8d
lea r9, [rsp + 0x39]
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x18
jl 0x140002b6b
cmp byte [0x1400053c7], 0
movups xmm0, xmmword [0x1400053b0]
movups xmmword [rsp + 0x20], xmm0
movsd xmm0, qword [0x1400053c0]
movsd qword [rsp + 0x30], xmm0
je 0x140002be0
xor r8d, r8d
lea r9, [rsp + 0x20]
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x18
jl 0x140002bbb
lea r8, [rsp + 0x39]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400021c0
mov ecx, dword [rsp + 0x7c]
mov qword [0x1400070b8], rax
jmp 0x140002caa
cmp ecx, 0x585d
jb 0x140002ca3
movups xmm0, xmmword [str._ABCDEFG89____H]
mov al, byte [0x140005408]
lea r9, [rsp + 0x20]
mov byte [rsp + 0x30], al
xor r8d, r8d
movups xmmword [rsp + 0x20], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x11
jl 0x140002c2c
movups xmm0, xmmword [0x1400053e0]
mov al, byte [0x1400053f0]
lea r9, [rsp + 0x39]
mov byte [rsp + 0x49], al
xor r8d, r8d
movups xmmword [rsp + 0x39], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x11
jl 0x140002c6f
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x39]
jmp 0x140002bea
mov rax, qword [0x1400070b8]
test rax, rax
je 0x140002f38
cmp ecx, 0x42ee
jb 0x140002d9b
cmp ecx, 0x55f0
ja 0x140002d9b
mov eax, dword [0x140005438]
lea r9, [rsp + 0x39]
movups xmm0, xmmword [str._ABCDEFG89:____012345N]
mov dword [rsp + 0x49], eax
xor r8d, r8d
movzx eax, word [0x14000543c]
mov word [rsp + 0x4d], ax
mov al, byte [0x14000543e]
mov byte [rsp + 0x4f], al
movups xmmword [rsp + 0x39], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x17
jl 0x140002cff
mov eax, dword [0x140005420]
lea r9, [rsp + 0x20]
movups xmm0, xmmword [0x140005410]
mov dword [rsp + 0x30], eax
xor r8d, r8d
movzx eax, word [0x140005424]
mov word [rsp + 0x34], ax
mov al, byte [0x140005426]
mov byte [rsp + 0x36], al
movups xmmword [rsp + 0x20], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x17
jl 0x140002d58
lea r8, [rsp + 0x39]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400021c0
mov qword [0x1400070c0], rax
jmp 0x140002e5b
cmp ecx, 0x585d
jb 0x140002e54
movzx eax, word [0x140005468]
lea r9, [rsp + 0x39]
movups xmm0, xmmword [0x140005458]
mov word [rsp + 0x49], ax
xor r8d, r8d
mov al, byte [0x14000546a]
mov byte [rsp + 0x4b], al
movups xmmword [rsp + 0x39], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x13
jl 0x140002dd1
movzx eax, word [0x140005450]
lea r9, [rsp + 0x20]
movups xmm0, xmmword [0x140005440]
mov word [rsp + 0x30], ax
xor r8d, r8d
mov al, byte [0x140005452]
mov byte [rsp + 0x32], al
movups xmmword [rsp + 0x20], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x13
jl 0x140002e20
lea r8, [rsp + 0x39]
lea rdx, [rsp + 0x20]
jmp 0x140002d87
mov rax, qword [0x1400070c0]
test rax, rax
je 0x140002f38
movzx eax, word [0x140005498]
lea r9, [rsp + 0x39]
movups xmm0, xmmword [0x140005488]
mov word [rsp + 0x49], ax
xor r8d, r8d
mov al, byte [0x14000549a]
mov byte [rsp + 0x4b], al
movups xmmword [rsp + 0x39], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x13
jl 0x140002e8e
movzx eax, word [0x140005480]
lea r9, [rsp + 0x20]
movups xmm0, xmmword [0x140005470]
mov word [rsp + 0x30], ax
xor r8d, r8d
mov al, byte [0x140005482]
mov byte [rsp + 0x32], al
movups xmmword [rsp + 0x20], xmm0
mov eax, esi
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
mov al, r8b
add r8d, edi
sub al, cl
add al, r14b
xor byte [r9], al
add r9, rdi
cmp r8d, 0x13
jl 0x140002edd
lea r8, [rsp + 0x39]
mov rcx, rbx
lea rdx, [rsp + 0x20]
call fcn.1400021c0
mov qword [0x1400070c8], rax
test rax, rax
je 0x140002f38
call fcn.140003ed0
mov dword [0x1400070a0], eax
neg eax
sbb eax, eax
not eax
and eax, 0xc0000001
jmp 0x140002f3d
mov eax, 0xc0000001
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret