Function at 0x180001380
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0x28]
sub rsp, 0x120
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rax, qword [0x180025008]
xor rax, rsp
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [0x180021f20]
mov eax, dword [0x180021f50]
xor ebx, ebx
movups xmm1, xmmword [0x180021f30]
mov edi, dword [0x180025018]
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x50], eax
lea esi, [rbx + 6]
movups xmm0, xmmword [0x180021f40]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
cmp word [rsp + 0x52], bx
je 0x180001502
mov ecx, ebx
cmp edi, 2
jl 0x1800014d3
movdqa xmm5, xmmword [0x1800220f0]
lea rdx, [rsp + 0x20]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
xorps xmm0, xmm0
movd xmm1, ecx
pshufd xmm1, xmm1, 0
lea eax, [rcx + 4]
paddd xmm1, xmm5
lea rdx, [rdx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ecx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rdx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x18
jl 0x180001421
cmp ecx, 0x1a
jge 0x180001502
movsxd rax, ecx
lea rdx, [rsp + 0x20]
lea rdx, [rdx + rax*2]
nop
mov eax, ecx
and eax, 0x8000003f
jge 0x1800014f0
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ecx
xor word [rdx], ax
add rdx, 2
cmp ecx, 0x1a
jl 0x1800014e0
mov rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x20]
call fcn.180007e70
mov rdx, rax
test rax, rax
je 0x18000164a
cmp word [rsp + 0x52], bx
jne 0x180001642
cmp edi, 2
jl 0x180001612
movdqa xmm5, xmmword [0x1800220f0]
lea rcx, [rsp + 0x20]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
movd xmm1, ebx
pshufd xmm1, xmm1, 0
lea eax, [rbx + 4]
paddd xmm1, xmm5
lea rcx, [rcx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ebx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x18
jl 0x180001560
cmp ebx, 0x1a
jge 0x180001642
movsxd rax, ebx
lea rcx, [rsp + 0x20]
lea rcx, [rcx + rax*2]
nop
mov eax, ebx
and eax, 0x8000003f
jge 0x180001630
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ebx
xor word [rcx], ax
add rcx, 2
cmp ebx, 0x1a
jl 0x180001620
mov rax, rdx
jmp 0x180001b5f
movups xmm0, xmmword [0x180021de0]
movups xmm1, xmmword [0x180021df0]
mov eax, dword [0x180021e28]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x180021e00]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x180021e20]
movups xmmword [rsp + 0x70], xmm1
movups xmm1, xmmword [0x180021e10]
mov dword [rbp - 0x58], eax
movsd qword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp word [rbp - 0x56], bx
je 0x1800017b2
mov ecx, ebx
cmp edi, 2
jl 0x180001782
movdqa xmm5, xmmword [0x1800220f0]
lea rdx, [rsp + 0x60]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
movd xmm1, ecx
pshufd xmm1, xmm1, 0
lea eax, [rcx + 4]
paddd xmm1, xmm5
lea rdx, [rdx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ecx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rdx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rdx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rdx - 8], xmm3
cmp ecx, 0x20
jl 0x1800016d0
cmp ecx, 0x26
jge 0x1800017b2
movsxd rax, ecx
lea rdx, [rsp + 0x60]
lea rdx, [rdx + rax*2]
nop
mov eax, ecx
and eax, 0x8000003f
jge 0x1800017a0
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ecx
xor word [rdx], ax
add rdx, 2
cmp ecx, 0x26
jl 0x180001790
mov rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x60]
call fcn.180007e70
mov rdx, rax
test rax, rax
je 0x1800018fc
cmp word [rbp - 0x56], bx
jne 0x180001642
cmp edi, 2
jl 0x1800018c6
movdqa xmm5, xmmword [0x1800220f0]
lea rcx, [rsp + 0x60]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movd xmm1, ebx
pshufd xmm1, xmm1, 0
lea eax, [rbx + 4]
paddd xmm1, xmm5
lea rcx, [rcx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ebx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x20
jl 0x180001810
cmp ebx, 0x26
jge 0x180001642
movsxd rax, ebx
lea rcx, [rsp + 0x60]
lea rcx, [rcx + rax*2]
mov eax, ebx
and eax, 0x8000003f
jge 0x1800018e2
dec eax
or eax, 0xffffffc0
inc eax
add ax, 0x36
inc ebx
xor word [rcx], ax
add rcx, 2
cmp ebx, 0x26
jl 0x1800018d2
mov rax, rdx
jmp 0x180001b5f
movups xmm1, xmmword [0x180021f70]
movups xmm0, xmmword [0x180021f60]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [0x180021f90]
pextrw eax, xmm1, 7
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [0x180021f80]
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
test ax, ax
je 0x180001a3e
mov ecx, ebx
cmp edi, 2
jl 0x180001a1f
movdqa xmm5, xmmword [0x1800220f0]
lea rcx, [rbp - 0x50]
movdqa xmm6, xmmword [str.____]
mov edx, ebx
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movd xmm1, edx
pshufd xmm1, xmm1, 0
lea eax, [rdx + 4]
paddd xmm1, xmm5
lea rcx, [rcx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add edx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x20
jl 0x180001970
jmp 0x180001a3e
lea r8, [rbp - 0x50]
movzx eax, cx
lea r8, [r8 + 2]
and ax, 0x3f
inc ecx
add ax, 0x36
xor word [r8 - 2], ax
cmp ecx, 0x20
jl 0x180001a23
mov rdx, 0xffffffffffffffff
lea rcx, [rbp - 0x50]
call fcn.180007e70
mov rdx, rax
test rax, rax
je 0x180001b5f
cmp word [rbp - 0x12], bx
jne 0x180001642
lea rcx, [rbp - 0x50]
cmp edi, 2
jl 0x180001b42
movdqa xmm5, xmmword [0x1800220f0]
movdqa xmm6, xmmword [str.____]
movdqa xmm7, xmmword [0x180022110]
movd xmm4, esi
nop dword [rax]
xorps xmm0, xmm0
movd xmm1, ebx
pshufd xmm1, xmm1, 0
lea eax, [rbx + 4]
paddd xmm1, xmm5
lea rcx, [rcx + 0x10]
pcmpgtd xmm0, xmm1
movq xmm2, xmm7
pand xmm0, xmm6
add ebx, 8
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
movd xmm1, eax
paddw xmm3, xmm2
pshufd xmm1, xmm1, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
xorps xmm0, xmm0
paddd xmm1, xmm5
movq xmm2, xmm7
pcmpgtd xmm0, xmm1
pand xmm0, xmm6
paddd xmm0, xmm1
psrad xmm0, xmm4
pslld xmm0, xmm4
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp ebx, 0x20
jl 0x180001a90
mov rax, rdx
jmp 0x180001b5f
movzx eax, bx
lea rcx, [rcx + 2]
and ax, 0x3f
inc ebx
add ax, 0x36
xor word [rcx - 2], ax
cmp ebx, 0x20
jl 0x180001b42
mov rax, rdx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180008760
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret