Function at 0x140215400
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1402bd028]
xor rax, rsp
mov qword [rbp + 0x168], rax
mov rbx, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
lea r13, [rbp + 0x1c8]
movabs rax, 0xff00ff00ff00ff00
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x160], r13
mov r12, qword [r13]
xor r12, rax
mov qword [rbp + 0x150], r12
xor r15d, r15d
mov qword [r13], r15
xor eax, eax
movups xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], rax
movzx eax, word [0x1402aa2e0]
mov word [rsp + 0x30], ax
cmp byte [0x1402aa2e1], r15b
je 0x1402154b4
mov byte [rsp + 0x30], 0x34
xor byte [rsp + 0x31], 0x43
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea rax, [rsp + 0x30]
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1402154d1
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14021d330
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x138], xmm0
mov qword [rbp + 0x148], r15
mov edx, 1
call fcn.14025f390
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rax
lea rdi, [rax + 0x20]
mov qword [rbp + 0x148], rdi
lea rcx, [rbp + 0x138]
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0x138]
mov qword [rbp + 0xd0], rcx
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.1402578e0
nop
mov qword [rbp + 0x140], rdi
lea r9, [fcn.140212050]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x38]
call fcn.14027d34c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], rax
movzx eax, word [0x1402ab354]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402ab356]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1402155d0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x20]
call fcn.14021d330
nop
movzx eax, word [0x1402aa634]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402aa636]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140215623
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x40]
call fcn.14021d330
nop
movzx eax, word [0x1402aadb4]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402aadb6]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140215676
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.14021d330
nop
movzx eax, word [0x1402a9938]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402a993a]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x90], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1402156d0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x80]
call fcn.14021d330
nop
movzx eax, word [0x1402a98f8]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402a98fa]
mov byte [rsp + 0x30], 0x35
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140215730
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xa0]
call fcn.14021d330
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov edx, 5
call fcn.14025f390
mov rdi, rax
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
lea rcx, [rax + 0xa0]
mov qword [rbp + 0x130], rcx
lea rax, [rbp + 0x120]
mov qword [rsp + 0x30], rax
lea r14, [rbp + 0x20]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
lea rax, [rbp + 0x120]
mov qword [rbp + 0xd0], rax
nop dword [rax]
mov rdx, r14
mov rcx, rdi
call fcn.1402578e0
add rdi, 0x20
mov qword [rbp + 0xc8], rdi
add r14, 0x20
lea rax, [rbp + 0xc0]
cmp r14, rax
jne 0x1402157c0
mov qword [rbp + 0x128], rdi
lea r9, [fcn.140212050]
mov edx, 0x20
lea r8d, [rdx - 0x1b]
lea rcx, [rbp + 0x20]
call fcn.14027d34c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], rax
movzx eax, word [0x1402a9d54]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402a9d56]
mov byte [rsp + 0x30], 0x33
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140215852
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14021d330
nop
movzx eax, word [0x1402ab938]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402ab93a]
mov byte [rsp + 0x30], 0x33
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1402158a6
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.14021d330
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], r15
mov edx, 2
call fcn.14025f390
mov rdi, rax
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x110], rax
lea rcx, [rax + 0x40]
mov qword [rbp + 0x118], rcx
lea rax, [rbp + 0x108]
mov qword [rsp + 0x30], rax
lea r14, [rsp + 0x60]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
lea rax, [rbp + 0x108]
mov qword [rbp + 0xd0], rax
nop
mov rdx, r14
mov rcx, rdi
call fcn.1402578e0
add rdi, 0x20
mov qword [rbp + 0xc8], rdi
add r14, 0x20
lea rax, [rbp - 0x60]
cmp r14, rax
jne 0x140215930
mov qword [rbp + 0x110], rdi
lea r9, [fcn.140212050]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
lea rcx, [rsp + 0x60]
call fcn.14027d34c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], rax
mov eax, dword [str.wstvI]
mov dword [rsp + 0x30], eax
movzx eax, byte [0x1402aab7c]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x43
xor byte [rsp + 0x32], 0x45
xor byte [rsp + 0x33], 0x47
xor al, 0x49
mov byte [rsp + 0x34], al
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x1402159c6
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.14021d330
nop
mov eax, dword [0x1402ac27c]
mov dword [rsp + 0x30], eax
cmp byte [0x1402ac27f], 0
je 0x140215b67
cmp dword [0x1402bd008], 2
jl 0x140215b03
mov ecx, 6
movd xmm5, ecx
mov ecx, 0x1f
movd xmm7, ecx
movdqa xmm8, xmmword [0x1402ad0a0]
movdqa xmm4, xmm8
punpckldq xmm4, xmm8
movdqa xmm2, xmm8
punpckhdq xmm2, xmm8
movdqa xmm6, xmm4
pmuldq xmm6, xmmword [0x1402ad190]
movdqa xmm0, xmm2
pmuldq xmm0, xmmword [0x1402ad190]
shufps xmm6, xmm0, 0xdd
paddd xmm6, xmm8
psrad xmm6, xmm5
pmuldq xmm4, xmmword [0x1402ad180]
pmuldq xmm2, xmmword [0x1402ad180]
shufps xmm4, xmm2, 0xdd
psubd xmm4, xmm8
psrad xmm4, xmm5
movdqa xmm1, xmm4
psrld xmm1, xmm7
paddd xmm1, xmm4
pmulld xmm1, xmmword [0x1402ad1a0]
movdqa xmm0, xmm8
psubd xmm0, xmm1
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
pand xmm3, xmmword [0x1402ad150]
packuswb xmm3, xmm3
movdqa xmm0, xmm6
psrld xmm0, xmm7
paddd xmm0, xmm6
pmulld xmm0, xmmword [0x1402ad0e0]
psubd xmm8, xmm0
pshuflw xmm0, xmm8, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1402ad150]
packuswb xmm2, xmm2
paddb xmm3, xmm2
paddb xmm3, xmmword [str.AAAAAAAAAAAAAAAA]
movd xmm0, eax
pxor xmm3, xmm0
movd dword [rsp + 0x30], xmm3
jmp 0x140215b67
lea r10, [rsp + 0x30]
mov r9d, r15d
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx r8d, r9b
sub r8b, cl
add r8b, r8b
mov eax, 0x9c09c09d
imul r9d
add edx, r9d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x69
sub r8b, cl
add r8b, 0x41
xor byte [r10], r8b
inc r9d
lea r10, [r10 + 1]
cmp r9d, 4
jl 0x140215b10
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140215b80
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.14021d330
nop
movzx eax, word [0x1402aa210]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402aa212]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140215bd3
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.14021d330
nop
movzx eax, word [0x1402aad5c]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402aad5e]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140215c26
lea rdx, [rsp + 0x30]
lea rcx, [rbp]
call fcn.14021d330
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r15
mov edx, 4
call fcn.14025f390
mov rdi, rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
lea rcx, [rax + 0x80]
mov qword [rbp + 0x100], rcx
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x30], rax
lea r14, [rbp - 0x60]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
lea rax, [rbp + 0xf0]
mov qword [rbp + 0xd0], rax
mov rdx, r14
mov rcx, rdi
call fcn.1402578e0
add rdi, 0x20
mov qword [rbp + 0xc8], rdi
add r14, 0x20
lea rax, [rbp + 0x20]
cmp r14, rax
jne 0x140215cb0
mov qword [rbp + 0xf8], rdi
lea r9, [fcn.140212050]
mov edx, 0x20
lea r8d, [rdx - 0x1c]
lea rcx, [rbp - 0x60]
call fcn.14027d34c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rax
movzx eax, word [0x1402ab8c4]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1402ab8c6]
mov byte [rsp + 0x30], 0x36
xor byte [rsp + 0x31], 0x43
xor al, 0x45
mov byte [rsp + 0x32], al
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea rax, [rsp + 0x30]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140215d40
mov r8, rsi
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14021d330
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r15
mov edx, 1
call fcn.14025f390
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
lea rdi, [rax + 0x20]
mov qword [rbp + 0xe8], rdi
lea rcx, [rbp + 0xd8]
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0xd8]
mov qword [rbp + 0xd0], rcx
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.1402578e0
nop
mov qword [rbp + 0xe0], rdi
lea r9, [fcn.140212050]
mov edx, 0x20
lea r8d, [rdx - 0x1f]
lea rcx, [rsp + 0x38]
call fcn.14027d34c
mov rdi, qword [rbp + 0x138]
mov rsi, qword [rbp + 0x140]
cmp rdi, rsi
je 0x140215e4f
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop dword [rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140215e21
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x140215e2d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14025c7e0
test rax, rax
je 0x140216065
add rdi, 0x20
cmp rdi, rsi
jne 0x140215e10
mov rdi, qword [rbp + 0x120]
mov rsi, qword [rbp + 0x128]
cmp rdi, rsi
je 0x140215eaf
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140215e81
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x140215e8d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14025c7e0
test rax, rax
je 0x140216065
add rdi, 0x20
cmp rdi, rsi
jne 0x140215e70
mov rdi, qword [rbp + 0x108]
mov rsi, qword [rbp + 0x110]
cmp rdi, rsi
je 0x140215f0f
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140215ee1
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x140215eed
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14025c7e0
test rax, rax
je 0x140216065
add rdi, 0x20
cmp rdi, rsi
jne 0x140215ed0
mov rdi, qword [rbp + 0xf0]
mov rsi, qword [rbp + 0xf8]
cmp rdi, rsi
je 0x140215f6f
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140215f41
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x140215f4d
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14025c7e0
test rax, rax
je 0x140216065
add rdi, 0x20
cmp rdi, rsi
jne 0x140215f30
mov rdi, qword [rbp + 0xd8]
mov rsi, qword [rbp + 0xe0]
cmp rdi, rsi
je 0x140215fcf
mov r14, qword [rbx + 0x18]
mov r15, qword [rbx + 0x10]
nop word [rax + rax]
mov rax, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140215fa1
mov r9, qword [rdi]
mov rcx, rbx
cmp r14, 0x10
jb 0x140215fad
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.14025c7e0
test rax, rax
je 0x140216065
add rdi, 0x20
cmp rdi, rsi
jne 0x140215f90
xor bl, bl
lea rcx, [rbp + 0xd8]
call fcn.140258c20
nop
lea rcx, [rbp + 0xf0]
call fcn.140258c20
nop
lea rcx, [rbp + 0x108]
call fcn.140258c20
nop
lea rcx, [rbp + 0x120]
call fcn.140258c20
nop
lea rcx, [rbp + 0x138]
call fcn.140258c20
nop
movabs rax, 0xff00ff00ff00ff00
xor r12, rax
mov qword [r13], r12
movzx eax, bl
mov rcx, qword [rbp + 0x168]
xor rcx, rsp
call fcn.14027cdd0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov bl, 1
jmp 0x140215fd1