Function at 0x1401ee040
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
lea rdi, [rcx + 0x40]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov rcx, rdi
call fcn.14011df90
nop dword [rax + rax]
mov r14, qword [rsi]
mov r15, qword [r14]
mov eax, dword [0x1405d0f5c]
cmp eax, 0x32
jg 0x1401ee080
mov qword [rbp - 0x28], rdi
cmp r15, r14
je 0x1401ee255
mov eax, dword [0x1405d0f5c]
cmp eax, 0x32
jg 0x1401ee0ba
mov eax, dword [0x1405d0f58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401ee0fd
lea rdi, [0x1401ef7b0]
mov ebx, 0x2c1beabd
nop word cs:[rax + rax]
mov ecx, 0x17
call fcn.140424ac4
mov qword [0x1405d0f50], rax
mov rcx, rdi
call fcn.140444ec0
mov eax, dword [0x1405d0f5c]
mov ecx, dword [0x1405757fc]
add ecx, ebx
cmp eax, ecx
jge 0x1401ee0d0
jmp 0x1401ee0a9
lea rax, [fcn.1401ee040]
lea r12d, [rax + rax]
add r12d, 0x1580
mov r13d, 0x2c1beab8
xor edi, edi
lea rbx, [rbp - 0x20]
jmp 0x1401ee12c
mov r15, rax
cmp rax, r14
je 0x1401ee255
movups xmm0, xmmword [r15 + 0x20]
movaps xmmword [rbp - 0x40], xmm0
mov rcx, qword [rbp - 0x38]
call fcn.1401ef890
test al, al
jne 0x1401ee1a0
mov eax, dword [0x1405d0f5c]
cmp eax, 0x1b
test dil, dil
jne 0x1401ee14b
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x1401ee194
nop word [rax + rax]
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
mov eax, dword [0x1405d0f5c]
cmp eax, 0x5e
jl 0x1401ee1a0
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
mov eax, dword [0x1405d0f58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jmp 0x1401ee160
mov rcx, rbx
lea r8, [rbp - 0x38]
call fcn.1401eeb10
mov rcx, qword [r15 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1401ee1e8
nop word [rax + rax]
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x1401ee120
mov rcx, r15
mov r15, rax
cmp rcx, qword [rax + 0x10]
je 0x1401ee1b0
mov rax, r15
jmp 0x1401ee120
test dl, dl
jne 0x1401ee120
mov rax, rcx
mov ecx, dword [0x1405757fc]
lea edx, [rcx + 0x2c1bea7e]
and edx, r12d
add ecx, 0x2c1bea7d
cmp edx, ecx
jne 0x1401ee240
nop word cs:[rax + rax]
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x19]
mov r8d, dword [0x1405d0f58]
mov r9d, r8d
sub r9d, dword [0x1405757fc]
imul r9d, r8d
test r9b, 1
je 0x1401ee1e0
nop word cs:[rax + rax]
mov ecx, dword [0x1405d0f5c]
mov edx, dword [0x1405757fc]
add edx, r13d
cmp ecx, edx
jge 0x1401ee240
jmp 0x1401ee210
mov r14, qword [0x140575208]
mov ebx, dword [r14]
add ebx, dword [0x1405d0b28]
mov edi, dword [0x140490a14]
mov eax, dword [0x1405d0f58]
mov rcx, qword [rbp - 0x28]
call fcn.14011e050
movsxd rbx, ebx
add rbx, r14
mov r14, qword [rbp - 0x20]
mov r15, qword [rbp - 0x18]
cmp r14, r15
je 0x1401ee2c0
nop dword [rax]
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401ee422
mov rdx, qword [r14]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14012b313.0]
add r14, 8
cmp r14, r15
jne 0x1401ee290
nop dword [rax]
mov eax, dword [0x1405d0f58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee2c0
mov r8, qword [rbp - 0x20]
mov eax, dword [0x140575204]
lea ecx, [rax + 1]
mov dword [0x140575204], ecx
mov edx, dword [0x1405d0f58]
mov edx, eax
not edx
xor eax, ecx
not ecx
and ecx, edx
or ecx, eax
not ecx
mov r9d, 0x2c1bea7f
nop
mov edx, dword [0x1405d0f58]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1405757fc]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x1401ee300
xor eax, eax
mov edx, 0
test ecx, ecx
jne 0x1401ee362
mov eax, dword [0x1405d0f58]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
nop dword [rax]
mov eax, dword [0x1405d0f58]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401ee340
xor r9d, r9d
mov eax, 0
mov edx, 0
test edi, edi
jg 0x1401ee378
mov r9d, dword [0x1405d0f5c]
cmp r9d, 0x35
jle 0x1401ee427
jmp 0x1401ee43c
mov r10d, 0x2c1bea7d
mov r11d, 0x2c1beadd
xor eax, eax
xor edx, edx
jmp 0x1401ee399
add r9d, 0x10
cmp r9d, edi
jge 0x1401ee362
movsxd rsi, r9d
add rsi, rbx
mov r14d, dword [0x1405d0f58]
lea r15d, [r14 - 1]
imul r15d, r14d
and r15d, 1
mov r14d, dword [0x1405757fc]
add r14d, r10d
cmp r15d, r14d
mov r14d, dword [0x1405d0f58]
lea r15d, [r14 - 1]
imul r15d, r14d
test r15b, 1
jne 0x1401ee3bf
mov r14, qword [rsi]
mov rsi, qword [rsi + 8]
mov r15, rax
xor r15, r14
mov r12, rdx
xor r12, rsi
xor r12, rsi
and rdx, r12
xor rdx, rsi
xor r15, r14
and rax, r15
xor rax, r14
nop dword [rax]
mov esi, dword [0x1405d0f5c]
cmp esi, 0x25
jle 0x1401ee390
mov esi, dword [0x1405d0f5c]
mov r14d, dword [0x1405757fc]
add r14d, r11d
cmp esi, r14d
jge 0x1401ee400
jmp 0x1401ee400
call fcn.140446524
mov r9d, dword [0x1405d0f58]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1401ee468
mov r9d, 0x2c1beaca
nop word cs:[rax + rax]
mov r10d, dword [0x1405d0f5c]
mov r11d, dword [0x1405757fc]
add r11d, r9d
cmp r10d, r11d
jge 0x1401ee450
jmp 0x1401ee427
test r8, r8
je 0x1401ee77a
mov r9d, 0x2c1bea7e
lea r10, [fcn.1401ee040]
add r10d, r10d
add r10d, 0x22e0
cmp dword [0x1405757fc], 0xd3e41583
je 0x1401ee4b9
nop word cs:[rax + rax]
mov r11d, dword [0x1405757fc]
add r11d, r9d
test r10d, r11d
cmp dword [0x1405757fc], 0xd3e41583
jne 0x1401ee4a0
mov rsi, qword [0x140490ab8]
mov rdi, qword [0x140490ab0]
mov r9d, dword [0x1405d0f5c]
mov ebx, 0x2c1bea7e
lea r9, [fcn.1401ee040]
lea r15d, [r9 + r9]
add r15d, 0x4220
nop word cs:[rax + rax]
xor r10d, r10d
test ecx, ecx
setne r10b
add r10, 0xffffffffffffffff
mov r11d, 0
adc r11, 0xffffffffffffffff
mov r9, rdi
neg r9
mov r14d, 0
sbb r14, rsi
mov r12d, dword [0x1405757fc]
add r12d, ebx
xor r12d, r15d
not r12d
test r12d, r15d
jne 0x1401ee4f0
mov ecx, dword [0x1405d0f5c]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1401ee540
add r9, rax
adc r14, rdx
xor edx, edx
neg r9
sbb rdx, r14
xor rdx, r11
xor r9, r10
not rdx
not r9
and rdx, r11
and r9, r10
mov rax, r9
not rax
mov rcx, rdx
not rcx
and rcx, rax
mov r10, r9
xor r10, rdx
or r10, rcx
not r10
mov eax, dword [0x1405d0f5c]
cmp eax, 0xc
jg 0x1401ee5cc
mov rax, rdx
xor rax, rdx
not rax
and rax, r9
xor rax, rdx
or rax, r10
mov rcx, qword [0x1405d0d68]
mov r11, rcx
xor r11, rax
and rax, rcx
lea rax, [r11 + rax*2]
mov qword [0x1405d0d68], rax
mov eax, dword [0x1405d0f58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401ee673
mov r11, r9
sub r11, rdx
imul r11, rdx
mov bl, 1
nop dword [rax + rax]
mov ecx, r11d
sub ecx, edx
imul ecx, edx
mov rax, r11
shl rax, cl
mov rcx, r11
sub rcx, rax
imul rcx, rax
mov rsi, r11
sub rsi, rcx
imul rsi, rcx
mov rax, rsi
shl rax, cl
sub rsi, rax
imul rsi, rax
sub rax, rsi
mov ecx, eax
shl rsi, cl
xor eax, esi
or eax, r10d
mov rsi, qword [0x1405d0d68]
mov rdi, rsi
mov ecx, eax
shl rdi, cl
mov rcx, rsi
sub rcx, rdi
imul rcx, rdi
sub rsi, rcx
imul rsi, rcx
neg rsi
mov rax, rsi
xor rax, rcx
and rsi, rcx
lea rax, [rax + rsi*2]
shl rax, cl
sub rax, rcx
imul rax, rcx
mov rsi, rcx
sub rsi, rax
add rsi, rcx
mov qword [0x1405d0d68], rsi
test bl, bl
je 0x1401ee5e0
jmp 0x1401ee58a
mov eax, dword [0x1405d0f5c]
cmp eax, 0x63
jge 0x1401ee6c0
mov rdx, qword [0x1405d0d68]
add rdx, qword [rbp - 0x10]
movabs rax, 0xfacb40b8404b7623
add rax, qword [0x140575800]
mov ecx, dword [0x1405d0f5c]
mov r9d, 0x2c1beab3
add r9d, dword [0x1405757fc]
cmp ecx, r9d
jl 0x1401ee6d3
nop word cs:[rax + rax]
mov eax, dword [0x1405d0f58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee6c0
jmp 0x1401ee67e
sub rdx, r8
cmp rdx, rax
jbe 0x1401ee766
mov eax, dword [0x1405d0f58]
mov ecx, dword [0x1405757fc]
neg ecx
add ecx, eax
add ecx, 0xd3e41582
imul ecx, eax
test cl, 1
jne 0x1401ee720
lea rcx, [r8 - 8]
mov rax, qword [r8 - 8]
sub rcx, rax
add rcx, qword [0x140575800]
mov r9d, dword [0x1405d0f5c]
cmp r9d, 0xc
jl 0x1401ee74c
nop dword [rax]
mov eax, dword [0x1405d0f58]
mov ecx, dword [0x1405757fc]
lea r9d, [rcx + rax]
add r9d, 0x2c1bea7e
imul r9d, eax
and r9d, 1
add ecx, 0x2c1bea7d
cmp r9d, ecx
jne 0x1401ee720
jmp 0x1401ee6fd
movabs r8, 0xfacb40b8404b6624
add rcx, r8
cmp rcx, 0x20
jae 0x1401ee78c
add rdx, 0x27
mov r8, rax
mov rcx, r8
mov r8d, 0x6d683f52
mov r9d, 0x36b30e65
call fcn.1400a8fb0
nop
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140424a4c
int3