Function at 0x1400d68a8
Capabilities:
Decrypt data using aes via x86 extensions
Encode data using xor

Disassembly:
test r8, r8
je 0x1400d6d9a
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, r8
mov r15, r9
mov rdi, rdx
shr r14, 4
cmp byte [rcx], 0
mov rbx, rcx
je 0x1400d6971
movdqu xmm2, xmmword [rcx + 8]
lea rdx, [rcx + 0x18]
test r14, r14
je 0x1400d6967
mov esi, reloc.SHELL32.dll_ILFindLastID
movsxd rcx, dword [rbx + 4]
mov rax, rdi
add rdi, rsi
movdqu xmm3, xmmword [rax]
mov rax, rcx
add rax, rax
dec ecx
movdqu xmm1, xmmword [rdx + rax*8]
pxor xmm1, xmm3
test ecx, ecx
jle 0x1400d6941
movsxd rax, ecx
shl rax, 4
add rax, rdx
movdqu xmm0, xmmword [rax]
dec ecx
sub rax, rsi
aesdec xmm1, xmm0
test ecx, ecx
jg 0x1400d692f
cmp byte [rbx + 1], 0
movdqu xmm0, xmmword [rdx]
aesdeclast xmm1, xmm0
je 0x1400d6954
pxor xmm1, xmm2
mov rax, r15
add r15, rsi
movdqa xmm2, xmm3
movdqu xmmword [rax], xmm1
dec r14
jne 0x1400d6902
movdqu xmmword [rbx + 8], xmm2
jmp 0x1400d6d77
lea r12, [rcx + 8]
mov esi, reloc.SHELL32.dll_ILFindLastID
lea rcx, [rbp - 0x20]
mov rdx, r12
mov r8d, esi
mov qword [rbp - 0x28], r12
call qword [sym.imp.msvcrt.dll_memcpy]
test r14, r14
je 0x1400d6d67
lea r9, [rbp - 0x50]
lea r11, [rbx + 0x28]
lea r13, [rbx + 0x18]
sub r9, rdi
sub r15, rdi
lea r12, [0x140000000]
movsxd r10, dword [rbx + 4]
lea rdx, [rbx + 0x18]
mov rcx, rdi
mov rax, r10
mov r8d, 4
shl rax, 4
add rdx, rax
sub rdx, rdi
mov eax, dword [rdx + rcx]
xor eax, dword [rcx]
mov dword [r9 + rcx], eax
lea rcx, [rcx + 4]
dec r8
jne 0x1400d69ce
movzx ecx, byte [rbp - 0x50]
movzx eax, byte [rbp - 0x49]
mov edx, dword [r12 + rcx*4 + 0x1862c0]
movzx ecx, byte [rbp - 0x4f]
xor edx, dword [r12 + rax*4 + 0x186ec0]
movzx eax, byte [rbp - 0x46]
xor edx, dword [r12 + rax*4 + 0x1883e0]
movzx eax, byte [rbp - 0x43]
xor edx, dword [r12 + rax*4 + 0x187bc0]
movzx eax, byte [rbp - 0x4c]
mov dword [rbp - 0x40], edx
mov edx, dword [r12 + rcx*4 + 0x187bc0]
movzx ecx, byte [rbp - 0x4e]
xor edx, dword [r12 + rax*4 + 0x1862c0]
movzx eax, byte [rbp - 0x45]
xor edx, dword [r12 + rax*4 + 0x186ec0]
movzx eax, byte [rbp - 0x42]
xor edx, dword [r12 + rax*4 + 0x1883e0]
movzx eax, byte [rbp - 0x4b]
mov dword [rbp - 0x3c], edx
mov edx, dword [r12 + rcx*4 + 0x1883e0]
movzx ecx, byte [rbp - 0x4d]
xor edx, dword [r12 + rax*4 + 0x187bc0]
movzx eax, byte [rbp - 0x48]
xor edx, dword [r12 + rax*4 + 0x1862c0]
movzx eax, byte [rbp - 0x41]
xor edx, dword [r12 + rax*4 + 0x186ec0]
movzx eax, byte [rbp - 0x4a]
mov dword [rbp - 0x38], edx
mov edx, dword [r12 + rcx*4 + 0x186ec0]
xor edx, dword [r12 + rax*4 + 0x1883e0]
movzx eax, byte [rbp - 0x47]
xor edx, dword [r12 + rax*4 + 0x187bc0]
movzx eax, byte [rbp - 0x44]
xor edx, dword [r12 + rax*4 + 0x1862c0]
lea eax, [r10 - 1]
movsxd rcx, eax
mov dword [rbp - 0x34], edx
cmp rcx, 1
jle 0x1400d6bed
mov rax, rcx
mov r8, 0xffffffffffffffe8
lea r10, [rbx + 0x18]
shl rax, 4
sub r8, rbx
add r10, rax
sub r8, rax
dec rcx
mov qword [rbp - 0x30], rcx
lea r11, [rbp - 0x40]
lea r13, [rbp - 0x50]
mov rcx, r10
add r11, r8
add r13, r8
mov edx, 4
mov eax, dword [r11 + rcx]
xor eax, dword [rcx]
mov dword [r13 + rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x1400d6af5
movzx ecx, byte [rbp - 0x50]
movzx eax, byte [rbp - 0x49]
sub r10, rsi
mov edx, dword [r12 + rcx*4 + 0x1862c0]
movzx ecx, byte [rbp - 0x4f]
add r8, rsi
xor edx, dword [r12 + rax*4 + 0x186ec0]
movzx eax, byte [rbp - 0x46]
xor edx, dword [r12 + rax*4 + 0x1883e0]
movzx eax, byte [rbp - 0x43]
xor edx, dword [r12 + rax*4 + 0x187bc0]
movzx eax, byte [rbp - 0x4c]
mov dword [rbp - 0x40], edx
mov edx, dword [r12 + rcx*4 + 0x187bc0]
movzx ecx, byte [rbp - 0x4e]
xor edx, dword [r12 + rax*4 + 0x1862c0]
movzx eax, byte [rbp - 0x45]
xor edx, dword [r12 + rax*4 + 0x186ec0]
movzx eax, byte [rbp - 0x42]
xor edx, dword [r12 + rax*4 + 0x1883e0]
movzx eax, byte [rbp - 0x4b]
mov dword [rbp - 0x3c], edx
mov edx, dword [r12 + rcx*4 + 0x1883e0]
movzx ecx, byte [rbp - 0x4d]
xor edx, dword [r12 + rax*4 + 0x187bc0]
movzx eax, byte [rbp - 0x48]
xor edx, dword [r12 + rax*4 + 0x1862c0]
movzx eax, byte [rbp - 0x41]
xor edx, dword [r12 + rax*4 + 0x186ec0]
movzx eax, byte [rbp - 0x4a]
mov dword [rbp - 0x38], edx
mov edx, dword [r12 + rcx*4 + 0x186ec0]
xor edx, dword [r12 + rax*4 + 0x1883e0]
movzx eax, byte [rbp - 0x47]
xor edx, dword [r12 + rax*4 + 0x187bc0]
movzx eax, byte [rbp - 0x44]
xor edx, dword [r12 + rax*4 + 0x1862c0]
dec qword [rbp - 0x30]
mov dword [rbp - 0x34], edx
jne 0x1400d6adf
lea r11, [rbx + 0x28]
lea r13, [rbx + 0x18]
mov rax, r11
lea r8, [rbp - 0x40]
lea r10, [rbp - 0x50]
neg rax
mov rcx, r11
mov edx, 4
add r8, rax
add r10, rax
mov eax, dword [r8 + rcx]
xor eax, dword [rcx]
mov dword [r10 + rcx], eax
lea rcx, [rcx + 4]
dec rdx
jne 0x1400d6c09
movzx eax, byte [rbp - 0x50]
mov r8, r13
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x40], al
movzx eax, byte [rbp - 0x43]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x3f], al
movzx eax, byte [rbp - 0x46]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x3e], al
movzx eax, byte [rbp - 0x49]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x3d], al
movzx eax, byte [rbp - 0x4c]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x3c], al
movzx eax, byte [rbp - 0x4f]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x3b], al
movzx eax, byte [rbp - 0x42]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x3a], al
movzx eax, byte [rbp - 0x45]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x39], al
movzx eax, byte [rbp - 0x48]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x38], al
movzx eax, byte [rbp - 0x4b]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x37], al
movzx eax, byte [rbp - 0x4e]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x36], al
movzx eax, byte [rbp - 0x41]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x35], al
movzx eax, byte [rbp - 0x44]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x34], al
movzx eax, byte [rbp - 0x47]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x33], al
movzx eax, byte [rbp - 0x4a]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x32], al
movzx eax, byte [rbp - 0x4d]
mov al, byte [rax + r12 + 0x187ac0]
mov byte [rbp - 0x31], al
lea rax, [rbp - 0x40]
sub r8, rax
lea rax, [r8 + rdx*4]
inc rdx
mov ecx, dword [rbp + rax - 0x40]
xor dword [rbp + rdx*4 - 0x44], ecx
cmp rdx, 4
jl 0x1400d6d16
cmp byte [rbx + 1], 0
je 0x1400d6d44
xor ecx, ecx
mov eax, dword [rbp + rcx - 0x20]
add rcx, 4
xor dword [rbp + rcx - 0x44], eax
cmp rcx, rsi
jl 0x1400d6d33
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rbp - 0x40]
sub r9, rsi
movups xmmword [r15 + rdi], xmm1
movups xmmword [rbp - 0x20], xmm0
add rdi, rsi
dec r14
jne 0x1400d69b0
mov r12, qword [rbp - 0x28]
lea rdx, [rbp - 0x20]
mov r8, rsi
mov rcx, r12
call qword [sym.imp.msvcrt.dll_memcpy]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140001010
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret