Function at 0x1400301e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov edx, 0x105524
lea rcx, [0x14008ec20]
movabs rax, 0x2545f4914f6cdd1d
lea r11, [0x14008ec50]
nop dword [rax]
movsxd r8, dword [rcx]
shl r8, 9
lea r9, [0x1401ac980]
add r8, r9
add r8, 8
xor r9d, r9d
nop dword [rax + rax]
mov r10, rdx
shr r10, 0xc
xor r10, rdx
mov rdx, r10
shl rdx, 0x19
xor rdx, r10
mov r10, rdx
shr r10, 0x1b
xor r10, rdx
mov rdx, r10
shr rdx, 0xc
xor rdx, r10
imul r10, rax
mov qword [r8 + r9*8 - 8], r10
mov r10, rdx
shl r10, 0x19
xor r10, rdx
mov rdx, r10
shr rdx, 0x1b
xor rdx, r10
mov r10, rdx
imul r10, rax
mov qword [r8 + r9*8], r10
add r9, 2
cmp r9, 0x40
jne 0x140030230
add rcx, 4
cmp rcx, r11
jne 0x140030210
mov rcx, rdx
shr rcx, 0xc
xor rcx, rdx
mov rdx, rcx
shl rdx, 0x19
xor rdx, rcx
mov rcx, rdx
shr rcx, 0x1b
xor rcx, rdx
mov rdx, rcx
shr rdx, 0xc
xor rdx, rcx
imul rcx, rax
mov qword [0x1401ae980], rcx
mov rcx, rdx
shl rcx, 0x19
xor rcx, rdx
mov rdx, rcx
shr rdx, 0x1b
xor rdx, rcx
mov rcx, rdx
shr rcx, 0xc
xor rcx, rdx
imul rdx, rax
mov qword [0x1401ae988], rdx
mov rdx, rcx
shl rdx, 0x19
xor rdx, rcx
mov rcx, rdx
shr rcx, 0x1b
xor rcx, rdx
mov rdx, rcx
shr rdx, 0xc
xor rdx, rcx
imul rcx, rax
mov qword [0x1401ae990], rcx
mov rcx, rdx
shl rcx, 0x19
xor rcx, rdx
mov rdx, rcx
shr rdx, 0x1b
xor rdx, rcx
mov rcx, rdx
shr rcx, 0xc
xor rcx, rdx
imul rdx, rax
mov qword [0x1401ae998], rdx
mov rdx, rcx
shl rdx, 0x19
xor rdx, rcx
mov rcx, rdx
shr rcx, 0x1b
xor rcx, rdx
mov rdx, rcx
shr rdx, 0xc
xor rdx, rcx
imul rcx, rax
mov qword [0x1401ae9a0], rcx
mov rcx, rdx
shl rcx, 0x19
xor rcx, rdx
mov rdx, rcx
shr rdx, 0x1b
xor rdx, rcx
mov rcx, rdx
shr rcx, 0xc
xor rcx, rdx
imul rdx, rax
mov qword [0x1401ae9a8], rdx
mov rdx, rcx
shl rdx, 0x19
xor rdx, rcx
mov rcx, rdx
shr rcx, 0x1b
xor rcx, rdx
mov rdx, rcx
shr rdx, 0xc
xor rdx, rcx
imul rcx, rax
mov qword [0x1401ae9b0], rcx
mov rcx, rdx
shl rcx, 0x19
xor rcx, rdx
mov r8, rcx
shr r8, 0x1b
xor r8, rcx
mov rcx, r8
imul rcx, rax
mov qword [0x1401ae9b8], rcx
xor ecx, ecx
lea rdx, [0x1401ae9c0]
nop dword [rax + rax]
mov r9, r8
shr r9, 0xc
xor r9, r8
mov r8, r9
shl r8, 0x19
xor r8, r9
mov r9, r8
shr r9, 0x1b
xor r9, r8
mov r8, r9
shr r8, 0xc
xor r8, r9
imul r9, rax
mov qword [rdx + rcx*8], r9
mov r9, r8
shl r9, 0x19
xor r9, r8
mov r8, r9
shr r8, 0x1b
xor r8, r9
mov r9, r8
imul r9, rax
mov qword [rdx + rcx*8 + 8], r9
add rcx, 2
cmp rcx, 0x10
jne 0x1400303f0
mov rcx, r8
shr rcx, 0xc
xor rcx, r8
mov rdx, rcx
shl rdx, 0x19
xor rdx, rcx
mov rcx, rdx
shr rcx, 0x1b
xor rcx, rdx
mov rdx, rcx
shr rdx, 0xc
xor rdx, rcx
imul rcx, rax
mov qword [rsp + 0x60], rcx
mov qword [0x1401aea40], rcx
mov rcx, rdx
shl rcx, 0x19
xor rcx, rdx
mov rdx, rcx
shr rdx, 0x1b
xor rdx, rcx
imul rdx, rax
mov qword [0x1401aea48], rdx
lea rsi, [0x1401aea50]
mov r8d, 0x10000
mov rcx, rsi
xor edx, edx
call fcn.14008abb0
lea rdi, [0x1401bea50]
mov r8d, 0x8000
mov rcx, rdi
xor edx, edx
call fcn.14008abb0
lea rcx, [0x14008ec20]
lea r9, [0x14008ef40]
jmp 0x1400304f9
mov rcx, qword [rsp + 0x48]
add rcx, 4
lea rax, [0x14008ec50]
cmp rcx, rax
je 0x1400306fd
mov qword [rsp + 0x48], rcx
movsxd r11, dword [rcx]
mov qword [rsp + 0x50], r11
and r11d, 7
mov eax, 1
mov qword [rsp + 0x20], rax
xor edx, edx
jmp 0x14003052e
inc rdx
inc qword [rsp + 0x20]
cmp rdx, 0x40
je 0x1400304e0
cmp rdx, 0x3e
ja 0x140030520
mov rcx, rdx
shl rcx, 5
lea rax, [0x1400d8b00]
lea r8, [rax + rcx]
mov qword [rsp + 0x40], r8
add rax, rcx
add rax, 0x10
mov qword [rsp + 0x38], rax
lea rax, [0x1400d8300]
lea r8, [rax + rcx]
mov qword [rsp + 0x30], r8
add rax, rcx
add rax, 0x10
mov qword [rsp + 0x28], rax
mov rcx, r11
shl rcx, 9
lea rax, [0x1400d6f00]
add rcx, rax
lea rax, [rcx + rdx*8]
mov qword [rsp + 0x58], rax
mov rbp, rdx
shl rbp, 6
mov r10, qword [rsp + 0x50]
shl r10, 9
lea rax, [0x1401ac980]
add r10, rax
lea rcx, [r10 + rdx*8]
mov r13, qword [rsp + 0x20]
jmp 0x1400305cd
inc r13
cmp r13, 0x40
je 0x140030520
lea r14d, [r11 - 1]
cmp r14d, 4
ja case.0x1400305de.2
movsxd r14, dword [r9 + r14*4]
add r14, r9
jmp r14
mov rax, qword [rsp + 0x38]
mov r14, qword [rax]
xor eax, eax
mov r8, qword [rsp + 0x40]
jmp 0x14003061f
mov rax, qword [rsp + 0x58]
mov r14, qword [rax]
bt r14, r13
jb 0x14003067d
jmp case.0x1400305de.1
mov rax, qword [rsp + 0x28]
mov r14, qword [rax]
xor eax, eax
mov r8, qword [rsp + 0x30]
pext r15, rax, qword [r8]
mov r15d, r15d
mov r14, qword [r14 + r15*8]
bt r14, r13
jb 0x14003067d
jmp case.0x1400305de.1
mov rax, qword [rsp + 0x38]
mov r15, qword [rax]
xor eax, eax
mov r8, qword [rsp + 0x40]
pext r14, rax, qword [r8]
mov r12d, r14d
mov r8, qword [rsp + 0x28]
mov r14, qword [r8]
mov r8, qword [rsp + 0x30]
pext rbx, rax, qword [r8]
mov ebx, ebx
mov r14, qword [r14 + rbx*8]
or r14, qword [r15 + r12*8]
bt r14, r13
jae case.0x1400305de.1
lea ebx, [r13 + rbp]
mov r15, qword [rcx]
xor r15, qword [r10 + r13*8]
xor r15, qword [rsp + 0x60]
mov eax, r15d
and eax, 0x1fff
mov r14, qword [rsi + rax*8]
mov qword [rsi + rax*8], r15
mov r8d, dword [rdi + rax*4]
mov dword [rdi + rax*4], ebx
test r8d, r8d
je case.0x1400305de.1
and r15d, 0x1fff
nop word cs:[rax + rax]
mov eax, r14d
and eax, 0x1fff
mov ebx, r14d
shr ebx, 0x10
and ebx, 0x1fff
cmp r15d, eax
cmovne ebx, eax
mov rax, qword [rsi + rbx*8]
mov qword [rsi + rbx*8], r14
mov r12d, dword [rdi + rbx*4]
mov dword [rdi + rbx*4], r8d
mov r8d, r12d
mov r14, rax
mov r15d, ebx
test r12d, r12d
jne 0x1400306c0
jmp case.0x1400305de.1
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret