Function at 0x1402d4b40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x14040f040]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rbp, r9
mov rbx, r8
mov rdi, qword [rsp + 0x210]
xor edx, edx
mov r8d, 0x178
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x20]
call fcn.14015bee0
nop
mov ecx, dword [rbx + 0x558]
cmp ecx, 0x10
ja 0x1402d4eaa
mov edx, dword [rbx + 0x554]
xor r13d, r13d
test edx, edx
jne 0x1402d4dab
cmp dword [rbx + 0x550], r13d
jne 0x1402d4bed
cmp ecx, 0xc
jne 0x1402d4bed
movsd xmm0, qword [rbx + 0x540]
movsd qword [rbx + 0x520], xmm0
mov eax, dword [rbx + 0x548]
mov dword [rbx + 0x528], eax
mov dword [rbx + 0x52c], 0x1000000
jmp 0x1402d4d7c
mov edx, r13d
test ecx, ecx
je 0x1402d4c37
mov ecx, edx
movzx eax, byte [rcx + rbx + 0x540]
xor byte [rcx + rbx + 0x510], al
inc edx
mov ecx, dword [rbx + 0x558]
cmp edx, ecx
jb 0x1402d4bf4
test ecx, ecx
je 0x1402d4c37
movsxd rax, ecx
shl rax, 3
add qword [rbx + 0x560], rax
lea rdx, [rbx + 0x510]
lea r8, [rsp + 0x20]
mov rcx, rbx
call fcn.1402d6900
xor eax, eax
mov qword [rbx + 0x540], rax
movzx ecx, byte [rbx + 0x567]
mov byte [rbx + 0x548], cl
movzx edx, byte [rbx + 0x566]
mov byte [rbx + 0x549], dl
movzx r8d, byte [rbx + 0x565]
mov byte [rbx + 0x54a], r8b
movzx r9d, byte [rbx + 0x564]
mov byte [rbx + 0x54b], r9b
movzx r10d, byte [rbx + 0x563]
mov byte [rbx + 0x54c], r10b
movzx r11d, byte [rbx + 0x562]
mov byte [rbx + 0x54d], r11b
movzx edi, byte [rbx + 0x561]
mov byte [rbx + 0x54e], dil
movzx esi, byte [rbx + 0x560]
mov byte [rbx + 0x54f], sil
movzx eax, byte [rbx + 0x540]
xor byte [rbx + 0x510], al
movzx eax, byte [rbx + 0x541]
xor byte [rbx + 0x511], al
movzx eax, byte [rbx + 0x542]
xor byte [rbx + 0x512], al
movzx eax, byte [rbx + 0x543]
xor byte [rbx + 0x513], al
movzx eax, byte [rbx + 0x544]
xor byte [rbx + 0x514], al
movzx eax, byte [rbx + 0x545]
xor byte [rbx + 0x515], al
movzx eax, byte [rbx + 0x546]
xor byte [rbx + 0x516], al
movzx eax, byte [rbx + 0x547]
xor byte [rbx + 0x517], al
xor byte [rbx + 0x518], cl
xor byte [rbx + 0x519], dl
xor byte [rbx + 0x51a], r8b
xor byte [rbx + 0x51b], r9b
xor byte [rbx + 0x51c], r10b
xor byte [rbx + 0x51d], r11b
xor byte [rbx + 0x51e], dil
xor byte [rbx + 0x51f], sil
lea r8, [rsp + 0x20]
lea rdx, [rbx + 0x510]
mov rcx, rbx
call fcn.1402d6900
movups xmm0, xmmword [rbx + 0x510]
movups xmmword [rbx + 0x520], xmm0
xorps xmm1, xmm1
movups xmmword [rbx + 0x510], xmm1
movups xmm0, xmmword [rbx + 0x520]
movups xmmword [rbx + 0x530], xmm0
xorps xmm1, xmm1
movups xmmword [rbx + 0x540], xmm1
mov qword [rbx + 0x554], 1
lea r14, [rbx + 0x560]
mov qword [r14], r13
jmp 0x1402d4dc4
lea r14, [rbx + 0x560]
cmp edx, 1
jne 0x1402d4ea1
cmp ecx, 0x10
jge 0x1402d4ea1
lea rcx, [rbp + 0x80]
call fcn.14014b520
mov rsi, rax
lea rcx, [rbp + 0x80]
call fcn.14014b850
mov r12d, eax
mov edi, r13d
cmp dword [rbx + 0x558], r13d
jne 0x1402d4e3e
mov r15d, eax
and r15d, 0xfffffff0
jbe 0x1402d4e39
nop word [rax + rax]
mov rcx, qword [rdi + rsi]
xor qword [rbx + 0x510], rcx
lea eax, [rdi + 8]
mov rax, qword [rax + rsi]
xor qword [rbx + 0x518], rax
lea r8, [rsp + 0x20]
lea rdx, [rbx + 0x510]
mov rcx, rbx
call fcn.1402d6900
sub qword [r14], 0xffffffffffffff80
add edi, 0x10
cmp edi, r15d
jb 0x1402d4e00
mov eax, edi
add rsi, rax
cmp edi, r12d
jae 0x1402d4e9d
sub r12d, edi
mov edi, r12d
nop dword [rax]
movsxd rcx, dword [rbx + 0x558]
movzx eax, byte [rsi]
xor byte [rcx + rbx + 0x510], al
lea rsi, [rsi + 1]
inc dword [rbx + 0x558]
cmp dword [rbx + 0x558], 0x10
jne 0x1402d4e97
lea rdx, [rbx + 0x510]
lea r8, [rsp + 0x20]
mov rcx, rbx
call fcn.1402d6900
mov dword [rbx + 0x558], r13d
sub qword [rbx + 0x560], 0xffffffffffffff80
sub rdi, 1
jne 0x1402d4e50
mov bl, 1
jmp 0x1402d4ebc
lea rdx, str.Internal_error_2
jmp 0x1402d4eb1
lea rdx, str.Internal_error.
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x20]
call fcn.14015bfd0
movzx eax, bl
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140109210
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret