Function at 0x140283330
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov rdi, r9
mov rbx, r8
lea r10, [rcx + 8]
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
lea rax, [0x1404468d0]
nop dword [rax + rax]
movsxd r8, dword [0x1404468d0]
mov r9d, dword [0x140576da4]
cmp r9d, 0x63
jl 0x14028338d
mov r8d, dword [0x1404468d0]
jmp 0x140283370
xor rax, r8
mov r9, rax
not r9
and r9, r8
mov r8d, dword [0x140576da4]
cmp r8d, 0x3a
jle 0x140283ebf
jmp 0x140283ecc
mov r13, r12
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
jb 0x1402833ea
lea rcx, [r13 + 0x28]
call fcn.1403f542c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1402833f6
lea rcx, [r13 + 1]
call fcn.1403f542c
mov rcx, rax
mov qword [rsi], rcx
mov rax, r12
xor rax, 1
mov edx, r12d
and edx, 1
movabs r8, 0x86b4d0bd18176101
add r8, qword [0x140538d90]
imul r8, rdx
add r8, rax
mov rdx, rbx
call fcn.14041d3c0
mov rax, qword [rbp + 0x28]
mov qword [rax + 0x40], r12
mov qword [rax + 0x48], r13
lea rsi, [0x1404388f8]
mov qword [rax + 0x28], rsi
xorps xmm0, xmm0
movups xmmword [rax + 0x68], xmm0
mov rbx, qword [rdi + 0x18]
cmp qword [rdi + 0x20], 0x10
jb 0x140283455
mov rdi, qword [rdi + 8]
jmp 0x140283459
add rdi, 8
lea rcx, [rax + 0x28]
mov qword [rbp - 8], rcx
lea r13, [rax + 0x58]
cmp rbx, 0xf
ja 0x14028347e
movups xmm0, xmmword [rdi]
movups xmmword [r13], xmm0
mov r12d, 0xf
jmp 0x140283553
mov eax, dword [0x140576da0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov r12, rbx
or r12, 0xf
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
cmp r12, 0xfff
jb 0x1402834e7
lea rcx, [r12 + 0x28]
mov al, 1
lea rdx, [fcn.140283330]
add edx, edx
add edx, 0x3b20
mov r8d, edx
not r8d
nop word [rax + rax]
test al, al
jne 0x1402834f6
nop word cs:[rax + rax]
test r8d, edx
jne 0x1402834e0
jmp 0x1402834d0
lea rcx, [r12 + 1]
call fcn.1403f542c
mov rcx, rax
jmp 0x14028352c
call fcn.1403f542c
mov rdx, rax
add rdx, 0x27
movabs rcx, 0x86b4d0bd181760df
add rcx, qword [0x140538d90]
mov r8, rdx
not r8
xor rdx, rcx
not rcx
and rcx, r8
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
mov qword [r13], rcx
mov rax, qword [0x140538d90]
add rax, rbx
movabs r8, 0x86b4d0bd18176100
add r8, rax
mov rdx, rdi
call fcn.14041d3c0
mov rax, qword [rbp + 0x28]
lea rcx, [rax + 0x50]
mov qword [rbp], rcx
mov qword [rax + 0x68], rbx
mov qword [rax + 0x70], r12
mov qword [rax + 0x50], rsi
lea rcx, [rax + 0x78]
mov qword [rbp + 8], rcx
lea rcx, [rax + 0x80]
mov qword [rbp + 0x18], rcx
mov rdx, qword [rbp + 0xa0]
lea rcx, [rdx + 8]
mov qword [rbp - 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rax + 0x90], xmm0
mov rax, qword [rdx + 0x18]
mov qword [rbp + 0x20], rax
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x18], rax
nop word cs:[rax + rax]
mov r12d, dword [0x140576d84]
lea eax, [r12 - 0x4594a0d2]
mov ecx, eax
xor ecx, 0x4594a0d3
and eax, 0x4594a0d3
lea ecx, [rcx + rax*2]
mov dword [0x140576d84], ecx
mov edx, dword [0x140576da0]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x140538d98]
mov r8d, edx
xor r8d, 0x4164ba2d
and edx, 0x4164ba2d
lea r8d, [r8 + rdx*2]
add r8d, 0xc4b2c8b8
xor edx, edx
div r8d
test edx, edx
je 0x1402836c0
mov eax, dword [0x140576da0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14028365c
mov eax, dword [0x140576d84]
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [rcx + rax*2]
mov dword [0x140576d84], eax
mov eax, dword [0x140576da4]
mov ecx, dword [0x140538d98]
mov edx, ecx
xor edx, 0x6178339
and ecx, 0x6178339
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1402835b0
mov eax, dword [0x140538d98]
mov ecx, eax
xor ecx, 0x61782e4
not eax
and eax, 0x79e87d1b
or eax, ecx
not eax
lea eax, [rcx + rax*2]
mov edx, 1
sub edx, eax
mov cl, 1
sub cl, dl
shl edx, cl
mov eax, edx
shl eax, cl
mov r8d, edx
mov ecx, eax
shl r8d, cl
mov ecx, edx
sub ecx, r8d
imul ecx, r8d
mov eax, edx
shl eax, cl
mov ecx, edx
sub ecx, eax
imul ecx, eax
mov eax, edx
sub eax, ecx
imul eax, ecx
mov ecx, edx
sub ecx, eax
imul ecx, eax
add ecx, edx
mov dword [0x140576d84], ecx
jmp 0x140283620
mov eax, r12d
not eax
mov edx, ecx
not edx
nop dword [rax]
mov r8d, dword [0x140576da4]
cmp r8d, 0x41
jg 0x1402836d0
mov r8d, dword [0x140576da4]
xor r12d, ecx
and eax, edx
nop dword [rax]
mov ecx, dword [0x140576da4]
cmp ecx, 0x25
jg 0x1402836f0
or r12d, eax
xor ebx, ebx
xor r12d, 0xffffffff
mov esi, 0
jne 0x140283720
xor eax, eax
mov ebx, 0
mov esi, 0
test r15d, r15d
jg 0x1402837d3
mov eax, dword [0x140576da0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140283720
cmp qword [rbp - 0x18], 0x10
mov rdi, qword [rbp + 0x20]
mov r15, qword [rbp - 0x20]
jb 0x140283743
mov r15, qword [r15]
mov rax, qword [0x140538d90]
movabs rcx, 0x86b4d0bd1817610f
xor rcx, rax
movabs rdx, 0x6b4d0bd1817610f
and rdx, rax
lea rax, [rcx + rdx*2]
cmp rdi, rax
jae 0x140283783
movups xmm0, xmmword [r15]
mov rax, qword [rbp + 0x18]
movups xmmword [rax], xmm0
mov r14d, 0xf
jmp 0x1402839ea
mov r14, rdi
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x1402837c2
mov eax, dword [0x140576da4]
mov ecx, 0x617830d
add ecx, dword [0x140538d98]
cmp eax, ecx
jge 0x140283990
jmp 0x140283969
lea rcx, [r14 + 1]
call fcn.1403f542c
mov rcx, rax
jmp 0x1402839d7
mov ecx, 0x61782e3
lea rdx, [fcn.140283330]
lea r9d, [rdx + rdx]
add r9d, 0x3ac0
mov r10d, 0x61782e4
xor ebx, ebx
xor esi, esi
nop word cs:[rax + rax]
mov r8d, dword [0x140576da4]
cmp r8d, 0x52
jl 0x140283832
nop dword [rax]
mov r8d, dword [0x140538d98]
add r8d, r10d
lea r11d, [rdx + rdx]
add r11d, 0x480
xor r11d, r8d
not r11d
test r11d, r8d
jne 0x140283810
jmp 0x140283800
movsxd r11, eax
add r11, r14
mov r8d, dword [0x140576da4]
cmp r8d, 0x1a
mov r8d, dword [0x140576da0]
mov edi, dword [0x140538d98]
neg edi
add edi, r8d
add edi, 0x61782e4
imul edi, r8d
test dil, 1
jne 0x140283843
mov r8d, dword [0x140576da4]
cmp r8d, 0x57
jg 0x140283930
mov r8d, dword [0x140538d98]
add r8d, ecx
mov edi, r9d
not edi
and edi, r9d
cmp edi, r8d
jne 0x14028395d
mov rdi, qword [r11]
mov r8, qword [r11 + 8]
mov r13d, dword [0x140576da4]
cmp r13d, 0x58
jg 0x14028395d
mov r13d, dword [0x140576da4]
cmp r13d, 0x31
jge 0x140283930
mov r11d, dword [0x140576da0]
lea r13d, [r11 - 1]
imul r13d, r11d
and r13d, 1
mov r11d, dword [0x140538d98]
add r11d, ecx
cmp r13d, r11d
mov r11d, dword [0x140576da0]
lea r13d, [r11 - 1]
imul r13d, r11d
test r13b, 1
jne 0x1402838d6
mov r11, r8
xor r11, r8
mov r13, rdi
xor r13, rdi
not r13
and rbx, r13
xor rbx, rdi
not r11
and rsi, r11
xor rsi, r8
neg eax
mov r8d, 0x10
sub r8d, eax
mov eax, dword [0x140576da0]
mov eax, r8d
cmp r8d, r15d
jl 0x140283800
jmp 0x140283720
mov r8, qword [r11]
mov r8, qword [r11 + 8]
mov r8d, dword [0x140576da0]
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
mov r8d, dword [0x140538d98]
add r8d, ecx
cmp edi, r8d
jne 0x140283930
jmp 0x140283876
mov r8, qword [r11]
mov r8, qword [r11 + 8]
jmp 0x140283891
mov ecx, dword [0x140576da0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x61782e5
add ecx, dword [0x140538d98]
xor edx, edx
div ecx
test edx, edx
je 0x14028399d
nop dword [rax + rax]
mov eax, dword [0x140576da4]
cmp eax, 0x43
jge 0x140283990
jmp 0x140283969
lea rcx, [r14 + 0x28]
call fcn.1403f542c
mov rdx, rax
add rdx, 0x27
mov r8d, 0x181760fe
add r8d, dword [0x140538d90]
mov ecx, r8d
xor ecx, ecx
not ecx
and ecx, edx
xor ecx, r8d
xor rdx, 0xffffffffffffffe0
and ecx, 0x1f
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
mov rax, qword [rbp + 0x18]
mov qword [rax], rcx
lea r8, [rdi + 1]
mov rdx, r15
call fcn.14041d3c0
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x28]
mov qword [rcx + 0x90], rdi
mov qword [rcx + 0x98], r14
lea r8, [0x1404388f8]
mov qword [rcx + 0x78], r8
lea rax, [rcx + 0xa0]
mov qword [rbp + 0x20], rax
mov qword [rcx + 0xb8], 0
mov qword [rcx + 0xc0], 0xf
movzx eax, byte [0x140538d9c]
add al, 0x4a
mov byte [rcx + 0xa8], al
mov qword [rcx + 0xa0], r8
xorps xmm0, xmm0
movups xmmword [rcx + 0xc8], xmm0
cmp qword [rdx + 0x18], 0
je 0x140283be6
lea rcx, [rbp + 0x10]
mov r8b, 1
call fcn.140288ca0
lea rcx, [rbp - 0x48]
call fcn.14028a890
lea rdx, [rbp - 0x48]
mov rcx, qword [rbp + 0x20]
call fcn.1402721d0
mov r10, qword [rbp - 0x28]
cmp r10, 0x10
jb 0x140283e9b
mov r8, qword [rbp - 0x40]
mov rax, r10
not rax
movabs rcx, 0x7ffffffffffffffe
and rcx, rax
and eax, 1
mov rdx, r10
and rdx, 0xfffffffffffffffe
or rdx, rax
or rcx, rdx
not rcx
lea r9, [rdx + rcx*2]
mov rax, qword [0x1404468c0]
mov rcx, qword [0x1404468b8]
mov edx, dword [0x140576da4]
mov r11d, 0x6178340
add r11d, dword [0x140538d98]
cmp edx, r11d
nop dword [rax]
xor edx, edx
test r12d, r12d
setne dl
mov rdi, rdx
not rdi
add rdx, rdx
xor r11d, r11d
add rdx, rdi
adc r11, 0xffffffffffffffff
mov r14, rcx
sub r14, rbx
mov rdi, rax
sbb rdi, rsi
mov r15d, dword [0x140576da4]
cmp r15d, 0x18
jg 0x140283ae0
xor rdx, r14
xor r11, rdi
mov rsi, r11
not rsi
mov rbx, rdx
not rbx
mov rax, rbx
xor rax, rdx
and rax, r14
xor rax, rdx
mov rcx, rsi
xor rcx, r11
and rcx, rdi
xor rcx, r11
xor rcx, r11
xor rax, rdx
and rax, rbx
and rcx, rsi
nop word [rax + rax]
mov edx, dword [0x140576da0]
lea r11d, [rdx - 1]
imul r11d, edx
test r11b, 1
je 0x140283b6f
mov edx, dword [0x140576da4]
cmp edx, 0x52
jge 0x140283b50
lea rdx, [fcn.140283330]
add edx, edx
add edx, 0x4d40
mov r11d, edx
not r11d
mov esi, 0x61782e3
nop dword [rax]
test r11d, edx
mov edi, dword [0x140576da4]
cmp edi, 0x48
jg 0x140283b93
mov edi, dword [0x140576da0]
mov ebx, edi
sub ebx, dword [0x140538d98]
imul ebx, edi
test bl, 1
jne 0x140283bc9
mov edi, dword [0x140576da0]
lea ebx, [rdi - 1]
imul ebx, edi
test bl, 1
je 0x140283ce3
mov edi, dword [0x140576da0]
lea ebx, [rdi - 1]
imul ebx, edi
and ebx, 1
mov edi, dword [0x140538d98]
add edi, esi
cmp ebx, edi
jne 0x140283b90
jmp 0x140283bb4
lea rcx, [rbp - 0x48]
call fcn.14028a890
lea rdx, [rbp - 0x48]
mov rcx, qword [rbp + 0x20]
call fcn.1402721d0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
mov rsi, qword [rbp + 0x28]
jb 0x140283ea8
mov r8, qword [rbp - 0x40]
lea r9, [rax + 1]
movabs rcx, 0x86b4d0bd181770fe
add rcx, qword [0x140538d90]
cmp r9, rcx
jbe 0x140283cc2
mov rcx, qword [r8 - 8]
mov rdx, qword [0x140538d90]
mov r9, rdx
neg r9
movabs r10, 0x794b2f42e7e89f09
mov r11, r9
xor r11, r10
and r9, r10
lea r9, [r11 + r9*2]
add r9, rdx
sub r8, r9
add r8, rdx
sub r8, rcx
cmp r8, 0x20
jae 0x140283dc8
mov edx, dword [0x140576da0]
mov r8d, dword [0x140538d98]
neg r8d
add r8d, edx
add r8d, 0xf9e87d1c
jmp 0x140283c9a
mov edx, dword [0x140576da0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140283c90
mov edx, dword [0x140576da0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140283c90
add rax, 0x28
mov r9, rax
mov r8, rcx
mov dword [rsp + 0x28], 0xabe6d658
mov dword [rsp + 0x20], 0x48b5d54a
mov ecx, 1
xor edx, edx
call fcn.14018ad50
jmp 0x140283ea8
mov rdx, rax
not rdx
xor rax, rcx
not rcx
mov r11, rcx
xor r11, rdx
and r11, rcx
or r11, rdx
not r11
or r11, rax
xor eax, eax
mov ecx, 0x617831c
mov edx, 0x6178333
jmp 0x140283d22
mov esi, dword [0x140576da0]
lea edi, [rsi - 1]
imul edi, esi
test dil, 1
je 0x140283d30
mov esi, dword [0x140576da4]
cmp esi, 0x48
jg 0x140283d10
nop dword [rax]
test al, al
jne 0x140283d46
mov esi, dword [0x140576da4]
mov edi, dword [0x140538d98]
add edi, ecx
cmp esi, edi
jl 0x140283d60
mov esi, dword [0x140576da0]
lea edi, [rsi - 1]
imul edi, esi
test dil, 1
jne 0x140283d30
jmp 0x140283d34
mov esi, dword [0x140576da4]
mov edi, dword [0x140538d98]
add edi, edx
cmp esi, edi
jge 0x140283d10
mov eax, dword [0x140576da0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x140283dba
nop word cs:[rax + rax]
mov eax, dword [0x140576da0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140283d90
mov eax, dword [0x140538d98]
mov ecx, eax
xor ecx, 0x61782e3
and eax, 0x61782e3
add eax, eax
add eax, ecx
jne 0x140283d90
cmp dword [0x140538d98], 0xf9e87d1d
je 0x140283dcd
jmp 0x140283e02
call fcn.1403d599c
mov ecx, dword [0x140576da0]
mov edx, dword [0x140538d98]
mov eax, ecx
sub eax, edx
add eax, 0xf9e87d1c
imul eax, ecx
neg edx
mov ecx, edx
xor ecx, 0xf9e87d1b
and edx, 0x79e87d1b
lea ecx, [rcx + rdx*2]
neg ecx
xor edx, edx
div ecx
test edx, edx
je 0x140283e2a
lea rax, [fcn.140283330]
add eax, eax
add eax, 0x1560
mov ecx, dword [0x140538d98]
lea edx, [rcx + 0x61782e4]
and edx, eax
add ecx, 0x61782e3
cmp edx, ecx
jne 0x140283e10
jmp 0x140283dcd
mov rax, r11
shr rax, 0x20
mov cl, 1
test cl, cl
jne 0x140283f78
jmp 0x140283f8e
mov rax, qword [r8 - 8]
sub r8, rax
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x140283e6a
add r10, qword [0x140538d90]
movabs r9, 0x86b4d0bd18176127
add r9, r10
mov r8, rax
jmp 0x140283e6f
call fcn.1403d599c
mov eax, dword [0x140538d98]
lea ecx, [rax + 0x61782e4]
lea edx, [rax + 0x61782e3]
lea r10d, [rax + 0x4ecd582d]
add eax, 0xb1fe593b
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.14018ad50
lea rcx, [rbp + 0x10]
call fcn.140286b30
mov rsi, qword [rbp + 0x28]
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r8d, dword [0x140576da4]
cmp r8d, 0xe
jl 0x140283ed7
mov r8b, 1
nop
test r8b, r8b
je 0x140283ed0
jmp 0x140283ebf
lea r14, [rax + r9*2]
mov eax, dword [0x140576da4]
cmp eax, 0x54
jg 0x140283f00
mov r15d, dword [0x1404468cc]
cmp dword [0x140538d98], 0xf9e87d1d
je 0x140283f13
nop dword [rax]
mov eax, dword [0x1404468cc]
mov eax, dword [0x140576da4]
cmp eax, 0x4a
jge 0x140283f00
jmp 0x140283ee6
lea rax, [0x140446898]
mov qword [rcx], rax
mov byte [rcx + 0x18], 0
mov qword [rcx + 0x20], rdx
xorps xmm0, xmm0
movups xmmword [rcx + 0x40], xmm0
mov r12, qword [rbx + 0x18]
movabs rax, 0x86b4d0bd1817610e
add rax, qword [0x140538d90]
cmp qword [rbx + 0x20], rax
mov qword [rbp - 0x10], r10
jbe 0x140283f51
mov rbx, qword [rbx + 8]
jmp 0x140283f55
add rbx, 8
mov qword [rbp + 0x28], rcx
lea rsi, [rcx + 0x30]
cmp r12, 0x10
jae 0x1402833af
movups xmm0, xmmword [rbx]
movups xmmword [rsi], xmm0
mov r13d, 0xf
jmp 0x140283426
mov ecx, r11d
or ecx, eax
add dword [0x140576da8], ecx
mov ecx, dword [0x140576da4]
cmp ecx, 0x5b
jle 0x140283fcd
mov esi, r11d
neg esi
imul esi, eax
mov edx, esi
mov ecx, eax
shl edx, cl
mov edi, esi
sub edi, edx
imul edi, edx
mov ecx, esi
sub ecx, edi
imul ecx, edi
sub esi, ecx
imul esi, ecx
mov edx, esi
shl edx, cl
or edx, esi
mov esi, dword [0x140576da8]
mov ecx, edx
shl esi, cl
mov ecx, edx
sub ecx, esi
add ecx, edx
mov dword [0x140576da8], ecx
jmp 0x140283f78
movabs rax, 0x86b4d0bd181770fe
add rax, qword [0x140538d90]
cmp r9, rax
ja 0x140283e40
jmp 0x140283e6f