Function at 0x1401acea0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rax, qword [rcx]
mov rsi, rcx
nop
mov ecx, dword [0x1415a4110]
or ecx, dword [0x1415a4114]
add ecx, 0x989f4d33
or ecx, 0xe4e44084
cmp ecx, 0xeaf86be6
jb 0x1401aceb0
cmp rax, 0xffffffffffffffff
je 0x1401ad15a
lea rcx, [rax + 1]
lea rdx, [rax + rax]
cmp rdx, rcx
cmove rdx, rcx
test rax, rax
cmovle rdx, rcx
cmp rdx, 5
mov edi, 4
cmovae rdi, rdx
mov ecx, dword [0x1415a4118]
xor ecx, dword [0x1415a411c]
mov edx, ecx
xor edx, 0xc65c0f5d
add edx, ecx
and ecx, 0x39a3f0a2
sub edx, ecx
and edx, 0xcfe26d8e
xor edx, 0xcebe99d0
cmp edx, 0xa52d1539
nop dword [rax]
movabs rcx, 0x333333333333334
xor edx, edx
cmp rdi, rcx
setb cl
mov r8d, dword [0x1415a4120]
imul r8d, dword [0x1415a4124]
add r8d, 0x6f7c790b
shr r8d, 1
mov r9d, 0xa286c77f
imul r9, r8
shr r9, 0x3d
cmp r9d, 0x4837afd7
je 0x1401acf30
lea r8, [rdi*8]
mov dl, cl
shl rdx, 3
lea r8, [r8 + r8*4]
test rax, rax
je 0x1401ad083
mov r10d, 0x801d4b8b
mov r9, rax
and r9, 0xffffffffffffffd7
mov rcx, rax
or rcx, 0x28
nop word cs:[rax + rax]
mov r11d, dword [0x1415a4128]
mov ebx, dword [0x1415a412c]
mov ebp, r11d
not ebp
and r11d, ebx
not ebx
or ebx, ebp
not r11d
and r11d, ebx
not r11d
add r11d, 0x5f78e8ad
imul r11, r10
shr r11, 0x3c
add r11d, 0xe495be8d
cmp r11d, 0xcb0afceb
jb 0x1401acfb0
mov r10d, eax
not r10d
and r10d, 0x28
imul r10, r9
and eax, 0x28
imul rcx, rax
add rcx, r10
mov rax, qword [rsi + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rcx
nop word [rax + rax]
mov ecx, dword [0x1415a4130]
mov eax, dword [0x1415a4134]
xor eax, ecx
not eax
and eax, ecx
add eax, 0xdb4ffeb0
mov ecx, eax
not ecx
mov r9d, eax
and r9d, 0xb2c30c6d
and ecx, 0x4d3cf392
imul ecx, r9d
mov r9d, eax
and r9d, 0x4d3cf392
or eax, 0x4d3cf392
imul eax, r9d
add eax, ecx
mov ecx, eax
or ecx, 0x59cf3c65
not eax
or eax, 0xa630c39a
and eax, ecx
cmp eax, 0x22c8a12b
jb 0x1401ad020
mov eax, 8
jmp 0x1401ad085
xor eax, eax
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
call fcn.1400316e0
cmp qword [rsp + 0x40], 0
jne 0x1401ad110
mov rax, qword [rsp + 0x48]
mov qword [rsi + 8], rax
mov eax, dword [0x1415a4160]
and eax, dword [0x1415a4164]
or eax, 0x3c05364a
and eax, 0xfca7fe5f
xor eax, 0xd637eb50
cmp eax, 0xf4ea5ca7
jbe 0x1401ad0d0
mov qword [rsi], rdi
nop
mov eax, dword [0x1415a4168]
or eax, dword [0x1415a416c]
add eax, 0x11e8cc13
mov ecx, eax
xor ecx, 0x40103005
and ecx, eax
and ecx, 0x5136b805
mov qword [rsi], rdi
cmp ecx, 0x6cdb51ff
ja 0x1401ad0d0
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov eax, dword [0x1415a4138]
add eax, dword [0x1415a413c]
imul eax, eax, 0xd2c964ac
add eax, 0x978fa844
cmp eax, 0xe9ce0b7a
ja 0x1401ad110
nop
mov eax, dword [0x1415a4140]
mov ecx, dword [0x1415a4144]
add eax, ecx
add eax, 0xfd3b768b
imul rax, rax, 0x38eb73b5
shr rax, 0x3c
add eax, 0x2a4e1d0a
cmp eax, 0x15376d5e
jb 0x1401ad130
mov eax, dword [0x1415a4148]
mov ecx, dword [0x1415a414c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0xb74ced94
and eax, 0x48b3126b
sub eax, ecx
add eax, 0xea86b11a
imul rax, rax, 0x2fe25963
shr rax, 0x3b
cmp eax, 0x50bfd97c
ja 0x1401ad1db
mov eax, dword [0x1415a4150]
mov ecx, dword [0x1415a4154]
add eax, ecx
add eax, 0xbf0e4f89
mov ecx, eax
not ecx
and ecx, 0x18f12857
mov edx, eax
and edx, 0xe70ed7a8
imul edx, ecx
mov ecx, eax
and ecx, 0x18f12857
or eax, 0x18f12857
imul eax, ecx
add eax, edx
ud2
ud2