Function at 0x1400ecfe4
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]
sub rsp, 0xf0
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 0x1400ed04b
cmp rsi, qword [rcx + 0x6a0]
je 0x1400ed18c
mov rcx, qword [rcx + 0x6a8]
xor r8d, r8d
xor edx, edx
call fcn.1400565b0
mov qword [rbx + 0x6a0], rsi
mov dword [rbx + 0x6b4], 0x574f79d4
xor dword [rbx + 0x6b4], 0x7f3385e3
xor dword [rbx + 0x6b4], 0x287cfc36
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.1400ebf6c
mov edx, dword [rbp + 0x6f]
mov rcx, rsi
call fcn.1400ff4f0
mov rdx, r14
mov rcx, rsi
call fcn.1400ff290
mov eax, dword [rbx + 0x518]
xor r13d, r13d
mov qword [rbp - 0x71], r13
mov r14d, r13d
movabs rdx, 0x6dfa0d906aecfc67
sub rdx, 0xa6a0df0
sub rdx, 0x41e4ee74
cmp eax, 1
jne 0x1400ed3f0
cmp edi, eax
jne 0x1400ed197
mov rax, qword [0x140143018]
movabs r12, 0xe47e344d40fdf452
add r12, 0x78800ba
xor r12, 0x59be9484
not rax
movabs r14, 0x2ebbc24779af1257
sub r14, 0x462726cd
add r14, 0x466e2532
xor r14, 0xba2be4d
ror rax, 0x32
movabs rdi, 0x792e09106a7406f
sub rdi, 0x4527d79
xor rdi, 0x316f354d
xor rax, r12
xor ecx, ecx
add rax, r14
not rax
add rax, rdi
call rax
sub eax, dword [r15]
lea ecx, [r13 + 1]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x71], eax
mov rax, qword [0x140143018]
not rax
ror rax, 0x32
xor rax, r12
add rax, r14
not rax
add rax, rdi
call rax
sub eax, dword [r15 + 4]
cdq
sub eax, edx
sar eax, 1
jmp 0x1400ed1b6
inc dword [rcx + 0x6b4]
jmp 0x1400ed070
test edi, edi
jne 0x1400ed1b9
mov eax, 0x2cd8e092
add eax, 0x1c3506e9
xor eax, 0xd0d3c7
add eax, 0x3622cb44
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 0x1400ed1f7
call fcn.1400f06a0
mov rcx, rax
test rax, rax
je 0x1400ed1f7
mov rax, qword [rax]
call qword [rax + 0xb0]
mov qword [rbp - 0x61], rax
mov rax, qword [rbx + 0x538]
xorps xmm0, xmm0
mov r13, qword [rbx + 0x578]
movabs rcx, 0x6dfa0d90769cad0a
xor rcx, 0x1ec013a5
xor rcx, 0x6a9d0dfc
add rcx, 0x1bdc4cb0
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.140017924
xor r9d, r9d
mov edx, 0x56814c8c
sub edx, 0x30c12838
xor edx, 0xb6f76e7
test r13, r13
je 0x1400ed2bd
mov rdi, rax
sub r12, rax
mov r8, r13
mov r10d, 0xfbb00e6
add r10d, 0x336baa8d
sub r10d, 0x4326aa74
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 0x1400ed29d
mov word [rax + r13*2], r9w
movabs rcx, 0x14ba3ae628e0c4d5
xor rcx, 0xa1a5bb1
xor rcx, 0x5b4e4185
add rcx, qword [0x140143008]
xor r13d, r13d
mov rax, qword [rbp - 0x31]
movabs rdi, 0x6fef79d05661c81
xor rdi, 0x7a695570
sub rdi, 0x7d093843
mov rdx, qword [rbp - 0x29]
mov r9d, 0x16911cf4
xor r9d, 0x4bc4782c
add r9d, 0x6c82c61
add r9d, 0x1be46ec7
mov qword [rsp + 0x58], r13
xor r8d, r8d
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x61]
ror rcx, 0x2a
add rdi, rcx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], rax
movabs rcx, 0x4cf0cca05763cac7
sub rcx, 0x5711c656
xor rcx, 0x5ac23a9f
add rcx, 0x7fffffff
add rcx, 0x1338e09d
mov eax, dword [rbp + 0x4f]
xor rdi, rcx
mov dword [rsp + 0x38], eax
movabs rcx, 0xeed4a391624d8a33
sub rcx, 0x38ec3b9d
xor rcx, 0x16b721d
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]
rol rdi, 0x1e
add rdi, rcx
mov dword [rsp + 0x20], eax
lea ecx, [r14 + 0x80080]
call rdi
mov rcx, qword [rbp - 0x29]
mov r14, rax
lea rax, [rbp - 0x21]
cmp rcx, rax
jne 0x1400ed3d2
xor eax, eax
lea rdi, [rbp - 0x21]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400ed3d7
call fcn.1400999d0
test r14, r14
je 0x1400ed5b4
mov rdx, rsi
mov rcx, rbx
call fcn.1400ecb68
jmp 0x1400ed537
cmp eax, 2
jne 0x1400ed537
mov rcx, qword [rbx + 0x530]
mov rax, qword [0x140143080]
xor rcx, rdx
movabs rdx, 0x76649645772dece8
xor rdx, 0x217752ef
add rdx, 0x4d446eb3
xor rax, rdx
movabs rdx, 0x3c6dd2e92157e1f0
add rdx, 0x2a660851
sub rdx, 0x4ab57d71
xor rdx, 0x6a45d3f
ror rax, 0x2f
not rax
ror rax, 0x15
xor rax, rdx
lea rdx, [rbp - 0x59]
ror rax, 0xb
call rax
cmp edi, 1
jne 0x1400ed48d
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 0x1400ed509
mov rcx, qword [rbx + 0x5a0]
mov rax, qword [r12]
mov rdi, qword [rax + rcx*8 - 0x10]
cmp rdi, qword [rbx + 0x688]
je 0x1400ed4d8
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.1400f0eb0
mov rcx, rdi
mov edx, dword [rax]
add edx, 0x50
mov dword [rbp - 0x71], edx
lea rdx, [rbp + 0x17]
call fcn.1400f0eb0
mov ecx, dword [rax + 4]
add ecx, 0x28
mov dword [rbp - 0x6d], ecx
jmp 0x1400ed509
mov dword [rbp - 0x71], 0x45c713d1
xor dword [rbp - 0x71], 0x5b1750c1
sub dword [rbp - 0x71], 0x1ed042fc
mov dword [rbp - 0x6d], 0x3bed97ae
sub dword [rbp - 0x6d], 0x218bd775
add dword [rbp - 0x6d], 0x30aa7789
sub dword [rbp - 0x6d], 0x4b0c379a
mov edx, 0x81c4907
xor edx, 0x33a0f789
xor edx, 0x3bbcbb2e
mov rax, rbx
mov rcx, rsi
mov rdx, qword [rdx + rbx]
dec rdx
call fcn.1400fd580
mov rdx, rsi
mov rcx, rbx
call fcn.1400edc5c
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 0x1400ed856
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call fcn.1400ed904
test al, al
jne 0x1400ed5c7
mov rax, qword [0x140143010]
movabs rcx, 0xeff3c7d7f2c2968
xor rcx, 0x53b48f9
sub rcx, 0x4b572d9f
sub rcx, 0x9b97c4d
not rax
rol rax, 0x27
not rax
sub rax, rcx
mov rcx, r14
ror rax, 0x19
not rax
call rax
mov rdx, rsi
mov rcx, rbx
call fcn.1400ed9e0
mov rsi, r13
jmp 0x1400ed89a
xor edx, edx
movabs rcx, 0xdf1e6e765d4c80c4
sub rcx, 0x2e74a9c8
add rcx, 0x44f70879
add rcx, qword [0x1401430a0]
movabs rax, 0x7754970c1a2bbd91
xor rax, 0x4ec99647
add rax, 0x27f277af
rol rcx, 0x1f
mov r8d, 0x4aa3bef3
sub r8d, 0x875717f
sub r8d, 0x422e4c75
add rax, rcx
movabs rcx, 0x33459ce301d00706
xor rcx, 0x79124f4c
sub rcx, 0x5f9ed089
add rcx, 0x2eac0de1
xor rax, rcx
lea r9d, [rdx + 2]
mov rcx, r14
call rax
movabs rax, 0x6dfa0d9040010eb3
xor rax, 0x404cb940
xor rax, 0x1ed3b7f0
cmp qword [rbx + 0x760], rax
je 0x1400ed733
mov eax, dword [r15]
lea rdx, [rbp - 0x49]
and qword [rbp - 0x49], 0
movabs rcx, 0x6ca974e762b4318e
sub rcx, 0x5348570d
xor rcx, 0x3dfd05ee
mov dword [rbp - 0x41], eax
mov eax, dword [r15 + 4]
mov dword [rbp - 0x3d], eax
mov rax, qword [rbx + 0x770]
xor rax, rcx
movabs rcx, 0x361ea4fc489f1af4
sub rcx, 0x28820e59
sub rcx, 0x8c87cd
sub rax, rcx
movabs rcx, 0x2a42472948522f6b
xor rcx, 0x66b19072
add rcx, 0xae8fe4b
add rcx, 0x2cb1c137
not rax
add rax, rcx
movabs rcx, 0x3c785cfa757c5008
sub rcx, 0x2cae1765
xor rcx, 0x6efed70a
add rcx, 0x7fffffff
sub rcx, 0x113fafad
xor rax, rcx
movabs rcx, 0xd1c40d19658d224b
sub rcx, 0x35bc7fe5
add rcx, 0x5da11d1
xor rcx, 0x7f87f65a
rol rax, 0x32
add rax, rcx
mov rcx, r14
call rax
mov rdx, qword [0x1401430a8]
movabs rcx, 0xae2bb01e4607f24d
add rcx, 0x2384c4f8
add rcx, 0xf79b3e0
add rcx, 0x7fffffff
sub rcx, 0xd7eb8f8
add rdx, rcx
movabs rax, 0x170c8c795169f8d9
add rax, 0x2cff8c37
xor rax, 0x7a9525c0
xor rax, 0x4dc6681e
rol rdx, 0x1f
mov rcx, r14
add rdx, rax
movabs rax, 0x6cf5242539b39ba4
add rax, 0x3359ee71
xor rax, 0x185a0173
add rax, 0x24185b81
rol rdx, 0x33
xor rdx, rax
call rdx
movabs rcx, 0x8e21711e5e2f79d7
sub rcx, 0x27df2dae
add rcx, 0x7fffffff
add rcx, 0x1df50965
movabs rax, 0x81384b5a5062ad0d
add rax, 0xeda0636
xor rax, 0x7c9a13cb
sub rax, 0xc1425bc
add rcx, qword [0x1401430b0]
mov edx, 0xecfbd0d
xor edx, 0x2c2e59ce
sub edx, 0x22e1e4be
rol rcx, 0x16
add rax, rcx
movabs rcx, 0x71f2236833aa41c5
add rcx, 0x1e6605f8
add rcx, 0x1bc08dd8
xor rax, rcx
movabs rcx, 0x26bea57464aa12c3
sub rcx, 0x523db07f
add rcx, 0x7fffffff
xor rcx, 0x7851cca6
sub rax, rcx
mov rcx, r14
ror rax, 7
not rax
call rax
jmp 0x1400ed89a
cmp eax, 2
jne 0x1400ed89a
mov rdx, qword [rbx + 0x580]
test rdx, rdx
je 0x1400ed878
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 0x1400ed89a
mov rcx, qword [rbx + 0x688]
mov rdx, rsi
call fcn.1401068b0
or ecx, 0xffffffff
add dword [rbx + 0x6b4], ecx
jne 0x1400ed8d7
mov qword [rbx + 0x6a0], r13
mov eax, ecx
lock xadd dword [rbx + 0x6b0], eax
add eax, ecx
cmp eax, ecx
je 0x1400ed8de
mov rcx, qword [rbx + 0x6a8]
xor edx, edx
call fcn.140056550
jmp 0x1400ed8de
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