Function at 0x140208c90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x168
call fcn.14026ff20
sub rsp, rax
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1403e5188]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rax, qword [rsp + 0x1d8]
mov r12, r8
movsxd rdi, dword [rsp + 0x1d0]
mov r13, rdx
mov qword [rbp + 0x68], rcx
lea rdx, [0x1403d8048]
mov qword [rbp + 0x30], r8
xor r15d, r15d
mov r8d, 0x243
mov qword [rbp + 0x18], r9
lea ecx, [rdi + rdi*2]
mov qword [rbp + 0x40], rax
shl ecx, 9
add ecx, 0x40
mov qword [rbp], r15
mov qword [rbp + 0x28], r15
call fcn.1401b5390
mov qword [rbp + 0x70], rax
mov r14, rax
test rax, rax
je 0x1402093e0
imul ecx, edi, 0x21
lea rdx, [0x1403d8068]
mov r8d, 0x245
call fcn.1401b5390
mov qword [rbp], rax
mov rbx, rax
test rax, rax
je 0x1402093e0
lea ecx, [rdi*8]
mov r8d, 0x246
lea rdx, [0x1403d8088]
call fcn.1401b5390
mov qword [rbp + 0x28], rax
mov rsi, rax
test rax, rax
je 0x1402093e0
mov rcx, r14
mov qword [rbp + 0x60], rdi
and ecx, 0x3f
mov rdx, r14
sub rdx, rcx
mov eax, r15d
add rdx, 0x40
mov dword [rbp + 8], eax
mov qword [rbp + 0x10], rdx
mov r14, rdi
test edi, edi
jle 0x14020913c
sub rsi, r12
mov qword [rbp + 0x48], r15
sub qword [rbp + 0x18], r12
mov rbx, r12
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x50], r15
mov rcx, qword [rbx]
mov r14, qword [rbp]
cdqe
lea r12, [rax + rax*2]
shl r12, 9
add r12, rdx
call fcn.1401bf8d0
cmp eax, 0x100
jg 0x140208dda
mov rdi, qword [rbx]
cmp dword [rdi + 0x10], 0
je 0x140208e0e
mov rcx, qword [rbp + 0x40]
call fcn.1401c0350
mov rdi, rax
test rax, rax
je 0x140209406
mov r8, qword [rbp + 0x68]
mov rcx, rax
mov r9, qword [rbp + 0x40]
add r8, 0x10
mov rdx, qword [rbx]
call fcn.1401da600
test eax, eax
je 0x140209111
mov rcx, qword [rbp + 0x28]
mov rax, rbx
sub rax, qword [rbp + 0x30]
xor r10d, r10d
xor r11d, r11d
mov qword [rax + rcx], rdi
mov eax, dword [rdi + 8]
shl eax, 3
test eax, eax
jle 0x140208ebd
lea r9, [r14 + 2]
add r9, r15
mov eax, r10d
test r10d, r10d
jns 0x140208e44
lea eax, [r10 + 7]
sar eax, 3
add r10d, 8
movsxd rdx, eax
add r11, 8
mov rax, qword [rbx + rsi]
mov rcx, qword [rax]
mov r8, qword [rcx + rdx*8]
mov byte [r9 - 2], r8b
mov rax, r8
shr rax, 8
mov byte [r9 - 1], al
mov rax, r8
shr rax, 0x10
mov byte [r9], al
shr r8, 0x18
mov byte [r9 + 1], r8b
shr r8, 8
mov byte [r9 + 2], r8b
mov rax, r8
shr rax, 8
mov byte [r9 + 3], al
mov rax, r8
shr rax, 0x10
mov byte [r9 + 4], al
shr r8, 0x18
mov byte [r9 + 5], r8b
add r9, 8
mov rax, qword [rbx + rsi]
mov ecx, dword [rax + 8]
shl ecx, 3
cmp r10d, ecx
jl 0x140208e38
cmp r11, 0x21
jge 0x140208ed4
lea rcx, [r15 + r11]
mov r8d, 0x21
add rcx, r14
sub r8, r11
xor edx, edx
call fcn.1402b61f1
mov rdi, qword [rbp + 0x18]
mov rdx, qword [rbx + rdi]
cmp dword [rdx + 0x10], 4
jg 0x1402090ea
xorps xmm0, xmm0
mov rcx, r12
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movsxd r8, dword [rdx + 0x10]
mov rdx, qword [rdx + 8]
shl r8, 3
call fcn.1402b61df
mov rdx, qword [rbx + rdi]
lea rcx, [r12 + 0x20]
cmp dword [rdx + 0x28], 4
jg 0x1402090ea
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movsxd r8, dword [rdx + 0x28]
mov rdx, qword [rdx + 0x20]
shl r8, 3
call fcn.1402b61df
mov rdx, qword [rbx + rdi]
lea rcx, [r12 + 0x40]
cmp dword [rdx + 0x40], 4
jg 0x1402090ea
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movsxd r8, dword [rdx + 0x40]
mov rdx, qword [rdx + 0x38]
shl r8, 3
call fcn.1402b61df
mov rdx, r12
lea rcx, [r12 + 0x60]
call fcn.1400179a0
mov r8, r12
lea rdx, [r12 + 0x60]
lea rcx, [r12 + 0xc0]
call fcn.140017cc0
lea rdx, [r12 + 0x60]
lea rcx, [r12 + 0x120]
call fcn.1400179a0
lea rdx, [r12 + 0xc0]
lea rcx, [r12 + 0x1e0]
call fcn.1400179a0
lea rdx, [r12 + 0x120]
lea rcx, [r12 + 0x2a0]
call fcn.1400179a0
lea rdx, [r12 + 0x1e0]
lea rcx, [r12 + 0x420]
call fcn.1400179a0
mov r8, r12
lea rdx, [r12 + 0x120]
lea rcx, [r12 + 0x180]
call fcn.140017cc0
mov r8, r12
lea rdx, [r12 + 0x1e0]
lea rcx, [r12 + 0x240]
call fcn.140017cc0
lea rcx, [r12 + 0x300]
mov r8, r12
lea rdx, [r12 + 0x2a0]
call fcn.140017cc0
lea rcx, [r12 + 0x480]
mov r8, r12
lea rdx, [r12 + 0x420]
call fcn.140017cc0
lea rdx, [r12 + 0x240]
lea rcx, [r12 + 0x4e0]
call fcn.1400179a0
lea rdx, [r12 + 0x180]
lea rcx, [r12 + 0x360]
call fcn.1400179a0
mov r8, r12
lea rdx, [r12 + 0x4e0]
lea rcx, [r12 + 0x540]
call fcn.140017cc0
lea rcx, [r12 + 0x3c0]
mov r8, r12
lea rdx, [r12 + 0x360]
call fcn.140017cc0
lea rcx, [r12 + 0x5a0]
mov r8, r12
lea rdx, [r12 + 0x540]
call fcn.140017cc0
mov eax, dword [rbp + 8]
mov rdi, qword [rbp + 0x48]
inc eax
mov r15, qword [rbp + 0x50]
inc rdi
mov rbx, qword [rbp + 0x58]
add r15, 0x21
mov r14, qword [rbp + 0x60]
add rbx, 8
mov rdx, qword [rbp + 0x10]
mov dword [rbp + 8], eax
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], rbx
cmp rdi, r14
jge 0x140209138
mov rsi, qword [rbp + 0x38]
jmp 0x140208db1
mov edx, 0xf2
mov dword [rsp + 0x20], 0x277
lea r9, [0x1403d80e8]
mov ecx, 0x10
lea r8d, [rdx - 0x60]
call fcn.1401b8970
jmp 0x140209406
mov ecx, 0x10
mov dword [rsp + 0x20], 0x256
lea r9, [0x1403d80c8]
mov edx, 0xf2
lea r8d, [rcx - 0xd]
call fcn.1401b8970
jmp 0x140209406
mov rbx, qword [rbp]
movzx eax, byte [rbx + 0x1f]
mov rcx, r13
shr eax, 6
mov r15d, 0xff
mov r8d, eax
and eax, 1
shr r8d, 1
add r8d, eax
call fcn.1400172c0
nop dword [rax]
xor eax, eax
cmp r15d, 0xff
sete al
mov edi, eax
cmp rdi, r14
jge 0x1402092a3
lea ecx, [r15 - 1]
mov r12d, ecx
shr ecx, 3
and r12d, 7
mov qword [rbp + 0x30], rcx
imul rsi, rdi, 0x21
lea eax, [rcx + 1]
sub r14, rdi
mov qword [rbp + 0x38], rax
nop word [rax + rax]
add rax, rsi
movzx r8d, byte [rax + rbx]
lea rax, [rcx + rsi]
movzx ecx, byte [rax + rbx]
shl r8d, 8
or r8d, ecx
mov ecx, r12d
shr r8d, cl
mov ecx, 0x3f
and r8d, 0x3f
sub ecx, r8d
mov eax, r8d
shr eax, 5
dec eax
mov edx, eax
and eax, r8d
not edx
and ecx, edx
and edx, 1
or ecx, eax
mov eax, ecx
and ecx, 1
shr eax, 1
add eax, ecx
lea rcx, [rbp + 0x80]
lea ebx, [rdx + rax*2]
movsxd rax, edi
mov r8d, ebx
shr r8d, 1
lea rdx, [rax + rax*2]
shl rdx, 9
add rdx, qword [rbp + 0x10]
call fcn.1400172c0
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xe0]
call fcn.140016740
mov eax, ebx
and eax, 1
neg rax
movq xmm2, rax
not rax
punpcklqdq xmm2, xmm2
movq xmm3, rax
xor eax, eax
punpcklqdq xmm3, xmm3
nop
movdqu xmm0, xmmword [rbp + rax + 0xa0]
movdqu xmm1, xmmword [rbp + rax + 0xe0]
pand xmm0, xmm3
pand xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0xa0], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x140209240
lea r8, [rbp + 0x80]
mov rdx, r13
mov rcx, r13
call fcn.140017cc0
mov rbx, qword [rbp]
inc edi
mov rax, qword [rbp + 0x38]
add rsi, 0x21
mov rcx, qword [rbp + 0x30]
sub r14, 1
jne 0x1402091a0
mov r14, qword [rbp + 0x60]
mov rdx, r13
mov rcx, r13
add r15d, 0xfffffffb
call fcn.1400179a0
mov rdx, r13
mov rcx, r13
call fcn.1400179a0
mov rdx, r13
mov rcx, r13
call fcn.1400179a0
mov rdx, r13
mov rcx, r13
call fcn.1400179a0
mov rdx, r13
mov rcx, r13
call fcn.1400179a0
cmp r15d, 5
jae 0x140209160
xor edi, edi
test r14, r14
jle 0x140209402
mov rsi, rbx
nop word [rax + rax]
movzx edx, byte [rsi]
mov ecx, 0x3f
and edx, 0x1f
add edx, edx
sub ecx, edx
mov eax, edx
shr eax, 5
dec eax
mov r8d, eax
and eax, edx
not r8d
and ecx, r8d
and r8d, 1
or ecx, eax
mov eax, ecx
and ecx, 1
shr eax, 1
add eax, ecx
lea rcx, [rbp + 0x80]
lea ebx, [r8 + rax*2]
movsxd rax, edi
mov r8d, ebx
shr r8d, 1
lea rdx, [rax + rax*2]
shl rdx, 9
add rdx, qword [rbp + 0x10]
call fcn.1400172c0
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xe0]
call fcn.140016740
mov eax, ebx
and eax, 1
neg rax
movq xmm3, rax
not rax
punpcklqdq xmm3, xmm3
movq xmm4, rax
xor eax, eax
punpcklqdq xmm4, xmm4
movdqu xmm0, xmmword [rbp + rax + 0xa0]
movdqu xmm2, xmmword [rbp + rax + 0xe0]
movdqa xmm1, xmm4
pand xmm2, xmm3
pand xmm1, xmm0
pxor xmm2, xmm1
movdqu xmmword [rbp + rax + 0xa0], xmm2
add rax, 0x10
cmp rax, 0x20
jl 0x140209387
lea r8, [rbp + 0x80]
mov rdx, r13
mov rcx, r13
call fcn.140017cc0
inc edi
add rsi, 0x21
sub r14, 1
jne 0x140209300
jmp 0x140209402
mov ecx, 0x10
mov dword [rsp + 0x20], 0x247
lea r9, [0x1403d80a8]
mov edx, 0xf2
lea r8d, [rcx + 0x31]
call fcn.1401b8970
mov r14, qword [rbp]
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x140209414
call fcn.1401b5130
test r14, r14
je 0x140209421
mov rcx, r14
call fcn.1401b5130
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140209432
mov rcx, rax
call fcn.1401b5130
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.14026fc70
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret