Function at 0x14002cda8
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rax, qword [0x14007bec0]
mov qword [rsp + 0x48], rax
cmp dword [r9], 0
mov rbx, r9
mov rbp, r8
mov rdi, rcx
je 0x14002cdde
mov eax, 0xfffffffb
jmp 0x14002d101
mov r8d, dword [r9 + 4]
cmp r8d, 2
je 0x14002cdf9
cmp dword [r9 + 8], 0
jne 0x14002cdf9
mov eax, 0xfffffffa
jmp 0x14002d101
test rcx, rcx
je 0x14002d0ff
test edx, edx
jle 0x14002d0ff
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
test r8d, r8d
mov esi, eax
mov dword [rsp + 0x20], eax
je 0x14002d0d3
dec r8d
je 0x14002d048
dec r8d
je 0x14002ce3c
mov eax, 0xffffffff
jmp 0x14002d101
test esi, esi
mov eax, dword [r9 + 0xc]
mov r12d, esi
mov dword [rsp + 0x28], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x2c], eax
mov eax, dword [r9 + 0x14]
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x18]
mov dword [rsp + 0x34], eax
jle 0x14002d0f8
mov r14b, byte [rsp + 0x37]
mov r15b, byte [rsp + 0x36]
xor r13d, r13d
mov eax, dword [rsp + 0x28]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x2c]
mov r8, rbx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x44], eax
call fcn.14002d428
mov r8b, byte [rsp + 0x2a]
mov dl, byte [rsp + 0x2b]
mov r10b, byte [rsp + 0x29]
mov al, byte [rsp + 0x28]
add al, al
mov cl, r10b
shr cl, 7
or cl, al
mov al, r10b
mov byte [rsp + 0x28], cl
add al, al
mov cl, r8b
shr cl, 7
or cl, al
mov al, r8b
mov r8b, byte [rsp + 0x2c]
mov byte [rsp + 0x29], cl
add al, al
mov cl, dl
shr cl, 7
or cl, al
mov al, dl
mov dl, byte [rsp + 0x2d]
mov byte [rsp + 0x2a], cl
add al, al
mov cl, r8b
shr cl, 7
or cl, al
mov al, r8b
mov r8b, byte [rsp + 0x2e]
mov byte [rsp + 0x2b], cl
add al, al
mov cl, dl
shr cl, 7
or cl, al
mov al, dl
mov dl, byte [rsp + 0x2f]
mov byte [rsp + 0x2c], cl
add al, al
mov cl, r8b
shr cl, 7
or cl, al
mov al, r8b
mov r8b, byte [rsp + 0x30]
mov byte [rsp + 0x2d], cl
add al, al
mov cl, dl
shr cl, 7
or cl, al
mov al, dl
mov dl, byte [rsp + 0x31]
mov byte [rsp + 0x2e], cl
add al, al
mov cl, r8b
shr cl, 7
or cl, al
mov al, r8b
mov r8b, byte [rsp + 0x32]
mov byte [rsp + 0x2f], cl
add al, al
mov cl, dl
shr cl, 7
or cl, al
mov al, dl
mov byte [rsp + 0x30], cl
mov cl, r8b
add al, al
shr cl, 7
or cl, al
mov dl, byte [rsp + 0x33]
mov byte [rsp + 0x31], cl
mov al, r8b
mov r8b, byte [rsp + 0x34]
add al, al
mov cl, dl
shr cl, 7
mov r10b, r15b
mov r9d, r13d
or cl, al
mov al, dl
mov dl, byte [rsp + 0x35]
add al, al
mov byte [rsp + 0x32], cl
mov r11b, dl
mov cl, r8b
shr r11b, 7
and r9d, 7
shr cl, 7
shr r10b, 7
or cl, al
mov al, r8b
add al, al
mov byte [rsp + 0x33], cl
mov cl, r14b
or r11b, al
mov al, dl
shr cl, 7
add al, al
mov byte [rsp + 0x34], r11b
or r10b, al
mov al, r15b
mov r15b, cl
add al, al
mov ecx, 7
mov byte [rsp + 0x35], r10b
or r15b, al
sub cl, r9b
mov eax, r13d
cdq
inc r13d
mov byte [rsp + 0x36], r15b
and edx, 7
add eax, edx
sar eax, 3
movsxd r8, eax
mov al, r14b
mov dl, byte [r8 + rdi]
add al, al
shr dl, cl
mov cl, r9b
and dl, 1
mov r14b, dl
or r14b, al
mov al, byte [rsp + 0x38]
and al, 0x80
mov byte [rsp + 0x37], r14b
shr al, cl
xor byte [r8 + rbp], al
cmp r13d, 0x80
jl 0x14002ce74
dec r12d
test r12d, r12d
jg 0x14002ce71
jmp 0x14002d0f8
test esi, esi
mov r13d, dword [r9 + 0xc]
mov r14d, dword [r9 + 0x10]
mov r15d, dword [r9 + 0x14]
mov eax, dword [r9 + 0x18]
mov r12d, esi
jle 0x14002d0f8
mov esi, eax
lea rdx, [rsp + 0x38]
mov r8, rbx
mov rcx, rdi
call fcn.14002d888
mov r11d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
xor r11d, r13d
mov r13d, dword [rdi]
xor edx, r14d
mov dword [rbp], r11d
mov r14d, dword [rdi + 4]
xor ecx, r15d
xor eax, esi
mov dword [rbp + 4], edx
mov r15d, dword [rdi + 8]
mov dword [rbp + 8], ecx
mov esi, dword [rdi + 0xc]
dec r12d
mov dword [rbp + 0xc], eax
add rbp, 0x10
add rdi, 0x10
test r12d, r12d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x44], eax
jg 0x14002d065
mov esi, dword [rsp + 0x20]
jmp 0x14002d0f8
test eax, eax
mov r12d, eax
jle 0x14002d0f8
mov r8, rbx
mov rdx, rbp
mov rcx, rdi
call fcn.14002d888
dec r12d
add rdi, 0x10
add rbp, 0x10
test r12d, r12d
jg 0x14002d0da
shl esi, 7
mov eax, esi
jmp 0x14002d101
xor eax, eax
mov rcx, qword [rsp + 0x48]
call fcn.140033cf0
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret