Function at 0x1400a89e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
mov rbx, r9
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov eax, dword [0x1402b4410]
mov ecx, dword [str.wO]
shrd ecx, eax, 0x18
xor ecx, 0x81d8272b
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
add rdx, 8
sub rsp, 0x20
mov rcx, r14
call fcn.1400a79fd
add rsp, 0x20
mov rax, qword [rbx + 0x10]
mov rcx, qword [0x1402b4418]
mov rdx, qword [0x1402b4420]
shrd rdx, rcx, 0x1b
movabs rcx, 0x285889fcc2ba7173
xor rcx, rdx
and rcx, rax
mov rdx, qword [0x1402b4428]
mov r8, qword [0x1402b4430]
shrd r8, rdx, 0x23
movabs rdx, 0x893431e8964ce530
xor rdx, r8
cmp rcx, rdx
je 0x1400a8ac9
mov rcx, qword [0x1402b4438]
mov rdx, qword [0x1402b4440]
shrd rdx, rcx, 0x25
movabs rcx, 0xe6ba28763137dde2
xor rcx, rdx
cmp rax, rcx
setne al
mov ecx, dword [0x1402b4448]
mov edx, dword [0x1402b444c]
shrd edx, ecx, 0x1d
xor edx, 0x876576f0
cmp dword [rbx], edx
setne cl
or cl, al
jne 0x1400a8b93
lea r15, [rdi + 0xc]
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, rsi
mov r9, rbx
call fcn.1400a79fd
add rsp, 0x20
mov rax, qword [rbx + 0x10]
mov rcx, qword [0x1402b4450]
mov rdx, qword [0x1402b4458]
shrd rdx, rcx, 0x26
movabs rcx, 0x5e2f875a5b5a8395
xor rcx, rdx
and rcx, rax
mov rdx, qword [0x1402b4460]
mov r8, qword [0x1402b4468]
shrd r8, rdx, 3
movabs rdx, 0xc9af18d32cd9d82a
xor rdx, r8
cmp rcx, rdx
je 0x1400a8b76
mov rcx, qword [0x1402b4470]
mov rdx, qword [0x1402b4478]
shrd rdx, rcx, 0x19
movabs rcx, 0xbad4e36d41d4c47d
xor rcx, rdx
cmp rax, rcx
jne 0x1400a8b93
imul eax, dword [0x1402b4480], 0x8ea177e2
imul ecx, dword [0x1402b4484], 0x5327a51e
add eax, ecx
add eax, 0xa303b770
cmp dword [rbx], eax
jne 0x1400a8b93
mov eax, dword [0x1402b4488]
mov ecx, dword [0x1402b448c]
shrd ecx, eax, 9
mov eax, dword [r15]
xor ecx, 0x73af4217
cmp eax, ecx
jne 0x1400a8ba1
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov ecx, 0x4e2000
cmp eax, ecx
cmovb ecx, eax
mov rdx, r12
mov r15d, ecx
mov rax, qword [rdi]
mov qword [r12], rax
mov qword [r12 + 8], r15
sub rsp, 0x20
mov rcx, r14
mov r8, rbx
call fcn.1400a761d
add rsp, 0x20
mov rax, qword [0x1402b4490]
mov rcx, qword [0x1402b4498]
shrd rcx, rax, 0x20
mov rax, qword [rbx + 0x10]
movabs rdx, 0x9bf6ad0e2499727f
xor rdx, rcx
and rdx, rax
movabs rcx, 0x2f46f7aff0e555ef
imul rcx, qword [0x1402b44a0]
movabs r8, 0x9ed5d08640af2c65
imul r8, qword [0x1402b44a8]
add r8, rcx
movabs rcx, 0x8b91f7322df6bf94
add rcx, r8
cmp rdx, rcx
jne 0x1400a8c34
xor eax, eax
jmp 0x1400a8c8c
movabs rcx, 0xc883bb5d9986a13d
imul rcx, qword [0x1402b44b0]
movabs rdx, 0x784f2961f587d1da
imul rdx, qword [0x1402b44b8]
add rdx, rcx
movabs rcx, 0xdd74ecc1aa84d23b
add rcx, rdx
cmp rax, rcx
jne 0x1400a8b93
mov eax, dword [0x1402b44c0]
mov ecx, dword [0x1402b44c4]
shrd ecx, eax, 2
xor ecx, 0xc4dea012
cmp dword [rbx], ecx
setne al
test rsi, rsi
je 0x1400a8b93
test al, al
jne 0x1400a8b93
mov rax, qword [rdi]
test rax, rax
je 0x1400a8b93
movabs rcx, 0x24255ba8c6cf530
xor edx, edx
mov r8b, byte [rax + rdx]
rol r8b, 6
xor r8b, byte [rsi]
mov byte [rax + rdx], r8b
mov r8, qword [0x1402b44c8]
mov r9, qword [0x1402b44d0]
shrd r9, r8, 0x33
xor r9, rcx
add r9, rdx
mov rdx, r9
cmp r9, r15
jne 0x1400a8cb5
jmp 0x1400a8b93