Function at 0x14002de60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r15
xchg r8, r8
sub rsp, 0x20
mov rsi, rcx
mov qword [rsp + 0x48], rdi
mov dword [rsp - 0xc], 0x5a592569
mov rcx, qword [rcx + 0x168]
xor r15d, r15d
test rcx, rcx
je 0x14002deb7
mov dword [rsp - 0x30], 0x45b3c61d
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
jg 0x14002dead
mov dword [rsp - 0x28], 0x57b91648
mov rax, qword [rcx]
lea edx, [r15 + 1]
call qword [rax]
mov qword [rsi + 0x168], r15
mov rdx, rdx
mov rcx, qword [rsi + 0x170]
test rcx, rcx
je 0x14002df15
mov dword [rsp - 0x34], ecx
dec dword [rcx + 8]
cmp dword [rcx + 8], r15d
jg 0x14002df0e
mov rax, qword [rcx]
mov dword [rsp - 0x44], ebx
mov edx, 0x4a19602a
xor edx, 0x1c8804c
sub edx, 0x2cd66201
mov dword [rsp - 0x40], 0x4472542e
xor edx, 0x5a74745c
xor edx, 0x122b8e53
add edx, 0x28b8c383
mov dword [rsp - 0x44], edi
sub edx, 0x7f5d47ec
call qword [rax]
mov qword [rsi + 0x170], r15
mov r8, qword [rsi + 0x28]
mov dword [rsp - 0x20], ebp
test r8, r8
je 0x14002df63
mov rax, qword [0x1400a54a0]
mov dword [rsp - 0xc], ebp
mov edx, 0x7f4f7010
sub edx, 0x7b3f5e28
add edx, 0x5d5e074a
xor edx, 0x197ced80
mov dword [rsp - 0x20], 0x14cbe696
xor edx, 0x87ed0b4e
xor rax, qword [0x1400a4ab0]
mov rcx, qword [rsi + 0x30]
mov dword [rsp - 0x44], esp
call rax
mov rax, qword [0x1400a4d70]
lea rcx, [rsi + 0x140]
xor rax, qword [0x1400a4ab0]
xchg r9, r9
mov qword [rsp + 0x40], rbp
call rax
mov rax, qword [rsi + 0xb8]
mov dword [rsp - 0x20], 0x6d6569fc
mov rbx, qword [rsi + 0xb0]
test rax, rax
je 0x14002e007
lea rbp, [rbx + rax*8]
mov dword [rsp - 0x38], esp
cmp rbx, rbp
je 0x14002e007
nop dword [rax]
mov dword [rsp - 0x2c], edi
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002dffa
mov dword [rsp - 0x1c], ebp
mov rax, qword [rcx]
mov edx, 0x64cf5b6a
xor edx, 0x25990710
mov dword [rsp - 0x28], 0x58700d51
xor edx, 0x15293c8b
sub edx, 0x1f1686a7
add edx, 0x3b2a1566
sub edx, 0x7049a432
xchg r13, r13
sub edx, 0x494b7d
call qword [rax]
add rbx, 8
cmp rbx, rbp
mov dword [rsp - 0x2c], edi
jne 0x14002dfb5
mov rax, qword [rsi + 0x108]
mov rbx, qword [rsi + 0x100]
mov qword [rsp + 0x50], r14
mov dword [rsp - 0xc], ecx
test rax, rax
je 0x14002e08e
lea r14, [rbx + rax*8]
mov dword [rsp - 0x3c], esp
cmp rbx, r14
je 0x14002e08e
nop dword [rax]
mov rbp, qword [rbx]
xchg r9, r9
test rbp, rbp
je 0x14002e082
mov rcx, rbp
call fcn.14004eae0
mov dword [rsp - 0x18], 0x50fe085d
mov edx, 0x7f03bb2e
sub edx, 0x4c55ab7b
add edx, 0x30aadcdb
mov dword [rsp - 0x38], esp
xor edx, 0x1672a93c
xor edx, 0x1e07e0f2
sub edx, 0x6b2d8a28
mov rcx, rbp
mov dword [rsp - 0x44], edi
call fcn.140073d00
add rbx, 8
cmp rbx, r14
xchg rdx, rdx
jne 0x14002e034
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
mov dword [rsp - 0x14], 0x6a952640
je 0x14002e0d0
mov rax, qword [rcx]
mov edx, 0x3d904786
xchg r12, r12
sub edx, 0x371b11e2
add edx, 0x72e19f3e
xor edx, 0x4d36734c
xchg r8, r8
xor edx, 0x630b7247
sub edx, 0x576bd5e8
call qword [rax]
cmp dword [rsi + 0x20], 1
mov dword [rsp - 0x40], 0x356e5d29
jne 0x14002e243
cmp qword [rsi + 0x98], r15
je 0x14002e243
mov dword [rsp - 0x3c], 0x7888f905
lea r14, [rsi + 0x90]
mov rbp, qword [r14 + 8]
cmp rbp, 4
jbe 0x14002e10f
mov dword [rsp - 0x40], edi
mov r14, qword [r14]
lea rcx, [rbp + 1]
mov eax, 0x630c0bc8
sub eax, 0x3e087037
mov dword [rsp - 0x18], 0x6b8b08c6
sub eax, 0x1488a30f
add eax, 0x31f87af5
sub eax, 0x42737375
mov r10, r10
mul rcx
pushf
movabs rcx, 0xffffffff4ecad080
mov dword [rsp - 0x40], 0x68e92ff8
sub rcx, 0x4d5461a4
xor rcx, 0x7f7d7c37
sub rcx, 0x4a2719f
xor rcx, 0x24573e2d
mov r8, r8
sub rcx, 0x5b38dd9
add rcx, 0x7fffffff
xor rcx, 0x2873ee78
mov dword [rsp - 0xc], 0x5e0ef85a
popf
cmovo rax, rcx
mov rcx, rax
xchg r14, r14
call fcn.140073cf0
mov rbx, rax
mov r9, r15
mov dword [rsp - 0x24], ebp
test rbp, rbp
je 0x14002e219
mov r8, rax
mov rsp, rsp
sub r14, rax
nop word [rax + rax]
movzx ecx, r9b
mov dword [rsp - 0x28], 0x3d03bd1e
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x3bb722a9
sub edx, 0x141f3d64
mov dword [rsp - 0x18], ebp
sub edx, 0x10c28540
xor edx, 0x9e68ad2
sub edx, 0x6e08c52
shl cl, 3
xchg rbp, rbp
inc r9
sar edx, cl
movsx eax, dl
xchg rsi, rsi
xor ax, word [r14 + r8 - 2]
mov word [r8 - 2], ax
cmp r9, rbp
mov dword [rsp - 0x30], 0x4c1c6aec
jb 0x14002e1bc
mov word [rbx + rbp*2], r15w
mov rcx, rbx
mov rax, qword [0x1400a5190]
mov r12, r12
xor rax, qword [0x1400a4ab0]
mov rdx, qword [rsi + 0x38]
call rax
mov rcx, rbx
mov r15, r15
call fcn.140073d00
mov rax, qword [0x1400a4d80]
lea rcx, [rsi + 0x140]
xor rax, qword [0x1400a4ab0]
mov r14, r14
call rax
cmp qword [rsi + 0x188], 4
mov r14, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
xchg rsp, rsp
jbe 0x14002e280
mov rcx, qword [rsi + 0x180]
call fcn.140073d00
mov rcx, qword [rsi + 0x178]
mov dword [rsp - 0x34], 0x4f159c19
test rcx, rcx
je 0x14002e2cc
mov rax, qword [rcx]
mov dword [rsp - 0x30], ecx
mov edx, 0x2cb6141a
xor edx, 0x79e58ddf
sub edx, 0x4a4e1231
add edx, 0x2fb068b3
xchg r10, r10
sub edx, 0xaeff929
sub edx, 0x2fc5f71d
call qword [rax + 0x10]
mov dword [rsp - 0x1c], 0x7d89d5e9
mov rax, qword [0x1400a4d60]
lea rcx, [rsi + 0x140]
xor rax, qword [0x1400a4ab0]
call rax
mov dword [rsp - 0xc], 0x3d0a660b
mov rcx, qword [rsi + 0x100]
mov rdi, qword [rsp + 0x48]
test rcx, rcx
mov dword [rsp - 0x28], 0x5120a2f2
je 0x14002e310
call fcn.140073d00
mov qword [rsi + 0x100], r15
cmp qword [rsi + 0xf8], 4
xchg r11, r11
jbe 0x14002e329
mov rcx, qword [rsi + 0xf0]
call fcn.140073d00
cmp qword [rsi + 0xe8], 4
xchg rsi, rsi
jbe 0x14002e346
mov rcx, qword [rsi + 0xe0]
call fcn.140073d00
mov dword [rsp - 0x28], esp
cmp qword [rsi + 0xd8], 4
jbe 0x14002e364
mov rcx, qword [rsi + 0xd0]
mov dword [rsp - 0x20], 0x48950c75
call fcn.140073d00
mov rcx, qword [rsi + 0xb0]
test rcx, rcx
xchg r11, r11
je 0x14002e382
call fcn.140073d00
mov qword [rsi + 0xb0], r15
xchg rcx, rcx
cmp qword [rsi + 0x98], 4
jbe 0x14002e39c
mov rcx, qword [rsi + 0x90]
mov dword [rsp - 0x38], ecx
call fcn.140073d00
cmp qword [rsi], r15
je 0x14002e414
mov rbx, r15
xchg r10, r10
cmp qword [rsi + 8], rbx
jbe 0x14002e401
nop
xchg rdx, rdx
mov rax, qword [rsi]
mov rcx, qword [rax + rbx*8]
test rcx, rcx
je 0x14002e3f5
mov dword [rsp - 0x24], ebx
mov rax, qword [rcx]
mov edx, 0x77584f2c
sub edx, 0x456579df
sub edx, 0xa6a943f
mov dword [rsp - 0x3c], 0x6114a8e5
sub edx, 0x159911e2
add edx, 0x69d95564
xor edx, 0x7bc88491
xchg rdx, rdx
call qword [rax + 0x10]
inc rbx
cmp rbx, qword [rsi + 8]
xchg r12, r12
jb 0x14002e3b1
mov rcx, qword [rsi]
call fcn.140073d00
mov dword [rsp - 0x1c], 0x7ec8af94
mov qword [rsi], r15
add rsp, 0x20
pop r15
xchg r8, r8
pop rsi
pop rbx
ret