Function at 0x1400ae172
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov r12, qword [rcx + 0x10]
movabs rax, 0x2489abcd50d5b624
imul rax, qword [0x1402b5368]
movabs rcx, 0x2821b24e84fbf413
imul rcx, qword [0x1402b5370]
add rcx, rax
sub rcx, r12
movabs rax, 0x92c1064e931ffb76
add rax, rcx
cmp rax, rdx
jb 0x1400ae6dc
mov rdi, r9
mov r14, rdx
add r14, r12
mov rax, qword [str.dgV]
mov rcx, qword [0x1402b5380]
shrd rcx, rax, 0x1c
mov r15, qword [rsi + 0x18]
movabs rax, 0x1677e648aca1fed6
xor rax, rcx
or rax, r14
mov rcx, qword [0x1402b5388]
mov rdx, qword [0x1402b5390]
shrd rdx, rcx, 0x29
movabs rcx, 0x655189682e54a963
xor rcx, rdx
movabs rdx, 0x7ffffffffffffffe
cmp rax, rcx
jbe 0x1400ae234
mov rcx, 0xfffffffffffffffe
jmp 0x1400ae31a
mov ecx, dword [0x1402b5398]
shr ecx, 0xa
xor cl, 0x66
mov r8, r15
shr r8, cl
mov rcx, qword [0x1402b53a0]
mov r9, qword [0x1402b53a8]
shrd r9, rcx, 0xe
movabs rcx, 0x33a5aa6943eb6191
xor rcx, r9
mov r9, rcx
sub r9, r8
mov rcx, 0xfffffffffffffffe
cmp r9, r15
jb 0x1400ae31a
add r8, r15
cmp rax, r8
mov rbx, r8
cmova rbx, rax
mov rax, qword [0x1402b53b0]
mov rcx, qword [0x1402b53b8]
shrd rcx, rax, 0x3a
movabs rdx, 0x1db7842750c80f2f
xor rdx, rcx
add rdx, rbx
mov rax, qword [0x1402b53c0]
mov rcx, qword [0x1402b53c8]
shrd rcx, rax, 0x1b
movabs rax, 0xb2913fa34e12e25f
xor rax, rcx
cmp rdx, rax
jl 0x1400ae6e1
mov rax, qword [0x1402b53d0]
shr rax, 0x36
mov ecx, eax
xor cl, 0xc1
mov rax, rdx
shl rax, cl
mov rcx, qword [0x1402b53d8]
mov r8, qword [0x1402b53e0]
shrd r8, rcx, 0x1a
movabs rcx, 0x4f1801b53accc93d
xor rcx, r8
cmp rdx, rcx
jbe 0x1400ae69c
mov rcx, rax
mov rdx, rbx
mov rbx, rdx
call fcn.1400031b3
mov rcx, rax
mov rax, rbx
mov rbx, rcx
movzx ebp, word [rsp + 0x90]
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rax
movabs rax, 0x5f9d871d48527596
imul rax, qword [0x1402b53f8]
movabs rcx, 0x194df465e706c577
imul rcx, qword [0x1402b5400]
add rcx, rax
movabs rax, 0xbae45a9a00e96696
add rax, rcx
cmp r15, rax
jbe 0x1400ae575
mov r14, qword [rsi]
imul eax, dword [0x1402b5408], 0x92e9a695
imul ecx, dword [0x1402b5410], 0x8c67a74b
add ecx, eax
add cl, 0xf
mov r8, r12
shl r8, cl
mov rcx, rbx
mov rdx, r14
call fcn.1401a0ad0
lea rax, [rbx + r12*2]
movabs rcx, 0x238699a475403697
imul rcx, qword [0x1402b5418]
movabs rdx, 0xb171b0f23ef88ba8
imul rdx, qword [0x1402b5420]
add rdx, rcx
movabs rcx, 0x81d334893194b5b1
add rcx, rdx
cmp rdi, rcx
je 0x1400ae43e
movabs rcx, 0x4a4da94b7b3b3ae
movabs rdx, 0x31298fdfe9a5b70f
mov r8, rax
mov r9, rdi
mov word [r8], bp
add r8, 2
mov r10, qword [0x1402b5428]
mov r11, qword [0x1402b5430]
shrd r11, r10, 0x1a
xor r11, rcx
mov r10, r9
add r10, r11
mov r9, qword [0x1402b5438]
mov r11, qword [0x1402b5440]
shrd r11, r9, 0x2f
xor r11, rdx
mov r9, r10
cmp r10, r11
jne 0x1400ae3fc
movzx ecx, word [0x1402b5448]
movzx edx, word [0x1402b544a]
imul ecx, ecx, 0x1007
imul edx, edx, 0x6089
add ecx, edx
add ecx, 0x7de2
mov word [rax + rdi*2], cx
imul eax, dword [0x1402b5450], 0x9000f466
imul ecx, dword [0x1402b5458], 0x954781c4
add ecx, eax
add cl, 0x4d
shl r15, cl
mov rax, qword [0x1402b5460]
mov rcx, qword [0x1402b5468]
shrd rcx, rax, 6
movabs rax, 0xbe345b159fa27602
xor rax, rcx
add rax, r15
movabs rcx, 0x44f2924b95a6a02e
imul rcx, qword [0x1402b5470]
movabs rdx, 0x1f8fbee5ef146945
imul rdx, qword [0x1402b5478]
add rdx, rcx
movabs rcx, 0xbf737cb577486a94
add rcx, rdx
cmp rax, rcx
jbe 0x1400ae67a
mov rax, qword [r14 - 8]
mov rcx, qword [str._weq]
mov rdx, qword [0x1402b5488]
shrd rdx, rcx, 0x3a
movabs rcx, 0x539a8763a6a234de
xor rcx, rdx
add rcx, r14
sub rcx, rax
movabs rdx, 0x7b8d583f8d74e797
imul rdx, qword [0x1402b5490]
movabs r8, 0x53c3a0cbc369f218
imul r8, qword [0x1402b5498]
add r8, rdx
movabs rdx, 0x86ba966de6236b56
add rdx, r8
cmp rcx, rdx
jae 0x1400ae6e6
mov rcx, qword [0x1402b54a0]
mov rdx, qword [0x1402b54a8]
shrd rdx, rcx, 0x2e
movabs rcx, 0xce2d0369a0e7001f
xor rcx, rdx
add r15, rcx
mov rdx, r15
mov rcx, rax
jmp 0x1400ae680
imul eax, dword [0x1402b54b0], 0xc345a87d
imul ecx, dword [0x1402b54b8], 0x9aa7cf7
add ecx, eax
add cl, 0xb5
mov r8, r12
shl r8, cl
mov rcx, rbx
mov rdx, rsi
call fcn.1401a0ad0
lea rax, [rbx + r12*2]
mov rcx, qword [0x1402b54c0]
mov rdx, qword [0x1402b54c8]
shrd rdx, rcx, 0x23
movabs rcx, 0xb940ced1802bc819
xor rcx, rdx
cmp rdi, rcx
je 0x1400ae659
movabs rcx, 0x2803a06adfd970f1
movabs rdx, 0xf9dd79f0f52d4400
movabs r8, 0x6c44e1e9c5c3a388
movabs r9, 0x66d2046bd487c055
movabs r10, 0xdfba73414d254ad4
movabs r11, 0xb5b734311541ceb3
mov r14, rax
mov r15, rdi
add r15, r8
mov word [r14], bp
add r14, 2
mov r12, qword [0x1402b54d0]
imul r12, rcx
mov r13, qword [0x1402b54d8]
imul r13, rdx
add r13, r12
add r13, r15
mov r15, qword [0x1402b54e0]
imul r15, r9
mov r12, qword [0x1402b54e8]
imul r12, r10
add r12, r15
add r12, r11
mov r15, r13
cmp r13, r12
jne 0x1400ae60e
movzx ecx, word [0x1402b54f0]
movzx edx, word [0x1402b54f2]
shrd dx, cx, 6
mov ecx, edx
xor ecx, 0x5a18
mov word [rax + rdi*2], cx
jmp 0x1400ae685
mov rdx, rax
mov rcx, r14
call fcn.1400d883c
mov qword [rsi], rbx
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [0x1402b53e8]
mov r8, qword [0x1402b53f0]
shrd r8, rcx, 7
movabs rcx, 0xab59b15320acf4a8
xor rcx, r8
cmp rdx, rcx
jne 0x1400ae6cf
mov rax, 0xffffffffffffffff
xor ebx, ebx
jmp 0x1400ae32b
mov rcx, rax
call fcn.1400d87f8
jmp 0x1400ae322
call fcn.14000318f
call fcn.14000327e
call fcn.1401aec6c
int3