Function at 0x14002d1e2
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
movabs rax, 0x10a839a7968e16ad
imul rax, qword [0x14029c7e0]
movabs rcx, 0x682fad85ac4b6070
imul rcx, qword [0x14029c7e8]
add rcx, rax
movabs rax, 0xcec6b82430f04820
add rax, rcx
cmp rdx, rax
ja 0x14002d688
mov ebx, r9d
mov rdi, rdx
mov r14, qword [rsi + 0x18]
movabs rax, 0x73aa18cf9ee1bce4
imul rax, qword [0x14029c7f0]
movabs rcx, 0x7719ab935212f126
imul rcx, qword [0x14029c7f8]
add rcx, rax
movabs rax, 0xbe5617e6cc0e0b2d
add rax, rcx
movabs rcx, 0x305032ab39989507
imul rcx, qword [0x14029c800]
movabs rdx, 0x2ba936cacf5d73ba
imul rdx, qword [0x14029c808]
or rax, rdi
add rdx, rcx
movabs rcx, 0x31df95da7c58c594
add rcx, rdx
movabs rdx, 0x7ffffffffffffffe
cmp rax, rcx
jbe 0x14002d2bf
mov rcx, 0xfffffffffffffffe
jmp 0x14002d3f9
imul ecx, dword [0x14029c810], 0xbb4f7243
imul r8d, dword [0x14029c818], 0xbc9c822a
add r8d, ecx
mov ecx, r8d
add cl, 0x3d
mov r8, r14
shr r8, cl
movabs rcx, 0xa1009a65c5256638
imul rcx, qword [0x14029c820]
movabs r9, 0xc84d6501a3f4d2cd
imul r9, qword [0x14029c828]
add r9, rcx
sub r9, r8
movabs r10, 0x3ae2e35a3d8d1b84
add r10, r9
mov rcx, 0xfffffffffffffffe
cmp r10, r14
jb 0x14002d3f9
add r8, r14
cmp rax, r8
mov r15, r8
cmova r15, rax
mov rax, qword [0x14029c830]
mov rcx, qword [0x14029c838]
shrd rcx, rax, 0x1e
movabs rdx, 0x5c2be9170d8d35a
xor rdx, rcx
add rdx, r15
movabs rax, 0x5449aebd9f2ec4cc
imul rax, qword [0x14029c840]
movabs rcx, 0xc184a5a88dc52d59
imul rcx, qword [0x14029c848]
add rcx, rax
movabs rax, 0xcae4fb08d6b49283
add rax, rcx
cmp rdx, rax
jl 0x14002d68d
imul eax, dword [0x14029c850], 0xdcbff5b6
imul ecx, dword [0x14029c858], 0xb1e7379a
add ecx, eax
add cl, 0x19
mov rax, rdx
shl rax, cl
movabs rcx, 0x3a84748284c1e613
imul rcx, qword [0x14029c860]
movabs r8, 0xad07eb01d477fb1a
imul r8, qword [0x14029c868]
add r8, rcx
movabs rcx, 0x9f004afdac79a153
add rcx, r8
cmp rdx, rcx
jbe 0x14002d633
mov rcx, rax
mov rdx, r15
mov r15, rdx
call fcn.1400031b3
mov rcx, rax
mov rax, r15
mov r15, rcx
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rax
mov rax, qword [0x14029c880]
mov rcx, qword [0x14029c888]
shrd rcx, rax, 0x34
movabs rax, 0xb269296e519fc065
xor rax, rcx
cmp rdi, rax
je 0x14002d4aa
movabs rax, 0x75d73ccbad16ad22
movabs rcx, 0xdb0f46d6a0731576
movabs rdx, 0x3cf51b53be5634df
movabs r8, 0xeb2af967b2e2c6cb
mov r9, r15
mov r10, rdi
add r10, rdx
mov word [r9], bx
add r9, 2
mov r11, qword [0x14029c890]
imul r11, rax
mov r12, qword [0x14029c898]
imul r12, rcx
add r12, r11
add r12, r10
mov r10, qword [0x14029c8a0]
mov r11, qword [0x14029c8a8]
shrd r11, r10, 0xd
xor r11, r8
mov r10, r12
cmp r12, r11
jne 0x14002d465
movzx eax, word [0x14029c8b0]
movzx ecx, word [0x14029c8b2]
shrd cx, ax, 0xf
mov eax, ecx
xor eax, 0x9aa4
mov word [r15 + rdi*2], ax
mov rax, qword [0x14029c8b8]
mov rcx, qword [0x14029c8c0]
shrd rcx, rax, 0x3a
movabs rax, 0xdffef62a8d2ffc59
xor rax, rcx
cmp r14, rax
jbe 0x14002d61f
imul eax, dword [0x14029c8c8], 0x130b403c
imul ecx, dword [0x14029c8d0], 0x4681822e
add ecx, eax
add cl, 0x7d
shl r14, cl
mov rax, qword [0x14029c8d8]
mov rdx, qword [0x14029c8e0]
shrd rdx, rax, 0x1f
mov rcx, qword [rsi]
movabs rax, 0x86c0217f930facb1
xor rax, rdx
add rax, r14
movabs rdx, 0xfad896582eb4f95f
imul rdx, qword [0x14029c8e8]
movabs r8, 0xede5f3c2915202a5
imul r8, qword [0x14029c8f0]
add r8, rdx
movabs rdx, 0xb48ca9e32ad9cda5
add rdx, r8
cmp rax, rdx
jbe 0x14002d617
mov rax, qword [rcx - 8]
movabs rdx, 0xd941c23909cecfe6
imul rdx, qword [0x14029c8f8]
movabs r8, 0x6dd01018152e4a54
imul r8, qword [0x14029c900]
add r8, rdx
add r8, rcx
sub r8, rax
movabs rcx, 0x3ab4eb0bbcb8b9b6
add rcx, r8
mov rdx, qword [0x14029c908]
mov r8, qword [0x14029c910]
shrd r8, rdx, 0x1c
movabs rdx, 0xeb0e74d5a4ff69d3
xor rdx, r8
cmp rcx, rdx
jae 0x14002d692
movabs rcx, 0x36f53a3f205908e6
imul rcx, qword [0x14029c918]
movabs rdx, 0x641a32385fd94f1c
imul rdx, qword [0x14029c920]
add rdx, rcx
movabs rcx, 0x91652725bf752739
add rcx, rdx
add rcx, r14
mov rdx, rcx
mov rcx, rax
jmp 0x14002d61a
mov rdx, rax
call fcn.1400d883c
mov qword [rsi], r15
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movabs rcx, 0xb24f9035fa1fd540
imul rcx, qword [0x14029c870]
movabs r8, 0xeca6f6baa224e139
imul r8, qword [0x14029c878]
add r8, rcx
movabs rcx, 0xf2fc76380a18109c
add rcx, r8
cmp rdx, rcx
jne 0x14002d67b
mov rax, 0xffffffffffffffff
xor r15d, r15d
jmp 0x14002d40a
mov rcx, rax
call fcn.1400d87f8
jmp 0x14002d401
call fcn.14000318f
call fcn.14000327e
call fcn.1401aec6c
int3