Function at 0x1400322aa
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, qword [0x14029d720]
mov rcx, qword [0x14029d728]
shrd rcx, rax, 0xd
movabs rax, 0x138cfdfb94d3a883
xor rax, rcx
cmp qword [rsi + 0x60], rax
jne 0x140032473
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
imul ecx, dword [0x14029d730], 0x24451375
mov eax, dword [rax + 0x440]
imul edx, dword [0x14029d734], 0xddff77dd
add ecx, edx
add ecx, 0x7ef76aab
and ecx, eax
imul edx, dword [0x14029d738], 0xc81c0e67
imul r8d, dword [0x14029d73c], 0x518ee07f
add edx, r8d
add edx, 0xa7b39210
cmp ecx, edx
je 0x14003266a
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 0x419]
mov cl, byte [0x14029d748]
mov dl, byte [0x14029d749]
shr dl, 5
shl cl, 3
or cl, dl
xor cl, 0xee
cmp byte [rax + 0x25], cl
je 0x140032631
movabs rdx, 0x1545de9d90cd2bb6
movabs r8, 0x6704b424e3fbcc5c
movabs r9, 0x6da8872f5bf2e7d4
movabs r10, 0x7b16653219d26d75
movabs r11, 0x5e8c6089a8b909f4
movabs rdi, 0x371f4ab39d4ef1a2
movabs rbx, 0x22b87560fefce947
xor r14d, r14d
mov ecx, dword [0x14029d750]
mov ebp, ecx
shl ebp, 5
sub ebp, ecx
mov ecx, ebp
add cl, 0x52
mov r15, r14
shl r15, cl
imul ecx, dword [0x14029d758], 0x453d8853
imul ebp, dword [0x14029d760], 0x5b206b66
mov r12d, ebp
add ecx, r12d
add ecx, 0x4930e2d
mov ebp, r15d
and ebp, ecx
mov rcx, qword [0x14029d768]
mov r15, qword [0x14029d770]
shrd r15, rcx, 0x1f
xor r15, rdx
mov ecx, ebp
shr r15, cl
mov ecx, r15d
xor byte [rax + r14], r15b
mov rcx, qword [0x14029d778]
imul rcx, r8
mov r15, qword [0x14029d780]
imul r15, r9
add r15, rcx
add r14, r10
mov rcx, r14
add rcx, r15
mov r14, qword [0x14029d788]
imul r14, r11
mov r15, qword [0x14029d790]
imul r15, rdi
add r15, r14
add r15, rbx
mov r14, rcx
cmp rcx, r15
jne 0x1400323c5
jmp 0x140032617
movabs rax, 0xb4fad212d7817b88
imul rax, qword [0x14029d798]
movabs rcx, 0xac5cfdab4fad0cb5
imul rcx, qword [0x14029d7a0]
add rcx, rax
movabs rdx, 0x758743ebe0babc40
add rdx, rcx
mov al, 1
cmp qword [rsi + 0x80], rdx
jne 0x14003265b
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
imul ecx, dword [0x14029d7a8], 0xad66f4e1
mov eax, dword [rax + 0x46c]
imul edx, dword [0x14029d7ac], 0x444e13f2
add ecx, edx
add ecx, 0xc85bd3a0
mov edx, dword [0x14029d7b0]
mov r8d, dword [0x14029d7b4]
shrd r8d, edx, 0xc
and ecx, eax
xor r8d, 0xfeaf1e7f
cmp ecx, r8d
je 0x1400326b2
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 0x444]
mov cl, byte [0x14029d7c0]
mov dl, byte [0x14029d7c1]
shr dl, 2
shl cl, 6
or cl, dl
xor cl, 0xf9
cmp byte [rax + 0x25], cl
je 0x140032631
movabs rdx, 0x44f5455f280665e6
movabs r8, 0x62109fd4c0ae2ef2
movabs r9, 0x9321e5af3e41c2a9
movabs r10, 0xe0598358dc04e799
movabs r11, 0x2376c7498e5ae51f
xor edi, edi
imul ecx, dword [0x14029d7c8], 0xf206fb48
imul ebx, dword [0x14029d7d0], 0xa2e97221
add ebx, ecx
mov ecx, ebx
add cl, 0x14
mov rbx, rdi
shl rbx, cl
mov rcx, qword [0x14029d7d8]
shr rcx, 0x25
xor ecx, 0xb5
and ebx, ecx
mov rcx, qword [0x14029d7e0]
imul rcx, rdx
mov r14, qword [0x14029d7e8]
imul r14, r8
add r14, rcx
add r14, r9
mov ecx, ebx
shr r14, cl
mov ecx, r14d
xor byte [rax + rdi], r14b
mov rcx, qword [0x14029d7f0]
mov rbx, qword [0x14029d7f8]
shrd rbx, rcx, 0xc
xor rbx, r10
add rbx, rdi
mov rcx, qword [0x14029d800]
mov rdi, qword [0x14029d808]
shrd rdi, rcx, 0x1a
mov rcx, rdi
xor rcx, r11
mov rdi, rbx
cmp rbx, rcx
jne 0x14003257d
mov cl, byte [0x14029d810]
mov dl, byte [0x14029d811]
shr dl, 4
shl cl, 4
or cl, dl
xor cl, 0xa9
mov byte [rax + 0x25], cl
mov r8, rax
imul eax, dword [0x14029d814], 0x56a2574b
imul ecx, dword [0x14029d818], 0x40a67fa0
lea edx, [rax + rcx]
add edx, 0xbe3512d0
mov rcx, rsi
call fcn.1400b3366
xor eax, eax
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
imul ecx, dword [0x14029d740], 0xec0c30ba
imul edx, dword [0x14029d744], 0xc6c7cd0c
add ecx, edx
add ecx, 0x3808b3e1
or eax, ecx
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov dword [rcx + 0x440], eax
lea rcx, [0x1400326fb]
call fcn.1400d8bb4
jmp 0x140032342
imul ecx, dword [0x14029d7b8], 0x100ab1e7
imul edx, dword [0x14029d7bc], 0xb71b4baf
add ecx, edx
add ecx, 0x2bf62ea8
or eax, ecx
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov dword [rcx + 0x46c], eax
lea rcx, [0x140032784]
call fcn.1400d8bb4
jmp 0x14003250f