Function at 0x14007e780
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x3d8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x340], xmm13
movdqa xmmword [rbp + 0x330], xmm12
movdqa xmmword [rbp + 0x320], xmm11
movdqa xmmword [rbp + 0x310], xmm10
movdqa xmmword [rbp + 0x300], xmm9
movdqa xmmword [rbp + 0x2f0], xmm8
movdqa xmmword [rbp + 0x2e0], xmm7
movdqa xmmword [rbp + 0x2d0], xmm6
mov qword [rbp + 0x2c8], 0xfffffffffffffffe
mov rsi, rcx
mov ecx, dword [rdx + 8]
mov al, 1
cmp ecx, 0x100
je 0x14007ec18
cmp ecx, 0x800
je 0x14007ec18
cmp qword [0x1405a9910], 0
jne 0x14007e84d
mov ecx, 0x30
mov edx, 0x18511f3e
call fcn.1400ad800
mov qword [rax + 0x28], 0xf
lea rcx, [0x14045cff8]
mov qword [rax + 8], rcx
mov dword [rax], 0
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x1405a9910], rax
mov rbx, qword [0x1405a9910]
mov r14d, dword [rbx]
mov dword [rsp + 0x20], 0x32ede982
mov ecx, 1
xor edx, edx
mov r8d, 0x2c93e1da
mov r9d, 0x7a1ebe2c
call fcn.1400b1c20
lea rcx, [rbp - 0x40]
mov edx, 0x100
mov r8, rax
mov r9d, r14d
call fcn.14007ee60
mov edi, eax
add r14d, 0xfffffff1
movsxd r15, eax
cmp r14d, 6
ja 0x14007e9b5
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], 0
lea rax, [0x14045cff8]
mov qword [rbp + 0xc0], rax
cmp dword [rbx], 0
je 0x14007e8e1
add rbx, 8
lea rcx, [rbp + 0xc0]
mov rdx, rbx
call fcn.140272c30
cmp qword [rbp + 0xe0], 0x10
jb 0x14007e8f4
mov rbx, qword [rbp + 0xc8]
jmp 0x14007e8fb
lea rbx, [rbp + 0xc8]
mov edi, 0x100
sub rdi, r15
mov dword [rsp + 0x20], 0x6c79f811
xor ecx, ecx
mov edx, 1
mov r8d, 0x3ba714f9
mov r9d, 0x93cd71d3
call fcn.1400b2030
mov qword [rsp + 0x20], rbx
lea rcx, [rbp - 0x40]
mov rdx, rdi
mov r8, rax
mov r9, rcx
call fcn.14007ee60
mov edi, eax
mov eax, dword [0x1405a68f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop dword [rax + rax]
mov rax, qword [rbp + 0xe0]
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x14007e950
cmp rax, 0x10
jb 0x14007e9b5
mov rcx, qword [rbp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14007e9b0
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14007ed1e
mov ecx, dword [0x1405a68f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400ad790
test edi, edi
jle 0x14007eb77
mov eax, edi
cmp edi, 8
jae 0x14007e9cb
xor edx, edx
jmp 0x14007ec66
mov edx, eax
and edx, 0xfffffff8
movq xmm0, r15
pshufd xmm0, xmm0, 0x44
lea rcx, [rdx - 8]
movdqa xmm1, xmmword [0x14045cb60]
movdqa xmm2, xmmword [0x14045cb70]
movdqa xmm3, xmmword [0x14045cb80]
movdqa xmm4, xmmword [0x14045cb90]
xor r8d, r8d
movdqa xmm5, xmmword [0x14045cba0]
pxor xmm0, xmm5
movdqa xmm6, xmmword [0x14045cbb0]
movdqa xmm7, xmmword [0x14045cbc0]
nop dword [rax]
movq xmm8, qword [rbp + r8 - 0x40]
punpcklbw xmm8, xmm8
psraw xmm8, 8
movdqa xmm9, xmm4
pxor xmm9, xmm5
movdqa xmm10, xmm0
pcmpgtd xmm10, xmm9
pshufd xmm11, xmm10, 0xe8
pcmpeqd xmm9, xmm0
pshufd xmm9, xmm9, 0xfd
pand xmm9, xmm11
pshufd xmm10, xmm10, 0xfd
por xmm10, xmm9
pshuflw xmm9, xmm10, 0xe8
movdqa xmm10, xmm3
pxor xmm10, xmm5
movdqa xmm11, xmm0
pcmpgtd xmm11, xmm10
pshufd xmm12, xmm11, 0xe8
pcmpeqd xmm10, xmm0
pshufd xmm10, xmm10, 0xfd
pand xmm10, xmm12
pshufd xmm11, xmm11, 0xfd
por xmm11, xmm10
pshuflw xmm10, xmm11, 0xe8
punpckldq xmm9, xmm10
movdqa xmm10, xmm2
pxor xmm10, xmm5
movdqa xmm11, xmm0
pcmpgtd xmm11, xmm10
pshufd xmm12, xmm11, 0xe8
pcmpeqd xmm10, xmm0
pshufd xmm10, xmm10, 0xfd
pand xmm10, xmm12
pshufd xmm11, xmm11, 0xfd
por xmm11, xmm10
pshuflw xmm10, xmm11, 0x84
movdqa xmm11, xmm1
pxor xmm11, xmm5
movdqa xmm12, xmm0
pcmpgtd xmm12, xmm11
pshufd xmm13, xmm12, 0xe8
pcmpeqd xmm11, xmm0
pshufd xmm11, xmm11, 0xfd
pand xmm11, xmm13
pshufd xmm12, xmm12, 0xfd
por xmm12, xmm11
pshuflw xmm11, xmm12, 0x84
punpckldq xmm10, xmm11
movsd xmm10, xmm9
movdqa xmm9, xmm8
paddw xmm9, xmm6
pand xmm8, xmm10
pandn xmm10, xmm9
por xmm10, xmm8
movdqa xmmword [rbp + r8*2 + 0xc0], xmm10
cmp rcx, r8
je 0x14007eb6e
add r8, 8
paddq xmm4, xmm7
paddq xmm3, xmm7
paddq xmm2, xmm7
paddq xmm1, xmm7
jmp 0x14007ea20
cmp rdx, rax
jne 0x14007ec66
cmp qword [0x1405a9850], 0
jne 0x14007ebda
mov ecx, 0xb0
mov edx, 0x18511f3e
call fcn.1400ad800
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax + 0x20], xmm0
movdqu xmmword [rax + 0x30], xmm0
movdqu xmmword [rax + 0x40], xmm0
movdqu xmmword [rax + 0x50], xmm0
movdqu xmmword [rax + 0x60], xmm0
movdqu xmmword [rax + 0x70], xmm0
movdqu xmmword [rax + 0x80], xmm0
movdqu xmmword [rax + 0x90], xmm0
movdqu xmmword [rax + 0x9d], xmm0
mov qword [0x1405a9850], rax
mov rcx, qword [0x1405a9850]
mov rax, qword [rsi + 0x888]
mov r8d, dword [rax + 0x10]
movzx edx, word [rax + 0xc]
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x38], 0x474c1f77
mov dword [rsp + 0x30], 0xd047aea0
mov dword [rsp + 0x28], 0x9dc90ccb
lea r9, [rbp + 0xc0]
call fcn.1400b1fe0
movaps xmm6, xmmword [rbp + 0x2d0]
movaps xmm7, xmmword [rbp + 0x2e0]
movaps xmm8, xmmword [rbp + 0x2f0]
movaps xmm9, xmmword [rbp + 0x300]
movaps xmm10, xmmword [rbp + 0x310]
movaps xmm11, xmmword [rbp + 0x320]
movaps xmm12, xmmword [rbp + 0x330]
movaps xmm13, xmmword [rbp + 0x340]
add rsp, 0x3d8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
xor r8d, r8d
jmp 0x14007ec9e
movsx ecx, byte [rbp + rdx - 0x40]
add cx, word [0x1405a696a]
xor r9d, r9d
cmp rdx, r15
setge r9b
lea ecx, [rcx + r9*2]
mov word [rbp + rdx*2 + 0xc0], cx
inc rdx
cmp rdx, rax
je 0x14007eb77
test r8b, r8b
je 0x14007ec70
nop word cs:[rax + rax]
movsx ecx, byte [rbp + rdx - 0x40]
movzx r9d, word [0x1405a696a]
mov r10d, ecx
sub r10w, r9w
shl r10d, cl
sub r10d, ecx
imul r10d, ecx
shl r10d, cl
mov r9d, ecx
not r9d
mov r11d, r10d
xor r11d, r9d
xor r9d, ecx
and r9d, r10d
xor r9d, ecx
and r11d, r10d
lea ecx, [r9 + r11*2]
cmp rdx, r15
lea r9d, [rcx*4 - 0xa]
cmovl r9d, ecx
mov word [rbp + rdx*2 + 0xc0], r9w
mov ecx, dword [0x1405a68f8]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
jne 0x14007ecb0
jmp 0x14007ec70
call fcn.1403f89dc
int3