Function at 0x1800621a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
lea rbp, [rax - 0x58]
sub rsp, 0x140
cmp qword [rcx + 0x30], 0
mov rdi, rdx
movaps xmmword [rax - 0x28], xmm6
mov rsi, rcx
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmm11, xmm3
movaps xmmword [rax - 0x88], xmm12
movq xmm12, r8
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
movsd qword [rsp + 0x40], xmm12
je 0x180062717
movaps xmm2, xmm3
lea rcx, [rbp + 0x60]
call fcn.1800125b0
mov rax, qword [rsi + 0x30]
movss xmm6, dword [rsp + 0x40]
movss xmm8, dword [rbp + 0x64]
movss xmm9, dword [rbp + 0x60]
movss xmm5, dword [rax + 0x74]
comiss xmm6, xmm5
movss xmm7, dword [rsp + 0x44]
jbe 0x1800622c9
movaps xmm0, xmm5
addss xmm0, dword [rax + 0x7c]
comiss xmm0, xmm6
jbe 0x1800622c9
movss xmm4, dword [rax + 0x78]
comiss xmm7, xmm4
jbe 0x1800622c9
movaps xmm3, xmm4
addss xmm3, dword [rax + 0x80]
comiss xmm3, xmm7
jbe 0x1800622c9
movaps xmm2, xmm6
movaps xmm1, xmm7
addss xmm2, xmm9
addss xmm1, xmm8
comiss xmm2, xmm5
jbe 0x1800622c9
comiss xmm0, xmm2
jbe 0x1800622c9
comiss xmm1, xmm4
jbe 0x1800622c9
comiss xmm3, xmm1
jbe 0x1800622c9
mov rax, qword [rbp + 0x80]
lea r9, [rsp + 0x50]
mov byte [rsp + 0x28], 0
movaps xmm2, xmm11
movq rdx, xmm12
mov byte [rsp + 0x20], 0
mov rcx, rdi
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
call fcn.1800123b0
mov al, 1
jmp 0x180062719
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rbx
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x78], rbx
inc r8
cmp byte [rdi + r8], bl
jne 0x1800622e4
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180012cd0
mov edi, dword [0x1800ab090]
movdqa xmm14, xmmword [0x1800a0280]
movdqa xmm15, xmmword [0x1800a02c0]
movdqa xmm10, xmmword [0x1800a0170]
movdqa xmm13, xmmword [0x1800a03a0]
mov rcx, qword [rsp + 0x70]
cmp rcx, 1
jb 0x180062515
mov rax, qword [rsi + 0x30]
movss xmm4, dword [rax + 0x74]
comiss xmm6, xmm4
jbe 0x180062391
movaps xmm1, xmm4
addss xmm1, dword [rax + 0x7c]
comiss xmm1, xmm6
jbe 0x180062391
movss xmm5, dword [rax + 0x78]
comiss xmm7, xmm5
jbe 0x180062391
movaps xmm3, xmm5
addss xmm3, dword [rax + 0x80]
comiss xmm3, xmm7
jbe 0x180062391
movaps xmm2, xmm6
movaps xmm0, xmm7
addss xmm2, xmm9
addss xmm0, xmm8
comiss xmm2, xmm4
jbe 0x180062391
comiss xmm1, xmm2
jbe 0x180062391
comiss xmm0, xmm5
jbe 0x180062391
comiss xmm3, xmm0
mov eax, 1
ja 0x180062393
mov eax, ebx
test eax, eax
jne 0x180062515
dec rcx
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x70], rcx
cmova rax, qword [rsp + 0x60]
mov byte [rax + rcx], bl
lea rcx, [rbp - 0x80]
call fcn.180013be0
cmp byte [0x18009fd7b], bl
mov eax, dword [0x18009fd78]
mov dword [rbp + 0x88], eax
je 0x180062494
cmp edi, 2
jl 0x180062451
movdqa xmm1, xmm10
movdqa xmm0, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm13
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm13
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm10
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm10
pmulld xmm0, xmmword [0x1800a01c0]
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm15
xorps xmm1, xmm0
movd dword [rbp + 0x88], xmm1
jmp 0x180062494
lea r9, [rbp + 0x88]
mov r8d, ebx
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x180062460
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x80]
call fcn.180023000
cmp qword [rbp - 0x68], 0xf
lea rdx, [rbp - 0x80]
movaps xmm2, xmm11
lea rcx, [rsp + 0x50]
cmova rdx, qword [rbp - 0x80]
call fcn.1800125b0
mov rdx, qword [rbp - 0x68]
movsd xmm0, qword [rax]
movsd qword [rbp + 0x60], xmm0
cmp rdx, 0xf
jbe 0x180062504
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800624ff
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006276a
call fcn.18006a6e8
movss xmm8, dword [rbp + 0x64]
movss xmm9, dword [rbp + 0x60]
jmp 0x180062324
mov rax, qword [rsi + 0x30]
movss xmm3, dword [rax + 0x74]
comiss xmm6, xmm3
jbe 0x1800626de
movaps xmm0, xmm3
addss xmm0, dword [rax + 0x7c]
comiss xmm0, xmm6
jbe 0x1800626de
movss xmm2, dword [rax + 0x78]
comiss xmm7, xmm2
jbe 0x1800626de
movaps xmm1, xmm2
addss xmm1, dword [rax + 0x80]
comiss xmm1, xmm7
jbe 0x1800626de
addss xmm6, xmm9
addss xmm7, xmm8
comiss xmm6, xmm3
jbe 0x1800626de
comiss xmm0, xmm6
jbe 0x1800626de
comiss xmm7, xmm2
jbe 0x1800626de
comiss xmm1, xmm7
jbe 0x1800626de
cmp byte [0x18009fd7b], bl
mov eax, dword [0x18009fd78]
mov dword [rbp + 0x88], eax
je 0x18006264f
cmp edi, 2
jl 0x180062614
movdqa xmm1, xmm10
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
punpckldq xmm1, xmm10
pmuldq xmm0, xmm13
pmuldq xmm1, xmm13
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm10
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800a01c0]
psubd xmm10, xmm0
movd xmm0, eax
andps xmm10, xmm14
packuswb xmm10, xmm10
packuswb xmm10, xmm10
paddb xmm10, xmm15
xorps xmm10, xmm0
movd dword [rbp + 0x88], xmm10
jmp 0x18006264f
lea r8, [rbp + 0x88]
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x31
xor byte [r8 - 1], al
cmp ebx, 4
jl 0x180062620
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x60]
call fcn.180023000
mov rax, qword [rbp + 0x80]
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
lea r9, [rsp + 0x50]
mov byte [rsp + 0x28], 0
movaps xmm2, xmm11
cmova rcx, qword [rsp + 0x60]
movq rdx, xmm12
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x20], 0
call fcn.1800123b0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800626da
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800626d5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062764
call fcn.18006a6e8
mov al, 1
jmp 0x180062719
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180062717
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062712
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062764
call fcn.18006a6e8
xor al, al
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret
call fcn.180070324
int3
call fcn.180070324
int3