Function at 0x1400ecd84
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
neg rsp
sub rsp, 0xffffffffffffff10
neg rsp
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 0x1400ecdf1
cmp rsi, qword [rcx + 0x6a0]
je 0x1400ecf87
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.140057000
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x2c15710a
add dword [rbx + 0x6b4], 0x4d25023
add dword [rbx + 0x6b4], 0x4859d653
xor dword [rbx + 0x6b4], 0x79419781
mov rcx, qword [rbx + 0x510]
mov rax, qword [rcx]
call qword [rax + 8]
lea r12, [rbx + 0x598]
mov qword [rbp - 0x39], rax
mov rcx, r12
lea rdx, [rbp - 0x39]
mov rsi, rax
call fcn.1400ebc2c
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.1400ff3a0
mov rdx, r14
mov rcx, rsi
call fcn.1400ff130
mov eax, dword [rbx + 0x518]
xor r13d, r13d
mov qword [rbp - 0x71], r13
mov r14d, r13d
movabs rdx, 0x73986564155cd5d7
add rdx, 0x29bdbfc5
sub rdx, 0xd092bcd
cmp eax, 1
jne 0x1400ed1b3
cmp edi, eax
jne 0x1400ecf92
mov rax, qword [0x140144018]
movabs r13, 0x127ae1606b5d5cef
xor r13, 0x4c3497c7
add r13, 0x7fffffff
xor r13, 0x45c8067
rol rax, 1
movabs r14, 0x5fed46b67a8f52ce
xor r14, 0x6f003df2
sub r14, 0x138f8b78
add r14, 0x7fffffff
add r14, 0x239fa28
add rax, r13
movabs r12, 0x10a1d467453e100f
xor r12, 0x650dedd9
add r12, 0x7fffffff
xor r12, 0x5b4953b1
xor rax, r14
movabs rdi, 0xeef06c551b086343
sub rdi, 0x122ff47a
add rdi, 0x23fa5bce
add rdi, 0x7fffffff
add rdi, 0x31de8f4b
add rax, r12
xor ecx, ecx
ror rax, 0x33
add rax, rdi
call rax
sub eax, dword [r15]
mov ecx, 0xde43a91
xor ecx, 0x70effbfe
sub ecx, 0x7d0bc16e
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov rax, qword [0x140144018]
rol rax, 1
add rax, r13
xor rax, r14
add rax, r12
ror rax, 0x33
add rax, rdi
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
xor r13d, r13d
jmp 0x1400ecfb1
inc dword [rcx + 0x6b4]
jmp 0x1400ece20
test edi, edi
jne 0x1400ecfb4
mov eax, 0x501ec5c7
sub eax, 0x31382e01
add eax, 0x27f08c16
xor eax, 0xc6d723dc
mov dword [rbp - 0x71], eax
mov dword [rbp - 0x6d], eax
mov al, byte [rbp + 0x77]
mov rcx, qword [rbp + 0x7f]
neg al
mov qword [rbp - 0x61], r13
sbb r14d, r14d
and r14d, 0x3ff80
test rcx, rcx
je 0x1400ecff2
call fcn.14008fd00
mov rcx, rax
test rax, rax
je 0x1400ecff2
mov rax, qword [rax]
call qword [rax + 0xb8]
mov qword [rbp - 0x61], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0x739865644c092c6d
xor rcx, 0x761e4f52
add rcx, 0x55679b8
sub rcx, 0xd5c7328
mov r12, qword [rbx + 0x540]
xor rax, rcx
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x29]
mov eax, dword [r15 + 4]
mov dword [rbp + 0x4f], eax
lea rdx, [r13 + 1]
mov eax, dword [r15]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x21]
mov qword [rbp - 0x29], rax
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
call fcn.140017ab0
xor r9d, r9d
mov edx, 0x528ef47f
sub edx, 0x352c0147
xor edx, 0x77cb9329
test r13, r13
je 0x1400ed0bf
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0x712f3642
sub r10d, 0x1aef7585
sub r10d, 0x4b67bedf
sub r10d, 0xad800df
movzx ecx, dx
ror edx, 8
and cx, r10w
xor cx, word [r12 + rdi]
mov word [rdi], cx
lea rdi, [rdi + 2]
sub r8, 1
jne 0x1400ed09f
mov word [rax + r13*2], r9w
lea ecx, [r14 + 0x80080]
mov rdi, qword [0x140144008]
movabs rax, 0x7843487e09c4b62d
add rax, 0x1e712222
add rax, 0x7fffffff
add rax, 0x1d58bbc7
mov rdx, qword [rbp - 0x29]
xor rdi, rax
ror rdi, 0x36
movabs rax, 0x5204bc9342faffc0
add rax, 0x2900e9f2
sub rax, 0x16594733
sub rdi, rax
xor r13d, r13d
mov rax, qword [rbp - 0x31]
mov r9d, 0x2052c075
xor r9d, 0x26123517
xor r9d, 0x19c74014
add r9d, 0x607a4a8a
mov qword [rsp + 0x58], r13
xor r8d, r8d
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x61]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x4f]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x69]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x6d]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x71]
ror rdi, 0x3e
mov dword [rsp + 0x20], eax
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x1400ed195
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400ed19a
call fcn.140099eb0
test r14, r14
je 0x1400ed41d
mov rdx, rsi
mov rcx, rbx
call fcn.1400ec910
jmp 0x1400ed35d
cmp eax, 2
jne 0x1400ed35d
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x140144080]
xor rcx, rdx
movabs rdx, 0x3d9790021831fd08
add rdx, 0x444e310b
xor rdx, 0x486513b2
add rdx, 0x7fffffff
xor rdx, 0xf1739d9
xor rax, rdx
movabs rdx, 0x744310df414fb28f
add rdx, 0x22f8a393
xor rdx, 0x1385bf05
add rdx, 0x2507a2f2
not rax
ror rax, 0x3b
xor rax, rdx
movabs rdx, 0x1a04d72a6a955b6d
sub rdx, 0x4a084f4c
add rdx, 0x3b654d7d
sub rax, rdx
movabs rdx, 0xf16031f97ee95c4b
sub rdx, 0x70f36f25
add rdx, 0x17a3c4e5
add rdx, 0x7fffffff
add rdx, 0xe2446be
rol rax, 0x11
add rax, rdx
lea rdx, [rbp - 0x59]
call rax
cmp edi, 1
jne 0x1400ed29e
mov eax, dword [rbp - 0x51]
sub eax, dword [r15]
sub eax, dword [rbp - 0x59]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov eax, dword [rbp - 0x4d]
sub eax, dword [r15 + 4]
sub eax, dword [rbp - 0x55]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x6d], eax
jmp 0x1400ed32f
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x1400ed2f7
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.1400f0d20
mov rcx, rdi
mov edx, dword [rax]
neg edx
add edx, 0xffffffb0
neg edx
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.1400f0d20
mov ecx, dword [rax + 4]
nop
add ecx, 0x52db2ea3
sub ecx, 0x52db2e7b
mov dword [rbp - 0x6d], ecx
jmp 0x1400ed32f
mov dword [rbp - 0x71], 0x5cb1245a
xor dword [rbp - 0x71], 0x14554fc8
sub dword [rbp - 0x71], 0x118e66ae
sub dword [rbp - 0x71], 0x375604d0
mov dword [rbp - 0x6d], 0x61feaf9f
sub dword [rbp - 0x6d], 0x3cb38a55
xor dword [rbp - 0x6d], 0x3cf6a938
sub dword [rbp - 0x6d], 0x19bd8c4a
mov edx, 0x4178060e
sub edx, 0x28c1c001
sub edx, 0x18b6406d
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rbx + rdx]
dec rdx
call fcn.1400fd400
mov rdx, rsi
mov rcx, rbx
call fcn.1400eda4c
mov rax, qword [rsi]
lea rdx, [rbp - 0x71]
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 0x1400ed632
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1400ed6e0
test al, al
jne 0x1400ed430
mov rdx, qword [0x140144010]
movabs rcx, 0xccdc361558dc45e3
add rcx, 0x1d471f72
sub rcx, 0x44a45654
add rdx, rcx
movabs rax, 0xeb5b9a225bec71c4
sub rax, 0x3894b1af
xor rax, 0x429d013
xor rdx, rax
mov rcx, r14
movabs rax, 0x65a9b64b2454af8d
add rax, 0x574cf44e
sub rax, 0x27bac8df
add rax, 0x403a1851
add rdx, rax
movabs rax, 0x3ac44bb04c9a5d60
add rax, 0x2d0a7954
sub rax, 0x1ea0c98f
add rax, 0x754a4954
xor rdx, rax
rol rdx, 0x36
call rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400ed7c0
mov rsi, r13
jmp 0x1400ed676
mov rax, qword [0x1401440a0]
movabs rcx, 0x9a87a4da1dca4878
sub rcx, 0x15e95c2a
add rcx, 0x857a50d
add rcx, 0x7fffffff
add rcx, 0x6a86620f
add rax, rcx
xor edx, edx
ror rax, 0xb
movabs rcx, 0x2ed0b81027bd1d22
xor rcx, 0x6bf05c12
add rcx, 0x7fffffff
sub rcx, 0x484c032e
not rax
mov r8d, 0x64fc7665
xor r8d, 0x58e92b87
sub r8d, 0x3c155ce3
sub rax, rcx
mov rcx, r14
not rax
lea r9d, [rdx + 2]
rol rax, 0x10
not rax
call rax
movabs rax, 0x7398656406c539f4
add rax, 0x214fef3e
add rax, 0x9fc409d
cmp qword [rbx + 0x760], rax
je 0x1400ed52b
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0x42cfaf941b4642a9
sub rcx, 0x17954285
xor rcx, 0x3a1177cd
add rcx, 0x7fffffff
xor rcx, 0x4e610616
mov dword [rbp - 0x41], eax
mov eax, dword [r15 + 4]
mov dword [rbp - 0x3d], eax
mov rax, qword [rbx + 0x770]
xor rax, rcx
mov rcx, r14
ror rax, 0x28
not rax
ror rax, 0xb
call rax
mov rdx, qword [0x1401440a8]
movabs rcx, 0x697a74d318e96e8e
add rcx, 0x14cfd200
xor rcx, 0x5338ab42
add rcx, 0x6d0aa485
add rdx, rcx
movabs rax, 0x77b3cb5d0c385725
add rax, 0x32481b50
add rax, 0x7fffffff
add rax, 0x270c1995
not rdx
mov rcx, r14
add rdx, rax
movabs rax, 0x371f69a9235725d1
sub rax, 0xe5f967b
add rax, 0x523c0e5b
add rax, 0x767952af
xor rdx, rax
movabs rax, 0x7c85c5570a44e83b
add rax, 0x71656941
add rax, 0x78ea2b85
add rdx, rax
call rdx
mov rax, qword [0x1401440b0]
movabs rcx, 0x41823ae4f7bfbf8
add rcx, 0x25e1b4b1
sub rcx, 0x5ebf3246
xor rcx, 0x5049c898
ror rax, 0x12
mov edx, 0x73ac40a
xor edx, 0x1fe6e0e7
sub edx, 0x18dc24e8
not rax
ror rax, 0x2c
sub rax, rcx
movabs rcx, 0xb42119722eda4614
add rcx, 0x349e0e60
sub rcx, 0x39eadb4d
add rcx, 0x7fffffff
add rcx, 0x1d66b0eb
ror rax, 0x24
add rax, rcx
mov rcx, r14
not rax
call rax
jmp 0x1400ed676
cmp eax, 2
jne 0x1400ed676
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x1400ed654
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
cmp byte [rbp + 0x77], r13b
je 0x1400ed676
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.1401066d0
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x1400ed6b3
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x1400ed6ba
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.140056fa0
jmp 0x1400ed6ba
lock add dword [rbx + 0x6b0], ecx
lea r11, [rsp + 0xf0]
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