Function at 0x1402749a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x60], xmm6
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov byte [rbp + 0x38], r8b
mov r15, rdx
mov qword [rbp + 8], rcx
mov r12, qword [0x140548378]
movsxd r14, dword [r12]
mov ebx, dword [0x14045867c]
mov rsi, qword [rdx + 0x18]
mov rax, qword [0x1405489d8]
movabs r8, 0x4bf2a45cd01eb407
mov rcx, rax
xor rcx, r8
mov rdx, rax
and rdx, r8
lea rcx, [rcx + rdx*2]
cmp qword [r15 + 0x20], rcx
jbe 0x140274a14
mov r15, qword [r15 + 8]
jmp 0x140274a18
add r15, 8
lea r8, [rbp - 0x50]
movabs rcx, 0x4bf2a45cd01eb408
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
mov qword [rbp + 0x10], rax
cmp rsi, rax
mov qword [rbp + 0x48], r8
jae 0x140274a52
movups xmm0, xmmword [r15]
movups xmmword [r8], xmm0
mov edi, 0xf
jmp 0x140274ade
mov rdi, rsi
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x140274a9b
lea rcx, [rdi + 0x28]
mov edx, 0x25f76926
mov r8d, 0x7265ca7a
mov r9d, 0x79a78460
call fcn.1400abf80
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140274ab8
lea rcx, [rdi + 1]
mov edx, 0x25f76926
mov r8d, 0x7265ca7a
mov r9d, 0x79a78460
call fcn.1400abf80
mov rcx, rax
mov qword [rbp - 0x50], rcx
mov eax, esi
not eax
and eax, 1
mov rdx, rsi
and rdx, 0xfffffffffffffffe
or rdx, rax
mov eax, esi
and eax, 1
lea r8, [rdx + rax*2]
mov rdx, r15
call fcn.14042d4b0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rdi
lea r13, [0x140449f08]
mov qword [rbp - 0x58], r13
movzx eax, byte [rbp + 0x38]
mov byte [rbp - 0x30], al
lea rcx, [rbp - 0x28]
call fcn.140275e50
mov rcx, qword [rbp - 0x28]
mov r15, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
cmp r15, rax
mov qword [rbp + 0x28], rcx
je 0x140274b4d
xorps xmm0, xmm0
movups xmmword [r15 + 0x18], xmm0
mov r14, rdi
cmp rdi, 0x10
jb 0x140274b2f
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x48], rax
lea rdi, [r15 + 8]
cmp rsi, qword [rbp + 0x10]
jae 0x140274ba5
mov rax, qword [rbp + 0x48]
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
mov ebx, 0xf
jmp 0x140274c32
mov rdx, qword [rcx]
mov rcx, r15
sub rcx, rdx
sar rcx, 4
movabs r8, 0xaaaaaaaaaaaaaaab
imul r8, rcx
mov rcx, r8
mov qword [rbp + 0x30], r8
lea rcx, [r8 + 1]
mov qword [rbp - 8], rcx
movabs rcx, 0x4bf2a45cd01eb428
add rcx, qword [0x1405489d8]
sub rax, rdx
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140274c5a
cqo
idiv rcx
jmp 0x140274c5e
mov rax, rsi
not rax
mov rcx, rsi
xor rcx, 0xf
and rax, 0xfffffffffffffff0
or rax, rcx
mov rbx, rsi
xor rbx, 0xfffffffffffffff0
mov rcx, rbx
xor rcx, rax
or rbx, rax
not rbx
or rbx, rcx
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmovae rbx, rax
cmp rbx, 0xfff
jb 0x140274c0c
lea rcx, [rbx + 0x28]
call fcn.1404058bc
mov rcx, rax
xor rcx, 0x27
mov edx, eax
and edx, 0x27
lea rcx, [rcx + rdx*2]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140274c22
mov rax, qword [0x140590570]
lea rcx, [rbx + rax]
inc rcx
call fcn.1404058bc
mov rcx, rax
mov qword [rdi], rcx
lea r8, [rsi + 1]
mov rdx, qword [rbp + 0x48]
call fcn.14042d4b0
mov rax, qword [rbp + 8]
mov qword [r15 + 0x18], rsi
mov qword [r15 + 0x20], rbx
mov qword [r15], r13
movzx ecx, byte [rbp + 0x38]
mov byte [r15 + 0x28], cl
mov rcx, qword [rbp + 0x28]
add qword [rcx + 8], 0x30
mov rsi, r14
jmp 0x140275188
xor edx, edx
div ecx
mov rcx, rax
shr rcx, 1
movabs r9, 0x555555555555555
mov rdx, r9
sub rdx, rcx
neg rcx
mov r8, rax
neg r8
mov r10, rcx
xor r10, r8
and r8, rcx
lea r13, [r10 + r8*2]
neg r13
mov rcx, qword [rbp - 8]
cmp r13, rcx
cmovbe r13, rcx
cmp rax, rdx
cmova r13, r9
movabs rax, 0x555555555555556
cmp r13, rax
jae 0x140274dc4
mov qword [rbp + 0x18], rdi
add r14, r12
mov rax, r13
shl rax, 4
lea r8, [rax + rax*2]
mov ecx, dword [0x140590564]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x68f55aae
add ecx, dword [0x1405489e4]
jmp 0x140274d44
mov eax, dword [0x140548374]
lea ecx, [rax - 1]
shl eax, cl
sub eax, ecx
imul eax, ecx
sub eax, ecx
imul eax, ecx
sub eax, ecx
imul eax, ecx
mov edx, eax
shl edx, cl
mov ecx, edx
sub ecx, eax
mov eax, ecx
neg eax
dec ecx
xor ecx, eax
and ecx, edx
xor ecx, eax
and eax, edx
lea eax, [rcx + rax*2]
add eax, edx
mov dword [0x140548374], eax
mov ecx, dword [0x140590564]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405489e4]
mov edx, ecx
xor edx, 0x4c4f521e
and ecx, 0x4c4f521e
lea ecx, [rdx + rcx*2]
add ecx, 0x1ca60890
xor edx, edx
div ecx
test edx, edx
jne 0x140274ce0
mov ecx, dword [0x140548374]
mov eax, ecx
xor eax, 1
mov r10d, ecx
not r10d
mov edx, r10d
and edx, 0x7ffffffe
or edx, eax
not edx
lea r12d, [rax + rdx*2]
mov dword [0x140548374], r12d
mov eax, dword [0x140590568]
cmp eax, 0x1a
jge 0x140274ce0
mov edx, dword [0x140590564]
mov r11d, dword [0x1405489e4]
mov eax, edx
sub eax, r11d
add eax, 0x970aa553
imul eax, edx
mov edx, r11d
xor edx, 0x68f55aae
and r11d, 0x68f55aae
lea r11d, [rdx + r11*2]
xor edx, edx
div r11d
test edx, edx
jne 0x140275550
jmp 0x140275522
call fcn.140085110
movabs rax, 0x555555555555555
cmp r13, rax
jae 0x140274e05
add r8, 0x27
mov rcx, r8
call fcn.1404058bc
mov rcx, rax
xor rcx, 0x27
mov edx, eax
and edx, 0x27
lea rdx, [rcx + rdx*2]
and rdx, 0xffffffffffffffe0
mov rcx, rdx
mov qword [rbp + 0x50], rdx
mov qword [rdx - 8], rax
jmp 0x140274e3b
call fcn.140085110
xor eax, eax
mov qword [rbp + 0x50], rax
cmp byte [0x14058f004], 0
jne 0x140274e3f
movabs rax, 0x4bf2a45cd01eb3f8
add rax, qword [0x1405489d8]
cmp r13, rax
je 0x140274e3f
mov rcx, r8
call fcn.1404058bc
mov qword [rbp + 0x50], rax
mov r13, qword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
lea rdi, [rax + rax*2]
shl rdi, 4
xorps xmm0, xmm0
mov r8, qword [rbp + 0x50]
movups xmmword [r8 + rdi + 0x18], xmm0
cmp qword [rbp + 0x18], 0x10
jb 0x140274e67
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x48], rax
lea rdx, [r8 + rdi]
add rdx, 0x30
cmp rsi, qword [rbp + 0x10]
mov qword [rbp + 0x30], rdx
jae 0x140274e8e
mov rax, qword [rbp + 0x48]
movups xmm0, xmmword [rax]
movups xmmword [rdx - 0x28], xmm0
mov ebx, 0xf
jmp 0x140274f39
mov rbx, rsi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmovae rbx, rax
cmp rbx, 0xfff
jb 0x140274ee5
lea rcx, [rbx + 0x28]
mov qword [rbp + 0x20], rdx
call fcn.1404058bc
mov rdx, rax
add rdx, 0x27
mov rcx, rdx
not rcx
mov r8, rcx
and r8, 0xffffffffffffffe0
and edx, 0x1f
or rdx, r8
and ecx, 0x1f
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x140274ef5
lea rcx, [rbx + 1]
mov qword [rbp + 0x20], rdx
call fcn.1404058bc
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rax - 0x28], rcx
movabs rax, 0xea134900c45087ce
xor rax, rsi
movabs rdx, 0x6a134900c45087ce
and rdx, rsi
lea rax, [rax + rdx*2]
movabs r8, 0x15ecb6ff3baf7833
add r8, rax
mov rdx, qword [rbp + 0x48]
call fcn.14042d4b0
mov r13, qword [rbp + 0x40]
mov r8, qword [rbp + 0x50]
lea rcx, [r8 + rdi]
mov qword [rcx + 0x18], rsi
mov qword [rcx + 0x20], rbx
lea rax, [0x140449f08]
mov qword [rcx], rax
movzx eax, byte [rbp + 0x38]
mov byte [r8 + rdi + 0x28], al
mov rdi, qword [rbp + 0x28]
mov rbx, qword [rdi]
mov rdx, qword [rdi + 8]
cmp rdx, r15
je 0x140275250
mov qword [rbp + 0x20], rcx
mov rcx, rbx
mov rdx, r15
call fcn.140276f60
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x20], rax
mov rcx, r15
mov r8, qword [rbp + 0x30]
call fcn.140276f60
mov rdi, qword [rbp + 0x28]
mov rbx, qword [rdi]
mov r13, qword [rbp + 0x40]
mov r8, qword [rbp + 0x50]
test rbx, rbx
mov rsi, qword [rbp + 0x18]
je 0x140275158
mov rsi, qword [rdi + 8]
cmp rbx, rsi
je 0x1402750dd
add rbx, 0x30
movabs r13, 0x4bf2a45cd01eb418
movabs r15, 0x3865ca78437cd53c
movabs rdi, 0x479a3587bc832ac4
movabs r14, 0x7fffffffffffffd8
nop dword [rax]
mov r8, qword [rbx - 0x10]
cmp r8, 0x10
jb 0x1402750b3
mov rcx, qword [rbx - 0x28]
lea rdx, [r8 + 1]
cmp rdx, 0x1000
jb 0x1402750ae
mov rax, qword [rcx - 8]
movabs rdx, 0x126b49fa69c273e7
add rcx, rdx
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, rax
movabs rdx, 0xed94b605963d8c19
add rcx, rdx
mov rdx, qword [0x1405489d8]
mov r9, rdx
xor r9, r13
and rdx, r13
lea rdx, [r9 + rdx*2]
cmp rcx, rdx
jae 0x140275404
mov rcx, qword [0x1405489d8]
movabs rdx, 0x4bf2a45cd01eb3f8
add rcx, rdx
mov rdx, rcx
movabs r9, 0xb865ca78437cd53c
xor rdx, r9
and rcx, r15
lea rcx, [rdx + rcx*2]
sub rcx, r8
add rcx, rdi
mov rdx, rcx
xor rdx, 0xffffffffffffffd8
and rcx, r14
lea rdx, [rdx + rcx*2]
neg rdx
mov rcx, rax
call fcn.1400ab270
mov qword [rbx - 0x18], 0
mov qword [rbx - 0x10], 0xf
movzx eax, byte [0x1405489e0]
add al, 0xd3
mov byte [rbx - 0x28], al
cmp rbx, rsi
je 0x1402750dd
add rbx, 0x30
jmp 0x140274ff0
mov rdi, qword [rbp + 0x28]
mov rcx, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140275147
mov rax, qword [rcx - 8]
mov r8, qword [0x1405489d8]
sub r8, rax
add rcx, r8
add rcx, 0xfffffffffffffff8
movabs r8, 0x4bf2a45cd01eb3f8
add r8, rcx
cmp r8, 0x20
jae 0x14027551d
movabs rcx, 0x69a213726ced1647
mov r8, rdx
xor r8, rcx
and rdx, rcx
lea rcx, [r8 + rdx*2]
movabs rdx, 0x965dec8d9312e9e0
add rdx, rcx
mov rcx, rax
mov rsi, qword [rbp + 0x18]
mov r13, qword [rbp + 0x40]
call fcn.1400ab270
mov r8, qword [rbp + 0x50]
mov qword [rdi], r8
mov rax, qword [rbp - 8]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r8
mov qword [rdi + 8], rax
lea rax, [r13*2]
add rax, r13
shl rax, 4
add rax, r8
mov qword [rdi + 0x10], rax
mov rax, qword [rbp + 8]
mov rax, qword [rax]
inc qword [rax + 8]
cmp byte [rbp - 0x18], 0
je 0x14027519e
mov rcx, qword [rbp - 0x20]
call fcn.140406914
movabs rax, 0x4bf2a45cd01eb407
add rax, qword [0x1405489d8]
cmp rsi, rax
jbe 0x1402751ef
mov rcx, qword [rbp - 0x50]
mov rax, qword [0x1405489d8]
movabs rdx, 0x4bf2a45cd01ec3f6
add rdx, rax
cmp rsi, rdx
jbe 0x140275207
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x140275518
add rsi, 0x28
mov rcx, rax
jmp 0x140275231
movaps xmm6, xmmword [rbp + 0x60]
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movabs rdx, 0x4bf2a45cd01eb3f9
xor rdx, rax
not rax
movabs r8, 0x340d5ba32fe14c06
and r8, rax
or r8, rdx
not r8
lea rax, [rdx + r8*2]
add rsi, rax
mov rdx, rsi
movaps xmm6, xmmword [rbp + 0x60]
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400ab270
cmp rbx, rdx
je 0x140274fa6
mov qword [rbp - 0x10], rcx
lea r15, [rbx + 0x30]
add rbx, 8
mov r9d, 0x30
xorps xmm6, xmm6
mov ecx, 0x30
mov qword [rbp + 0x10], rdx
nop word [rax + rax]
movups xmmword [r8 + r9 - 0x18], xmm6
cmp qword [rbx + 0x18], 0x10
mov r14, rbx
jb 0x140275293
mov r14, qword [rbx]
lea r13, [r8 + r9]
add r13, 0xffffffffffffffd8
mov rsi, qword [rbx + 0x10]
cmp rsi, 0xf
ja 0x1402752c0
movups xmm0, xmmword [r14]
movups xmmword [r13], xmm0
mov edi, 0xf
jmp 0x1402753c3
mov qword [rbp + 0x48], r9
mov qword [rbp + 0x38], rcx
mov rax, rsi
not rax
mov rcx, rsi
xor rcx, 0xf
mov rdx, rax
and rdx, 0xfffffffffffffff0
or rdx, rcx
and eax, 0xf
mov rdi, rsi
and rdi, 0xfffffffffffffff0
or rdi, rax
not rdi
mov rax, rdi
xor rax, rdx
or rdi, rdx
not rdi
or rdi, rax
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x140275360
lea rcx, [rdi + 0x28]
call fcn.1404058bc
mov rcx, rax
mov rdx, 0xffffffffffffffd8
sub rdx, rax
mov r8, rax
add r8, 0x27
mov eax, edx
and eax, 0x1f
mov r9, r8
and r9, 0xffffffffffffffe0
or r9, rax
mov rax, r9
not rax
xor r9, r8
and rax, rdx
or rax, r9
not rax
mov qword [rax - 8], rcx
jmp 0x140275369
lea rcx, [rdi + 1]
call fcn.1404058bc
mov qword [r13], rax
movabs rcx, 0x3b4ccd0311c0e189
add rcx, rsi
mov rdx, rcx
movabs r8, 0xe55523ffa7a08582
xor rdx, r8
movabs r8, 0x655523ffa7a08582
and rcx, r8
lea r8, [rdx + rcx*2]
movabs rcx, 0xdf5e0efd469e98f6
add r8, rcx
mov rcx, rax
mov rdx, r14
call fcn.14042d4b0
mov r8, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x10]
mov r9, qword [rbp + 0x48]
mov qword [r8 + r9 - 0x18], rsi
mov qword [r8 + r9 - 0x10], rdi
lea rax, [0x140449f08]
mov qword [r8 + r9 - 0x30], rax
movzx eax, byte [rbx + 0x20]
mov byte [r8 + r9 - 8], al
cmp r15, rdx
je 0x140274f97
add rcx, 0xffffffffffffffd0
add r15, 0x30
add rbx, 0x30
add r9, 0x30
mov r8, qword [rbp + 0x50]
jmp 0x140275280
xor eax, eax
test r12d, r12d
setne al
movzx ecx, word [0x140458670]
movzx eax, ax
dec eax
mov edx, ecx
xor edx, 0x3fcb
and ecx, 0x3fcb
lea ecx, [rdx + rcx*2]
lea rdx, [fcn.1402749a0]
add edx, edx
add edx, 0x34e0
nop dword [rax + rax]
cmp dword [0x1405489e4], 0x970aa554
jne 0x140275480
mov r8d, dword [0x1405489e4]
lea r9d, [r8 + 0x68f55aad]
and r9d, edx
mov r10d, r8d
xor r10d, 0x68f55aac
not r8d
and r8d, 0x170aa553
or r8d, r10d
not r8d
lea r8d, [r10 + r8*2]
cmp r9d, r8d
je 0x140275497
mov r8d, dword [0x140590564]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x140275440
jmp 0x14027544c
mov edx, dword [0x1405489e8]
sub edx, dword [rbp + 4]
add ecx, edx
add ecx, 0xffff93d8
mov edx, dword [0x140590568]
mov r8d, 0x68f55ac6
add r8d, dword [0x1405489e4]
cmp edx, r8d
nop
mov edx, ecx
not edx
movsx r8d, ax
mov r9d, ecx
xor r9d, r8d
not r8d
and r8d, edx
or r8d, r9d
not r8d
movzx edx, r8w
add rdx, qword [0x140590570]
mov r8d, dword [0x140590568]
cmp r8d, 0x5a
jg 0x1402754c0
movabs rax, 0x5c760e0beedd121f
add rdx, rax
movabs rax, 0xa389f1f41122ede1
add rax, rdx
mov qword [0x140590570], rax
call fcn.1403e571c
call fcn.1403e571c
call fcn.1403e571c
mov edx, dword [0x140590564]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, 0x68f55aae
add r11d, dword [0x1405489e4]
xor edx, edx
div r11d
test edx, edx
je 0x14027557c
nop word cs:[rax + rax]
mov edx, dword [0x140590564]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x1405489e4]
lea edi, [r11 + 0x68f55aae]
xor edx, edx
div edi
add r11d, 0x68f55aac
cmp edx, r11d
jne 0x140275550
jmp 0x140275522
mov eax, r10d
xor eax, r12d
not r12d
and ecx, r12d
or ecx, eax
not ecx
mov eax, r12d
xor eax, r10d
and eax, r12d
and r12d, r10d
or r12d, eax
or r12d, ecx
xor r12d, 0xffffffff
je 0x1402755a9
xor r9d, r9d
jmp 0x1402755c0
mov ecx, 0x68f55aac
add ecx, dword [0x1405489e4]
xor eax, eax
mov r9d, 0
cmp ecx, ebx
jl 0x1402755d7
cmp r13, 0x55
mov qword [rbp + 0x40], r13
mov dword [rbp + 4], r9d
ja 0x140274dc9
jmp 0x140274e0a
mov ecx, 0x68f55ac4
mov edx, 0x68f55af2
xor r9d, r9d
jmp 0x1402755fb
xor r9w, word [r10]
add eax, 2
cmp eax, ebx
jge 0x1402755c0
mov r10d, dword [0x140590564]
nop word cs:[rax + rax]
mov r10d, dword [0x140590568]
cmp r10d, 0x22
jg 0x140275610
movsxd r10, eax
add r10, r14
mov r11d, dword [0x140590568]
mov edi, dword [0x1405489e4]
add edi, ecx
cmp r11d, edi
jge 0x140275660
nop word [rax + rax]
mov r11d, dword [0x140590568]
mov edi, dword [0x1405489e4]
add edi, edx
cmp r11d, edi
jl 0x1402755f0
nop word cs:[rax + rax]
mov r11d, dword [0x140590568]
cmp r11d, 0x46
jge 0x140275660
jmp 0x140275640