Function at 0x14002f7d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x30
cmp qword [rcx + 0x38], 0
mov rbp, rcx
mov dword [rsp - 0x14], esp
jne 0x14002faba
mov qword [rcx + 0x38], rdx
mov r9d, 0x712ba548
xchg r15, r15
sub r9d, 0x2025b3e1
sub r9d, 0x49c48393
xor r9d, 0x2faa047e
xor r9d, 0xdd82601
xchg rsp, rsp
sub r9d, 0x25334f97
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x48], rsi
mov dword [rsp - 0x40], 0x3ff67454
mov qword [rsp + 0x50], rdi
lea rdi, [rcx + 0x90]
lea r8d, [r9 - 0xc]
mov rcx, rcx
lea rcx, [0x1400a5f50]
call fcn.14006f470
mov rdx, rax
mov rcx, rdi
mov dword [rsp - 0x14], esi
call fcn.140069f60
cmp qword [rsp + 0x28], 4
jbe 0x14002f875
mov rcx, qword [rsp + 0x20]
mov r12, r12
call fcn.140073d00
mov rsi, qword [rdi + 8]
cmp rsi, 4
jbe 0x14002f885
mov r8, r8
mov rdi, qword [rdi]
lea rcx, [rsi + 1]
mov eax, 0x532225d
add eax, 0x2a804d2b
xchg rdi, rdi
add eax, 0x2b74b532
sub eax, 0x478563f8
add eax, 0x2fefca61
xchg rbp, rbp
sub eax, 0x43918b21
mul rcx
pushf
movabs rcx, 0xffffffff7daa1f4b
mov dword [rsp - 0x1c], edi
sub rcx, 0x2a70accf
xor rcx, 0x44d02075
add rcx, 0x402cc482
xor rcx, 0x251d8ae2
mov rdi, rdi
sub rcx, 0x3aaee650
add rcx, 0x7fffffff
add rcx, 0x3da349e7
popf
mov dword [rsp - 0xc], 0x2ed577f8
cmovo rax, rcx
mov rcx, rax
call fcn.140073cf0
mov dword [rsp - 0x18], 0x2010c520
xor r10d, r10d
mov rbx, rax
mov r9d, r10d
test rsi, rsi
mov dword [rsp - 0x38], 0x1d74ae93
je 0x14002f990
mov r8, rax
sub rdi, rax
mov dword [rsp - 0x18], 0x6a1b5c
nop word [rax + rax]
movzx ecx, r9b
lea r8, [r8 + 2]
and cl, 3
mov rdx, rdx
mov edx, 0x12328c4b
add edx, 0x2a95104
add edx, 0x45db0784
add edx, 0x19287741
mov dword [rsp - 0x10], edx
xor edx, 0x6b8c0291
shl cl, 3
inc r9
sar edx, cl
mov r9, r9
movsx eax, dl
xor ax, word [rdi + r8 - 2]
mov word [r8 - 2], ax
cmp r9, rsi
xchg r10, r10
jb 0x14002f940
mov word [rbx + rsi*2], r10w
lea rax, [0x14002faf0]
xchg r9, r9
mov qword [rbp + 0x48], rax
mov edx, 0x6559de86
sub edx, 0x2ecf069c
add edx, 0x4446f228
xchg r15, r15
sub edx, 0x2d44a0b1
sub edx, 0x4d8caa61
mov rax, qword [rbp + 0x38]
mov dword [rsp - 0x34], 0x7c5da945
xor ecx, ecx
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x40], 0x1e5c0687
mov dword [rsp - 0x40], edx
sub dword [rbp + 0x40], 0x83745ef
xor dword [rbp + 0x40], 0x51fd721e
add dword [rbp + 0x40], 0x2dd67a79
sub dword [rbp + 0x40], 0x72bb6c30
mov r8, r8
add dword [rbp + 0x40], 0x2ba884fc
sub dword [rbp + 0x40], 0x2e9d457b
mov dword [rbp + 0x44], 0x54de172f
sub dword [rbp + 0x44], 0x31eadcb7
xchg r12, r12
xor dword [rbp + 0x44], 0x74d6117d
xor dword [rbp + 0x44], 0x556efaab
sub dword [rbp + 0x44], 0x34bd1ab
mov rbp, rbp
mov rax, qword [0x1400a5140]
xor rax, qword [0x1400a4ab0]
call rax
xchg rsi, rsi
mov qword [rbp + 0x68], rax
xor ecx, ecx
mov rax, qword [0x1400a54b0]
mov r11, r11
xor rax, qword [0x1400a4ab0]
call rax
mov qword [rbp + 0x70], rax
mov rsi, rsi
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x80], rbx
mov rax, qword [0x1400a5180]
xchg rdx, rdx
xor rax, qword [0x1400a4ab0]
call rax
test ax, ax
mov rcx, rbx
mov dword [rsp - 0x10], ebx
setne dil
call fcn.140073d00
mov rsi, qword [rsp + 0x48]
movzx eax, dil
mov dword [rsp - 0x30], edx
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rbp
mov r15, r15
ret
xor al, al
add rsp, 0x30
pop rbp
mov r10, r10
ret