Function at 0x14002ea10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
add rsp, 0xffffffffffffff00
mov rax, qword gs:[0x30]
mov edi, r9d
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov rsi, qword [rax + 0x48]
lock inc dword [rcx + 0x6b0]
je 0x14002ea78
cmp rsi, qword [rcx + 0x6a0]
je 0x14002ec22
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140053f20
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x228af39d
add dword [rbx + 0x6b4], 0x4959f467
sub dword [rbx + 0x6b4], 0x6be4e803
mov rcx, qword [rbx + 0x510]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rbp - 0x49]
mov qword [rbp - 0x49], rax
lea rcx, [rbx + 0x598]
mov rsi, rax
call fcn.14002d490
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.140045c30
mov rdx, r14
mov rcx, rsi
call fcn.1400459d0
movzx r13d, byte [rbp + 0x77]
xor eax, eax
mov r14d, eax
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0x518]
movabs rdx, 0x2d4c5ee57c1dae86
xor rdx, 0x1829314a
xor rdx, 0x2e46a377
sub rdx, 0x8bc2c14
cmp eax, 1
jne 0x14002eec1
cmp edi, eax
jne 0x14002ec2d
mov rax, qword [0x14049f148]
movabs rcx, 0x728ee0f135218d64
add rcx, 0x49215e88
add rcx, 0x14bde3be
add rax, rcx
movabs r12, 0x9022acc836c6335e
sub r12, 0x34114237
add r12, 0x7fffffff
xor r12, 0x492234f1
ror rax, 0x3a
movabs r14, 0x9f8572d463e90f9
xor r14, 0x57c91dad
add r14, 0x3f405976
add r14, 0xd05d92c
add rax, r12
movabs rdi, 0x24bc73b43d6fdaae
sub rdi, 0x27bd583e
add rdi, 0x3ee298d9
sub rdi, 0x16b45011
xor rax, r14
xor ecx, ecx
rol rax, 0x2f
xor rax, rdi
rol rax, 0x23
call rax
sub eax, dword [r15]
movabs rcx, 0x728ee0f10e378659
add rcx, 0x56fab907
sub rcx, 0x46665074
add rcx, 0x7434e0be
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x60], eax
mov rax, qword [0x14049f148]
add rax, rcx
mov ecx, 0x2f62fa81
add ecx, 0x4135d050
sub ecx, 0x7098cad0
ror rax, 0x3a
add rax, r12
xor rax, r14
rol rax, 0x2f
xor rax, rdi
rol rax, 0x23
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x7d], eax
jmp 0x14002ec62
inc dword [rcx + 0x6b4]
jmp 0x14002ea9d
test edi, edi
jne 0x14002ec62
mov dword [rsp + 0x60], 0x77b1b2b5
xor dword [rsp + 0x60], 0x1f21dbc9
add dword [rsp + 0x60], 0x176f9684
mov dword [rbp - 0x7d], 0x43b88ed8
sub dword [rbp - 0x7d], 0x3cb1d69e
xor dword [rbp - 0x7d], 0x8706b83a
mov rcx, qword [rbp + 0x7f]
test r13b, r13b
pushf
mov eax, 0x6dc9e69f
sub eax, 0x4557be80
xor eax, 0x789bf6d9
sub eax, 0x50e1de46
popf
pushf
mov r12d, 0x17557ace
xor r12d, 0x37553071
sub r12d, 0x11f36a92
sub r12d, 0xe00e02d
popf
cmove r12d, eax
xor edi, edi
mov qword [rbp - 0x71], rdi
test rcx, rcx
je 0x14002ecd1
call fcn.140038060
mov rcx, rax
test rax, rax
je 0x14002ecd1
mov rax, qword [rax]
call qword [rax + 0xb8]
mov qword [rbp - 0x71], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0x2d4c5ee5490e1f2b
add rcx, 0x244f8fdd
sub rcx, 0x2ba79e61
mov r14, qword [rbx + 0x540]
xor rax, rcx
mov qword [rbp - 0x41], rax
lea rcx, [rbp - 0x31]
mov eax, dword [r15 + 4]
mov dword [rbp + 0x4f], eax
lea rdx, [r13 + 1]
mov eax, dword [r15]
mov dword [rbp - 0x79], eax
lea rax, [rbp - 0x29]
mov qword [rbp - 0x31], rax
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.14000ed30
mov edx, 0xc25da86
add edx, 0x52d1b447
xor edx, 0x29de2e58
xor edx, 0x73dac814
test r13, r13
je 0x14002ed9f
mov rdi, rax
sub r14, rax
mov r8, r13
mov r9d, 0x4376b1de
add r9d, 0x33a4e0a9
sub r9d, 0x4e12f070
sub r9d, 0x2908a118
nop dword [rax]
movzx ecx, dx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xor cx, word [r14 + rdi - 2]
mov word [rdi - 2], cx
sub r8, 1
jne 0x14002ed7d
xor edx, edx
movabs rcx, 0xa207e98006c3797
add rcx, 0x6e80a308
xor rcx, 0x5007d7d7
mov word [rax + r13*2], dx
mov r9d, 0x5948a6db
sub r9d, 0x1d050774
add r9d, 0x43be6099
mov rax, qword [rbp - 0x41]
xor r8d, r8d
mov rdi, qword [0x14049f138]
mov qword [rsp + 0x58], rdx
xor rdi, rcx
mov qword [rsp + 0x50], rax
movabs rcx, 0x743a572c08d361fb
add rcx, 0x4fd35d7d
sub rcx, 0x4c8928cc
add rcx, 0x60314dc1
mov rax, qword [rbp - 0x71]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rbp - 0x31]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x4f]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x79]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x7d]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x60]
ror rdi, 0x10
add rdi, rcx
mov dword [rsp + 0x20], eax
not rdi
mov ecx, r12d
call rdi
mov rcx, qword [rbp - 0x31]
mov r14, rax
lea rax, [rbp - 0x29]
cmp rcx, rax
jne 0x14002ee7c
lea rdi, [rbp - 0x29]
xor eax, eax
mov ecx, 0x534bab1
add ecx, 0x4ad00b88
xor ecx, 0x5004c609
rep stosb byte [rdi], al
jmp 0x14002ee81
call fcn.140096230
test r14, r14
je 0x14002f0ff
mov rcx, qword [rbx + 0x510]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
mov qword [rbp - 0x39], rax
mov rdx, qword [rax]
call qword [rdx + 0x10]
lea rcx, [rbx + 0x658]
lea rdx, [rbp - 0x39]
call fcn.14002d580
movzx r13d, byte [rbp + 0x77]
jmp 0x14002f04c
cmp eax, 2
jne 0x14002f04c
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x14049f1b0]
xor rcx, rdx
rol rax, 0x30
movabs rdx, 0x1aa979e542cca1d9
sub rdx, 0xb5a1ffe
xor rdx, 0x4a6d6646
add rdx, 0x7fffffff
sub rdx, 0x4cf52f9e
xor rax, rdx
movabs rdx, 0x3a2f352766712437
add rdx, 0x174062a7
sub rdx, 0x628a300
sub rdx, 0x2ebbdcb6
rol rax, 0x20
add rax, rdx
movabs rdx, 0xdb506bf801bd1828
add rdx, 0x241b74d5
xor rdx, 0x5a8d2a65
sub rdx, 0x159fcb20
ror rax, 0x23
add rax, rdx
lea rdx, [rbp - 0x69]
call rax
cmp edi, 1
jne 0x14002ef8c
mov eax, dword [rbp - 0x61]
sub eax, dword [r15]
sub eax, dword [rbp - 0x69]
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x60], eax
mov eax, dword [rbp - 0x5d]
sub eax, dword [r15 + 4]
sub eax, dword [rbp - 0x65]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x7d], eax
jmp 0x14002f018
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [rbx + 0x598]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x14002efe3
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.140038fe0
mov rcx, rdi
mov edx, dword [rax]
neg edx
add edx, 0xffffffb0
neg edx
mov dword [rsp + 0x60], edx
lea rdx, [rbp + 0xf]
call fcn.140038fe0
mov ecx, dword [rax + 4]
neg ecx
add ecx, 0xffffffd8
neg ecx
mov dword [rbp - 0x7d], ecx
jmp 0x14002f018
mov dword [rsp + 0x60], 0xc08b7eb
add dword [rsp + 0x60], 0x206b4a61
xor dword [rsp + 0x60], 0x679f3798
sub dword [rsp + 0x60], 0x4beb35c0
mov dword [rbp - 0x7d], 0x268c3e8d
add dword [rbp - 0x7d], 0x9d5d1d5
sub dword [rbp - 0x7d], 0x3062103a
mov edx, 0x146c4ce6
add edx, 0x395d8593
xor edx, 0x5c4d3364
xor edx, 0x1184e4bd
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rdx + rbx]
dec rdx
call fcn.140043f20
mov rdx, rsi
mov rcx, rbx
call fcn.14002f7e0
mov rax, qword [rsi]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [rax + 0x38]
mov rax, qword [rsi]
mov rdx, r15
mov rcx, rsi
call qword [rax + 0x40]
mov eax, dword [rbx + 0x518]
cmp eax, 1
jne 0x14002f381
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.14002f450
test al, al
jne 0x14002f113
mov rdx, qword [0x14049f140]
movabs rcx, 0x797b261a11361ad7
xor rcx, 0x32e8e6ad
sub rcx, 0x7ef42d0
xor rcx, 0x4894bf86
add rdx, rcx
movabs rax, 0x4f3aa11416998a6
xor rax, 0x1016c923
sub rax, 0x143b26e2
add rax, 0x47ee35b8
xor rdx, rax
mov rcx, r14
ror rdx, 0x34
movabs rax, 0x2a23dbc64b64230a
add rax, 0x1dfb000e
add rax, 0x7fffffff
sub rax, 0x461988e4
add rdx, rax
ror rdx, 0x13
call rdx
mov rdx, rsi
mov rcx, rbx
call fcn.14002f550
xor edi, edi
mov esi, edi
jmp 0x14002f3c6
mov rax, qword [0x14049f1d0]
movabs rcx, 0x3a15c7b333738119
sub rcx, 0x1e633a56
add rcx, 0x7fffffff
add rcx, 0x3cd4001e
xor rax, rcx
mov r9d, 0x6ae2ce26
sub r9d, 0x14acbb16
xor r9d, 0x35501593
sub r9d, 0x63660681
movabs rcx, 0x5aafb54c6d4c0492
sub rcx, 0x48d89d61
add rcx, 0x32d97d89
mov r8b, 0x64
xor r8b, 0x7e
add r8b, 0x5f
add r8b, 0x86
sub rax, rcx
xor edx, edx
not rax
movabs rcx, 0x531166c029a9e5d4
add rcx, 0x158e67d7
sub rcx, 0x2e757145
add rcx, 0x4ca855fd
sub rax, rcx
mov rcx, r14
ror rax, 0x29
not rax
rol rax, 0x34
call rax
movabs rax, 0x2d4c5ee567a2dde1
xor rax, 0x8210e01
sub rax, 0x16c00a38
sub rax, 0x170db901
xor edi, edi
cmp qword [rbx + 0x760], rax
je 0x14002f278
mov eax, dword [r15]
lea rdx, [rbp - 0x59]
mov dword [rbp - 0x51], eax
movabs rcx, 0x767dc1e1124de9b7
sub rcx, 0xe09a152
add rcx, 0x7fffffff
add rcx, 0x6feaefcc
mov eax, dword [r15 + 4]
mov dword [rbp - 0x4d], eax
mov rax, qword [rbx + 0x770]
sub rax, rcx
mov qword [rbp - 0x59], rdi
ror rax, 0x23
movabs rcx, 0x2ba526be51206472
sub rcx, 0x1a3f54e2
xor rcx, 0x1d4b8feb
add rcx, 0x58e57d46
not rax
add rax, rcx
movabs rcx, 0x785973e00f9e9fcb
add rcx, 0x4ff95475
add rcx, 0x7fffffff
add rcx, 0x10dbfd8a
rol rax, 0x16
not rax
sub rax, rcx
mov rcx, r14
call rax
mov rax, qword [0x14049f1d8]
movabs rcx, 0x5fb71cd82497753f
add rcx, 0x39b3f475
xor rcx, 0x383e282b
xor rcx, 0x5257445e
not rax
rol rax, 0x34
add rax, rcx
movabs rcx, 0x6ddfcf56b2e9812
xor rcx, 0x416c79ef
add rcx, 0x56c16491
rol rax, 0x1f
xor rax, rcx
movabs rcx, 0x3f85a02b3e7ca3eb
add rcx, 0x25f4a762
sub rcx, 0x2bce86fd
add rcx, 0x31bb0eb1
add rax, rcx
mov rcx, r14
ror rax, 0x36
call rax
mov rax, qword [0x14049f1e0]
movabs rcx, 0x4ba7bbb8006ee698
add rcx, 0x32470ede
add rcx, 0x7fffffff
sub rcx, 0x126497e2
xor rax, rcx
mov edx, 0x294f8214
xor edx, 0x742f3183
sub edx, 0x5d60b392
not rax
movabs rcx, 0x7ee7d2c93b5f0b57
xor rcx, 0x2e63e49d
add rcx, 0x47d83e11
add rcx, 0x5639f9d5
add rax, rcx
movabs rcx, 0x34d956a002b07811
xor rcx, 0x30848ec3
xor rcx, 0x5541efda
sub rcx, 0x5d03adab
rol rax, 0x33
xor rax, rcx
mov rcx, r14
call rax
jmp 0x14002f3c6
cmp eax, 2
jne 0x14002f3c4
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x14002f3a3
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test r13b, r13b
je 0x14002f3c4
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.140048030
xor edi, edi
sub dword [rbx + 0x6b4], 1
jne 0x14002f417
mov qword [rbx + 0x6a0], rdi
mov ecx, 0x32654892
add ecx, 0x29284de2
sub ecx, 0x4cc434aa
add ecx, 0xf1369e35
lock xadd dword [rbx + 0x6b0], ecx
dec ecx
cmp ecx, 0xffffffff
je 0x14002f41e
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.140053ee0
jmp 0x14002f41e
lock dec dword [rbx + 0x6b0]
lea r11, [rsp + 0x100]
mov rax, rsi
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret