Function at 0x1401eea30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov rdi, qword [0x140576080]
mov rsi, qword [0x1405258b8]
movsxd r13, dword [rsi]
mov eax, dword [0x14043f988]
mov dword [rbp + 0x54], eax
mov rcx, rbp
call fcn.1401ef5f0
mov rax, rdi
shr rax, 0x20
or eax, edi
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x58], 0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x58]
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call fcn.140254200
add r13, rsi
xorps xmm6, xmm6
mov ebx, 0xba1af4f0
lea rdi, [fcn.1401eea30]
mov qword [rbp + 0x40], r13
jmp 0x1401eeadb
lea rcx, [rbp + 0x58]
xor edx, edx
call fcn.140255e00
mov r15, qword [rbp + 0x58]
mov rax, qword [rbp + 0x48]
cmp r15, rax
je 0x1401eef2b
test r15, r15
je 0x1401eeaf8
cmp qword [r15 + 0x40], 0
jne 0x1401eeb46
test rax, rax
je 0x1401eef2b
nop word cs:[rax + rax]
mov ecx, dword [0x140576078]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
je 0x1401eeb3b
mov ecx, dword [0x140576078]
mov edx, dword [0x140525e58]
neg edx
add edx, ecx
inc edx
imul edx, ecx
test dl, 1
jne 0x1401eeb10
cmp qword [rax + 0x40], 0
je 0x1401eef2b
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x10], 0
add r15, 0x10
movaps xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x40], xmm6
movaps xmmword [rbp - 0x50], xmm6
mov rcx, r15
lea rdx, [rbp + 0x20]
call fcn.1401f18b0
mov r8, qword [rbp + 0x38]
mov r14d, dword [0x1405258b4]
lea esi, [r14 + 1]
mov dword [0x1405258b4], esi
test r14d, esi
jne 0x1401eeb99
mov eax, dword [0x140525e58]
add eax, ebx
cmp eax, dword [rbp + 0x54]
jl 0x1401eeda5
xor r12d, r12d
lea rcx, [rbp + 0x20]
cmp r8, 0x10
jb 0x1401eebaa
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp - 0x50]
call fcn.1403dc524
mov r15d, eax
mov eax, dword [0x140576078]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov rax, qword [rbp + 0x38]
cmp rax, 0x10
jb 0x1401eed4d
mov rcx, qword [rbp + 0x20]
lea rdx, [rax + 1]
mov r8, qword [0x14043f980]
mov r9d, dword [0x140576078]
nop dword [rax]
mov r9d, r14d
and r9d, esi
cmp r9d, 1
mov r9d, 0
sbb r9, r9
mov r10d, dword [0x14057607c]
mov r11d, dword [0x140525e58]
mov r13d, r11d
xor r13d, 0xba1af539
and r11d, 0x3a1af539
lea r11d, [r13 + r11*2]
cmp r10d, r11d
jge 0x1401eebf0
sub r8, r12
mov r10, r8
not r10
mov r11, r8
xor r11, r9
xor r10, r8
and r10, r9
xor r10, r8
and r8, r9
or r8, r10
mov r9, r8
not r9
xor r8, r9
and r8, r11
and r11, r9
xor r11, r9
xor r11, r8
cmp r11, 0xffffffffffffffff
setne r8b
or r8b, byte [0x140575e90]
and r8b, 1
mov byte [0x140575e90], r8b
cmp rdx, 0xfff
jbe 0x1401eed10
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
cmp rcx, 0x1f
mov r9, qword [rbp + 0x60]
ja 0x1401eefba
mov r13, qword [rbp + 0x40]
nop word [rax + rax]
mov ecx, dword [0x140576078]
mov edx, dword [0x140525e58]
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
jne 0x1401eece9
mov ecx, dword [0x140576078]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1401eed20
mov ecx, dword [0x140525e58]
mov edx, ecx
xor edx, 0x4addbead
and ecx, 0x4addbead
lea ecx, [rdx + rcx*2]
cmp ecx, 0x90c2c9bd
jne 0x1401eecc0
jmp 0x1401eecd8
mov r9, qword [rbp + 0x60]
mov r13, qword [rbp + 0x40]
jmp 0x1401eed2a
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x140525a24]
xor eax, r9d
sub eax, dword [0x140525e58]
add eax, 0x45e5f237
cdqe
add rax, qword [0x140525a40]
call qword [case.0x14013cbc3.0]
mov rsi, qword [rbp - 0x28]
xor ecx, ecx
call fcn.1403dc6bc
test r15d, r15d
mov ecx, 0
cmovne rsi, rcx
sub rax, rsi
mov rcx, qword [0x140525e50]
movabs rdx, 0x90d33998ad62034
add rcx, rdx
cmp rax, rcx
jle 0x1401eed91
mov rcx, qword [rbp + 0x58]
add rcx, 0x10
lea rdx, [rbp - 0x20]
call fcn.14023d860
mov eax, dword [0x14057607c]
cmp eax, 0x5c
jg 0x1401eef10
jmp 0x1401eef00
xor ecx, ecx
xor r9d, r9d
nop word [rax + rax]
movsxd r11, ecx
add r11, r13
mov eax, dword [0x14057607c]
cmp eax, 0x50
jg 0x1401eeeb0
nop word cs:[rax + rax]
mov r10, qword [r11]
mov edx, dword [0x140576078]
mov r15d, dword [0x140525e58]
mov eax, edx
sub eax, r15d
add eax, 0x45e50b0f
imul eax, edx
lea r12d, [r15 - 0x45e50b0e]
xor edx, edx
div r12d
add r15d, 0xba1af4f0
cmp edx, r15d
jne 0x1401eeeb0
nop dword [rax]
mov eax, dword [0x140576078]
mov edx, dword [0x140525e58]
add edx, eax
inc edx
jmp 0x1401eee39
mov eax, dword [0x140576078]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401eee30
mov r12, r9
xor r12, r10
add r12, qword [0x140576080]
mov eax, dword [0x140576078]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401eee30
mov eax, dword [0x140525e58]
lea edx, [rax - 0x45e50b0f]
mov r11d, 0x45e50b0e
sub r11d, eax
lea r15d, [rdi + rdi]
add r15d, 0x3e40
xor edx, r15d
not r15d
and r15d, r11d
or r15d, edx
not r15d
add eax, 0xba1af4f0
cmp r15d, eax
je 0x1401eeec0
mov eax, dword [0x14057607c]
cmp eax, 0xe
jmp 0x1401eee10
mov rax, qword [r11]
jmp 0x1401eedd0
add ecx, 8
mov eax, dword [0x14057607c]
nop dword [rax]
mov eax, dword [0x140576078]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x140525e58]
add eax, ebx
cmp edx, eax
jne 0x1401eeed0
mov r9, r12
cmp ecx, dword [rbp + 0x54]
jl 0x1401eedb0
jmp 0x1401eeb9c
mov eax, dword [0x14057607c]
cmp eax, 0xb
jl 0x1401eead0
nop
mov eax, dword [0x140525e58]
mov ecx, eax
xor ecx, 0xba1af4f0
and eax, 0x3a1af4f0
add eax, eax
add eax, ecx
jne 0x1401eef10
jmp 0x1401eef00
test r15, r15
mov rdi, qword [rbp + 0x60]
je 0x1401eefa0
mov eax, 0xffffffff
lock xadd dword [r15], eax
cmp byte [0x140575e90], 0
jne 0x1401eef4c
cmp eax, 1
jne 0x1401eefa0
mov eax, dword [0x140525a34]
add eax, edi
add eax, 0xe727
cdqe
add rax, qword [0x140525a58]
mov rcx, r15
mov edx, 0x3d3a05c8
mov r8d, 0xa2a23b56
call qword [case.0x14013cbc3.0]
mov eax, dword [0x140525a20]
sub eax, edi
add eax, 0xe727
cdqe
add rax, qword [0x140525a48]
mov rcx, r15
mov edx, 0xd38a8297
mov r8d, 0xea8ddde2
call qword [case.0x14013cbc3.0]
mov rsi, qword [rbp + 0x48]
test rsi, rsi
je 0x1401ef0c2
mov eax, dword [0x14057607c]
cmp eax, 0x3a
jle 0x1401eefbf
jmp 0x1401eefce
call fcn.1403d599c
mov eax, 0xffffffff
lock xadd dword [rsi], eax
xor ecx, ecx
test cl, cl
je 0x1401eefd3
lock dec dword [rsi]
jmp 0x1401eefbf
cmp eax, 1
jne 0x1401ef0c2
nop dword [rax]
mov eax, dword [0x140525a34]
or eax, edi
add eax, 0xe727
cdqe
add rax, qword [0x140525a58]
mov rcx, rsi
mov edx, 0x3d3a05c8
mov r8d, 0xa2a23b56
call qword [case.0x14013cbc3.0]
mov eax, dword [0x140525a20]
sub eax, edi
add eax, 0xe727
cdqe
add rax, qword [0x140525a48]
mov rcx, rsi
mov edx, 0xd38a8297
mov r8d, 0xea8ddde2
call qword [case.0x14013cbc3.0]
mov eax, dword [0x140525e58]
mov ecx, eax
xor ecx, 0xba1af4f0
and eax, 0x3a1af4f0
add eax, eax
mov edx, ecx
xor edx, eax
and eax, ecx
add eax, eax
add eax, edx
je 0x1401ef0c2
mov eax, dword [0x140525a34]
sub eax, edi
add eax, 0xe727
cdqe
add rax, qword [0x140525a58]
mov r8d, dword [0x140525e58]
lea edx, [r8 - 0x8ab0548]
add r8d, 0x5cbd3046
mov rcx, rsi
call qword [case.0x14013cbc3.0]
mov eax, dword [0x140525a20]
sub eax, edi
add eax, 0xe727
cdqe
add rax, qword [0x140525a48]
mov r8d, dword [0x140525e58]
lea edx, [r8 - 0x725a8879]
add r8d, 0xa4a8d2d2
mov rcx, rsi
call qword [case.0x14013cbc3.0]
jmp 0x1401eefe0
mov rax, qword [rbp + 0x18]
cmp rax, 8
jb 0x1401ef17b
mov rcx, qword [rbp]
add rax, rax
mov edx, eax
not edx
and edx, 2
mov r8, rax
and r8, 0xfffffffffffffffc
or r8, rdx
mov r9, qword [0x140525e50]
movabs rdx, 0x7fffffffffffffff
and rdx, r9
movabs r10, 0x90d33998ad61f82
xor rdx, r10
and r10, r9
lea rdx, [rdx + r10*2]
and rdx, rax
lea rdx, [r8 + rdx*2]
movabs r8, 0x90d33998ad62f7f
add r8, r9
cmp rdx, r8
jbe 0x1401ef155
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1401ef18e
mov ecx, eax
not ecx
and ecx, 0x29
mov rdx, rax
and rdx, 0xffffffffffffffd6
or rdx, rcx
and eax, 0x29
lea rdx, [rdx + rax*2]
mov rcx, r8
mov eax, dword [0x140525a24]
sub eax, edi
mov r8d, dword [0x140525e58]
add eax, r8d
add eax, 0xba1bdc17
cdqe
add rax, qword [0x140525a40]
call qword [case.0x14013cbc3.0]
mov eax, dword [0x140576078]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401ef1f0
jmp 0x1401ef1e5
mov ecx, 0xba1af4f2
mov edx, dword [0x140576078]
lea eax, [rdx - 0x2c63e32d]
mov r8d, eax
xor r8d, 0x2c63e32c
and eax, 0x2c63e32c
lea eax, [r8 + rax*2]
imul eax, edx
mov r8d, dword [0x140525e58]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x1401ef1d3
mov eax, dword [0x14057607c]
cmp eax, 0x35
jle 0x1401ef1e0
mov eax, dword [0x14057607c]
cmp eax, 0x32
jge 0x1401ef193
jmp 0x1401ef1c8
call fcn.1403d599c
mov eax, dword [0x14057607c]
cmp eax, 0x4e
jl 0x1401ef21a
mov ecx, dword [0x140576078]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140525e58]
lea r8d, [rcx - 0x45e50b0e]
xor edx, edx
div r8d
add ecx, 0xba1af4f0
cmp edx, ecx
jne 0x1401ef1f0
jmp 0x1401ef1e5
movaps xmm6, xmmword [rbp + 0x70]
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret