Function at 0x14002f200
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x30
cmp qword [rcx + 0x38], 0
xchg r15, r15
mov rbp, rcx
jne 0x14002f505
mov qword [rcx + 0x38], rdx
xchg r11, r11
mov r9d, 0x7542671a
sub r9d, 0x1f525cd0
add r9d, 0x115fd397
sub r9d, 0x63f9ac64
mov dword [rsp - 0xc], edi
add r9d, 0x78b3ed1d
xor r9d, 0x7c0a1e8e
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x20]
xchg rdi, rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
lea rdi, [rcx + 0x90]
lea r8d, [r9 - 0xc]
mov r11, r11
lea rcx, [0x1400a3f20]
call fcn.14006d970
mov rdx, rax
mov rcx, rdi
mov dword [rsp - 0x24], 0x529c753a
call fcn.140068200
cmp qword [rsp + 0x28], 4
jbe 0x14002f2a9
mov dword [rsp - 0xc], 0x4e9bf892
mov rcx, qword [rsp + 0x20]
call fcn.140072210
mov rsi, qword [rdi + 8]
mov dword [rsp - 0x38], 0xc8ec7e2
cmp rsi, 4
jbe 0x14002f2c6
mov rdi, qword [rdi]
mov dword [rsp - 0x14], 0x2680d64
lea rcx, [rsi + 1]
mov eax, 0x2ad6c740
add eax, 0x4baee1e
mov dword [rsp - 0x30], 0x3ab8e557
xor eax, 0x7076059f
add eax, 0x143cf4e7
sub eax, 0x587ac46f
xor eax, 0x44552bc8
mov r12, r12
sub eax, 0x5ffccaef
mul rcx
pushf
xchg rsp, rsp
movabs rcx, 0xffffffff2949f7ff
add rcx, 0x30798d61
add rcx, 0x13e8c631
sub rcx, 0x5d24396a
mov dword [rsp - 0x2c], 0x7876f2b7
add rcx, 0x7fffffff
add rcx, 0x6f77edd9
popf
cmovo rax, rcx
mov dword [rsp - 0x38], 0x2c47637c
mov rcx, rax
call fcn.140072200
xor r9d, r9d
mov rbx, rax
mov dword [rsp - 0x20], edi
mov r8d, r9d
test rsi, rsi
je 0x14002f3d2
mov rdx, rax
mov dword [rsp - 0x40], ecx
sub rdi, rax
nop word [rax + rax]
movzx ecx, r8b
mov dword [rsp - 0x40], esi
lea rdx, [rdx + 2]
and cl, 3
mov eax, 0x66f71ffe
xchg r8, r8
sub eax, 0x18f5f92e
sub eax, 0x2e6f59ef
xor eax, 0xbd508c8
xchg r14, r14
add eax, 0x30a052ad
xor eax, 0xb75030f
xor eax, 0x1eb14bbc
shl cl, 3
mov dword [rsp - 0x30], esp
inc r8
sar eax, cl
movsx eax, al
mov dword [rsp - 0x20], 0x1ba8f498
xor ax, word [rdi + rdx - 2]
mov word [rdx - 2], ax
cmp r8, rsi
jb 0x14002f371
mov dword [rsp - 0x28], esp
mov word [rbx + rsi*2], r9w
lea rax, [0x14002f520]
mov qword [rbp + 0x48], rax
mov edx, 0x1c0d53a9
xchg rsp, rsp
xor edx, 0xff7b742
add edx, 0x4692c998
sub edx, 0x37b4d783
xchg r13, r13
xor edx, 0xf599c78
xor edx, 0x21f12d37
sub edx, 0xc6fe74f
mov rax, qword [rbp + 0x38]
mov dword [rsp - 0x34], 0x50bf9cc7
xor ecx, ecx
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x40], 0x34d64dfa
add dword [rbp + 0x40], 0x28477b82
mov dword [rsp - 0x3c], edi
sub dword [rbp + 0x40], 0x1697731a
sub dword [rbp + 0x40], 0x328ec3a1
xor dword [rbp + 0x40], 0x13f79291
xchg r8, r8
mov dword [rbp + 0x44], 0x1f2462e1
add dword [rbp + 0x44], 0x45407e47
xor dword [rbp + 0x44], 0x216e2d48
sub dword [rbp + 0x44], 0x1ce0729
mov dword [rsp - 0x14], ebp
sub dword [rbp + 0x44], 0x433cc534
mov rax, qword [0x1400a3110]
xor rax, qword [0x1400a2a90]
call rax
mov dword [rsp - 0x44], 0x7485126c
mov qword [rbp + 0x68], rax
xor ecx, ecx
mov rax, qword [0x1400a3480]
mov dword [rsp - 0x3c], 0x7c35ce42
xor rax, qword [0x1400a2a90]
call rax
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x40]
mov rsi, rsi
mov qword [rbp + 0x80], rbx
mov rax, qword [0x1400a3150]
xor rax, qword [0x1400a2a90]
call rax
mov dword [rsp - 0x40], 0x255e2dcc
test ax, ax
mov rcx, rbx
setne dil
mov r12, r12
call fcn.140072210
mov rsi, qword [rsp + 0x48]
movzx eax, dil
mov rdi, qword [rsp + 0x50]
xchg r13, r13
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
xchg r14, r14
ret
xor al, al
add rsp, 0x30
pop rbp
ret