Function at 0x14027ddd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rdi, r8
mov r9, rdx
mov r13, rcx
mov eax, dword [0x1405aaa4c]
cmp eax, 0x47
jg 0x14027de30
test r9, r9
setne al
sete cl
test rdi, rdi
setne dl
sete r8b
mov r10d, dword [0x1405aaa48]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x14027de3d
nop
mov eax, dword [0x1405aaa4c]
cmp eax, 0x41
jge 0x14027de30
jmp 0x14027de07
xor cl, r8b
and al, dl
or al, cl
xor al, 1
or al, cl
je 0x14027de57
cmp qword [r13 + 0x20], 8
jb 0x14027de6e
mov rax, qword [r13 + 8]
jmp 0x14027de72
mov eax, dword [0x1405aaa48]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14027def3
jmp 0x14027de9f
lea rax, [r13 + 8]
mov qword [r13 + 0x18], 0
mov ecx, 0xffff8a2b
add ecx, dword [0x1405608d8]
mov word [rax], cx
mov rax, r13
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp], 0
mov qword [rbp + 8], 7
mov word [rbp - 0x10], 0
movabs r15, 0xb30d86c2e49c2064
mov rcx, qword [0x1405608c8]
add rcx, r15
mov edx, dword [0x1405aaa48]
mov r8d, dword [0x1405608d0]
mov eax, edx
sub eax, r8d
add eax, 0x7b4d1135
imul eax, edx
add r8d, 0x84b2eecc
xor edx, edx
div r8d
test edx, edx
je 0x14027df0b
mov qword [rbp], 0
mov qword [rbp + 8], 7
mov word [rbp - 0x10], 0
jmp 0x14027de9f
cmp rdi, rcx
mov qword [rbp - 0x50], r13
jbe 0x14027df22
lea rcx, [rbp - 0x10]
mov rdx, rdi
call fcn.140091520
jmp 0x14027df3d
mov qword [rbp], rdi
lea r8, [rdi + rdi]
lea rcx, [rbp - 0x10]
mov rdx, r9
call fcn.140446180
mov word [rbp + rdi*2 - 0x10], 0
lea r8, [rbp - 0x40]
cmp dword [0x1405608d0], 0x7b4d1136
jne 0x14027df72
movsxd r13, dword [0x1404702c4]
mov eax, dword [0x1405aaa48]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x84b2eeca
add eax, dword [0x1405608d0]
cmp ecx, eax
je 0x14027df7a
mov eax, dword [0x1404702c4]
jmp 0x14027df4d
mov eax, 0x84b2eed5
nop
mov ecx, dword [0x1405aaa4c]
cmp ecx, 0x4e
jle 0x14027df9d
mov ecx, dword [0x1405aaa4c]
mov edx, dword [0x1405608d0]
add edx, eax
cmp ecx, edx
jge 0x14027df80
mov edi, dword [0x1404702d8]
mov rbx, qword [rbp]
cmp qword [rbp + 8], 8
jb 0x14027dfb4
mov r14, qword [rbp - 0x10]
jmp 0x14027dfb8
lea r14, [rbp - 0x10]
movabs rax, 0xb30d86c2e49c2065
add rax, qword [0x1405608c8]
cmp rbx, rax
jae 0x14027dfe1
movups xmm0, xmmword [r14]
movups xmmword [r8], xmm0
mov r12d, 7
jmp 0x14027e158
mov rax, rbx
not rax
mov rcx, rbx
xor rcx, 7
mov rdx, rax
and rdx, 0xfffffffffffffff8
or rdx, rcx
not rdx
and eax, 7
mov r12, rbx
and r12, 0xfffffffffffffff8
or r12, rax
or r12, rdx
movabs rsi, 0x7ffffffffffffffe
cmp r12, rsi
cmovae r12, rsi
lea rcx, [r12 + r12]
movabs rax, 0xb30d86c2e49c285b
add rax, qword [0x1405608c8]
cmp r12, rax
jbe 0x14027e105
movabs rax, 0x7fffffffffffffec
cmp r12, rax
jae 0x14027e430
cmp dword [0x1405608d0], 0x7b4d1136
nop word [rax + rax]
mov eax, dword [0x1405608d0]
mov edx, 0x7b4d1134
sub edx, eax
add eax, 0x84b2eecb
lea r8, [fcn.14027ddd0]
add r8d, r8d
add r8d, 0x21a0
mov r9d, r8d
not r9d
and eax, r9d
and r8d, edx
or r8d, eax
and r9d, edx
or r9d, r8d
cmp r9d, 0xffffffff
jne 0x14027e060
add rcx, 0x29
call fcn.14041e25c
xor ecx, ecx
sub rcx, qword [0x1405608c8]
movabs rdx, 0x5dd05e9697596903
mov r8, rcx
xor r8, rdx
and rcx, rdx
lea rcx, [r8 + rcx*2]
movabs rdx, 0xef221aa6840a76c7
add rdx, rcx
add rdx, rax
mov r8, rdx
not r8
mov ecx, r8d
and ecx, 0x1f
mov r9, rdx
and r9, 0xffffffffffffffe0
or r9, rcx
mov rcx, r9
not rcx
xor r9, rdx
and rcx, r8
or rcx, r9
not rcx
mov qword [rcx - 8], rax
jmp 0x14027e111
add rcx, 2
call fcn.14041e25c
mov rcx, rax
mov qword [rbp - 0x40], rcx
lea rax, [rbx + rbx]
and rsi, rax
movabs rdx, 0x7ffffffffffffffc
and rdx, rax
xor rax, 2
movabs r8, 0x7fffffffffffffff
xor r8, rsi
or rdx, r8
not rdx
add rdx, rdx
mov r8, rax
xor r8, rdx
and rdx, rax
lea r8, [r8 + rdx*2]
mov rdx, r14
call fcn.140446180
lea rax, [0x1404702c4]
add r13, rax
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r12
lea rcx, [fcn.14027ddd0]
lea edx, [rcx + rcx]
add edx, 0x41c0
mov eax, edx
not eax
and edx, eax
add ecx, ecx
add ecx, 0x41c1
and eax, 0xfffffffe
xor eax, ecx
or eax, edx
nop
cmp eax, 0xffffffff
je 0x14027e1a0
mov ecx, dword [0x1405aaa4c]
cmp ecx, 0x3a
jge 0x14027e190
mov eax, dword [0x14055fa50]
lea ecx, [rax + 1]
mov edx, ecx
not edx
mov qword [rbp - 0x20], rax
not eax
mov r8d, 0x84b2ef13
nop dword [rax]
mov r9d, dword [0x1405aaa4c]
cmp r9d, 0x57
jg 0x14027e23a
mov dword [0x14055fa50], ecx
mov esi, dword [0x1405a9910]
add esi, edx
mov r9d, dword [0x1405aaa48]
lea r10d, [r9 + 1]
imul r10d, r9d
and r10d, 1
mov r9d, dword [0x1405608d0]
mov r11d, r9d
xor r11d, 0x84b2eeca
and r9d, 0x4b2eeca
lea r9d, [r11 + r9*2]
cmp r10d, r9d
jne 0x14027e23a
jmp 0x14027e27f
mov dword [0x14055fa50], ecx
mov r9d, dword [0x1405aaa4c]
mov r10d, dword [0x1405608d0]
add r10d, r8d
cmp r9d, r10d
mov dword [0x14055fa50], ecx
mov r9d, dword [0x1405aaa48]
mov r10d, dword [0x1405608d0]
neg r10d
add r10d, r9d
inc r10d
imul r10d, r9d
test r10b, 1
jne 0x14027e220
mov r9d, dword [0x1405aaa48]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14027e1c0
jmp 0x14027e1cd
mov ecx, eax
and ecx, esi
or esi, eax
not esi
or esi, ecx
xor esi, eax
test dword [rbp - 0x20], esi
mov qword [rbp - 0x18], rbx
je 0x14027e298
xor ebx, ebx
jmp 0x14027e309
mov eax, dword [0x1405aaa4c]
mov ecx, dword [0x1405608d0]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x7b4d10ec
mov r9d, edx
and r9d, 0x84b2ef13
or r9d, r8d
xor ecx, 0x4b2ef13
and edx, 0x7b4d10ec
or edx, ecx
not edx
lea ecx, [r9 + rdx*2]
cmp eax, ecx
nop word cs:[rax + rax]
mov ecx, 0x84b2eeca
add ecx, dword [0x1405608d0]
mov eax, dword [0x1405aaa48]
lea edx, [rax + 1]
imul edx, eax
and edx, 1
cmp edx, ecx
jne 0x14027e2e0
xor eax, eax
mov ebx, 0
cmp ecx, edi
jl 0x14027e364
mov eax, dword [0x1405aaa4c]
cmp eax, 0x5d
nop word cs:[rax + rax]
cmp dword [0x1405608d0], 0x7b4d1136
jne 0x14027e320
mov eax, 0x84b2eecb
add eax, dword [0x1405608d0]
lea rcx, [fcn.14027ddd0]
add ecx, ecx
add ecx, 0x480
mov edx, ecx
xor edx, eax
not eax
not ecx
and ecx, eax
or ecx, edx
cmp ecx, 0xffffffff
mov r13, qword [rbp - 0x50]
jne 0x14027e771
jmp 0x14027e75c
mov cl, 1
xor ebx, ebx
jmp 0x14027e382
xor bx, word [rdx]
sub eax, dword [0x1405608d0]
add eax, 0x7b4d1138
cmp eax, edi
jge 0x14027e309
cmp dword [0x1405608d0], 0x7b4d1136
jne 0x14027e420
nop word cs:[rax + rax]
test cl, cl
je 0x14027e420
movsxd rdx, eax
add rdx, r13
nop word [rax + rax]
mov r8d, dword [0x1405aaa48]
lea r9d, [r8 + 1]
imul r9d, r8d
test r9b, 1
je 0x14027e370
nop word cs:[rax + rax]
mov r8d, dword [0x1405aaa4c]
mov r9d, dword [0x1405608d0]
mov r10d, r9d
not r10d
mov r11d, r9d
and r11d, 0x7b4d1121
mov r14d, r10d
and r14d, 0x84b2eede
or r14d, r11d
xor r9d, 0x4b2eede
and r10d, 0x7b4d1121
or r10d, r9d
not r10d
lea r9d, [r14 + r10*2]
cmp r8d, r9d
jge 0x14027e3d0
jmp 0x14027e3b0
mov edx, dword [0x1405aaa4c]
cmp edx, 0x24
jge 0x14027e420
jmp 0x14027e3a0
call fcn.1400867d0
lea rax, [0x140463380]
mov ecx, 0x84b2ef11
nop word cs:[rax + rax]
mov qword [rbp - 0x48], rax
mov edx, dword [0x1405aaa4c]
mov r8d, dword [0x1405608d0]
add r8d, ecx
cmp edx, r8d
jl 0x14027e46f
mov qword [rbp - 0x48], rax
jmp 0x14027e450
lea rax, [rbp - 0x48]
cmp rax, r13
je 0x14027e51f
lea r14, [r13 + 8]
cmp qword [rbp - 0x18], 0
je 0x14027e4ac
cmp r12, 8
lea r9, [rbp - 0x40]
jb 0x14027e495
mov r9, qword [rbp - 0x40]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rbp - 0x18]
cmp rax, rdx
jae 0x14027e4c1
mov rcx, r14
call fcn.140091520
jmp 0x14027e51b
cmp qword [r13 + 0x20], 8
jb 0x14027e4b7
mov r14, qword [r13 + 8]
mov qword [r13 + 0x18], 0
jmp 0x14027e4e5
cmp rax, 8
jb 0x14027e4cb
mov r14, qword [r13 + 8]
mov rdi, rdx
mov qword [r13 + 0x18], rdx
lea r8, [rdx + rdx]
mov rcx, r14
mov rdx, r9
call fcn.140446180
lea r14, [r14 + rdi*2]
mov eax, dword [0x1405aaa48]
mov ecx, dword [0x1405608d0]
lea edx, [rax + rcx]
inc edx
imul edx, eax
and edx, 1
add ecx, 0x84b2eeca
cmp edx, ecx
je 0x14027e515
mov eax, 0xffff8a2b
add eax, dword [0x1405608d8]
mov word [r14], ax
mov word [r14], 0
mov r12, qword [rbp - 0x28]
mov rax, qword [0x1405608c8]
xor r15, rax
not rax
movabs rcx, 0x4cf2793d1b63df9b
and rcx, rax
or rcx, r15
not rcx
lea rcx, [r15 + rcx*2]
movzx r8d, word [0x1404702e4]
and esi, dword [rbp - 0x20]
movzx eax, word [0x1405608d8]
cmp esi, 1
adc ax, 0xffff
add eax, 0xffff8a2b
not eax
sub r8d, ebx
mov edx, r8d
xor edx, eax
or r8d, eax
not r8d
or r8d, edx
not r8d
nop word [rax + rax]
mov eax, dword [0x1405aaa48]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x14027e5c0
mov edx, dword [0x1405aaa48]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1405608d0]
mov r9d, edx
xor r9d, 0x84b2eecc
and edx, 0x4b2eecc
lea r9d, [r9 + rdx*2]
xor edx, edx
div r9d
test edx, edx
je 0x14027e5d3
mov eax, dword [0x1405aaa48]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x14027e580
jmp 0x14027e591
movzx eax, r8w
add dword [0x1405a9bc4], eax
cmp r12, rcx
jbe 0x14027e6e3
mov rdi, qword [rbp - 0x40]
lea rbx, [r12 + r12]
add rbx, 2
cmp rbx, 0x1000
jb 0x14027e619
mov rax, qword [rdi - 8]
sub rdi, rax
add rdi, 0xfffffffffffffff8
cmp rdi, 0x20
jae 0x14027e626
add r12, r12
add r12, 0x29
mov rbx, r12
mov rdi, rax
mov eax, dword [0x1405aaa4c]
cmp eax, 0x2b
jle 0x14027e62b
jmp 0x14027e697
call fcn.1403fe3cc
mov eax, dword [0x1405608d0]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7b4d1135
mov r8d, ecx
and r8d, 0x84b2eeca
or r8d, edx
mov edx, eax
xor edx, 0x4b2eeca
and ecx, 0x7b4d1135
or ecx, edx
not ecx
lea ecx, [r8 + rcx*2]
lea edx, [rax - 0x7b4d1135]
lea r8d, [rax + 0x2cd90bdc]
add eax, 0xfa6ffe88
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
mov r8, rdi
mov r9, rbx
call fcn.14027ec60
mov eax, dword [0x1405aaa48]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14027e6e3
mov esi, 0x84b2eecc
nop dword [rax]
mov dword [rsp + 0x28], 0x75bd0fbe
mov dword [rsp + 0x20], 0xa8261d12
xor ecx, ecx
mov edx, 1
mov r8, rdi
mov r9, rbx
call fcn.14027ec60
mov ecx, dword [0x1405aaa48]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405608d0]
add ecx, esi
xor edx, edx
div ecx
test edx, edx
jne 0x14027e6a0
jmp 0x14027e62b
mov rax, qword [rbp + 8]
cmp rax, 8
jb 0x14027de88
mov r8, qword [rbp - 0x10]
mov rdx, qword [0x1405608c8]
lea ecx, [rdx + 0x5e]
shl rax, cl
movabs r9, 0xb30d86c2e49c205f
add r9, rdx
add r9, rax
cmp r9, 0x1000
jb 0x14027e736
mov rcx, qword [r8 - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x14027e757
add rax, 0x29
mov r9, rax
mov r8, rcx
mov dword [rsp + 0x28], 0x75bd0fbe
mov dword [rsp + 0x20], 0xa8261d12
xor ecx, ecx
mov edx, 1
call fcn.14027ec60
jmp 0x14027de88
call fcn.1403fe3cc
mov eax, dword [0x1405aaa48]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14027e435
mov ecx, 0x84b2eecc
nop word cs:[rax + rax]
mov edx, dword [0x1405aaa48]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1405608d0]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x14027e780
jmp 0x14027e75c