Function at 0x1400a4c04
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, r9
mov rbx, r8
mov r14, rdx
mov r8, rcx
mov eax, dword [0x1402b3568]
mov ecx, dword [0x1402b356c]
shrd ecx, eax, 9
xor ecx, 0x79e0a419
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
mov eax, dword [0x1402b3570]
mov ecx, dword [0x1402b3574]
shrd ecx, eax, 0x11
xor ecx, 0x52327952
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 8], rsp
mov eax, dword [0x1402b3578]
mov ecx, dword [0x1402b357c]
shrd ecx, eax, 0x14
xor ecx, 0xf606e592
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
add rdx, 8
sub rsp, 0x20
mov qword [rbp - 0x10], r8
mov rcx, r8
mov r8, rbx
call fcn.1400a3e1f
add rsp, 0x20
mov rax, qword [rsi + 0x10]
movabs rcx, 0xfe7f5d5d51df6f4e
imul rcx, qword [0x1402b3580]
movabs rdx, 0x95a7464998f0ea15
imul rdx, qword [0x1402b3588]
add rdx, rcx
movabs rcx, 0x3affaf95af138e9b
add rcx, rdx
and rcx, rax
mov rdx, qword [0x1402b3590]
mov r8, qword [0x1402b3598]
shrd r8, rdx, 0x16
movabs rdx, 0x211fad00ded8d7a0
xor rdx, r8
cmp rcx, rdx
je 0x1400a4da4
movabs rcx, 0xf8b322c425aaf2c9
imul rcx, qword [0x1402b35a0]
movabs rdx, 0x1d32ef1e2a5b6347
imul rdx, qword [0x1402b35a8]
add rdx, rcx
movabs rcx, 0xf23be9afbf831434
imul r8d, dword [0x1402b35b0], 0x209407fe
imul r9d, dword [0x1402b35b4], 0x2b85738f
add rcx, rdx
mov edx, r9d
add edx, r8d
add edx, 0x5bc51567
cmp dword [rsi], edx
setne dl
cmp rax, rcx
mov eax, 0
mov al, dl
movzx ecx, byte [0x1402b35b8]
cmove ecx, eax
mov eax, ecx
test cl, 1
jne 0x1400a50d1
lea r15, [r14 + 0xc]
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r15
mov r8, rbx
mov r9, rsi
call fcn.1400a3e1f
add rsp, 0x20
mov rax, qword [rsi + 0x10]
movabs rcx, 0x190fae3b5ef7e2d9
imul rcx, qword [0x1402b35c0]
movabs rdx, 0xef1c82175bd50bf8
imul rdx, qword [0x1402b35c8]
add rdx, rcx
movabs rcx, 0xaf328a1c08191f72
add rcx, rdx
and rcx, rax
movabs rdx, 0xfbc55ca4ccfaec2a
imul rdx, qword [0x1402b35d0]
movabs r8, 0xf429e4575fbf1a4
imul r8, qword [0x1402b35d8]
add r8, rdx
movabs rdx, 0x5ff8a98f816d559e
add rdx, r8
cmp rcx, rdx
je 0x1400a4eba
movabs rcx, 0xf944684465283a5c
imul rcx, qword [0x1402b35e0]
movabs rdx, 0x462d098d668ecbb2
imul rdx, qword [0x1402b35e8]
add rdx, rcx
movabs rcx, 0xeed3baa219899e21
add rcx, rdx
mov edx, dword [0x1402b35f0]
mov r8d, dword [0x1402b35f4]
shrd r8d, edx, 0x17
xor r8d, 0xf9b11a94
cmp dword [rsi], r8d
setne dl
mov r8b, byte [0x1402c07e4]
add r8b, byte [0x1402c07e5]
inc r8b
cmp rax, rcx
mov eax, 0
mov al, dl
movzx ecx, r8b
cmove ecx, eax
mov eax, ecx
test cl, 1
jne 0x1400a50d1
mov eax, dword [0x1402b35f8]
mov ecx, dword [0x1402b35fc]
shrd ecx, eax, 0x13
mov edi, dword [r15]
xor ecx, 0x9c0c7e80
cmp edi, ecx
je 0x1400a50d1
mov r15d, edi
test rbx, rbx
je 0x1400a4f13
mov eax, dword [0x1402b3600]
mov ecx, dword [0x1402b3604]
shrd ecx, eax, 1
mov qword [rbp - 0x18], r12
xor ecx, 0xeffdd1fb
cmp edi, ecx
mov qword [rbp - 0x20], r14
jbe 0x1400a4f36
sub rsp, 0x20
mov rcx, r15
call fcn.1400031b3
jmp 0x1400a4f42
mov rax, qword [r14]
mov qword [r13], rax
mov qword [r13 + 8], r15
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r13
mov r8, rsi
call fcn.1400a3f62
jmp 0x1400a50cd
sub rsp, 0x20
mov rcx, r15
call fcn.1400d87f8
add rsp, 0x20
mov r12, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 8], rax
mov r14, qword [rbp - 0x18]
mov qword [r14], r12
lea r13, [r12 + r15]
mov qword [r14 + 0x10], r13
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
call fcn.140091723
add rsp, 0x20
mov qword [r14 + 8], r13
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
mov eax, dword [rax + 0xc]
mov r8d, eax
sub rsp, 0x20
mov rcx, r12
call fcn.1401a0ad0
add rsp, 0x20
test r12, r12
je 0x1400a4fd3
movabs rax, 0xf1c8dfb451d66cad
xor ecx, ecx
mov dl, byte [rbx]
xor dl, byte [r12 + rcx]
rol dl, 2
mov byte [r12 + rcx], dl
mov rdx, qword [0x1402b3608]
mov r8, qword [0x1402b3610]
shrd r8, rdx, 2
xor r8, rax
add r8, rcx
mov rcx, r8
cmp r8, r15
jne 0x1400a4fa5
mov rdx, qword [rbp - 8]
mov qword [rdx], r12
mov qword [rdx + 8], r15
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov r8, rsi
call fcn.1400a3f62
add rsp, 0x20
nop
test r12, r12
je 0x1400a50d1
mov eax, dword [0x1402b3618]
mov ecx, dword [0x1402b361c]
shrd ecx, eax, 0xd
xor ecx, 0xa18ef6d5
cmp edi, ecx
jbe 0x1400a50be
movabs rcx, 0xcfd2f2718ccc6095
imul rcx, qword [0x1402b3620]
movabs rdx, 0xaf8e68d2823ad937
imul rdx, qword [0x1402b3628]
mov rax, qword [r12 - 8]
add rdx, rcx
add rdx, r12
sub rdx, rax
movabs rcx, 0xb85894f0f70395ab
add rcx, rdx
movabs rdx, 0x51dca7192888a1f5
imul rdx, qword [0x1402b3630]
movabs r8, 0x712f7913dc18913a
imul r8, qword [0x1402b3638]
add r8, rdx
movabs rdx, 0x59df1c816216414c
add rdx, r8
cmp rcx, rdx
jae 0x1400a50e2
mov rcx, qword [0x1402b3640]
mov rdx, qword [0x1402b3648]
shrd rdx, rcx, 0x12
movabs rcx, 0xc8daaf804c7ab1b9
xor rcx, rdx
add rcx, r15
mov rdx, rcx
mov rcx, rax
jmp 0x1400a50c4
mov rdx, r15
mov rcx, r12
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
call fcn.1401aec6c
int3